SMMNR00700.xjs 272 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 간호일지I(SMMNR00700.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var signtime = ""; //인증저장 안뜨는 허용시간( EX) 10이면 10분동안
  8. var vsettime = ""; //인증저장시간.
  9. var xGrupInfoPath = "/root/main/srchtoolinfo/grupinfo/gruplist"; // SET 그룹 정보
  10. //var xStmtSetListPath = "/root/main/srchtoolinfo/stmtsetinfo/stmtsetlist"; // SET 진술문 정보
  11. var xHiddenStmtSetInfoPath = "/root/hidden/stmtsetinfo"; //20080621 김홍점 추가 set그룹 hidden
  12. var xHiddenSrchToolInfoPath = "/root/hidden/srchtoolinfo/stmtinfo/stmtlist"; //20080621 김홍점 추가 진술문조회 hidden
  13. var xHiddenNSrchToolInfoPath = "/root/hidden/srchtoolinfo/stmtinfo/nstmtlist"; //20080621 김홍점 추가 진술문조회 hidden
  14. var xNStmtSetListPath = "/root/main/stmtsetinfo/nstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
  15. var xDStmtSetListPath = "/root/main/stmtsetinfo/dstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
  16. var xAStmtSetListPath = "/root/main/stmtsetinfo/astmtsetlist"; // 20080621 김홍점 SET 진술문 정보
  17. var xRStmtSetListPath = "/root/main/stmtsetinfo/rstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
  18. var xStmtInfoPath = "/root/main/srchtoolinfo/stmtinfo/stmtlist"; // 진술문 정보
  19. var xSrchToolCondPath = "/root/main/cond/srchtool"; // 검색도구 조건
  20. var xRecSaveCondPath = "/root/main/cond/recsave"; // 저장도구 조건
  21. var xRecSrchCondPath = "/root/main/cond/recsrch"; // 기록조회 조건
  22. var xNursingRecordListPath = "/root/main/recinfo/nursingrecordinfo/nursingrecordlist"; // 간호기록 내역
  23. var xCareDiagListPath = "/root/main/recinfo/carediaginfo/carediaglist"; // 간호진단내역
  24. var xHiddenCareDiagListPath = "/root/hidden/carediaginfo/carediaglist"; // 삭제를 위한 타인의 간호기록내역 존재 여부
  25. var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
  26. var xRecUsrSetListPath = "/root/init/recusrinfo/usersetlist"; // 기록자정보
  27. //var xStmtSaveCondPath = "/root/main/cond/stmtsave"; // 진술문 검색도구 에서 저장시 기록일자 조건 20080621 김홍점
  28. var xHiddenGrupInfoPath = "/root/hidden/grupinfo/gruplist"; //20080621 김홍점 추가 set그룹 hidden
  29. var xLrgGrupInfoPath = "/root/main/grupinfo/lrggruplist" ;//20080621 김홍점 추가 set그룹
  30. var xMdlGrupInfoPath = "/root/main/grupinfo/mdlgruplist" ;//20080621 김홍점 추가 set그룹
  31. var xSmlGrupInfoPath = "/root/main/grupinfo/smlgruplist" ;//20080621 김홍점 추가 set그룹
  32. var xSmlGrupInfoPath2 = "/root/main/grupinfo/smlgruplist2" ;//20080621 김홍점 추가 set그룹
  33. var xNSrchNursDiagLrgListPath = "/root/main/srchnursdiaginfo/lrglist"; // 20080621 김홍점 간호진단검색 정보
  34. var xNSrchNursDiagMdlListPath = "/root/main/srchnursdiaginfo/mdllist"; // 20080621 김홍점 간호진단검색 정보
  35. var xNSrchNursDiagSmlListPath = "/root/main/srchnursdiaginfo/smllist"; // 20080621 김홍점 간호진단검색 정보
  36. var xNSrchNursDiagSmlListPath2 = "/root/main/srchnursdiaginfo/smllist2"; // 20080621 김홍점 간호진단검색 정보
  37. var xNSrchNursDiagInfoPath = "/root/main/srchnursdiaginfo/srchdiaglist"; // 20080621 김홍점 간호진단검색 정보
  38. var xSaveSetInfoPath = "/root/hidden/savesetinfo/savesetlist";//20080621 김홍점 추가 set그룹
  39. var xSignPath = "/root/main/signSaveData/saveDataList";//인증저장관련노드
  40. var xSignDiagPath = "/root/main/signSaveData/saveDiagList";//인증저장관련노드 사용안함.
  41. // color 색상표
  42. // var style = new Array("#FFFFCC","#FFCCFF","#CCFFFF","#CCFF66","#FF3300","#CC00FF","#99CCCC","#CCCCFF","#00CC99","#FF3366",
  43. // "#FFFF99","#FF99FF","#99FFFF","#99CC66","#FF6600","#CC66FF","#66CCCC","#9999CC","#33FFCC","#FF3399",
  44. // "#FFFF66","#FF66FF","#66FFFF ","#66CC33","#FF9966","#9900FF","#33CCCC","#666699","#33CC66","#FF6699",
  45. // "#FFFF33","#FF33FF","#33FFFF","#33CC00","#FF9933","#9933CC","#00CCCC","#333366","#33CC99","#FF6633",
  46. // "#FFFF00","#FF00FF","#00FFFF","#00CC33","#FF9900","#9933FF","#009999","#000099","#66CC99","#CC6633");
  47. var sSrchToolStatus = "";
  48. var sRecFlag = "";
  49. var sRecLnkKey = "";
  50. var sPid = ""; // 환자번호
  51. var sIndd = ""; // 입원일자
  52. var sOrddd = ""; // 진료일자
  53. var sCretNo = ""; // 환자 일자별 일련번호
  54. var sInstcd = ""; // 기관코드
  55. var sIOFlag = ""; // 입원/외래 구분
  56. var sWardCD = "";
  57. var sRoomCD = "";
  58. var sOrdDeptCd = ""; // 진료과코드
  59. var sOrdDrId = ""; // 진료의사ID
  60. var sSrchPopup = ""; // 진단명 클릭으로 검색 구분
  61. var gDiagGrupcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 그룹Code
  62. var gDiagStmtcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 진술문Code
  63. var gDiagRecVerNo = "";//20080621 김홍점 추가 진단버젼번호
  64. var gDiagStmtNm = "";//20080621 김홍점 추가 진단명
  65. var gReturnGrupcd = "";//20080621 김홍점 추가
  66. // 응급의료센터 관련 변수_경북대 (2011.02.24 Ahn)
  67. var eORDTYPE = "";
  68. var eINSTCD = "";
  69. var eINDD = "";
  70. var eCRETNO = "";
  71. var eERDEPTCD = "";
  72. var eERFLAG = "";
  73. //---------(20110228) 경북대
  74. var gcurrentpid = "";
  75. var gpidPath = "/root/temp/mypatsettinginfo/settingpatient/settingpatientlist";
  76. //---------(20110228) 경북대
  77. // 경북대 환자 콤보 리스트 경로
  78. var erPatPidPath = "/root/temp/mypatsettinginfo/patientgrup/patientgruplist";
  79. // 경북대 기록지 구분용 (기록 유무 표시) _ 2011.03.10 (ahn)
  80. var eRECFLAG = "erCare"; // 간호일지
  81. var cbk_TRMNR00701_flag = 0; //callback flag
  82. var cbk_TRMNR00702_flag = 0;
  83. var cbk_TRMNR00704_flag = 0;
  84. var cbk_TXMNR00704_flag = 0;
  85. var cbk_TRMNR00709_flag = 0;
  86. var cbk_TXMNR00701_flag = 0;
  87. var cbk_TXMNR00702_flag = 0;
  88. var arErrorCode = new HashArray();
  89. var fv_nRowPos = -1;
  90. function cf_TRMNR00702(sSvcId, nErrorCode, sErrorMsg) {
  91. arErrorCode.push(sSvcId, nErrorCode);
  92. if(nErrorCode < 0) return;
  93. utlf_addLog("***** cf_TRMNR00702 *****");
  94. }
  95. function cf_TRMNR00701(sSvcId, nErrorCode, sErrorMsg) {
  96. arErrorCode.push(sSvcId, nErrorCode);
  97. if(nErrorCode < 0) return;
  98. utlf_addLog("***** cf_TRMNR00701 *****");
  99. }
  100. function cf_TRMNR00703(sSvcId, nErrorCode, sErrorMsg) {
  101. arErrorCode.push(sSvcId, nErrorCode);
  102. if(nErrorCode < 0) return;
  103. utlf_addLog("***** cf_TRMNR00703 *****");
  104. }
  105. function cf_TRMNR00704(sSvcId, nErrorCode, sErrorMsg) {
  106. arErrorCode.push(sSvcId, nErrorCode);
  107. if(nErrorCode < 0) return;
  108. utlf_addLog("***** cf_TRMNR00704 *****");
  109. }
  110. function cf_TXMNR00703(sSvcId, nErrorCode, sErrorMsg) {
  111. arErrorCode.push(sSvcId, nErrorCode);
  112. if(nErrorCode < 0) return;
  113. utlf_addLog("***** cf_TXMNR00703 *****");
  114. }
  115. function cf_TXMNR00704(sSvcId, nErrorCode, sErrorMsg) {
  116. arErrorCode.push(sSvcId, nErrorCode);
  117. if(nErrorCode < 0) return;
  118. utlf_addLog("***** cf_TXMNR00704 *****");
  119. }
  120. function cf_TXMNR00701(sSvcId, nErrorCode, sErrorMsg) {
  121. arErrorCode.push(sSvcId, nErrorCode);
  122. if(nErrorCode < 0) return;
  123. utlf_addLog("***** cf_TXMNR00701 *****");
  124. }
  125. function cf_TRMNR00709(sSvcId, nErrorCode, sErrorMsg) {
  126. arErrorCode.push(sSvcId, nErrorCode);
  127. if(nErrorCode < 0) return;
  128. utlf_addLog("***** cf_TRMNR00709 *****");
  129. }
  130. function cf_TXMNR00702(sSvcId, nErrorCode, sErrorMsg) {
  131. arErrorCode.push(sSvcId, nErrorCode);
  132. if(nErrorCode < 0) return;
  133. utlf_addLog("***** cf_TXMNR00702 *****");
  134. }
  135. /**
  136. * @group :
  137. * @ver : 2007.04.23
  138. * @by : 이은영
  139. * @---------------------------------------------------
  140. * @type : function
  141. * @access : public
  142. * @desc : 화면 초기화
  143. * @param :
  144. * @return :
  145. * @---------------------------------------------------
  146. */
  147. var cmb_mypatempty;
  148. function fInitialize(pFlag){
  149. //fexprcolor();
  150. if(utlf_isNull(pFlag)){
  151. var pCode = "'172', 'T84', 'U31'"; // 조회할 CdGrupID 코드정보
  152. var pDate = utlf_getCurrentDate(); //조회기준일자
  153. fGetNursHardCdInfo(pCode, pDate);
  154. /* 중환자실 부서 조회 ( 2011.03.25 Ahn)
  155. * 내환자 저장 시 다음환자 넘어가지 않는 부서 추가 ( 2011.04.18)
  156. * 간호일지, 임상관찰기록 화면 공통코드 신규 생성 ('T30')
  157. */
  158. var ds_temp = dsf_createDsRow("ds_temp", [{col: "cdgpid", val:"T30" }]);
  159. var objParam = new Object();
  160. objParam.id="TRMNW04001";
  161. objParam.service="carerecapp.AsesRec";
  162. objParam.method= "reqGetICUWardList";
  163. objParam.inds= "refCond="+ds_temp;
  164. objParam.outds= "ds_init_icucdgruplist=icucdgruplist";
  165. objParam.progress = (lgv_nBroadcastflag == 0); //이미지 표시
  166. objParam.async = false;
  167. tranf_submit(objParam);
  168. var instUseYN = ds_codelist.lookup("cdgrupid","172","cdid");
  169. signtime = ds_codelist.lookup("cdgrupid","T84","cdid");
  170. if(utlf_isNull(signtime)) {
  171. signtime = 0;
  172. }
  173. if(instUseYN == "Y"){
  174. var NewRow = pmn_nursrec_befcret.innerdataset.addRow();
  175. pmn_nursrec_befcret.innerdataset.setColumn(NewRow, "captioncolumn","환자교육내용 기록");
  176. pmn_nursrec_befcret.innerdataset.setColumn(NewRow, "idcolumn","fJCIEduRec");
  177. NewRow = pmn_nursdiag.innerdataset.addRow();
  178. pmn_nursdiag.innerdataset.setColumn(NewRow, "captioncolumn","Care Plan");
  179. pmn_nursdiag.innerdataset.setColumn(NewRow, "idcolumn","fCarePlan");
  180. NewRow = pmn_endnursdiag.innerdataset.addRow();
  181. pmn_endnursdiag.innerdataset.setColumn(NewRow, "captioncolumn","Care Plan");
  182. pmn_endnursdiag.innerdataset.setColumn(NewRow, "idcolumn","fCarePlan");
  183. }
  184. currentdate = utlf_getCurrentDate();
  185. currenttime = utlf_getCurrentTime();
  186. //병동코드 조회
  187. //fGetCareComWardList();
  188. //group5.cmb_wardcd.lf_getWardDeptList( "dispseq","asc", utlf_getCurrentDate(), false, "",false, "", "", "01");
  189. appf_getWardDeptList(sysf_getUserInfo("dutplceinstcd"),"depthngnm","asc",utlf_getCurrentDate(),"after","ds_data_wardcdgruplist", false); //병동
  190. fGetSettingPatientList_type1();
  191. //----------------------------
  192. //응급의료센터 부서코드 추출_ 경북대 (2011.02.24 Ahn)
  193. var ds_send = dsf_createDsRow("ds_send", [{col: "cdgrupid", type: "string", val:"'002'" },
  194. {col: "srchdd", val:utlf_getCurrentDate()}]);
  195. var oParam = {};
  196. oParam.id = "TRMNW00001";
  197. oParam.service = "wardcareapp.WardCareMngt";
  198. oParam.method = "reqGetNursHardCdInfo";
  199. oParam.inds = "req=ds_send";
  200. oParam.outds = "ds_codelist=codelist";
  201. oParam.async = false;
  202. oParam.callback = "cf_TRMNW00001";
  203. tranf_submit(oParam);
  204. // //간호일지의 set을 펼쳤을 경우 전체 선택박스 기능 요청 20100510 khj
  205. grdf_setAllCheck(group5.grp_dnarset.grd_nursingd);
  206. grdf_setAllCheck(group5.grp_dnarset.grd_data);
  207. grdf_setAllCheck(group5.grp_dnarset.grd_action);
  208. grdf_setAllCheck(group5.grp_dnarset.grd_result);
  209. }
  210. if ( frmf_checkOpener() && opener.frmf_getParameter("SMMNR00700_param") == "MMR00100" ){//진료기록에서 간호일지 오픈시
  211. //var oEvent = new ClickEventInfo;
  212. //this.group5.switch1.case_carediaginfo.btn_opendiag.onclick.fireEvent(group5.switch1.case_carediaginfo.btn_opendiag, oEvent);
  213. frmf_inputEnterKey("group5.switch1.case_carediaginfo.btn_opendiag", "onclick", new ClickEventInfo );
  214. group5.switch1.case_carediaginfo.btn_closediag.enable = false;
  215. group5.btn_certsaverec.enable = false;
  216. group5.btn_freetextsel.enable = false;
  217. }else{
  218. //var oEvent = new ClickEventInfo;
  219. //this.group5.switch1.case_carediaginfo.btn_closediag.onclick.fireEvent(group5.switch1.case_carediaginfo.btn_closediag, oEvent);
  220. frmf_inputEnterKey("group5.switch1.case_carediaginfo.btn_closediag", "onclick", new ClickEventInfo );
  221. //button7.disabled = true; //추후 삭제(교육중에는 사용 못하도록)
  222. }
  223. group5.group9.swt_srchtool.tabindex = 1;
  224. // 검색 조건
  225. ds_cond_srchtool.setColumn(0,"grupflag","1");
  226. // 저장조건
  227. ds_cond_recsave.setColumn(0,"recdateflag", "A");// 자동
  228. //model.setValue(xRecSaveCondPath+"/recdnarflag", "1D"); // dnar 구분
  229. // 기록 조회 조건
  230. if(utlf_isNull(ds_cond_recsrch.getColumn(0,"todd")) && utlf_isNull(ds_cond_recsrch.getColumn(0,"fromdd"))) {//조회조건초기화안하도록변경(조회일자)
  231. ds_cond_recsrch.setColumn(0,"todd",utlf_getCurrentDate());
  232. ds_cond_recsrch.setColumn(0,"fromdd",utlf_getCurrentDate());
  233. }
  234. if(utlf_isNull(ds_cond_recsrch.getColumn(0,"dnarflag")) || utlf_isNull(ds_cond_recsrch.getColumn(0,"sortseq")) || utlf_isNull(ds_cond_recsrch.getColumn(0,"recusrid"))){//조회조건초기화안하도록변경(조회옵션)
  235. ds_cond_recsrch.setColumn(0,"dnarflag","%");// DNAR 구분
  236. ds_cond_recsrch.setColumn(0,"sortseq","D");// A : 오름차순, D : 내림차순
  237. ds_cond_recsrch.setColumn(0,"recusrid","%"); //기록자 조회 전체
  238. }
  239. fChangedRecTime();
  240. ds_cond_recsrch.setColumn(0,"certrecflag","C"); //S : 전체선택, C : 전체취소
  241. ds_cond_recsrch.setColumn(0,"carediagflag","A");// C : 진행중, T : 전체조회 (삭제포함), A : 전체조회 (삭제 제외)
  242. ds_grid_grd_carerecspec.clearData();
  243. ds_grid_grd_carediagspec.clearData();
  244. if(utlf_isNull(ds_cond_recsrch.getColumn(0,"recsrchflag"))) { //조회조건초기화안하도록변경(구분)
  245. if ( frmf_checkOpener() && opener.frmf_getParameter("SMMNR00700_param") == "MMR00100" ){//진료기록에서 간호일지 오픈시
  246. ds_cond_recsrch.setColumn(0,"erflag","");
  247. ds_cond_recsrch.setColumn(0,"recsrchflag","NR^TR^DR");// NR : 간호일지만, TR : 검사기록, DR : 타기록지연계
  248. ds_cond_recsrch.setColumn(0,"nrflag","NR");
  249. ds_cond_recsrch.setColumn(0,"trflag","TR");
  250. ds_cond_recsrch.setColumn(0,"drflag","DR");
  251. }else{
  252. ds_cond_recsrch.setColumn(0,"erflag","");
  253. ds_cond_recsrch.setColumn(0,"trflag","");
  254. ds_cond_recsrch.setColumn(0,"recsrchflag","NR^DR");// NR : 간호일지만, TR : 검사기록, DR : 타기록지연계
  255. ds_cond_recsrch.setColumn(0,"nrflag","NR");
  256. ds_cond_recsrch.setColumn(0,"drflag","DR");
  257. fSelectedSrchTool("SET"); // 검색도구 선택
  258. fSettingLrgMdlSml("A",ds_grid_grd_lrg,xLrgGrupInfoPath); // SET 그룹 정보 조회
  259. }
  260. }
  261. /*
  262. - 기록 구분 정보
  263. SMMNR03400_ParamBase : recflag▦dutplaccd▦reclnkkey => 기록구분▦부서코드▦기록연계키
  264. - 기록구분(recflag) :
  265. O : 외래, F : 기능검사, I : 주사실,
  266. D : DSC, S : 전문간호, H : 가정간호,
  267. E : 응급실, A : 마취과, R : 회복실,
  268. L : 투석실
  269. */
  270. if(frmf_checkOpener()){
  271. var sParamInfo = opener.frmf_getParameter("SMMNR00700_ParamBase");
  272. if(!utlf_isNull(sParamInfo)){
  273. sRecFlag = getArrayData(sParamInfo,1,0); // 기록구분
  274. sRecLnkKey = getArrayData(sParamInfo,1,2); // 기록연계키
  275. }
  276. }
  277. /*
  278. - 기록구분 :
  279. G : 일반 기록
  280. R : 회복실 기록
  281. */
  282. if(utlf_isNull(sRecFlag)){
  283. sRecFlag = "G"; // 일반 기록
  284. }
  285. // 환자정보 조회
  286. var sPamInfo = sysf_getGlobalVariable("paminfo");
  287. if(!utlf_isNull(sPamInfo)){
  288. dsf_setCSVToDs("ds_data_pamlist",sPamInfo);
  289. if( utlf_isNull(ds_data_pamlist.getColumnInfo("sectioncd")) ){
  290. ds_data_pamlist.addColumn("sectioncd", "string");
  291. ds_data_pamlist.setColumn(0, "sectioncd", ds_data_pamlist.getColumn(0, "basetypecd"));
  292. }
  293. if( utlf_isNull(ds_data_pamlist.getColumnInfo("acptuniqno")) ){
  294. ds_data_pamlist.addColumn("acptuniqno", "string");
  295. }
  296. }
  297. if(utlf_isNull(sPamInfo)){
  298. sysf_messageBox("환자를 먼저","C002");
  299. fSettingPamInfo(false);
  300. return;
  301. }
  302. sPid = ds_data_pamlist.getColumn(0,"pid"); // 환자번호
  303. sCretNo = ds_data_pamlist.getColumn(0,"cretno"); // 환자 일자별 일련번호
  304. sInstcd = ds_data_pamlist.getColumn(0,"instcd"); // 기관코드
  305. sIOFlag = ds_data_pamlist.getColumn(0,"ioflag"); // 입원/외래 구분
  306. sOrdDeptCd = ds_data_pamlist.getColumn(0,"orddeptcd"); // 진료과코드
  307. sOrdDrId = ds_data_pamlist.getColumn(0,"medispclid"); // 진료의사ID
  308. sWardCD = ds_data_pamlist.getColumn(0,"wardcd");
  309. sRoomCD = ds_data_pamlist.getColumn(0,"roomcd");
  310. sSectionCD = ds_data_pamlist.getColumn(0,"sectioncd");
  311. // 응급실일 경우 (2011.02.24 Ahn)
  312. fGetWardChngInfo("Y", pFlag);
  313. if(utlf_isNull(pFlag) || pFlag == "SettingPat"){
  314. fGetCareComRoomList(sWardCD);
  315. fGetCareComPatList(sWardCD, sRoomCD, group5.cmb_zone.value, eRECFLAG);// 환자 조회시 구역코드 추가 (2011.03.03 Ahn)
  316. //group5.cmb_erpat.value = ds_data_patientgruplist.getColumn(0, "pid");
  317. group5.cmb_wardcd.value = sWardCD;
  318. group5.cmb_roomcd.value = sRoomCD;
  319. group5.cmb_pid.value = sPid;
  320. group5.cmb_mypat.value = sPid;
  321. cmb_mypatempty = sPid;
  322. }else if(pFlag == "SrchPat"){
  323. group5.cmb_mypat.value = sPid;
  324. cmb_mypatempty = sPid;
  325. }
  326. ds_data_patinfo.setColumn(0,"pid",sPid);
  327. if(sIOFlag == "I" || sIOFlag == "E" || sIOFlag == "D"){
  328. //sIndd = model.getValue(xPamInfoPath+"/indd"); // 입원일자
  329. sIndd = ds_data_pamlist.getColumn(0,"indd");
  330. sOrddd = "-"; // 진료일자
  331. }else{
  332. sIndd = "-"; // 입원일자
  333. //sOrddd = model.getValue(xPamInfoPath+"/orddd"); // 진료일자
  334. sOrddd = ds_data_pamlist.getColumn(0,"orddd");
  335. }
  336. //fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  337. this.setTimer(1, 100);
  338. }
  339. function cf_TRMNW00001(sSvcId, nErrorCode, sErrorMsg) {
  340. if(nErrorCode < 0) return;
  341. eERDEPTCD = ds_codelist.lookup("cdgrupid","002","cdid");
  342. }
  343. /**
  344. * @group :
  345. * @ver : 2008.05.13
  346. * @by : 이은영
  347. * @---------------------------------------------------
  348. * @type : function
  349. * @access : public
  350. * @desc : 환자 선택시 상단정보 변경
  351. * @param :
  352. * @return :
  353. * @---------------------------------------------------
  354. */
  355. function fSetParam(pFlag, pIndex){
  356. if(ds_data_pamlist.rowcount > 0){
  357. ds_data_pamlist.clearData();
  358. }
  359. var param ;
  360. if(pFlag == "SrchPat"){
  361. //응급실 상단추가----------(2011.02.25 Ahn) 경북대
  362. if ( ds_cond.getColumn(0,"wardcd") != eERDEPTCD ) {
  363. // 응급 x
  364. // sIOFlag = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/ordtype" );
  365. // sPid = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/pid" );
  366. // sIndd = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/indd" );
  367. // sCretno = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/cretno" );
  368. // sInstcd = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/instcd" );
  369. sIOFlag = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"ordtype"));
  370. sPid = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"pid"));
  371. sIndd = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"indd"));
  372. sCretno = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"cretno"));
  373. sInstcd = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"instcd"));
  374. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  375. // cmb_mypat.value = "";
  376. param = "I" + "▦" // 응급의료센터 환자 상단정보 올라가지 않는 오류해결_20091022(ByJA)-응급실화면사용안함. // "I" + "▦"// 원본_20091022(ByJA)
  377. + sPid + "▦"
  378. + sIndd + "▦"
  379. + sCretno + "▦"
  380. + sInstcd + "▦"
  381. + "▦" ;
  382. }else{
  383. //응급
  384. // eORDTYPE = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/ordtype" );
  385. // ePID = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/pid" );
  386. // eINDD = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/indd" );
  387. // eCRETNO = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/cretno" );
  388. // eINSTCD = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/instcd" );
  389. //var sSrchdd = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/dschdd" );
  390. eORDTYPE = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"ordtype"));
  391. ePID = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"pid"));
  392. eINDD = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"indd"));
  393. eCRETNO = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"cretno"));
  394. eINSTCD = utlf_transNullToEmpty(ds_data_patientgruplist.getColumn(pIndex,"instcd"));
  395. param = "E" + "▦"
  396. + ePID + "▦"
  397. + eINDD + "▦"
  398. + eCRETNO + "▦"
  399. + eINSTCD + "▦" ;
  400. //+ sSrchdd + "▦" ;
  401. }
  402. }else if(pFlag == "SettingPat"){
  403. sIOFlag = utlf_transNullToEmpty(ds_data_settingpatientlist.getColumn(pIndex, "ordtype"));
  404. sPid = utlf_transNullToEmpty(ds_data_settingpatientlist.getColumn(pIndex, "pid"));
  405. sIndd = utlf_transNullToEmpty(ds_data_settingpatientlist.getColumn(pIndex, "indd"));
  406. sCretno = utlf_transNullToEmpty(ds_data_settingpatientlist.getColumn(pIndex, "cretno"));
  407. sInstcd = utlf_transNullToEmpty(ds_data_settingpatientlist.getColumn(pIndex, "instcd"));
  408. param = "I" + "▦" // 응급의료센터 환자 상단정보 올라가지 않는 오류해결_20091022(ByJA)-응급실화면사용안함. // "I" + "▦"// 원본_20091022(ByJA)
  409. + sPid + "▦"
  410. + sIndd + "▦"
  411. + sCretno + "▦"
  412. + sInstcd + "▦"
  413. + "▦" ;
  414. }
  415. appf_initPatientInfo(param);
  416. //lgv_nBroadcastflag++;
  417. //appf_initPatientInfo();
  418. //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  419. fInitialize(pFlag);
  420. }
  421. /**
  422. * @group :
  423. * @ver : 2007.04.23
  424. * @by : 이은영
  425. * @---------------------------------------------------
  426. * @type : function
  427. * @access : public
  428. * @desc : 검색 도구 선택
  429. * @param :pFlag : SET-set선택, STMT-진술문검색, DIAG-간호진단검색
  430. * @return :
  431. * @---------------------------------------------------
  432. */
  433. function fSelectedSrchTool(pFlag){
  434. //sSrchPopup = ""; // 진단명 클릭으로 검색 구분 2008/06/26 김홍점 사용안함
  435. gDiagGrupcd = ""; // 진단명 클릭 Set Code
  436. gDiagStmtcd = "";
  437. gDiagRecVerNo ="";
  438. gDiagStmtNm = "";
  439. //model.removenode("/root/hidden/choisdiag"); //팝업 조회 새성노드 삭제
  440. //var selIndx = swt_srchtool.selectedIndex;
  441. //model.setValue(xSrchToolCondPath+"/dnarflag","%");
  442. ds_cond_srchtool.setColumn(0,"dnarflag","%");
  443. //setParameter("SPMNR05200_Return", "");
  444. switch(pFlag){
  445. case "SET": // SET
  446. //model.toggle("case_lrgmdlsml");
  447. group5.group9.swt_srchtool.tabindex = 1;
  448. // model.removenodeset(xNStmtSetListPath); //표준간호진술문 팝업그룹클리어
  449. // model.removenodeset(xDStmtSetListPath);
  450. // model.removenodeset(xAStmtSetListPath);
  451. // model.removenodeset(xRStmtSetListPath);
  452. ds_grid_grd_nursingd.clearData();
  453. ds_grid_grd_data.clearData();
  454. ds_grid_grd_action.clearData();
  455. ds_grid_grd_result.clearData();
  456. //grp_dnarset.visible = false;//표준간호진술문 팝업그룹클리어
  457. group5.grp_dnarset.visible = false;
  458. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible.visible = true;
  459. //btn_freetextsel.visible = true;
  460. group5.btn_freetextsel.visible = true;
  461. sSrchToolStatus = "S"; //SET
  462. break;
  463. case "STMT": // 진술문 검색
  464. //model.toggle("case_stmtinfo");
  465. group5.group9.swt_srchtool.tabindex = 2;
  466. //model.setValue(xSrchToolCondPath+"/dnarflag","%");
  467. ds_cond_srchtool.setColumn(0,"dnarflag","%");
  468. //model.setValue(xSrchToolCondPath+"/freetextdnarflag","1D");
  469. sSrchToolStatus = "J"; // 진술문 검색
  470. //model.removenodeset(xStmtInfoPath);
  471. ds_grid_grd_srchstmtinfo.clearData();
  472. // model.removenodeset(xNStmtSetListPath); //표준간호진술문 팝업그룹클리어
  473. // model.removenodeset(xDStmtSetListPath);
  474. // model.removenodeset(xAStmtSetListPath);
  475. // model.removenodeset(xRStmtSetListPath);
  476. ds_grid_grd_nursingd.clearData();
  477. ds_grid_grd_data.clearData();
  478. ds_grid_grd_action.clearData();
  479. ds_grid_grd_result.clearData();
  480. //grp_dnarset.visible = false;//표준간호진술문 팝업그룹클리어
  481. group5.grp_dnarset.visible = false;
  482. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = true;
  483. //btn_freetextsel.visible = true;
  484. group5.btn_freetextsel.visible = true;
  485. break;
  486. case "DIAG": // 간호진단검색 추가 20080626
  487. //model.toggle("case_srchnursdiag");
  488. group5.group9.swt_srchtool.tabindex = 3;
  489. sSrchToolStatus = "S"; //SET
  490. //fSettingLrgMdlSml("SA",grd_srchlrg,xNSrchNursDiagLrgListPath); // SET 그룹 정보 조회
  491. // model.removenodeset(xNStmtSetListPath); //표준간호진술문 팝업그룹클리어
  492. // model.removenodeset(xDStmtSetListPath);
  493. // model.removenodeset(xAStmtSetListPath);
  494. // model.removenodeset(xRStmtSetListPath);
  495. //grp_dnarset.visible = false;//표준간호진술문 팝업그룹클리어
  496. group5.grp_dnarset.visible = false;
  497. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = true;
  498. //btn_freetextsel.visible = true;
  499. group5.btn_freetextsel.visible = true;
  500. break;
  501. }
  502. }
  503. /**
  504. * @group :
  505. * @ver : 2007.04.23
  506. * @by : 이은영
  507. * @---------------------------------------------------
  508. * @type : function
  509. * @access : public
  510. * @desc : 입력 형태별 진술문장 조회
  511. * @param :pFlag A:화면열릴때 && 기본적으로 조회될경우 (대분류를 조회한다)
  512. pFlag L: 대분류 더블클릭시 조회될경우 (중분류를 조회한다)
  513. pFlag M: 중분류 더블클릭시 조회될경우 (소분류를 조회한다)
  514. pFlag S: 소분류 더블클릭시 조회될경우 (DNAR조회하는 그리드를 show해준다)
  515. // pFlag SL: 간호진단검색 대분류 더블클릭시 조회될경우 (중분류를 조회한다)
  516. // pFlag SM: 간호진단검색 중분류 더블클릭시 조회될경우 (소분류를 조회한다)
  517. // pFlag SS: 간호진단검색 소분류 더블클릭시 조회될경우 (진단 진술문 조회하는 그리드를 show해준다)
  518. pFlag ND: 간호진단검색에서 간호진단을 더불클릭했을때 표준진술문 그룹을 보여준다.
  519. pCntlObj: 그리드명
  520. pGrupFlag : 대분류
  521. * @return :
  522. * @---------------------------------------------------
  523. */
  524. function fSettingLrgMdlSml(pFlag,pCntlObj,pPath,pGrupFlag){
  525. var sSupCd = "";
  526. // var sDepth = 0; // (20140206) 사용하지 않는 변수 주석처리함
  527. var sGrupFlag = pGrupFlag;
  528. // model.removenodeset(xHiddenGrupInfoPath);
  529. // model.makeNode(xHiddenGrupInfoPath);
  530. if ( pFlag == "A"){
  531. sSupCd = "********";
  532. // model.removenodeset(xLrgGrupInfoPath);
  533. // model.removenodeset(xMdlGrupInfoPath);
  534. // model.removenodeset(xSmlGrupInfoPath);
  535. // model.removenodeset(xSmlGrupInfoPath2);
  536. ds_grid_grd_lrg.clearData();
  537. ds_grid_grd_mdl.clearData();
  538. ds_grid_grd_sml.clearData();
  539. ds_grid_grd_sml2.clearData();
  540. // model.removenode("/root/send");
  541. // model.makeValue("/root/send/supcd",sSupCd);
  542. // model.makeValue("/root/send/grupflag","-");//대분류조회
  543. // model.makeValue("/root/send/flag","Y");//가로 그리드 조회임을 구분
  544. var ds_temp = dsf_createDsRow("ds_temp", [{col: "supcd", val:sSupCd }
  545. ,{col: "grupflag", val:"-" }
  546. ,{col: "flag", val:"Y" }]);
  547. var oParam = {};
  548. oParam.id = "TRMNR00701";
  549. oParam.service = "carerecapp.NursingRecord";
  550. oParam.method = "reqGetSetGrupList";
  551. oParam.inds = "refCond="+ds_temp+"";
  552. oParam.outds = "ds_data_gruplist=gruplist";
  553. oParam.async = false;
  554. oParam.callback = "cf_TRMNR00701";
  555. tranf_submit(oParam);
  556. /*
  557. tranf_submit({
  558. id: "TRMNR00701"
  559. , service: "carerecapp.NursingRecord"
  560. , method: "reqGetSetGrupList"
  561. , inds: "refCond="+ds_temp
  562. , outds: "ds_data_gruplist=gruplist"
  563. , async: false
  564. , callback: "cbk_TRMNR00701"
  565. });
  566. */
  567. if(arErrorCode.pop("TRMNR00701") > -1){
  568. //cbk_TRMNR00701_flag = 0;
  569. if (ds_data_gruplist.rowcount > 0){
  570. // model.makeNode(xLrgGrupInfoPath);
  571. // copyNodesetType(xLrgGrupInfoPath, xHiddenGrupInfoPath, "replace", model, model);
  572. ds_grid_grd_lrg.copyData(ds_data_gruplist);
  573. }
  574. }
  575. }else if( pFlag == "L" && pCntlObj.rowposition >= 0){
  576. //sSupCd = model.getValue(xLrgGrupInfoPath+"["+ pCntlObj.row +"]/grupcd");
  577. sSupCd = ds_grid_grd_lrg.getColumn(pCntlObj.rowposition,"grupcd");
  578. // model.removenodeset(xMdlGrupInfoPath);
  579. // model.removenodeset(xSmlGrupInfoPath);
  580. // model.removenodeset(xSmlGrupInfoPath2);
  581. ds_grid_grd_mdl.clearData();
  582. ds_grid_grd_sml.clearData();
  583. ds_grid_grd_sml2.clearData();
  584. // model.removenode("/root/send");
  585. // model.makeValue("/root/send/supcd",sSupCd);
  586. // model.makeValue("/root/send/grupflag","-");//대분류조회
  587. // model.makeValue("/root/send/flag","Y");
  588. var ds_temp = dsf_createDsRow("ds_temp", [{col: "supcd", val:sSupCd }
  589. ,{col: "grupflag", val:"-" }
  590. ,{col: "flag", val:"Y" }]);
  591. //-------------(20120831)
  592. if(sGrupFlag == 3){ //부서별
  593. //grd_sml2.visible = true;
  594. group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml2.visible = true;
  595. // grd_mdl.caption = "부서^grupcd^deptcd^depth^grupflag";
  596. // grd_sml.caption = "중분류^grupcd^deptcd^depth^grupflag";
  597. // grd_sml2.caption = "소분류^grupcd^deptcd^depth^grupflag";
  598. group5.group9.swt_srchtool.case_lrgmdlsml.grd_mdl.setCellProperty("Head",0,"text","부서");
  599. group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml.setCellProperty("Head",0,"text","중분류");
  600. group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml2.setCellProperty("Head",0,"text","소분류");
  601. //model.makeValue("/root/send/deptcd", getUserInfo("dutplcecd") ); 20080723 소속부서만 조회되는게 아니라 해당 소속부서를 셀선택 해달라고 요청 김홍점
  602. }else{
  603. //grd_sml2.visible = false;
  604. group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml2.visible = false;
  605. // grd_mdl.caption = "중분류^grupcd^deptcd^depth^grupflag";
  606. // grd_sml.caption = "소분류^grupcd^deptcd^depth^grupflag";
  607. group5.group9.swt_srchtool.case_lrgmdlsml.grd_mdl.setCellProperty("Head",0,"text","중분류");
  608. group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml.setCellProperty("Head",0,"text","소분류");
  609. }
  610. var oParam = {};
  611. oParam.id = "TRMNR00701";
  612. oParam.service = "carerecapp.NursingRecord";
  613. oParam.method = "reqGetSetGrupList";
  614. oParam.inds = "refCond="+ds_temp+"";
  615. oParam.outds = "ds_data_gruplist=gruplist";
  616. oParam.async = false;
  617. oParam.callback = "cf_TRMNR00701";
  618. tranf_submit(oParam);
  619. /*
  620. tranf_submit({
  621. id: "TRMNR00701"
  622. , service: "carerecapp.NursingRecord"
  623. , method: "reqGetSetGrupList"
  624. , inds: "refCond="+ds_temp
  625. , outds: "ds_data_gruplist=gruplist"
  626. , async: false
  627. , callback: "cbk_TRMNR00701"
  628. });
  629. */
  630. if(arErrorCode.pop("TRMNR00701") > -1){
  631. //cbk_TRMNR00701_flag = 0;
  632. if (ds_data_gruplist.rowcount > 0){
  633. // model.makeNode(xMdlGrupInfoPath);
  634. // copyNodesetType(xMdlGrupInfoPath, xHiddenGrupInfoPath, "replace", model, model);
  635. ds_grid_grd_mdl.copyData(ds_data_gruplist);
  636. //-------------(20120831)
  637. // if(sGrupFlag == 3){ // 부서별은 자기의 부서를 선택
  638. if(sGrupFlag == 3){ // 상황별1/질환별2/부서별5
  639. //-------------(20120831)
  640. //var iRow = grd_mdl.findRow(getUserInfo("dutplcecd"),1,grd_mdl,true,true);
  641. //grd_mdl.select(iRow,1) = true;
  642. var iRow = ds_grid_grd_mdl.findRow("deptcd",sysf_getUserInfo("dutplcecd"));
  643. ds_grid_grd_mdl.rowposition = iRow;
  644. }
  645. }
  646. }
  647. }else if( pFlag == "M" && pCntlObj.rowposition >= 0){
  648. //sSupCd = model.getValue(xMdlGrupInfoPath+"["+ pCntlObj.row +"]/grupcd");
  649. sSupCd = ds_grid_grd_mdl.getColumn(pCntlObj.rowposition,"grupcd");
  650. //model.removenodeset(xSmlGrupInfoPath);
  651. //model.removenodeset(xSmlGrupInfoPath2);
  652. ds_grid_grd_sml.clearData();
  653. ds_grid_grd_sml2.clearData();
  654. // model.removenode("/root/send");
  655. // model.makeValue("/root/send/supcd",sSupCd);
  656. // model.makeValue("/root/send/grupflag","-");//대분류조회
  657. // model.makeValue("/root/send/flag","Y");
  658. var ds_temp = dsf_createDsRow("ds_temp", [{col: "supcd", val:sSupCd }
  659. ,{col: "grupflag", val:"-" }
  660. ,{col: "flag", val:"Y" }]);
  661. //--------(20120831)
  662. //원본
  663. //if(sGrupFlag == 3){ // 부서별은 자기의 부서만 조회
  664. // //model.makeValue("/root/send/deptcd", getUserInfo("dutplcecd") );
  665. //}
  666. //수정본
  667. if(sGrupFlag == 5){ // 부서별은 자기의 부서만 조회
  668. //model.makeValue("/root/send/deptcd", getUserInfo("dutplcecd") );
  669. }
  670. //--------(20120831)
  671. var oParam = {};
  672. oParam.id = "TRMNR00701";
  673. oParam.service = "carerecapp.NursingRecord";
  674. oParam.method = "reqGetSetGrupList";
  675. oParam.inds = "refCond="+ds_temp+"";
  676. oParam.outds = "ds_data_gruplist=gruplist";
  677. oParam.async = false;
  678. oParam.callback = "cf_TRMNR00701";
  679. tranf_submit(oParam);
  680. /*
  681. tranf_submit({
  682. id: "TRMNR00701"
  683. , service: "carerecapp.NursingRecord"
  684. , method: "reqGetSetGrupList"
  685. , inds: "refCond="+ds_temp
  686. , outds: "ds_data_gruplist=gruplist"
  687. , async: false
  688. , callback: "cbk_TRMNR00701"
  689. });
  690. */
  691. if(arErrorCode.pop("TRMNR00701") > -1){
  692. //cbk_TRMNR00701_flag = 0;
  693. if (ds_data_gruplist.rowcount > 0){
  694. // model.makeNode(xSmlGrupInfoPath);
  695. // copyNodesetType(xSmlGrupInfoPath, xHiddenGrupInfoPath, "replace", model, model);
  696. ds_grid_grd_sml.copyData(ds_data_gruplist);
  697. }
  698. }
  699. }else if( pFlag == "S" && pCntlObj.rowposition >= 0){
  700. //sSupCd = model.getValue(xSmlGrupInfoPath+"["+ pCntlObj.row +"]/grupcd");
  701. sSupCd = ds_grid_grd_sml.getColumn(pCntlObj.rowposition,"grupcd");
  702. //-------------(20120831)
  703. // if(sGrupFlag == 3){ // 부서별은 자기의 부서만 조회
  704. if(sGrupFlag == 3){ // 상황별 / 질환별 / 부서별
  705. //-------------(20120831)
  706. /* model.removenodeset(xSmlGrupInfoPath2); */
  707. ds_grid_grd_sml2.clearData();
  708. // model.removenode("/root/send");
  709. // model.makeValue("/root/send/supcd",sSupCd);
  710. // model.makeValue("/root/send/grupflag","-");//대분류조회
  711. // model.makeValue("/root/send/flag","Y");
  712. var ds_temp = dsf_createDsRow("ds_temp", [{col: "supcd", val:sSupCd }
  713. ,{col: "grupflag", val:"-" }
  714. ,{col: "flag", val:"Y" }]);
  715. //model.makeValue("/root/send/deptcd", getUserInfo("dutplcecd") );
  716. var oParam = {};
  717. oParam.id = "TRMNR00701";
  718. oParam.service = "carerecapp.NursingRecord";
  719. oParam.method = "reqGetSetGrupList";
  720. oParam.inds = "refCond="+ds_temp+"";
  721. oParam.outds = "ds_data_gruplist=gruplist";
  722. oParam.async = false;
  723. oParam.callback = "cf_TRMNR00701";
  724. tranf_submit(oParam);
  725. /*
  726. tranf_submit({
  727. id: "TRMNR00701"
  728. , service: "carerecapp.NursingRecord"
  729. , method: "reqGetSetGrupList"
  730. , inds: "refCond="+ds_temp
  731. , outds: "ds_data_gruplist=gruplist"
  732. , async: false
  733. , callback: "cbk_TRMNR00701"
  734. });
  735. */
  736. if(arErrorCode.pop("TRMNR00701") > -1){
  737. //cbk_TRMNR00701_flag = 0;
  738. if (ds_data_gruplist.rowcount > 0){
  739. //model.makeNode(xSmlGrupInfoPath2);
  740. //copyNodesetType(xSmlGrupInfoPath2, xHiddenGrupInfoPath, "replace", model, model);
  741. ds_grid_grd_sml2.copyData(ds_data_gruplist);
  742. }
  743. }
  744. }else{
  745. gReturnGrupcd = sSupCd;
  746. //model.setValue("/root/main/cond/srchtool/dnarflag","");
  747. ds_cond_srchtool.setColumn(0,"dnarflag","");
  748. fSearchSrchTool("StmtSet", pCntlObj.rowposition, sSupCd );
  749. }
  750. //20110629_KNUH_Start
  751. //grd_nursingd.valueMatrix(1, grd_nursingd.colRef("check")) = "true";
  752. ds_grid_grd_nursingd.enableevent = false;
  753. ds_grid_grd_nursingd.updatecontrol =false;
  754. ds_grid_grd_nursingd.setColumn(0,"chk",1);
  755. ds_grid_grd_nursingd.enableevent = true;
  756. ds_grid_grd_nursingd.updatecontrol =true;
  757. ds_grid_grd_nursingd.rowposition = 0;
  758. fClickedGridRow(group5.grp_dnarset.grd_nursingd, ds_grid_grd_nursingd, 0,group5.grp_dnarset.grd_nursingd.getBindCellIndex( "body", "chk"));
  759. // grd_nursingd.row = 1;
  760. // grd_nursingd.col = grd_nursingd.colRef("check");
  761. // jh 확인후 변환
  762. // fClickedGridRow(ds_grid_grd_nursingd, "/root/main/stmtsetinfo/nstmtsetlist", grd_nursingd.rowposition, grd_nursingd.col);
  763. //20110629_KNUH_End
  764. //grd_nursingd.valueMatrix(1, grd_nursingd.colRef("check")) = "true";
  765. }else if( pFlag == "S2" && pCntlObj.rowposition >= 0){
  766. //sSupCd = model.getValue(xSmlGrupInfoPath2+"["+ pCntlObj.row +"]/grupcd");
  767. sSupCd = ds_grid_grd_sml2.getColumn(pCntlObj.rowposition,"grupcd");
  768. gReturnGrupcd = sSupCd;
  769. //model.setValue("/root/main/cond/srchtool/dnarflag","");
  770. ds_cond_srchtool.setColumn(0,"dnarflag","");
  771. fSearchSrchTool("StmtSet",pCntlObj.rowposition, sSupCd );
  772. // grd_nursingd.valueMatrix(1, grd_nursingd.colRef("check")) = "true";
  773. ds_grid_grd_nursingd.enableevent = false;
  774. ds_grid_grd_nursingd.updatecontrol =false;
  775. ds_grid_grd_nursingd.setColumn(0,"chk",1);
  776. ds_grid_grd_nursingd.enableevent = true;
  777. ds_grid_grd_nursingd.updatecontrol =true;
  778. ds_grid_grd_nursingd.rowposition = 0;
  779. fClickedGridRow(group5.grp_dnarset.grd_nursingd, ds_grid_grd_nursingd, 0,group5.grp_dnarset.grd_nursingd.getBindCellIndex( "body", "chk"));
  780. }else if( pFlag == "ND" && pCntlObj.rowposition >= 0){//간호진단
  781. //sSupCd = model.getValue(pPath + "["+ pCntlObj.row +"]/grupcd");
  782. sSupCd = pCntlObj.getColumn(pCntlObj.rowposition,"grupcd");
  783. gReturnGrupcd = sSupCd;
  784. var sStmtCd = pCntlObj.getColumn(pCntlObj.rowposition,"stmtcd");
  785. //model.setValue("/root/main/cond/srchtool/dnarflag","");
  786. ds_cond_srchtool.setColumn(0,"dnarflag","");
  787. fSearchSrchTool("SrchDiagStmt",pCntlObj.rowposition, gReturnGrupcd,sStmtCd);
  788. //ds_grid_grd_nursingd.setColumn(0,"chk",1);
  789. }
  790. }
  791. function cbk_TRMNR00701(sScvId, nErrorCode, sErrorMsg){
  792. if(nErrorCode == 0){//성공하였을때
  793. cbk_TRMNR00701_flag = 1;
  794. }else{
  795. sysf_messageBox(sErrorMsg, "E");
  796. }
  797. }
  798. /**
  799. * @group :
  800. * @ver : 2007.04.23
  801. * @by : 이은영
  802. * @---------------------------------------------------
  803. * @type : function
  804. * @access : public
  805. * @desc : 입력 형태별 진술문장 조회
  806. * @param :
  807. * @return :
  808. * @---------------------------------------------------
  809. */
  810. function fSearchSrchTool(pFlag,pRow,pGrupCd,pStmtCd,pRecVerNo){
  811. var sGrupFlag = "";
  812. var sDepth = 0;
  813. var sRowCnt;
  814. switch(pFlag){
  815. // case "SetGrupInit" : // SET 그룹 정보 조회
  816. // //sSrchPopup = "";
  817. // gDiagGrupcd = "";
  818. // gDiagStmtcd = "";
  819. // gDiagRecVerNo ="";
  820. // gDiagStmtNm = "";
  821. // //model.removenodeset(xGrupInfoPath);
  822. // ds_data_srchtoolinfo.clearData();
  823. //
  824. // //sGrupFlag = model.getValue(xSrchToolCondPath+"/grupflag");
  825. // sGrupFlag = ds_cond_srchtool.getColumn(0,"grupflag");
  826. // // model.removenode("/root/send");
  827. // // model.makeValue("/root/send/grupflag",sGrupFlag);
  828. //
  829. //
  830. // //-------(20120808)
  831. // if(sGrupFlag == 5){ // 부서별은 자기의 부서만 조회
  832. // }
  833. // //-------(20120808)
  834. // var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupflag", val:sGrupFlag }]);
  835. // tranf_submit({
  836. // id: "TRMNR00701"
  837. // , service: "carerecapp.NursingRecord"
  838. // , method: "reqGetSetGrupList"
  839. // , inds: "refCond="+ds_temp
  840. // , outds: "ds_data_gruplist=gruplist"
  841. // , async: false
  842. // , callback: "cbk_TRMNR00701"
  843. // });
  844. //
  845. // if(cbk_TRMNR00701_flag == 1){
  846. // cbk_TRMNR00701_flag = 0;
  847. //
  848. // // sRowCnt = grd_grupinfo.rows-grd_grupinfo.fixedRows;
  849. // //
  850. // // for(var i=1; i<=sRowCnt; i++){
  851. // // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
  852. // // grd_grupinfo.outlinelevel(i)=sDepth;
  853. // // }
  854. // // grd_grupinfo.OutlineCol=1; //연결선이 표현되는 컬럼
  855. // // grd_grupinfo.OutlineBar=4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  856. // // grd_grupinfo.TreeColor="gray";
  857. // // // 자식 접기
  858. // // for(var i=1; i<=sRowCnt; i++){
  859. // // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
  860. // //
  861. // // //------------(20120831)
  862. // // // 원본
  863. // // //if((eval(sGrupFlag)==3 && sDepth>2) || (eval(sGrupFlag) != 3 && sDepth>1)){
  864. // // // grd_grupinfo.iscollapsed(i)=true; //자식 트리 접기
  865. // // //}
  866. // // //수정본
  867. // // if((eval(sGrupFlag) ==1 && sDepth>2)
  868. // // || (eval(sGrupFlag) ==2 && sDepth>2)
  869. // // || (eval(sGrupFlag) ==3 && sDepth>1)
  870. // // || (eval(sGrupFlag) ==4 && sDepth>1)
  871. // // || (eval(sGrupFlag) ==5 && sDepth>2)
  872. // // || (eval(sGrupFlag) ==6 && sDepth>1) ){
  873. // // grd_grupinfo.iscollapsed(i)=true; //자식 트리 접기
  874. // // }
  875. // // //------------(20120831)
  876. // // }
  877. // }
  878. // break;
  879. // case "SetGrup" : // SET 그룹 정보 조회
  880. // //sSrchPopup = "";
  881. // gDiagGrupcd = "";
  882. // gDiagStmtcd = "";
  883. // gDiagRecVerNo ="";
  884. // gDiagStmtNm = "";
  885. // model.removenodeset(xGrupInfoPath);
  886. // grd_grupinfo.Rebuild();
  887. // sGrupFlag = model.getValue(xSrchToolCondPath+"/grupflag");
  888. //
  889. // model.removenode("/root/send");
  890. // model.makeValue("/root/send/grupflag",sGrupFlag);
  891. // //-------(20120808)
  892. // if(sGrupFlag == 5){ // 부서별은 자기의 부서만 조회
  893. // }
  894. // //-------(20120808)
  895. // if(submit("TRMNR00701", false)){
  896. //
  897. // grd_grupinfo.refresh();
  898. // sRowCnt = grd_grupinfo.rows-grd_grupinfo.fixedRows;
  899. //
  900. // for(var i=1; i<=sRowCnt; i++){
  901. // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
  902. // grd_grupinfo.outlinelevel(i)=sDepth;
  903. // }
  904. // grd_grupinfo.OutlineCol=1; //연결선이 표현되는 컬럼
  905. // grd_grupinfo.OutlineBar=4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  906. // grd_grupinfo.TreeColor="gray";
  907. // // 자식 접기
  908. // for(var i=1; i<=sRowCnt; i++){
  909. // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
  910. // //-------(20120831)
  911. // //원본
  912. // //if((eval(sGrupFlag)==3 && sDepth>2) || (eval(sGrupFlag) != 3 && sDepth>1)){
  913. // // grd_grupinfo.iscollapsed(i)=true; //자식 트리 접기
  914. // //}
  915. // //수정본
  916. // if((eval(sGrupFlag) ==1 && sDepth>2)
  917. // || (eval(sGrupFlag) ==2 && sDepth>2)
  918. // || (eval(sGrupFlag) ==3 && sDepth>1)
  919. // || (eval(sGrupFlag) ==4 && sDepth>1)
  920. // || (eval(sGrupFlag) ==5 && sDepth>2)
  921. // || (eval(sGrupFlag) ==6 && sDepth>1)){
  922. // grd_grupinfo.iscollapsed(i)=true; //자식 트리 접기
  923. // }
  924. // //-------(20120831)
  925. // }
  926. // }
  927. // break;
  928. case "StmtSet": // SET 진술문 정보 조회
  929. //group5.grp_dnarset.grd_data.setCellProperty("head",10,"text",0);
  930. //group5.grp_dnarset.grd_action.setCellProperty("head",10,"text",0);
  931. //group5.grp_dnarset.grd_result.setCellProperty("head",10,"text",0);
  932. var sGrupCd = pGrupCd;
  933. // var sGrupRow = pRow; // (20140206) 사용하지 않는 변수 주석처리함
  934. sSrchToolStatus = "S";
  935. //grp_dnarset.visible = true;
  936. group5.grp_dnarset.visible = true;
  937. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = false;
  938. //btn_freetextsel.visible = false;
  939. group5.btn_freetextsel.visible = false;
  940. //model.removenode("/root/send");
  941. //set 조회,간호진단내역 클릭시 분류 체계 조회
  942. if( !utlf_isNull(sGrupCd) ){
  943. gDiagGrupcd = pGrupCd;
  944. //gDiagRecVerNo = pRecVerNo;
  945. //model.makeValue("/root/send/grupcd", sGrupCd);
  946. //model.makeValue("/root/send/dnarflag","%");//전체
  947. //model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));20080624 김홍점
  948. var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupcd", val:sGrupCd }
  949. ,{col: "dnarflag", val:"%" }]);
  950. var oParam = {};
  951. oParam.id = "TRMNR00702";
  952. oParam.service = "carerecapp.NursingRecord";
  953. oParam.method = "reqGetStmtSetList";
  954. oParam.inds = "refCond="+ds_temp+"";
  955. oParam.outds = "ds_grid_grd_nursingd=nstmtsetlist ds_grid_grd_data=dstmtsetlist ds_grid_grd_action=astmtsetlist ds_grid_grd_result=rstmtsetlist";
  956. oParam.async = false;
  957. oParam.callback = "cf_TRMNR00702";
  958. tranf_submit(oParam);
  959. ds_grid_grd_nursingd.rowposition = -1;
  960. ds_grid_grd_data.rowposition = -1;
  961. ds_grid_grd_action.rowposition = -1;
  962. ds_grid_grd_result.rowposition = -1;
  963. if(arErrorCode.pop("TRMNR00702") > -1){
  964. //cbk_TRMNR00702_flag = 0;
  965. fSettingStmtSet();
  966. if ( !utlf_isNull(pStmtCd) && ds_grid_grd_nursingd.rowcount > 0 ){
  967. //grd_nursingd.select( grd_nursingd.findRow(pStmtCd,1,grd_nursingd.colRef("stmtcd"),true,true), 11) = true;
  968. ds_grid_grd_nursingd.rowposition = ds_grid_grd_nursingd.findRow("stmtcd",pStmtCd);
  969. fClickedGridRow(group5.grp_dnarset.grd_nursingd, ds_grid_grd_nursingd, ds_grid_grd_nursingd.findRow("stmtcd",pStmtCd),group5.grp_dnarset.grd_nursingd.getBindCellIndex( "body", "stmtcnts"));
  970. }
  971. }
  972. //set DAR 라디오버튼 선택시 분류 체계 조회 20080624 김홍점
  973. }else if (utlf_isNull(pGrupCd)){
  974. ds_grid_grd_nursingd.clearData();
  975. ds_grid_grd_data.clearData();
  976. ds_grid_grd_action.clearData();
  977. ds_grid_grd_result.clearData();
  978. // model.makeValue("/root/send/grupcd", gReturnGrupcd);
  979. // model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));
  980. var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupcd", val:gReturnGrupcd }
  981. ,{col: "dnarflag", val:ds_cond_srchtool.getColumn(0,"dnarflag") }]);
  982. var oParam = {};
  983. oParam.id = "TRMNR00702";
  984. oParam.service = "carerecapp.NursingRecord";
  985. oParam.method = "reqGetStmtSetList";
  986. oParam.inds = "refCond="+ds_temp+"";
  987. oParam.outds = "ds_grid_grd_nursingd=nstmtsetlist ds_grid_grd_data=dstmtsetlist ds_grid_grd_action=astmtsetlist ds_grid_grd_result=rstmtsetlist";
  988. oParam.async = false;
  989. oParam.callback = "cf_TRMNR00702";
  990. tranf_submit(oParam);
  991. ds_grid_grd_nursingd.rowposition = -1;
  992. ds_grid_grd_data.rowposition = -1;
  993. ds_grid_grd_action.rowposition = -1;
  994. ds_grid_grd_result.rowposition = -1;
  995. if(arErrorCode.pop("TRMNR00702") > -1){
  996. //cbk_TRMNR00702_flag = 0;
  997. fSettingStmtSet();
  998. }
  999. // if(sSrchPopup =="N"){
  1000. // if(submit("TRMNR00706", false)){//20080624 김홍점
  1001. // grd_grupstmtinfo.refresh();
  1002. // fSettingStmtStyle("newsetinfo");
  1003. // grd_carediagspec.resizeCells();
  1004. // }
  1005. // }else{
  1006. // if(submit("TRMNR00702", false)){
  1007. // fSettingStmtSet();
  1008. // }
  1009. // }
  1010. }
  1011. break;
  1012. //20080624 김홍점
  1013. // var sGrupRow = grd_grupinfo.row;
  1014. // var sDepth = 0; // 기준 레벨
  1015. // var iDepth = 0; // 각 row 별 레벨
  1016. // var sBoolStatus = "";
  1017. // var sRowCnt = 0; // 전체 row 개수
  1018. // sGrupFlag = eval(model.getValue(xSrchToolCondPath+"/grupflag"));
  1019. // sDepth = eval(model.getValue(xNStmtSetListPath+"["+sGrupRow+"]/depth"));
  1020. //
  1021. // if((sGrupFlag==3 && sDepth < 4) || (sGrupFlag != 3 && sDepth < 3)){
  1022. // // 자식 접기
  1023. // sDepth = eval(model.getValue(xGrupInfoPath+"["+sGrupRow+"]/depth"));
  1024. // sRowCnt = grd_grupinfo.rows - grd_grupinfo.fixedrows;
  1025. // if(grd_grupinfo.iscollapsed(sGrupRow) == true){
  1026. // sBoolStatus = false;
  1027. // }else{
  1028. // sBoolStatus = true;
  1029. // }
  1030. //
  1031. // for(var i=sGrupRow; i<=sRowCnt; i++){
  1032. // iDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
  1033. // if(i==sGrupRow){
  1034. // grd_grupinfo.iscollapsed(i) = sBoolStatus;
  1035. // }else if(i != sGrupRow && sDepth < iDepth){
  1036. // grd_grupinfo.iscollapsed(i) = sBoolStatus;
  1037. // }else{
  1038. // break;
  1039. // }
  1040. // }
  1041. // return;
  1042. // }
  1043. // model.removenodeset(xStmtSetListPath);
  1044. // grd_grupstmtinfo.rebuild();
  1045. // model.toggle("case_grupstmt");
  1046. // model.removenode("/root/send");
  1047. //
  1048. // //set 조회후 분류 체계 조회
  1049. // if( model.getValue(xGrupInfoPath+"["+sGrupRow+"]/grupcd") != "" && sSrchPopup == "" ){
  1050. // model.makeValue("/root/send/grupcd", model.getValue(xGrupInfoPath+"["+sGrupRow+"]/grupcd"));
  1051. // model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));
  1052. // if(submit("TRMNR00702", false)){
  1053. // grd_grupstmtinfo.refresh();
  1054. // fSettingStmtStyle("setinfo");
  1055. // grd_grupstmtinfo.resizeCells();
  1056. // }
  1057. // //진단 Popup조회 후 분류 체계 조회
  1058. // }else{
  1059. // model.makeValue("/root/send/nursdiagstmtcd", model.getValue("/root/hidden/choisdiag/stmtcd"));
  1060. // model.makeValue("/root/send/grupcd", gDiagGrupcd);
  1061. // model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));
  1062. //
  1063. // if(sSrchPopup =="N"){
  1064. // if(submit("TRMNR00706", false)){
  1065. // grd_grupstmtinfo.refresh();
  1066. // fSettingStmtStyle("setinfo");
  1067. // grd_carediagspec.resizeCells();
  1068. // }
  1069. // }else{
  1070. // if(submit("TRMNR00702", false)){
  1071. // grd_grupstmtinfo.refresh();
  1072. // fSettingStmtStyle("setinfo");
  1073. // grd_grupstmtinfo.resizeCells();
  1074. // }
  1075. // }
  1076. // }
  1077. // break;
  1078. case "Stmt": // 진술문 검색 조회
  1079. sSrchToolStatus = "J";
  1080. if(utlf_isNull(ds_cond_srchtool.getColumn(0,"srchnm")) || ds_cond_srchtool.getColumn(0,"srchnm").length < 2){
  1081. sysf_messageBox("검색어를 두단어 이상","C001");
  1082. group5.group9.swt_srchtool.case_stmtinfo.grp_stmtrec.ipt_srchnm.setFocus();
  1083. return;
  1084. }
  1085. //model.removenodeset(xStmtInfoPath);
  1086. ds_grid_grd_srchstmtinfo.clearData();
  1087. //grd_srchstmtinfo.rebuild();
  1088. // model.makeValue("/root/send/originflag", model.getValue(xSrchToolCondPath+"/originflag"));
  1089. // model.makeValue("/root/send/dnarflag", model.getValue(xSrchToolCondPath+"/dnarflag"));
  1090. // model.makeValue("/root/send/srchnm", model.getValue(xSrchToolCondPath+"/srchnm"));
  1091. var ds_temp = dsf_createDsRow("ds_temp", [{col: "originflag", val:ds_cond_srchtool.getColumn(0,"originflag") }
  1092. ,{col: "dnarflag", val:ds_cond_srchtool.getColumn(0,"dnarflag") }
  1093. ,{col: "srchnm", val:ds_cond_srchtool.getColumn(0,"srchnm") }]);
  1094. var oParam = {};
  1095. oParam.id = "TRMNR00703";
  1096. oParam.service = "carerecapp.NursingRecord";
  1097. oParam.method = "reqGetStmtList";
  1098. oParam.inds = "refCond="+ds_temp+"";
  1099. oParam.outds = "ds_data_stmtlist=stmtlist ds_data_nstmtlist=nstmtlist";
  1100. oParam.async = false;
  1101. oParam.callback = "cf_TRMNR00703";
  1102. tranf_submit(oParam);
  1103. /*
  1104. tranf_submit({
  1105. id: "TRMNR00703"
  1106. , service: "carerecapp.NursingRecord"
  1107. , method: "reqGetStmtList"
  1108. , inds: "refCond="+ds_temp
  1109. , outds: "ds_data_stmtlist=stmtlist ds_data_nstmtlist=nstmtlist"
  1110. , async: false
  1111. , callback: "cbk_TRMNR00703"
  1112. });
  1113. */
  1114. if(arErrorCode.pop("TRMNR00703") > -1){
  1115. //cbk_TRMNR00703_flag = 0;
  1116. if( ds_data_stmtlist.rowcount > 0 ){
  1117. // model.makeNode(xStmtInfoPath);
  1118. // copyNodesetType(xStmtInfoPath, xHiddenSrchToolInfoPath, "replace", model, model);
  1119. ds_grid_grd_srchstmtinfo.copyData(ds_data_stmtlist);
  1120. ds_grid_grd_srchstmtinfo.rowposition = -1;
  1121. }
  1122. // grd_srchstmtinfo.colSort(grd_srchstmtinfo.colRef("dnarflag")) = "asc"; //jh 확인후 변환
  1123. // grd_srchstmtinfo.sort(1, grd_srchstmtinfo.colRef("dnarflag"), grd_srchstmtinfo.rows-1, grd_srchstmtinfo.cols-1) = "usersort";
  1124. // grd_srchstmtinfo.gridToInstance();
  1125. ds_grid_grd_srchstmtinfo.keystring = "S:dnarflag";
  1126. //fSettingStmtStyle("stmtinfo"); // 속성이 있는 경우 진술문 폰트 색상을 변경한다. --그리드 내 폰트색상변경 설정..
  1127. }
  1128. break;
  1129. case "SrchDiagStmt": // 간호진단 검색
  1130. sStmtCd = pStmtCd;
  1131. gDiagGrupcd = pGrupCd;
  1132. gDiagStmtcd = pStmtCd;
  1133. sSrchToolStatus = "S";
  1134. if ( utlf_isNull(sStmtCd) ){//조회버튼클릭시
  1135. if(utlf_isNull(ds_cond_srchtool.getColumn(0,"srchnursdiag")) || ds_cond_srchtool.getColumn(0,"srchnursdiag").length < 2){
  1136. sysf_messageBox("검색어를 두단어 이상","C001");
  1137. group5.group9.swt_srchtool.case_srchnursdiag.ipt_srchnursdiag.setFocus();
  1138. return;
  1139. }
  1140. //model.removenodeset(xNSrchNursDiagInfoPath);
  1141. ds_grid_grd_srchdiag.clearData();
  1142. //model.makeValue("/root/send/originflag", model.getValue(xSrchToolCondPath+"/originflag"));
  1143. // model.makeValue("/root/send/dnarflag", "2N");
  1144. // model.makeValue("/root/send/srchnm", model.getValue(xSrchToolCondPath+"/srchnursdiag"));
  1145. var ds_temp = dsf_createDsRow("ds_temp", [{col: "dnarflag", val:"2N" }
  1146. ,{col: "srchnm", val:ds_cond_srchtool.getColumn(0,"srchnursdiag") } ]);
  1147. /*
  1148. tranf_submit({
  1149. id: "TRMNR00703"
  1150. , service: "carerecapp.NursingRecord"
  1151. , method: "reqGetStmtList"
  1152. , inds: "refCond="+ds_temp
  1153. , outds: "ds_data_stmtlist=stmtlist ds_data_nstmtlist=nstmtlist"
  1154. , async: false
  1155. , callback: "cbk_TRMNR00703"
  1156. });
  1157. */
  1158. var oParam = {};
  1159. oParam.id = "TRMNR00703";
  1160. oParam.service = "carerecapp.NursingRecord";
  1161. oParam.method = "reqGetStmtList";
  1162. oParam.inds = "refCond="+ds_temp+"";
  1163. oParam.outds = "ds_data_stmtlist=stmtlist ds_data_nstmtlist=nstmtlist";
  1164. oParam.async = false;
  1165. oParam.callback = "cf_TRMNR00703";
  1166. tranf_submit(oParam);
  1167. if(arErrorCode.pop("TRMNR00703") > -1){
  1168. //cbk_TRMNR00703_flag = 0;
  1169. if( ds_data_nstmtlist.rowcount > 0 ){
  1170. //model.makeNode(xNSrchNursDiagInfoPath);
  1171. //copyNodesetType(xNSrchNursDiagInfoPath, xHiddenNSrchToolInfoPath, "replace", model, model);
  1172. ds_grid_grd_srchdiag.copyData(ds_data_nstmtlist);
  1173. ds_grid_grd_srchdiag.rowposition = -1;
  1174. }
  1175. //fSettingStmtStyle("stmtinfo"); // 속성이 있는 경우 진술문 폰트 색상을 변경한다.
  1176. }
  1177. } else {//간호진단 클릭시
  1178. //grp_dnarset.visible = true;
  1179. group5.grp_dnarset.visible = true;
  1180. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = false;
  1181. //btn_freetextsel.visible = false;
  1182. group5.btn_freetextsel.visible = false;
  1183. // model.makeValue("/root/send/grupcd", pGrupCd);
  1184. // model.makeValue("/root/send/dnarflag","%");//전체
  1185. // model.makeValue("/root/send/stmtcd", sStmtCd);
  1186. // model.makeValue("/root/send/nursdiagstmtcd", sStmtCd);
  1187. var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupcd", val:pGrupCd }
  1188. ,{col: "dnarflag", val:"%" }
  1189. ,{col: "stmtcd", val:sStmtCd }
  1190. ,{col: "nursdiagstmtcd", val:sStmtCd }]);
  1191. /*
  1192. tranf_submit({
  1193. id: "TRMNR00702"
  1194. , service: "carerecapp.NursingRecord"
  1195. , method: "reqGetStmtSetList"
  1196. , inds: "refCond="+ds_temp
  1197. , outds: "ds_grid_grd_nursingd=nstmtsetlist ds_grid_grd_data=dstmtsetlist ds_grid_grd_action=astmtsetlist ds_grid_grd_result=rstmtsetlist"
  1198. , async: false
  1199. , callback: "cbk_TRMNR00702"
  1200. });
  1201. */
  1202. var oParam = {};
  1203. oParam.id = "TRMNR00702";
  1204. oParam.service = "carerecapp.NursingRecord";
  1205. oParam.method = "reqGetStmtSetList";
  1206. oParam.inds = "refCond="+ds_temp+"";
  1207. oParam.outds = "ds_grid_grd_nursingd=nstmtsetlist ds_grid_grd_data=dstmtsetlist ds_grid_grd_action=astmtsetlist ds_grid_grd_result=rstmtsetlist";
  1208. oParam.async = false;
  1209. oParam.callback = "cf_TRMNR00702";
  1210. tranf_submit(oParam);
  1211. ds_grid_grd_nursingd.rowposition = -1;
  1212. ds_grid_grd_data.rowposition = -1;
  1213. ds_grid_grd_action.rowposition = -1;
  1214. ds_grid_grd_result.rowposition = -1;
  1215. if(arErrorCode.pop("TRMNR00702") > -1){
  1216. //cbk_TRMNR00702_flag = 0;
  1217. fSettingStmtSet("ND");//간호진단검색탭에서 선택해서 표준진술문 팝업그룹띄울때
  1218. if ( !utlf_isNull(sStmtCd) && ds_grid_grd_nursingd.rowcount > 0 ){
  1219. //grd_nursingd.select( grd_nursingd.findRow(pStmtCd,1,grd_nursingd.colRef("stmtcd"),true,true), 11) = true;
  1220. ds_grid_grd_nursingd.rowposition = ds_grid_grd_nursingd.findRow("stmtcd",pStmtCd);
  1221. fClickedGridRow(group5.grp_dnarset.grd_nursingd, ds_grid_grd_nursingd, ds_grid_grd_nursingd.findRow("stmtcd",pStmtCd),group5.grp_dnarset.grd_nursingd.getBindCellIndex( "body", "stmtcnts"));
  1222. // fClickedGridRow(grd_nursingd, "/root/main/stmtsetinfo/nstmtsetlist",
  1223. // grd_nursingd.findRow(pStmtCd,1,grd_nursingd.colRef("stmtcd"),true,true),
  1224. // grd_nursingd.colRef("stmtcnts") );
  1225. }
  1226. }
  1227. }
  1228. break;
  1229. case "NursDiag": // 진술문 분류 관리 조회
  1230. //sSrchPopup = "";
  1231. gDiagGrupcd = "";
  1232. gDiagStmtcd = "";
  1233. // var iRow = grd_carediagspec.row;
  1234. // if(iRow < 1) return;
  1235. //
  1236. // //추가사항: 선택 진단 정보 임시 저장
  1237. // model.removenodeset("/root/hidden/choisdiag");
  1238. // model.makeValue("/root/hidden/choisdiag/stmtcnts", model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcnts"));
  1239. // model.makeValue("/root/hidden/choisdiag/stmtcd", model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcd"));
  1240. //
  1241. // setParameter("SPMNR05200_Return", "");
  1242. // setParameter("SPMNR05200_Param", model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcd"));
  1243. // modal("SPMNR05200");
  1244. // gDiagGrupcd = getParameter("SPMNR05200_Return");
  1245. //
  1246. //
  1247. // model.removenodeset(xStmtSetListPath);
  1248. // grd_grupstmtinfo.rebuild();
  1249. // swt_srchtool.selectedIndex = 0;
  1250. // model.toggle("case_grupstmt");
  1251. // if(btn_set.selected == false) btn_set.selected = true;
  1252. //
  1253. // model.removenode("/root/send");
  1254. // model.makeValue("/root/send/nursdiagstmtcd", model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcd"));
  1255. // model.makeValue("/root/send/grupcd", gDiagGrupcd);
  1256. // model.makeValue("/root/send/dnarflag", "%");
  1257. //
  1258. // if(gDiagGrupcd ==""){
  1259. // sSrchToolStatus = "N"; // 표준 진술문 분류 관리
  1260. // sSrchPopup = "N"; // 조회경로
  1261. // if(submit("TRMNR00706", false)){
  1262. // grd_grupstmtinfo.refresh();
  1263. // fSettingStmtStyle("setinfo");
  1264. // grd_carediagspec.resizeCells();
  1265. // }
  1266. // }else{
  1267. // sSrchToolStatus = "S"; // 진술문 분류 관리
  1268. // sSrchPopup = "S"; // 조회경로
  1269. // if(submit("TRMNR00702", false)){
  1270. // grd_grupstmtinfo.refresh();
  1271. // fSettingStmtStyle("setinfo");
  1272. // grd_grupstmtinfo.resizeCells();
  1273. //
  1274. // fSettingSltColor(model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcd"));
  1275. // fSettingGridBackColor();
  1276. // }
  1277. // }
  1278. // break;
  1279. }
  1280. }
  1281. function cbk_TRMNR00702(sScvId, nErrorCode, sErrorMsg){
  1282. if(nErrorCode == 0){//성공하였을때
  1283. cbk_TRMNR00702_flag = 1;
  1284. }else{
  1285. sysf_messageBox(sErrorMsg, "E");
  1286. }
  1287. }
  1288. function cbk_TRMNR00703(sScvId, nErrorCode, sErrorMsg){
  1289. if(nErrorCode == 0){//성공하였을때
  1290. cbk_TRMNR00703_flag = 1;
  1291. }else{
  1292. sysf_messageBox(sErrorMsg, "E");
  1293. }
  1294. }
  1295. function fSettingStmtSet(pFlag){//pFlag : ND일경우 간호진단 검색 탭에서 카피한다.
  1296. // model.removenodeset(xNStmtSetListPath);
  1297. // model.removenodeset(xDStmtSetListPath);
  1298. // model.removenodeset(xAStmtSetListPath);
  1299. // model.removenodeset(xRStmtSetListPath);
  1300. // model.refresh();
  1301. // ds_grid_grd_nursingd.clearData();
  1302. // ds_grid_grd_data.clearData();
  1303. // ds_grid_grd_action.clearData();
  1304. // ds_grid_grd_result.clearData();
  1305. // if (getNodesetCount(xHiddenStmtSetInfoPath) > 0){
  1306. //
  1307. // if( getNodesetCount(xHiddenStmtSetInfoPath+"/nstmtsetlist") > 0 ){
  1308. // model.makeNode(xNStmtSetListPath);
  1309. // copyNodesetType(xNStmtSetListPath, xHiddenStmtSetInfoPath+"/nstmtsetlist", "replace", model, model);
  1310. // grd_nursingd.resizeCells();
  1311. // grd_nursingd.refresh();
  1312. //
  1313. // }
  1314. //
  1315. // if( getNodesetCount(xHiddenStmtSetInfoPath+"/dstmtsetlist") > 0 ){
  1316. // model.makeNode(xDStmtSetListPath);
  1317. // copyNodesetType(xDStmtSetListPath, xHiddenStmtSetInfoPath+"/dstmtsetlist", "replace", model, model);
  1318. // grd_data.resizeCells();
  1319. // grd_data.refresh();
  1320. // }
  1321. //
  1322. // if( getNodesetCount(xHiddenStmtSetInfoPath+"/astmtsetlist") > 0 ){
  1323. // model.makeNode(xAStmtSetListPath);
  1324. // copyNodesetType(xAStmtSetListPath, xHiddenStmtSetInfoPath+"/astmtsetlist", "replace", model, model);
  1325. // grd_action.resizeCells();
  1326. // grd_action.refresh();
  1327. // }
  1328. //
  1329. // if( getNodesetCount(xHiddenStmtSetInfoPath+"/rstmtsetlist") > 0 ){
  1330. // model.makeNode(xRStmtSetListPath);
  1331. // copyNodesetType(xRStmtSetListPath, xHiddenStmtSetInfoPath+"/rstmtsetlist", "replace", model, model);
  1332. // grd_result.resizeCells();
  1333. // grd_result.refresh();
  1334. // }
  1335. // grd_nursingd.fixedcellischeck(0, grd_nursingd.colRef("check")) = false;
  1336. // grd_data.fixedcellischeck(0, grd_data.colRef("check")) = false;
  1337. // grd_action.fixedcellischeck(0, grd_action.colRef("check")) = false;
  1338. // grd_result.fixedcellischeck(0, grd_result.colRef("check")) = false;
  1339. //
  1340. // }
  1341. group5.grp_dnarset.grd_nursingd.setCellProperty("Head", group5.grp_dnarset.grd_nursingd.getBindCellIndex("body","chk"),"text","expr:0");
  1342. group5.grp_dnarset.grd_data.setCellProperty("Head", group5.grp_dnarset.grd_data.getBindCellIndex("body","chk"),"text","expr:0");
  1343. group5.grp_dnarset.grd_action.setCellProperty("Head", group5.grp_dnarset.grd_action.getBindCellIndex("body","chk"),"text","expr:0");
  1344. group5.grp_dnarset.grd_result.setCellProperty("Head", group5.grp_dnarset.grd_result.getBindCellIndex("body","chk"),"text","expr:0");
  1345. //fSettingStmtStyle("newsetinfo");--그리드 내 폰트색상 변경 설정..
  1346. //model.refresh();
  1347. }
  1348. function fSettingSltColor(pStmtCd){
  1349. for(var i = grd_grupstmtinfo.fixedRows ; i < grd_grupstmtinfo.rows - grd_grupstmtinfo.fixedRows ; i ++){
  1350. if(model.getValue(xStmtSetListPath+"["+i+"]/stmtcd") == pStmtCd && model.getValue(xStmtSetListPath+"["+i+"]/dnarflag") == "2N" ){
  1351. model.setValue(xStmtSetListPath+"["+i+"]/check", "true");
  1352. grd_grupstmtinfo.row = i;
  1353. }
  1354. }
  1355. }
  1356. /**
  1357. * @group :
  1358. * @ver : 2007.04.19
  1359. * @by : 이은영
  1360. * @---------------------------------------------------
  1361. * @type : function
  1362. * @access : public
  1363. * @desc : 진술문 폰트 color 설정 - 속성이 있는 경우 진술문 폰트 색상을 변경한다.
  1364. * @param : pFlag ( setinfo : set, stmtinfo : 진술문 검색 nr:간호진단및 간호기록조회)
  1365. * @return :
  1366. * @---------------------------------------------------
  1367. */
  1368. function fSettingStmtStyle(pFlag){
  1369. switch(pFlag){
  1370. // case "newsetinfo" : // set DAR별로 속성이 존재하는것은 폰트색변경20080623 김홍점
  1371. // // var iTgStmtRow = 0;
  1372. // // grd_data.allstyle("data","color") = "#000000";
  1373. // // var sStmtCDList = instance1.selectNodes(xDStmtSetListPath+"[attrcnt > 0]/stmtcd");
  1374. // //
  1375. // // for(var idx=0; idx < sStmtCDList.length; idx++){
  1376. // // iTgStmtRow = grd_data.findRow(sStmtCDList.item(idx).value ,1,grd_data.colRef("stmtcd"),true,true);
  1377. // //
  1378. // // if(iTgStmtRow < 0){
  1379. // // // 셋에 속성이 없을 경우 pass
  1380. // // } else {
  1381. // // grd_data.cellstyle("color",iTgStmtRow,grd_data.colRef("stmtcnts")) = "#6600ff";
  1382. // // }
  1383. // // }
  1384. // group5.grp_dnarset.grd_data.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  1385. // group5.grp_dnarset.grd_data.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  1386. //
  1387. // // grd_action.allstyle("data","color") = "#000000";
  1388. // // sStmtCDList = instance1.selectNodes(xAStmtSetListPath+"[attrcnt > 0]/stmtcd");
  1389. // //
  1390. // // for(var idx=0; idx < sStmtCDList.length; idx++){
  1391. // // iTgStmtRow = grd_action.findRow(sStmtCDList.item(idx).value ,1,grd_action.colRef("stmtcd"),true,true);
  1392. // //
  1393. // // if(iTgStmtRow < 0){
  1394. // // // 셋에 속성이 없을 경우 pass
  1395. // // } else {
  1396. // // grd_action.cellstyle("color",iTgStmtRow,grd_action.colRef("stmtcnts")) = "#6600ff";
  1397. // // }
  1398. // // }
  1399. // group5.grp_dnarset.grd_action.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  1400. // group5.grp_dnarset.grd_action.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  1401. //
  1402. // // grd_result.allstyle("data","color") = "#000000";
  1403. // // sStmtCDList = instance1.selectNodes(xRStmtSetListPath+"[attrcnt > 0]/stmtcd");
  1404. // //
  1405. // // for(var idx=0; idx < sStmtCDList.length; idx++){
  1406. // // iTgStmtRow = grd_result.findRow(sStmtCDList.item(idx).value ,1,grd_result.colRef("stmtcd"),true,true);
  1407. // //
  1408. // // if(iTgStmtRow < 0){
  1409. // // // 셋에 속성이 없을 경우 pass
  1410. // // } else {
  1411. // // grd_result.cellstyle("color",iTgStmtRow,grd_result.colRef("stmtcnts")) = "#6600ff";
  1412. // // }
  1413. // // }
  1414. // group5.grp_dnarset.grd_result.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  1415. // group5.grp_dnarset.grd_result.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  1416. //
  1417. // //model.refresh();
  1418. //
  1419. // break;
  1420. // case "setinfo" : // set 삭제예정
  1421. // // grd_grupstmtinfo.mergecells = "bycol";
  1422. // // grd_grupstmtinfo.mergecol(2) = false;
  1423. // // grd_grupstmtinfo.mergecol(3) = false;
  1424. // // grd_grupstmtinfo.allstyle("data","color") = "#000000";
  1425. // // for(var iRow=grd_grupstmtinfo.fixedrows; iRow<=grd_grupstmtinfo.rows-grd_grupstmtinfo.fixedrows; iRow++){
  1426. // // if(eval(model.getValue(xStmtSetListPath+"["+iRow+"]/attrcnt"))>0){
  1427. // // grd_grupstmtinfo.cellstyle("color",iRow,3) = "#6600ff"; // 녹색
  1428. // // }
  1429. // // }
  1430. // group5.group9.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  1431. // group5.group9.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  1432. // break;
  1433. // case "stmtinfo": // 진술문 검색
  1434. // // grd_srchstmtinfo.mergecells = "bycol";
  1435. // // grd_srchstmtinfo.mergecol(2) = false;
  1436. // // grd_srchstmtinfo.mergecol(3) = false;
  1437. // // grd_srchstmtinfo.allstyle("data","color") = "#000000";
  1438. // // for(var iRow=grd_srchstmtinfo.fixedrows; iRow<=grd_srchstmtinfo.rows-grd_srchstmtinfo.fixedrows; iRow++){
  1439. // // if(eval(model.getValue(xStmtInfoPath+"["+iRow+"]/attrcnt"))>0){
  1440. // // grd_srchstmtinfo.cellstyle("color",iRow,3) = "#6600ff"; // 녹색
  1441. // // }
  1442. // // }
  1443. // group5.group9.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  1444. // group5.group9.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  1445. // break;
  1446. case "nr":
  1447. var sSignno = "";
  1448. var sInterpRecYN = "";
  1449. //var sImagePath = "../../../emr/commonweb/images";--함수내에서 쓰지 않음..
  1450. var sRecDT = "";
  1451. var sRecTM = "";
  1452. var sDNARFlag = "";
  1453. var sCareRecNo = "";
  1454. var sRecVerNo = "";
  1455. var sDiagStmtNm = "";
  1456. // for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  1457. // group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  1458. // group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  1459. // }
  1460. //var sExprColor = "EXPR(";
  1461. //var sExprColor2 = "EXPR(";
  1462. for(var iRow=0; iRow<ds_grid_grd_carerecspec.rowcount; iRow++){
  1463. if(iRow == 0){
  1464. sRecDD = ds_grid_grd_carerecspec.getColumn(iRow, "recdd_vw");
  1465. sRecTM = ds_grid_grd_carerecspec.getColumn(iRow, "rectm_vw");
  1466. sDNAR = ds_grid_grd_carerecspec.getColumn(iRow, "dnar");
  1467. }else{
  1468. }
  1469. sCareRecNo = ds_grid_grd_carerecspec.getColumn(iRow, "carerecno");
  1470. sRecVerNo = ds_grid_grd_carerecspec.getColumn(iRow, "recverno");
  1471. sDiagStmtNm = utlf_transNullToEmpty(ds_grid_grd_carerecspec.getColumn(iRow, "diagstmtnm"));
  1472. //////////
  1473. /*
  1474. if( !utlf_isNull(sCareRecNo) ){
  1475. sExprColor += "currow == "+iRow+" ? '#FFFFFF' : ";
  1476. }else{
  1477. sExprColor += "currow == "+iRow+" ? '#ffff88' : ";
  1478. }
  1479. */
  1480. //////////
  1481. if (!utlf_isNull(sRecVerNo) ){
  1482. ds_grid_grd_carerecspec.addColumn("diagcarerecno","string");
  1483. //model.setValue(xNursingRecordListPath+"["+iRow+"]/diagstmtnm",getArrayData(sDiagStmtNm,0,1,'|','^') );
  1484. //model.makeValue(xNursingRecordListPath+"["+iRow+"]/diagcarerecno", getArrayData(sDiagStmtNm,0,0,'|','^') );
  1485. ds_grid_grd_carerecspec.setColumn(iRow,"diagstmtnm",getArrayData(sDiagStmtNm,0,1,'|','^'));
  1486. ds_grid_grd_carerecspec.setColumn(iRow,"diagcarerecno",getArrayData(sDiagStmtNm,0,0,'|','^'));
  1487. // fGridRowResize();
  1488. }
  1489. //////////
  1490. /*
  1491. if( ds_grid_grd_carerecspec.getColumn(iRow, "recoriginflag") == "T"
  1492. && ds_grid_grd_carerecspec.getColumn(iRow, "recflag") != "W" ) {
  1493. sExprColor2 += "currow == "+iRow+" ? 'arial,9,bold' : ";
  1494. }else{
  1495. sExprColor2 += "currow == "+iRow+" ? '' : ";
  1496. }
  1497. */
  1498. //////////
  1499. }
  1500. //sExprColor += "'')";
  1501. //sExprColor2 += "'')";
  1502. /*
  1503. for(var expnum = 0; expnum <group5.grd_carerecspec.getCellCount("Body"); expnum++){
  1504. group5.grd_carerecspec.setCellProperty("Body", expnum, "background", sExprColor);
  1505. group5.grd_carerecspec.setCellProperty("Body", expnum, "background2", sExprColor);
  1506. }
  1507. */
  1508. //group5.grd_carerecspec.setCellProperty("Body", group5.grd_carerecspec.getBindCellIndex("body","stmtspec"), "font", sExprColor2);
  1509. fGridRowResize();
  1510. break;
  1511. }
  1512. }
  1513. /**
  1514. * @group :
  1515. * @ver : 2007.04.19
  1516. * @by : 이은영
  1517. * @---------------------------------------------------
  1518. * @type : function
  1519. * @access : public
  1520. * @desc : 인증 기록 설정
  1521. * @param : pFlag ( S : 전체선택, C : 선택취소 R:행선택)
  1522. * @return :
  1523. * @---------------------------------------------------
  1524. */
  1525. function fSettingCertImg(pFlag){
  1526. var sInterpRecYN = ""; // 기록삽입여부
  1527. var sCertSelYN = ""; // 인증선택여부
  1528. var sSignno = "";
  1529. var sImagePath = "../../../emr/commonweb/images";
  1530. switch(pFlag){
  1531. case "S" : // 전체선택
  1532. for(var iRow=grd_carerecspec.fixedrows; iRow<=grd_carerecspec.rows-grd_carerecspec.fixedrows; iRow++){
  1533. if(model.getValue(xNursingRecordListPath+"["+iRow+"]/fstrgstrid") != getUserId()){
  1534. continue;
  1535. }
  1536. sInterpRecYN = model.getValue(xNursingRecordListPath+"["+iRow+"]/interprecyn");
  1537. sCertSelYN = model.getValue(xNursingRecordListPath+"["+iRow+"]/certselyn");
  1538. sSignno = model.getValue(xNursingRecordListPath+"["+iRow+"]/signno");
  1539. if( isNull(sSignno) && sCertSelYN == "N"){
  1540. if(sInterpRecYN == "N"){
  1541. grd_carerecspec.cellstyle("background-image",iRow,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_LockRequest.gif";
  1542. }else{
  1543. grd_carerecspec.cellstyle("background-image",iRow,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_LockRequest_add.gif";
  1544. }
  1545. model.setValue(xNursingRecordListPath+"["+iRow+"]/certselyn","Y");
  1546. }
  1547. }
  1548. break;
  1549. case "C" : // 전체취소
  1550. for(var iRow=grd_carerecspec.fixedrows; iRow<=grd_carerecspec.rows-grd_carerecspec.fixedrows; iRow++){
  1551. if(model.getValue(xNursingRecordListPath+"["+iRow+"]/fstrgstrid") != getUserId()){
  1552. continue;
  1553. }
  1554. sInterpRecYN = model.getValue(xNursingRecordListPath+"["+iRow+"]/interprecyn");
  1555. sSignno = model.getValue(xNursingRecordListPath+"["+iRow+"]/signno");
  1556. sCertSelYN = model.getValue(xNursingRecordListPath+"["+iRow+"]/certselyn");
  1557. if(isNull(sSignno) && sCertSelYN == "Y"){
  1558. if(sInterpRecYN == "N"){
  1559. grd_carerecspec.cellstyle("background-image",iRow,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_unLock.gif";
  1560. }else{
  1561. grd_carerecspec.cellstyle("background-image",iRow,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_unLock_add.gif";
  1562. }
  1563. model.setValue(xNursingRecordListPath+"["+iRow+"]/certselyn","N");
  1564. }
  1565. }
  1566. break;
  1567. case "R" : // row별로 선택시
  1568. var iRow1 = grd_carerecspec.row;
  1569. var iCol = grd_carerecspec.col;
  1570. if(iCol != grd_carerecspec.colRef("signno")) return;
  1571. if(model.getValue(xNursingRecordListPath+"["+iRow1+"]/fstrgstrid") != getUserId()){
  1572. messageBox("다른 사람의 기록은 인증처리","E001");
  1573. return;
  1574. }
  1575. sInterpRecYN = model.getValue(xNursingRecordListPath+"["+iRow1+"]/interprecyn");
  1576. sSignno = model.getValue(xNursingRecordListPath+"["+iRow1+"]/signno");
  1577. sCertSelYN = model.getValue(xNursingRecordListPath+"["+iRow1+"]/certselyn");
  1578. if(isNull(sSignno) && sCertSelYN == "Y"){
  1579. if(sInterpRecYN == "N"){
  1580. grd_carerecspec.cellstyle("background-image",iRow1,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_unLock.gif";
  1581. }else{
  1582. grd_carerecspec.cellstyle("background-image",iRow1,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_unLock_add.gif";
  1583. }
  1584. model.setValue(xNursingRecordListPath+"["+iRow1+"]/certselyn","N");
  1585. }else if(isNull(sSignno) && sCertSelYN == "N"){
  1586. if(sInterpRecYN == "N"){
  1587. grd_carerecspec.cellstyle("background-image",iRow1,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_LockRequest.gif";
  1588. }else{
  1589. grd_carerecspec.cellstyle("background-image",iRow1,grd_carerecspec.colRef("signno"))=sImagePath+"/btn_LockRequest_add.gif";
  1590. }
  1591. model.setValue(xNursingRecordListPath+"["+iRow1+"]/certselyn","Y");
  1592. }
  1593. break;
  1594. }
  1595. grd_carerecspec.rebuild();
  1596. }
  1597. /**
  1598. * @group :
  1599. * @ver : 2008.06.23
  1600. * @by : 김홍점
  1601. * @---------------------------------------------------
  1602. * @type : function
  1603. * @access : public
  1604. * @desc : 선택된 진술문 별로 표준간호과정 등록된 진술문에 바탕색을 변경
  1605. * @param :
  1606. * @return :
  1607. * @---------------------------------------------------
  1608. */
  1609. function fSettingGridBackColorNew(pRow){
  1610. var iRow = pRow;//grd_nursingd.selectedRow;
  1611. // var sDNARFlag = model.getValue(xNStmtSetListPath+"["+iRow+"]/dnarflag"); // (20140206) 사용하지 않는 변수 주석처리함
  1612. //var sCheck = model.getValue(xNStmtSetListPath+"["+iRow+"]/check");
  1613. var sCheck = ds_grid_grd_nursingd.getColumn(iRow,"chk");
  1614. var iTgStmtRow = 0;
  1615. //var sLnkStmt = model.getValue(xNStmtSetListPath+"["+iRow+"]/lnkstmt");
  1616. var sLnkStmt = ds_grid_grd_nursingd.getColumn(iRow,"lnkstmt");
  1617. if(utlf_isNull(sLnkStmt)) return;
  1618. var sStmtCD = sLnkStmt.split(",");
  1619. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  1620. //iTgStmtRow = grd_data.findRow(sStmtCD[iStmt],1,grd_data.colRef("stmtcd"),true,true);
  1621. iTgStmtRow = ds_grid_grd_data.findRow("stmtcd",sStmtCD[iStmt]);
  1622. if(iTgStmtRow < 0){
  1623. // 셋에 묶인 진단이 없을 경우 pass
  1624. } else {
  1625. //chkcnt = model.getValue(xDStmtSetListPath + "["+iTgStmtRow+"]/cnt");
  1626. chkcnt = ds_grid_grd_data.getColumn(iTgStmtRow,"cnt");
  1627. if(sCheck == "true" || sCheck == 1){
  1628. chkcnt = chkcnt + 1;
  1629. }else{
  1630. chkcnt = chkcnt - 1;
  1631. }
  1632. //model.setValue(xDStmtSetListPath+"["+iTgStmtRow+"]/cnt", chkcnt);
  1633. ds_grid_grd_data.setColumn(iTgStmtRow,"cnt",chkcnt);
  1634. //if(model.getValue(xDStmtSetListPath+"["+iTgStmtRow+"]/cnt") > 0 ){
  1635. // grd_data.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  1636. //}else {
  1637. // grd_data.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  1638. //}
  1639. }
  1640. }
  1641. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  1642. //iTgStmtRow = grd_action.findRow(sStmtCD[iStmt],1,grd_action.colRef("stmtcd"),true,true);
  1643. iTgStmtRow = ds_grid_grd_action.findRow("stmtcd",sStmtCD[iStmt]);
  1644. if(iTgStmtRow < 0){
  1645. // 셋에 묶인 진단이 없을 경우 pass
  1646. } else {
  1647. //chkcnt = model.getValue(xAStmtSetListPath + "["+iTgStmtRow+"]/cnt");
  1648. chkcnt = ds_grid_grd_action.getColumn(iTgStmtRow,"cnt");
  1649. if(sCheck == "true" || sCheck == 1){
  1650. chkcnt = chkcnt + 1;
  1651. }else{
  1652. chkcnt = chkcnt - 1;
  1653. }
  1654. //model.setValue(xAStmtSetListPath+"["+iTgStmtRow+"]/cnt", chkcnt);
  1655. ds_grid_grd_action.setColumn(iTgStmtRow,"cnt",chkcnt);
  1656. // if(model.getValue(xAStmtSetListPath+"["+iTgStmtRow+"]/cnt") > 0 ){
  1657. // grd_action.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  1658. // }else {
  1659. // grd_action.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  1660. // }
  1661. }
  1662. }
  1663. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  1664. //iTgStmtRow = grd_result.findRow(sStmtCD[iStmt],1,grd_result.colRef("stmtcd"),true,true);
  1665. iTgStmtRow = ds_grid_grd_result.findRow("stmtcd",sStmtCD[iStmt]);
  1666. if(iTgStmtRow < 0){
  1667. // 셋에 묶인 진단이 없을 경우 pass
  1668. } else {
  1669. //chkcnt = model.getValue(xRStmtSetListPath + "["+iTgStmtRow+"]/cnt");
  1670. chkcnt = ds_grid_grd_result.getColumn(iTgStmtRow,"cnt");
  1671. if(sCheck == "true" || sCheck == 1){
  1672. chkcnt = chkcnt + 1;
  1673. }else{
  1674. chkcnt = chkcnt - 1;
  1675. }
  1676. //model.setValue(xRStmtSetListPath+"["+iTgStmtRow+"]/cnt", chkcnt);
  1677. ds_grid_grd_result.setColumn(iTgStmtRow,"cnt",chkcnt);
  1678. // if(model.getValue(xRStmtSetListPath+"["+iTgStmtRow+"]/cnt") > 0 ){
  1679. // grd_result.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  1680. // }else {
  1681. // grd_result.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  1682. // }
  1683. }
  1684. }
  1685. }
  1686. /**
  1687. * @group :
  1688. * @ver : 2007.04.23
  1689. * @by : 이은영
  1690. * @---------------------------------------------------
  1691. * @type : function
  1692. * @access : public
  1693. * @desc : 선택된 진술문 별로 표준간호과정 등록된 진술문에 바탕색을 변경
  1694. * @param :
  1695. * @return :
  1696. * @---------------------------------------------------
  1697. */
  1698. function fSettingGridBackColor(){
  1699. var iRow = grd_grupstmtinfo.row;
  1700. // var sDNARFlag = model.getValue(xStmtSetListPath+"["+iRow+"]/dnarflag"); // (20140206) 사용하지 않는 변수 주석처리함
  1701. var sCheck = model.getValue(xStmtSetListPath+"["+iRow+"]/check");
  1702. var iTgStmtRow = 0;
  1703. var sLnkStmt = model.getValue(xStmtSetListPath+"["+iRow+"]/lnkstmt");
  1704. if(sLnkStmt == "") return;
  1705. var sStmtCD = sLnkStmt.split(",");
  1706. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  1707. iTgStmtRow = grd_grupstmtinfo.findRow(sStmtCD[iStmt],1,4,true,true);
  1708. if(iTgStmtRow < 0){
  1709. // 셋에 묶인 진단이 없을 경우 pass
  1710. } else {
  1711. chkcnt = model.getValue("/root/main/srchtoolinfo/stmtsetinfo/stmtsetlist["+iTgStmtRow+"]/cnt");
  1712. if(sCheck == "true"){
  1713. chkcnt ++;
  1714. }else{
  1715. chkcnt --;
  1716. }
  1717. model.setValue("/root/main/srchtoolinfo/stmtsetinfo/stmtsetlist["+iTgStmtRow+"]/cnt", chkcnt);
  1718. // 이은영 개발 로직(수정이유: 진단 두개 선택 후 취소시 다른 진단에 대한 분류 표시색도 사라짐)
  1719. // if(sCheck == "true"){
  1720. // grd_grupstmtinfo.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  1721. // chkcnt ++;
  1722. // }else{
  1723. // if(grd_grupstmtinfo.rowstyle(iTgStmtRow,"data","background-color") == "#efd3e7"){
  1724. // grd_grupstmtinfo.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  1725. // chkcnt --;
  1726. // }
  1727. // }
  1728. if(model.getValue("/root/main/srchtoolinfo/stmtsetinfo/stmtsetlist["+iTgStmtRow+"]/cnt") > 0 ){
  1729. grd_grupstmtinfo.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  1730. }else {
  1731. grd_grupstmtinfo.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  1732. }
  1733. }
  1734. }
  1735. }
  1736. /**
  1737. * @group :
  1738. * @ver : 2007.09.14
  1739. * @by : 양천덕
  1740. * @---------------------------------------------------
  1741. * @type : function
  1742. * @access : public
  1743. * @desc : 진술문 코드별 진단 코드 생성
  1744. * @param : pFlag : 진술문코드
  1745. * @return :
  1746. * @---------------------------------------------------
  1747. */
  1748. function fCreatDiag(pFlag){
  1749. var pSetDiagCd ="";
  1750. for(var iRow=0; iRow<ds_data_savesetinfo.rowcount; iRow++){
  1751. if( ds_data_savesetinfo.getColumn(iRow,"dnarflag") == "2N"
  1752. && ds_data_savesetinfo.getColumn(iRow,"chk") == "1" ){
  1753. var sLnkStmt = ds_data_savesetinfo.getColumn(iRow,"lnkstmt");
  1754. var sStmtCD = sLnkStmt.split(",");
  1755. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  1756. if(pFlag == sStmtCD[iStmt]){
  1757. pSetDiagCd += ds_data_savesetinfo.getColumn(iRow,"stmtcd")+"▦" ;
  1758. }
  1759. }
  1760. }
  1761. }
  1762. return pSetDiagCd;
  1763. }
  1764. /**
  1765. * @group :
  1766. * @ver : 2007.04.24
  1767. * @by : 이은영
  1768. * @---------------------------------------------------
  1769. * @type : function
  1770. * @access : public
  1771. * @desc : Free Text 간호진단 선택이 없을경우 블러킹
  1772. * @param : pFlag - J : 진술문검색탭에서 선택을 했을 경우의 진단선택여부 체크 else 간호진단
  1773. * @return :
  1774. * @---------------------------------------------------
  1775. */
  1776. function fFreeTextValueChg(pFlag){
  1777. //var sTodt = model.getValue(xCareDiagListPath+"["+ grd_carediagspec.row +"]/todt"); // 종료일자
  1778. var sTodt = ds_grid_grd_carediagspec.getColumn(ds_grid_grd_carediagspec.rowposition,"todt");
  1779. if ( utlf_isNull(pFlag) ){
  1780. var sDNARFlag = ds_cond_srchtool.getColumn(0,"freetextdnarflag"); //DNAR 구분
  1781. if( utlf_isNull(sDNARFlag) ){
  1782. sysf_messageBox(" 입력하시고자 하는 Free Text의 SNDAR을 ","C002");
  1783. return false;
  1784. }
  1785. //alert(gDiagGrupcd+"============="+gDiagStmtcd);
  1786. if( utlf_isNull(gDiagStmtcd)
  1787. && sDNARFlag != "S"
  1788. && sDNARFlag != "2N"
  1789. || (!utlf_isNull(sTodt)
  1790. && sDNARFlag != "S"
  1791. && sDNARFlag != "2N" )
  1792. ){
  1793. sysf_messageBox("Free Text의 간호진단 선택이 없거나 종료된 진단입니다.. 포함시킬 간호진단을 ","C002");
  1794. return false;
  1795. }
  1796. }else if (pFlag == "J") {
  1797. if( utlf_isNull(gDiagStmtcd)
  1798. || !utlf_isNull(sTodt) ){
  1799. if ( sysf_messageBox("선택한 간호진단 내역이 없거나 종료된 진단입니다. 간호진단 없이 진술문을 ","Q008") == "6" ){//추가하시겠습니까
  1800. gDiagGrupcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 그룹Code
  1801. gDiagStmtcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 진술문Code
  1802. gDiagRecVerNo = "";//20080621 김홍점 추가 진단버젼번호
  1803. gDiagStmtNm = "";//20080621 김홍점 추가 진단명
  1804. return true;
  1805. }else {
  1806. return false;
  1807. }
  1808. }
  1809. }
  1810. return true;
  1811. }
  1812. /**
  1813. * @group :
  1814. * @ver : 2007.04.24
  1815. * @by : 이은영
  1816. * @---------------------------------------------------
  1817. * @type : function
  1818. * @access : public
  1819. * @desc : 기록 저장
  1820. * @param : Free Text 기록 선택 부분
  1821. * @return :
  1822. * @---------------------------------------------------
  1823. */
  1824. function fSaveTextStmtInfo(){
  1825. // var sSelYN = "N"; // (20140206) 사용하지 않는 변수 주석처리함
  1826. // var sAttrinfo1 = ""; // (20140206) 사용하지 않는 변수 주석처리함
  1827. // var sArrtCnt = 0; // (20140206) 사용하지 않는 변수 주석처리함
  1828. // var sStmtInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦"
  1829. // +"pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦orddd▦diagstmtcd▩"; // 저장 정보 // (20140206) 사용하지 않는 변수 주석처리함
  1830. // var sStmtInfo = ""; // 저장 정보 // (20140206) 사용하지 않는 변수 주석처리함
  1831. // var sAttrInptParamInfo = ""; // 속성창 입력 정보 // (20140206) 사용하지 않는 변수 주석처리함
  1832. // var sAttrInptYN = "N"; // (20140206) 사용하지 않는 변수 주석처리함
  1833. // var sSaveData = ""; // (20140206) 사용하지 않는 변수 주석처리함
  1834. // var sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag"); // (A : 자동, U : 지정)
  1835. // var sRecDate = "";
  1836. //var sDNARFlag = model.getValue("/root/main/cond/srchtool/freetextdnarflag"); //DNAR 구분
  1837. var sDNARFlag = ds_cond_srchtool.getColumn(0,"freetextdnarflag");
  1838. // var sStmtDiagCd = model.getValue(xCareDiagListPath+"["+ grd_carediagspec.row +"]/stmtcd"); // 진단코드 // (20140206) 사용하지 않는 변수 주석처리함
  1839. // var sStmtCnts = ""; // (20140206) 사용하지 않는 변수 주석처리함
  1840. // var sLnkStmt = ""; // 링크된 진술문 // (20140206) 사용하지 않는 변수 주석처리함
  1841. // var sGrupCD = model.getValue(xCareDiagListPath+"["+ grd_carediagspec.row +"]/origincd"); // 그룹코드 // (20140206) 사용하지 않는 변수 주석처리함
  1842. // var sTodt = model.getValue(xCareDiagListPath+"["+ grd_carediagspec.row +"]/todt"); // 종료일자 // (20140206) 사용하지 않는 변수 주석처리함
  1843. // var sStmtDiagInfo = ""; // (20140206) 사용하지 않는 변수 주석처리함
  1844. // if(sRecDateFlag == "U"){
  1845. // sRecDate = model.getValue(xRecSaveCondPath+"/recdd")+model.getValue(xRecSaveCondPath+"/rectm");
  1846. // if(isValidDateTime(sRecDate,"YYYYMMDDhhmm")== false){
  1847. // messageBox("기록 시간이 유효하지","E007");
  1848. // return;
  1849. // }
  1850. // }
  1851. if(utlf_isNull(sPid)){
  1852. sysf_messageBox("환자를 먼저","C002");
  1853. return;
  1854. }
  1855. if(utlf_isNull(ds_cond_srchtool.getColumn(0,"freetextsrchcnts")) ){
  1856. sysf_messageBox("저장할 데이터가","I004");
  1857. return;
  1858. }
  1859. if ( !fFreeTextValueChg()) return;
  1860. // if( gDiagGrupcd == ""
  1861. // && gDiagStmtcd == ""
  1862. // && sDNARFlag != "S"
  1863. // && sDNARFlag != "2N"
  1864. // || (!isNull(sTodt)
  1865. // && sDNARFlag != "S"
  1866. // && sDNARFlag != "2N" ) ){
  1867. // messageBox("간호진단 선택이 없거나 종료된 진단입니다.. 포함시킬 간호진단을 ","C002");
  1868. // return;
  1869. // }
  1870. // stmtcd 는 app에서 carerecno를 입력
  1871. // sStmtInfo += model.getValue("/root/main/cond/srchtool/freetextsrchcnts")+"▦"
  1872. // + "▦"
  1873. // + "I▦"
  1874. // + (sDNARFlag == "S" ? "" : sGrupCD )+"▦"
  1875. // + "--------"+"▦"
  1876. // + model.getValue("/root/main/cond/srchtool/freetextdnarflag")+"▦"
  1877. // + "F▦"
  1878. // + sRecDateFlag+"▦"
  1879. // + sRecDate+"00"+"▦"
  1880. // + sPid+"▦"
  1881. // + sIndd+"▦"
  1882. // + sCretNo+"▦"
  1883. // + sInstcd+"▦"
  1884. // + sIOFlag+"▦"
  1885. // + sOrdDeptCd+"▦"
  1886. // + sRecFlag+"▦"
  1887. // + sRecLnkKey+"▦"
  1888. // + sOrddd+"▦"
  1889. // + (sDNARFlag == "S" ? "" : sStmtDiagCd )+"▩";
  1890. //
  1891. // sSaveData = sStmtInfo;
  1892. //grd_carerecspec.addRow(false);
  1893. ds_grid_grd_carerecspec.addRow();
  1894. var sSetRow = ds_grid_grd_carerecspec.rowcount-1;
  1895. ds_grid_grd_carerecspec.setColumn(sSetRow,"stmtspec",ds_cond_srchtool.getColumn(0,"freetextsrchcnts"));
  1896. ds_grid_grd_carerecspec.setColumn(sSetRow,"attrinfo","");
  1897. ds_grid_grd_carerecspec.setColumn(sSetRow,"status","I");
  1898. ds_grid_grd_carerecspec.setColumn(sSetRow,"stmtcd","--------");
  1899. //ds_grid_grd_carerecspec.setColumn(sSetRow,"dnarflag",(utlf_isNull(sDNARFlag)) ? "S" : sDNARFlag);
  1900. ds_grid_grd_carerecspec.setColumn(sSetRow,"dnarflag",sDNARFlag);
  1901. ds_grid_grd_carerecspec.setColumn(sSetRow,"recoriginflag","F");
  1902. ds_grid_grd_carerecspec.setColumn(sSetRow,"recdtflag","A");
  1903. ds_grid_grd_carerecspec.setColumn(sSetRow,"recdt","");
  1904. ds_grid_grd_carerecspec.setColumn(sSetRow,"pid",sPid);
  1905. ds_grid_grd_carerecspec.setColumn(sSetRow,"indd",sIndd);
  1906. ds_grid_grd_carerecspec.setColumn(sSetRow,"cretno",sCretNo);
  1907. ds_grid_grd_carerecspec.setColumn(sSetRow,"instcd",sInstcd);
  1908. ds_grid_grd_carerecspec.setColumn(sSetRow,"ioflag",sIOFlag);
  1909. ds_grid_grd_carerecspec.setColumn(sSetRow,"orddeptcd",sOrdDeptCd);
  1910. ds_grid_grd_carerecspec.setColumn(sSetRow,"recflag",sRecFlag);
  1911. ds_grid_grd_carerecspec.setColumn(sSetRow,"reclnkkey",sRecLnkKey);
  1912. ds_grid_grd_carerecspec.setColumn(sSetRow,"orddd",sOrddd);
  1913. ds_grid_grd_carerecspec.setColumn(sSetRow,"certselyn","Y");
  1914. ds_grid_grd_carerecspec.setColumn(sSetRow,"dnar",sDNARFlag);
  1915. ds_grid_grd_carerecspec.setColumn(sSetRow,"diagstmtcd",(sDNARFlag == "S" || sDNARFlag == "2N" ? "" : gDiagStmtcd));
  1916. ds_grid_grd_carerecspec.setColumn(sSetRow,"diagstmtnm",(sDNARFlag == "2N"? ds_cond_srchtool.getColumn(0,"freetextsrchcnts") : ""));
  1917. ds_grid_grd_carerecspec.setColumn(sSetRow,"origincd",(sDNARFlag == "S" || sDNARFlag == "2N" ? "" : gDiagGrupcd));
  1918. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/stmtspec", model.getValue("/root/main/cond/srchtool/freetextsrchcnts"));
  1919. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/attrinfo", "");
  1920. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/status", "I");
  1921. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/stmtcd", "--------");
  1922. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/dnarflag", (isNull(sDNARFlag)) ? "S" : sDNARFlag );
  1923. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recoriginflag", "F");
  1924. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recdtflag", "A");
  1925. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recdt", "");
  1926. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/pid", sPid);
  1927. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/indd", sIndd);
  1928. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/cretno", sCretNo);
  1929. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/instcd", sInstcd);
  1930. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/ioflag", sIOFlag);
  1931. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/orddeptcd", sOrdDeptCd);
  1932. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recflag", sRecFlag);
  1933. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/reclnkkey", sRecLnkKey);
  1934. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/orddd", sOrddd);
  1935. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/certselyn", "Y");
  1936. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/dnar", sDNARFlag );
  1937. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/diagstmtcd", (sDNARFlag == "S" || sDNARFlag == "2N" ? "" : gDiagStmtcd) );
  1938. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/diagstmtnm", (sDNARFlag == "2N"? model.getValue("/root/main/cond/srchtool/freetextsrchcnts") : "") );
  1939. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/origincd", (sDNARFlag == "S" || sDNARFlag == "2N" ? "" : gDiagGrupcd));//freetext 일경우 그룹이 존재하지 않음.
  1940. // if( isNull(gDiagStmtcd) && sDNARFlag != "S" && sDNARFlag != "2N"){
  1941. //
  1942. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recverno", gDiagRecVerNo );
  1943. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/diagstmtnm",gDiagStmtNm);
  1944. //
  1945. // }
  1946. if( !utlf_isNull(gDiagStmtcd) && sDNARFlag != "S" && sDNARFlag != "2N"){
  1947. ds_grid_grd_carediagspec.filter("stmtcd=='"+gDiagStmtcd+"' && origincd=='"+gDiagGrupcd+"' && utlf_isNull(todt)");
  1948. //gDiagRecVerNo = model.getValue(xCareDiagListPath+"[stmtcd='"+gDiagStmtcd+"' and origincd='"+gDiagGrupcd+"' and todt ='']/recverno");
  1949. gDiagRecVerNo = ds_grid_grd_carediagspec.getColumn(0,"recverno");
  1950. ds_grid_grd_carediagspec.filter("");
  1951. ds_grid_grd_carediagspec.rowposition = -1;
  1952. if( utlf_isNull(gDiagRecVerNo) ){
  1953. //gDiagStmtNm = model.getValue(xNStmtSetListPath+"[stmtcd='"+gDiagStmtcd+"']/stmtcnts");
  1954. gDiagStmtNm = ds_grid_grd_nursingd.getColumn(ds_grid_grd_nursingd.findRow("stmtcd",gDiagStmtcd),"stmtcnts");
  1955. }else{
  1956. //gDiagStmtNm = model.getValue(xCareDiagListPath+"[stmtcd='"+gDiagStmtcd+"']/stmtcnts");
  1957. gDiagStmtNm = ds_grid_grd_carediagspec.getColumn(ds_grid_grd_carediagspec.findRow("stmtcd",gDiagStmtcd),"stmtcnts");
  1958. }
  1959. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recverno", gDiagRecVerNo );
  1960. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/diagstmtnm",gDiagStmtNm );
  1961. ds_grid_grd_carerecspec.setColumn(sSetRow,"recverno",gDiagRecVerNo);
  1962. ds_grid_grd_carerecspec.setColumn(sSetRow,"diagstmtnm",gDiagStmtNm);
  1963. }
  1964. fGridRowResize();
  1965. //model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/fstrgstrnm", getUserName()); //기록자이름까지보이면 저장되지않은것을 구분하기 힘듬.
  1966. //////////////////////////////////
  1967. /*
  1968. var sExprColor3;
  1969. if( utlf_isNull(group5.grd_carerecspec.getCellProperty("Body", 0 ,"background")) ){
  1970. sExprColor3 = "EXPR(currow == "+sSetRow+" ? '#ffff88' : '')";
  1971. }else{
  1972. sExprColor3= group5.grd_carerecspec.getCellProperty("Body", 0 ,"background").replace("'')","");
  1973. sExprColor3 += group5.grd_carerecspec.getCellProperty("Body", 0 ,"background").replace("EXPR(currow == "+sSetRow+" ? '#FFFFFF' :","currow == "+sSetRow+" ? '#ffff88' : '')");
  1974. }
  1975. //////////////////////////////////
  1976. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  1977. group5.grd_carerecspec.setCellProperty("body", i, "background" , "");
  1978. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "");
  1979. }
  1980. */
  1981. //////////////////////////////////
  1982. /*
  1983. var sExprColor3;
  1984. if( utlf_isNull(group5.grd_carerecspec.getCellProperty("Body", 0 ,"background")) ){
  1985. sExprColor3 = "EXPR(currow == "+sSetRow+" ? '#ffff88' : '#FFFFFFFF')";
  1986. }else{
  1987. sExprColor3 = group5.grd_carerecspec.getCellProperty("Body", 0 ,"background").replace("'#FFFFFFFF')","");
  1988. sExprColor3 = sExprColor3.replace("currow == "+sSetRow+" ? '#ffff88' :","");
  1989. sExprColor3 = sExprColor3.replace("currow == "+sSetRow+" ? '#FFFFFFFF' :","");
  1990. sExprColor3 += "currow == "+sSetRow+" ? '#ffff88' : '#FFFFFFFF')";
  1991. }
  1992. for(var expnum = 0; expnum <group5.grd_carerecspec.getCellCount("Body"); expnum++){
  1993. group5.grd_carerecspec.setCellProperty("Body", expnum, "background", sExprColor3);
  1994. group5.grd_carerecspec.setCellProperty("Body", expnum, "background2", sExprColor3);
  1995. }
  1996. */
  1997. //////////////////////////////////
  1998. // model.setValue("/root/main/cond/srchtool/freetextsrchcnts", "");
  1999. // model.setValue("/root/main/cond/srchtool/freetextdnarflag", "");
  2000. ds_cond_srchtool.setColumn(0,"freetextsrchcnts","");
  2001. ds_cond_srchtool.setColumn(0,"freetextdnarflag","");
  2002. //var iRow = grd_carerecspec.rows-grd_carerecspec.fixedRows;
  2003. // grd_carerecspec.bottomRow = sSetRow;
  2004. // grd_carerecspec.select(sSetRow,1) = true;
  2005. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  2006. //group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  2007. // grd_carerecspec.rebuild();
  2008. // grd_carerecspec.resizeCells();
  2009. fDeSelectRow(ds_grid_grd_carediagspec);
  2010. // model.setValue(xRecSrchCondPath+"/recusrid","%");
  2011. // model.makeValue("/root/send/saveData", sStmtInfoHeader+sSaveData);
  2012. // var sSrchHeader = "pid▦indd▦orddd▦cretno▦ioflag▦fromdd▦todd▦dnarflag▦sortseq▦recflag▦reclnkkey▦carediagflag▦recsrchflag▦recusrid▩";
  2013. // var sSrchData = sPid+"▦"
  2014. // +sIndd+"▦"
  2015. // +sOrddd+"▦"
  2016. // +sCretNo+"▦"
  2017. // +sIOFlag+"▦"
  2018. // +model.getValue(xRecSrchCondPath+"/fromdd")+"▦"
  2019. // +model.getValue(xRecSrchCondPath+"/todd")+"▦"
  2020. // +model.getValue(xRecSrchCondPath+"/dnarflag")+"▦"
  2021. // +model.getValue(xRecSrchCondPath+"/sortseq")+"▦"
  2022. // +sRecFlag+"▦"
  2023. // +sRecLnkKey+"▦"
  2024. // +model.getValue(xRecSrchCondPath+"/carediagflag")+"▦"
  2025. // +model.getValue(xRecSrchCondPath+"/recsrchflag")+"▦"
  2026. // +model.getValue(xRecSrchCondPath+"/recusrid")+"▩";
  2027. // model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  2028. //
  2029. // if(submit("TXMNR00701")){
  2030. //
  2031. // model.removenodeset(xCareDiagListPath);
  2032. // model.removenodeset(xNursingRecordListPath);
  2033. //
  2034. //
  2035. // // 환자 간호기록 내역
  2036. // if(getNodesetCount("/root/hidden/recinfo/nursingrecordlist")>0 &&
  2037. // model.getValue("/root/hidden/recinfo/nursingrecordlist/stmtcd")!= ""){
  2038. //
  2039. // model.makeNode(xNursingRecordListPath);
  2040. // copyNodeset(xNursingRecordListPath,"/root/hidden/recinfo/nursingrecordlist");
  2041. // grd_carerecspec.rebuild();
  2042. // //grd_carerecspec.resizeCells();
  2043. // fSettingStmtStyle("nr");
  2044. // model.recalculate();
  2045. //
  2046. // }
  2047. //
  2048. // // 환자 간호진단 내역
  2049. // if(getNodesetCount("/root/hidden/recinfo/carediaglist")>0 ){
  2050. //
  2051. // model.makeNode(xCareDiagListPath);
  2052. // copyNodeset(xCareDiagListPath,"/root/hidden/recinfo/carediaglist");
  2053. // grd_carediagspec.rebuild();
  2054. // grd_carediagspec.resizeCells();
  2055. // }
  2056. //
  2057. // //기록자 콤보세팅
  2058. // if(getNodesetCount("/root/hidden/recinfo/usersetlist")>0 ){
  2059. // model.removenodeset(xRecUsrSetListPath);
  2060. // model.makeNode(xRecUsrSetListPath);
  2061. // copyNodeset(xRecUsrSetListPath,"/root/hidden/recinfo/usersetlist");
  2062. // cmb_recusr.refresh();
  2063. // }
  2064. //
  2065. // model.setValue("/root/main/cond/srchtool/freetextsrchcnts", "");
  2066. // textarea4.refresh();
  2067. //
  2068. //
  2069. // if( model.getValue("/root/main/cond/recsrch/sortseq") == "A"){
  2070. // //grd_carerecspec.topRow = grd_carerecspec.rows;
  2071. // var iRow = grd_carerecspec.rows-grd_carerecspec.fixedRows;
  2072. // grd_carerecspec.bottomRow = iRow;
  2073. //
  2074. // grd_carerecspec.select(iRow,1) = true;
  2075. // }
  2076. //
  2077. // if(sRecDate == ""){
  2078. // sRecDate = getCurrentDate() + getCurrentTime(); // 현재시간
  2079. // }
  2080. //
  2081. //// var iRecDDRow = grd_carerecspec.findRow(sRecDate.substr(0,8),1,17,false,true);
  2082. //// var iRecTMRow = grd_carerecspec.findRow(sRecDate.substr(8,4),iRecDDRow,18,false,true);
  2083. //// grd_carerecspec.bottomRow = grd_carerecspec.rows;
  2084. // }
  2085. }
  2086. /**
  2087. * @group :
  2088. * @ver : 2007.06.15
  2089. * @by : 이은영
  2090. * @---------------------------------------------------
  2091. * @type : function
  2092. * @access : public
  2093. * @desc : 통합기록용인증로직
  2094. * @param :
  2095. * @return :
  2096. * @---------------------------------------------------
  2097. */
  2098. function fViewSign(){
  2099. Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
  2100. var signRecDD = "";
  2101. var sSignDataRowCnt = "";
  2102. ds_temp_signdata.clearData();
  2103. for( var idx = 0 ; idx < ds_data_recddlist.rowcount; idx++ ){
  2104. //signRecDD = model.getValue("/root/hidden/recinfo/recddlist["+ idx +"]/recdd");
  2105. signRecDD = ds_data_recddlist.getColumn(idx,"recdd");
  2106. //model.removenodeset(xSignPath);
  2107. //model.makeNode(xSignPath);
  2108. ds_temp_signSaveData.clearData();
  2109. ds_temp_signdata.addColumn("status","string");
  2110. var nCnt = ds_data_totnursingrecordlist.getCaseCount("recdd=='"+signRecDD+"'");
  2111. if(nCnt > 0 ){
  2112. ds_data_totnursingrecordlist.filter("recdd=='"+signRecDD+"'");
  2113. ds_temp_signSaveData.copyData(ds_data_totnursingrecordlist,true);
  2114. ds_data_totnursingrecordlist.filter("");
  2115. //copyNodeset(xSignPath,"/root/hidden/recinfo/totnursingrecordlist[recdd='"+ signRecDD +"']");
  2116. ds_temp_signSaveData.addColumn("usernm","string");
  2117. for(var i=0; i<ds_temp_signSaveData.rowcount; i++){
  2118. ds_temp_signSaveData.setColumn(i,"usernm", ds_temp_signSaveData.getColumn(i, "fstrgstrnm"));
  2119. }
  2120. if(Sign.signprocess() == true){
  2121. //sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  2122. //ds_temp_signdata.clearData();
  2123. sSignDataRowCnt = ds_temp_signdata.addRow();
  2124. //sSignDataRowCnt = ds_temp_signdata.rowcount-1;
  2125. // 전자인증 관련 환자 인적 정보를 보내줌.
  2126. ds_temp_signdata.setColumn(sSignDataRowCnt,"status","i");
  2127. ds_temp_signdata.setColumn(sSignDataRowCnt,"pid",sPid);
  2128. if(sIOFlag == "O"){
  2129. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddd",sOrddd);
  2130. }else{
  2131. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddd",sIndd);
  2132. }
  2133. ds_temp_signdata.setColumn(sSignDataRowCnt,"signno","");
  2134. ds_temp_signdata.setColumn(sSignDataRowCnt,"cretno",sCretNo);
  2135. ds_temp_signdata.setColumn(sSignDataRowCnt,"recdd",signRecDD);
  2136. ds_temp_signdata.setColumn(sSignDataRowCnt,"rectm","000000");
  2137. ds_temp_signdata.setColumn(sSignDataRowCnt,"recsaveflag","Y");
  2138. ds_temp_signdata.setColumn(sSignDataRowCnt,"signflag","02");
  2139. ds_temp_signdata.setColumn(sSignDataRowCnt,"signgenrflag",sIOFlag);
  2140. ds_temp_signdata.setColumn(sSignDataRowCnt,"formcd","0000002432");
  2141. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddeptcd",sOrdDeptCd);
  2142. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddrid",sOrdDrId);
  2143. ds_temp_signdata.setColumn(sSignDataRowCnt,"signbfcnts",Sign.signedInfos[1]);
  2144. ds_temp_signdata.setColumn(sSignDataRowCnt,"screenid",frmf_getScreenID());
  2145. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/status", "i");
  2146. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
  2147. // if( sIOFlag =="O" ){
  2148. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrddd);//입원일자(입원,응급)/진료일자(외래)
  2149. // }else{
  2150. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
  2151. // }
  2152. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
  2153. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
  2154. //
  2155. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",signRecDD);// 실제 기록이 이루어진 기록일자
  2156. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");//실제 기록이 이루어진 기록시간
  2157. //
  2158. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag","Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  2159. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  2160. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
  2161. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd","0000002432" ); //각 기록지별 서식코드
  2162. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", sOrdDeptCd); //진료부서코드
  2163. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", sOrdDrId ); //진료의사ID
  2164. // // 인증할 데이터 정보(미기록 노드 제거된 정보)
  2165. // // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  2166. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  2167. // // 공인인증 처리후 데이터
  2168. // // model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  2169. //
  2170. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/screenid", getScreenID());
  2171. }
  2172. // else{
  2173. // return;
  2174. // }
  2175. } else{
  2176. //sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  2177. //ds_temp_signdata.clearData();
  2178. //ds_temp_signdata.addRow();
  2179. //sSignDataRowCnt = ds_temp_signdata.rowcount-1;
  2180. sSignDataRowCnt = ds_temp_signdata.addRow();
  2181. ds_temp_signdata.setColumn(sSignDataRowCnt,"status","d");
  2182. ds_temp_signdata.setColumn(sSignDataRowCnt,"pid",sPid);
  2183. if(sIOFlag =="O"){
  2184. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddd",sOrddd);
  2185. }else{
  2186. ds_temp_signdata.setColumn(sSignDataRowCnt,"orddd",sIndd);
  2187. }
  2188. ds_temp_signdata.setColumn(sSignDataRowCnt,"signno","");
  2189. ds_temp_signdata.setColumn(sSignDataRowCnt,"cretno",sCretNo);
  2190. ds_temp_signdata.setColumn(sSignDataRowCnt,"formcd","0000002432");
  2191. ds_temp_signdata.setColumn(sSignDataRowCnt,"signflag","02");
  2192. ds_temp_signdata.setColumn(sSignDataRowCnt,"signgenrflag",sIOFlag);
  2193. ds_temp_signdata.setColumn(sSignDataRowCnt,"signbfcnts","삭제");
  2194. ds_temp_signdata.setColumn(sSignDataRowCnt,"recdd",signRecDD);
  2195. ds_temp_signdata.setColumn(sSignDataRowCnt,"rectm","000000");
  2196. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/status", "d"); //삭제 상태
  2197. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
  2198. // if( sIOFlag =="O" ){
  2199. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrddd);//입원일자(입원,응급)/진료일자(외래)
  2200. // }else{
  2201. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
  2202. // }
  2203. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
  2204. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
  2205. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd","0000002432" ); //각 기록지별 서식코드
  2206. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  2207. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
  2208. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", "삭제");
  2209. //
  2210. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",signRecDD);// 실제 기록이 이루어진 기록일자
  2211. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");// 실제 기록이 이루어진 기록일자
  2212. }
  2213. ds_data_totnursingrecordlist.filter("");
  2214. }
  2215. if ( ds_temp_signdata.rowcount < 1 ){
  2216. return;
  2217. }
  2218. var oParam = {};
  2219. oParam.id = "TXMNR00904";
  2220. oParam.service = "carerecapp.ClincObsRec";
  2221. oParam.method = "reqExeSaveViewData";
  2222. oParam.inds = "signinfo=ds_temp_signdata";
  2223. oParam.outds = "";
  2224. oParam.async = false;
  2225. tranf_submit(oParam);
  2226. /*
  2227. tranf_submit({
  2228. id: "TXMNR00904"
  2229. , service: "carerecapp.ClincObsRec"
  2230. , method: "reqExeSaveViewData"
  2231. , inds: "signinfo=ds_temp_signdata"
  2232. //, outds: "ds_grid_grd_druginfo=druginfolist"
  2233. , async: false
  2234. //, callback: "cbk_TRMNR08501"
  2235. }); */
  2236. // submit("TXMNR00904");
  2237. // if(submit("TXMNR00904")){
  2238. // messageBox("인증저장 ","I002");
  2239. // }
  2240. }
  2241. /**
  2242. * @group :
  2243. * @ver : 2007.06.15
  2244. * @by : 이은영
  2245. * @---------------------------------------------------
  2246. * @type : function
  2247. * @access : public
  2248. * @desc : 인증로직
  2249. * @param :
  2250. * @return :
  2251. * @---------------------------------------------------
  2252. */
  2253. function fSign(flag){
  2254. ds_temp_signSaveData.clearData();
  2255. if(flag != "save"){
  2256. //ds_temp_signSaveData.copyData(ds_sign_savedata); //기존 주석 처리
  2257. //190121_진단명 삭제시 비정상 로직에러로 수정(By 김동규 선생님)
  2258. try{
  2259. ds_temp_signSaveData.copyData(ds_sign_savedata);
  2260. }catch(e){}
  2261. //190121_진단명 삭제시 비정상 로직에러로 수정(By 김동규 선생님)
  2262. }else{
  2263. ds_temp_signSaveData.copyData(ds_sign_data);
  2264. }
  2265. Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
  2266. if( utlf_isNull(vsettime) ) {
  2267. Sign.certchkflag = "Y";
  2268. //alert("인증저장");
  2269. } else {
  2270. var res2 = utlf_getTimeInterval(vsettime, utlf_getCurrentTime(), 'hhmmss');
  2271. if(res2 > signtime* 60 || res2 < 0) {
  2272. Sign.certchkflag = "Y";
  2273. //alert("인증저장");
  2274. } else {
  2275. Sign.certchkflag = "N";
  2276. }
  2277. }
  2278. if(Sign.signprocess() == true){
  2279. // 전자인증 관련 환자 인적 정보를 보내줌.
  2280. vsettime = utlf_getCurrentTime();
  2281. var ds_temp3 = dsf_createDsRow("ds_temp_signdata", [{col: "pid", val:sPid }
  2282. ,{col: "orddd", val:sIOFlag=="O"?sOrddd:sIndd }
  2283. ,{col: "signno", val:"" }
  2284. ,{col: "cretno", val:sCretNo }
  2285. ,{col: "recdd", val:utlf_getCurrentDate() }
  2286. ,{col: "rectm", val:utlf_getCurrentTime() }
  2287. ,{col: "recsaveflag", val:"Y" }
  2288. ,{col: "signflag", val:"02" }
  2289. ,{col: "signgenrflag", val:sIOFlag }
  2290. ,{col: "formcd", val:"0000002432" }
  2291. ,{col: "orddeptcd", val:sOrdDeptCd }
  2292. ,{col: "orddrid", val:sOrdDrId }
  2293. ,{col: "dispyn", val:"N" }
  2294. //,{col: "acptuniqno", val:ds_data_pamlist.getColumn(0,"acptuniqno") }
  2295. ,{col: "signbfcnts", val:Sign.signedInfos[1] }
  2296. ,{col: "signaftcnts", val:Sign.signedInfos[2] }
  2297. ,{col: "screenid", val:frmf_getScreenID() }]);
  2298. // model.makeValue("/root/send/signdata/pid", sPid );//등록번호
  2299. // if( sIOFlag =="O" ){
  2300. // model.makeValue("/root/send/signdata/orddd", sOrddd);//입원일자(입원,응급)/진료일자(외래)
  2301. // }else{
  2302. // model.makeValue("/root/send/signdata/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
  2303. // }
  2304. // model.makeValue("/root/send/signdata/signno", "");//서명번호
  2305. // model.makeValue("/root/send/signdata/cretno", sCretNo); //생성번호
  2306. //
  2307. // model.makeValue("/root/send/signdata/recdd",getCurrentDate());// 실제 기록이 이루어진 기록일자
  2308. // model.makeValue("/root/send/signdata/rectm",getCurrentTime());//실제 기록이 이루어진 기록시간
  2309. //
  2310. // model.makeValue("/root/send/signdata/recsaveflag","Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  2311. // model.makeValue("/root/send/signdata/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  2312. // model.makeValue("/root/send/signdata/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
  2313. // model.makeValue("/root/send/signdata/formcd","0000002432" ); //각 기록지별 서식코드
  2314. // model.makeValue("/root/send/signdata/orddeptcd", sOrdDeptCd); //진료부서코드
  2315. // model.makeValue("/root/send/signdata/orddrid", sOrdDrId ); //진료의사ID
  2316. // model.makeValue("/root/send/signdata/dispyn", "N"); //기록뷰어에는 조회안되도록
  2317. // // 인증할 데이터 정보(미기록 노드 제거된 정보)
  2318. // // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  2319. // model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
  2320. // // 공인인증 처리후 데이터
  2321. // model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  2322. }else{
  2323. return false;
  2324. }
  2325. //model.makeValue("/root/send/signdata/screenid", getScreenID());
  2326. return true;
  2327. }
  2328. function fSignHis(){
  2329. //ds_temp_signSaveData.clearData();
  2330. Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
  2331. if( utlf_isNull(vsettime) ) {
  2332. Sign.certchkflag = "Y";
  2333. //alert("인증저장");
  2334. } else {
  2335. var res2 = utlf_getTimeInterval(vsettime, utlf_getCurrentTime(), 'hhmmss');
  2336. if(res2 > signtime* 60 || res2 < 0) {
  2337. Sign.certchkflag = "Y";
  2338. //alert("인증저장");
  2339. } else {
  2340. Sign.certchkflag = "N";
  2341. }
  2342. }
  2343. if(Sign.signprocess() == true){
  2344. // 전자인증 관련 환자 인적 정보를 보내줌.
  2345. vsettime = utlf_getCurrentTime();
  2346. var ds_temp3 = dsf_createDsRow("ds_temp_signSaveDataHis", [{col: "pid", val:sPid }
  2347. ,{col: "orddd", val:sIOFlag=="O"?sOrddd:sIndd }
  2348. ,{col: "signno", val:"" }
  2349. ,{col: "cretno", val:sCretNo }
  2350. ,{col: "recdd", val:utlf_getCurrentDate() }
  2351. ,{col: "rectm", val:utlf_getCurrentTime() }
  2352. ,{col: "recsaveflag", val:"Y" }
  2353. ,{col: "signflag", val:"02" }
  2354. ,{col: "signgenrflag", val:sIOFlag }
  2355. ,{col: "formcd", val:"1800022039" }
  2356. ,{col: "orddeptcd", val:sOrdDeptCd }
  2357. ,{col: "orddrid", val:sOrdDrId }
  2358. ,{col: "dispyn", val:"Y" }
  2359. //,{col: "acptuniqno", val:ds_data_pamlist.getColumn(0,"acptuniqno") }
  2360. ,{col: "signbfcnts", val:Sign.signedInfos[1] }
  2361. ,{col: "signaftcnts", val:Sign.signedInfos[2] }
  2362. ,{col: "screenid", val:frmf_getScreenID() }]);
  2363. }else{
  2364. return false;
  2365. }
  2366. //ds_temp_signSaveData.clearData();
  2367. return true;
  2368. }
  2369. /**
  2370. * @group :
  2371. * @ver : 2007.06.15
  2372. * @by : 이은영
  2373. * @---------------------------------------------------
  2374. * @type : function
  2375. * @access : public
  2376. * @desc : 인증데이터 생성함수
  2377. * @param :
  2378. * @return :
  2379. * @---------------------------------------------------
  2380. */
  2381. function fMake_SignData(){
  2382. //Sign.addnode("/root/main/signSaveData");
  2383. trace(ds_temp_signSaveData.saveXML());
  2384. Sign.addnode("/signSaveData/saveDataList",ds_temp_signSaveData.saveXML());
  2385. }
  2386. /**
  2387. * @group :
  2388. * @ver : 2007.04.24
  2389. * @by : 이은영
  2390. * @---------------------------------------------------
  2391. * @type : function
  2392. * @access : public
  2393. * @desc : 기록 저장
  2394. * @param : pFlag : TempSave : 임시저장, CertSave : 인증저장
  2395. * @return :
  2396. * @---------------------------------------------------
  2397. */
  2398. function fSaveStmtInfo(pFlag){
  2399. // var sStmtInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦"
  2400. // +"pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦orddd▦certselyn▦diagstmtcd▦dnarnm▦usernm▦deptflagnm▦certflag▩"; // 저장 정보deptflagnm:간호진단명
  2401. dsf_createDs("ds_sign_savedata", [{col: "stmtspec", type:"string"}
  2402. ,{col: "attrinfo", type:"string"}
  2403. ,{col: "status", type:"string"}
  2404. ,{col: "origincd", type:"string"}
  2405. ,{col: "stmtcd", type:"string"}
  2406. ,{col: "dnarflag", type:"string"}
  2407. ,{col: "recoriginflag", type:"string"}
  2408. ,{col: "recdtflag", type:"string"}
  2409. ,{col: "recdt", type:"string"}
  2410. ,{col: "pid", type:"string"}
  2411. ,{col: "indd", type:"string"}
  2412. ,{col: "cretno", type:"string"}
  2413. ,{col: "instcd", type:"string"}
  2414. ,{col: "ioflag", type:"string"}
  2415. ,{col: "orddeptcd", type:"string"}
  2416. ,{col: "recflag", type:"string"}
  2417. ,{col: "reclnkkey", type:"string"}
  2418. ,{col: "orddd", type:"string"}
  2419. ,{col: "certselyn", type:"string"}
  2420. ,{col: "diagstmtcd", type:"string"}
  2421. ,{col: "dnarnm", type:"string"}
  2422. ,{col: "usernm", type:"string"}
  2423. ,{col: "deptflagnm", type:"string"}
  2424. ,{col: "certflag", type:"string"}]);
  2425. dsf_createDs("ds_sign_data", [{col: "stmtspec", type:"string"}
  2426. ,{col: "status", type:"string"}
  2427. ,{col: "recdt", type:"string"}
  2428. ,{col: "usernm", type:"string"}
  2429. ,{col: "deptflagnm", type:"string"}
  2430. ,{col: "dnarnm", type:"string"}]);
  2431. var sSaveData = "";
  2432. //sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag"); // (A : 자동, U : 지정)
  2433. sRecDateFlag = ds_cond_recsave.getColumn(0,"recdateflag");
  2434. var sRecDate = "";
  2435. var sDNARFlag = ""; //DNAR 구분
  2436. var sDiagStmtCd = ""; // 진단진술문장 코드
  2437. var sDNARNm = "";//DNAR
  2438. var iSignRow = 0;//인증로우수
  2439. if(utlf_isNull(sPid)){
  2440. sysf_messageBox("환자를 먼저","C002");
  2441. return;
  2442. }
  2443. // model.removeNode("/root/main/signSaveData");
  2444. // model.makeNode(xSignPath);
  2445. for(var iStmtRow = 0 ; iStmtRow < ds_grid_grd_carerecspec.rowcount; iStmtRow++ ){
  2446. if( ds_grid_grd_carerecspec.getColumn(iStmtRow,"status") == "I" ){
  2447. sDNARFlag = "";
  2448. sDNARNm = "";
  2449. sDiagStmtCd = ds_grid_grd_carerecspec.getColumn(iStmtRow,"diagstmtcd");
  2450. if ( !utlf_isNull(sDiagStmtCd)){
  2451. sDNARFlag = ds_grid_grd_carerecspec.getColumn(iStmtRow,"dnar");
  2452. ds_init_dnarflagnurs.filter("itemcd=='"+sDNARFlag+"'");
  2453. //sDNARNm = model.getValue("/root/init/dnarflagnurs/itemset[itemcd = '"+sDNARFlag+"']/itemnm");
  2454. sDNARNm = ds_init_dnarflagnurs.getColumn(0,"itemnm");
  2455. ds_init_dnarflagnurs.filter("");
  2456. }
  2457. if( ds_grid_grd_carerecspec.getColumn(iStmtRow,"recdtflag") == "U"){
  2458. sRecDate = ds_grid_grd_carerecspec.getColumn(iStmtRow,"recdt");
  2459. } else {
  2460. sRecDate = utlf_getCurrentDate() + utlf_getCurrentTime();
  2461. }
  2462. ds_sign_savedata.addRow();
  2463. ds_sign_savedata.setColumn(iSignRow,"stmtspec",ds_grid_grd_carerecspec.getColumn(iStmtRow,"stmtspec"));
  2464. ds_sign_savedata.setColumn(iSignRow,"attrinfo",ds_grid_grd_carerecspec.getColumn(iStmtRow,"attrinfo"));
  2465. ds_sign_savedata.setColumn(iSignRow,"status",ds_grid_grd_carerecspec.getColumn(iStmtRow,"status"));
  2466. ds_sign_savedata.setColumn(iSignRow,"origincd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"origincd"));
  2467. ds_sign_savedata.setColumn(iSignRow,"stmtcd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"stmtcd"));
  2468. ds_sign_savedata.setColumn(iSignRow,"dnarflag",ds_grid_grd_carerecspec.getColumn(iStmtRow,"dnarflag"));
  2469. ds_sign_savedata.setColumn(iSignRow,"recoriginflag",ds_grid_grd_carerecspec.getColumn(iStmtRow,"recoriginflag"));
  2470. ds_sign_savedata.setColumn(iSignRow,"recdtflag",ds_grid_grd_carerecspec.getColumn(iStmtRow,"recdtflag"));
  2471. ds_sign_savedata.setColumn(iSignRow,"recdt",ds_grid_grd_carerecspec.getColumn(iStmtRow,"recdt"));
  2472. ds_sign_savedata.setColumn(iSignRow,"pid",ds_grid_grd_carerecspec.getColumn(iStmtRow,"pid"));
  2473. ds_sign_savedata.setColumn(iSignRow,"indd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"indd"));
  2474. ds_sign_savedata.setColumn(iSignRow,"cretno",ds_grid_grd_carerecspec.getColumn(iStmtRow,"cretno"));
  2475. ds_sign_savedata.setColumn(iSignRow,"instcd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"instcd"));
  2476. ds_sign_savedata.setColumn(iSignRow,"ioflag",ds_grid_grd_carerecspec.getColumn(iStmtRow,"ioflag"));
  2477. ds_sign_savedata.setColumn(iSignRow,"orddeptcd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"orddeptcd"));
  2478. ds_sign_savedata.setColumn(iSignRow,"recflag",ds_grid_grd_carerecspec.getColumn(iStmtRow,"recflag"));
  2479. ds_sign_savedata.setColumn(iSignRow,"reclnkkey",ds_grid_grd_carerecspec.getColumn(iStmtRow,"reclnkkey"));
  2480. ds_sign_savedata.setColumn(iSignRow,"orddd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"orddd"));
  2481. ds_sign_savedata.setColumn(iSignRow,"certselyn",ds_grid_grd_carerecspec.getColumn(iStmtRow,"certselyn"));
  2482. ds_sign_savedata.setColumn(iSignRow,"diagstmtcd",ds_grid_grd_carerecspec.getColumn(iStmtRow,"diagstmtcd"));
  2483. ds_sign_savedata.setColumn(iSignRow,"dnarnm",sDNARNm);
  2484. ds_sign_savedata.setColumn(iSignRow,"usernm",sysf_getUserName());
  2485. ds_sign_savedata.setColumn(iSignRow,"deptflagnm",ds_grid_grd_carerecspec.getColumn(iStmtRow,"diagstmtnm"));
  2486. ds_sign_savedata.setColumn(iSignRow,"certflag",pFlag);
  2487. // sSaveData += model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/stmtspec") +"▦"
  2488. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/attrinfo") +"▦"
  2489. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/status") +"▦"
  2490. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/origincd") +"▦"
  2491. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/stmtcd") +"▦"
  2492. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/dnarflag") +"▦"
  2493. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/recoriginflag")+"▦"
  2494. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/recdtflag") +"▦"
  2495. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/recdt") +"▦"
  2496. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/pid") +"▦"
  2497. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/indd") +"▦"
  2498. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/cretno") +"▦"
  2499. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/instcd") +"▦"
  2500. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/ioflag") +"▦"
  2501. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/orddeptcd") +"▦"
  2502. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/recflag") +"▦"
  2503. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/reclnkkey") +"▦"
  2504. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/orddd") +"▦"
  2505. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/certselyn") +"▦"
  2506. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/diagstmtcd") +"▦"
  2507. // + sDNARNm +"▦"
  2508. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/fstrgstrnm") +"▦"
  2509. // + model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/diagstmtnm") +"▦"
  2510. // + pFlag + "▩";
  2511. // model.makeValue(xSignPath+"[" + iSignRow + "]/stmtspec", model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/stmtspec"));
  2512. // model.makeValue(xSignPath+"[" + iSignRow + "]/status", model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/status"));
  2513. // model.makeValue(xSignPath+"[" + iSignRow + "]/recdt", sRecDate);
  2514. // model.makeValue(xSignPath+"[" + iSignRow + "]/usernm", getUserName());
  2515. // model.makeValue(xSignPath+"[" + iSignRow + "]/deptflagnm", model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/diagstmtnm"));
  2516. // model.makeValue(xSignPath+"[" + iSignRow + "]/dnarnm", sDNARNm);
  2517. ds_sign_data.addRow();
  2518. ds_sign_data.setColumn(iSignRow,"stmtspec",ds_grid_grd_carerecspec.getColumn(iStmtRow,"stmtspec"));
  2519. ds_sign_data.setColumn(iSignRow,"status",ds_grid_grd_carerecspec.getColumn(iStmtRow,"status"));
  2520. ds_sign_data.setColumn(iSignRow,"recdt",sRecDate);
  2521. ds_sign_data.setColumn(iSignRow,"usernm",sysf_getUserName());
  2522. ds_sign_data.setColumn(iSignRow,"deptflagnm",ds_grid_grd_carerecspec.getColumn(iStmtRow,"diagstmtnm"));
  2523. ds_sign_data.setColumn(iSignRow,"dnarnm",sDNARNm);
  2524. iSignRow++;
  2525. }
  2526. }
  2527. if(ds_sign_savedata.rowcount < 1){
  2528. sysf_messageBox("저장할 데이터가","I004");
  2529. return;
  2530. }
  2531. //model.setValue(xRecSrchCondPath+"/recusrid","%");
  2532. ds_cond_recsrch.setColumn(0,"recusrid","%");
  2533. //model.makeValue("/root/send/saveData", sStmtInfoHeader+sSaveData);
  2534. // var sSrchHeader = "pid▦indd▦orddd▦cretno▦ioflag▦fromdd▦todd▦dnarflag▦sortseq▦recflag▦reclnkkey▦carediagflag▦recsrchflag▦recusrid▦certflag▩";
  2535. // var sSrchData = sPid+"▦"
  2536. // +sIndd+"▦"
  2537. // +sOrddd+"▦"
  2538. // +sCretNo+"▦"
  2539. // +sIOFlag+"▦"
  2540. // +model.getValue(xRecSrchCondPath+"/fromdd")+"▦"
  2541. // +model.getValue(xRecSrchCondPath+"/todd")+"▦"
  2542. // +model.getValue(xRecSrchCondPath+"/dnarflag")+"▦"
  2543. // +model.getValue(xRecSrchCondPath+"/sortseq")+"▦"
  2544. // +sRecFlag+"▦"
  2545. // +sRecLnkKey+"▦"
  2546. // +model.getValue(xRecSrchCondPath+"/carediagflag")+"▦"
  2547. // +model.getValue(xRecSrchCondPath+"/recsrchflag")+"▦"
  2548. // +model.getValue(xRecSrchCondPath+"/recusrid")+
  2549. // +pFlag+"▩";
  2550. //
  2551. // model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  2552. var ds_temp = dsf_createDsRow("ds_sign_srchinfo", [{col: "pid", val:sPid }
  2553. ,{col: "indd", val:sIndd }
  2554. ,{col: "orddd", val:sOrddd }
  2555. ,{col: "cretno", val:sCretNo }
  2556. ,{col: "ioflag", val:sIOFlag }
  2557. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  2558. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  2559. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  2560. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  2561. ,{col: "recflag", val:sRecFlag }
  2562. ,{col: "reclnkkey", val:sRecLnkKey }
  2563. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  2564. ,{col: "recsrchflag", val:ds_cond_recsrch.getColumn(0,"recsrchflag") }
  2565. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }
  2566. ,{col: "certflag", val:pFlag }]);
  2567. //인증저장
  2568. var msg = sysf_messageBox( '[ ' + group5.cmb_pid.text + ' ] 님의 간호일지 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  2569. if(Number(msg) == 6){//예
  2570. if (!fSign("save")) return;
  2571. frmf_setFocus();
  2572. dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
  2573. var oParam = {};
  2574. oParam.id = "TXMNR00701";
  2575. oParam.service = "carerecapp.NursingRecord";
  2576. oParam.method = "reqExeStmtList";
  2577. oParam.inds = "srchinfo=ds_sign_srchinfo saveData=ds_sign_savedata signinfo=ds_temp_signdata tempUserInfo=ds_tempuserInfo";
  2578. oParam.outds = "ds_data_nursingrecordlist=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist";
  2579. oParam.async = false;
  2580. oParam.callback = "cf_TXMNR00701";
  2581. tranf_submit(oParam);
  2582. /*
  2583. tranf_submit({
  2584. id: "TXMNR00701"
  2585. , service: "carerecapp.NursingRecord"
  2586. , method: "reqExeStmtList"
  2587. , inds: "srchinfo=ds_sign_srchinfo saveData=ds_sign_savedata signinfo=ds_temp_signdata"
  2588. , outds: "ds_data_nursingrecordlist=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
  2589. , async: false
  2590. , callback: "cbk_TXMNR00701"
  2591. });
  2592. */
  2593. if(arErrorCode.pop("TXMNR00701") > -1){
  2594. ds_grid_grd_carerecspec.clearData();
  2595. ds_grid_grd_carediagspec.clearData();
  2596. ///--간호기록내역 조회 시 데이터 없을 때 배경 초기화
  2597. /*
  2598. if(ds_data_nursingrecordlist.rowcount == 0){
  2599. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  2600. group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  2601. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  2602. }
  2603. }
  2604. */
  2605. ///
  2606. // 환자 간호기록 내역
  2607. if(ds_data_nursingrecordlist.rowcount>0 &&
  2608. !utlf_isNull(ds_data_nursingrecordlist.getColumn(0,"stmtcd"))){
  2609. //model.makeNode(xNursingRecordListPath);
  2610. //copyNodeset(xNursingRecordListPath,"/root/hidden/recinfo/nursingrecordlist");
  2611. ds_grid_grd_carerecspec.copyData(ds_data_nursingrecordlist);
  2612. ds_grid_grd_carerecspec.rowposition = 0;
  2613. ds_grid_grd_carerecspec.selectRow(0);
  2614. fGridRowResize();
  2615. //grd_carerecspec.rebuild();
  2616. fSettingStmtStyle("nr");
  2617. //model.recalculate(); //jh 확인후 변환
  2618. //grd_carerecspec.resizeCells();
  2619. }
  2620. // 환자 간호진단 내역
  2621. if(ds_data_carediaglist.rowcount>0 ){
  2622. //model.makeNode(xCareDiagListPath);
  2623. //copyNodeset(xCareDiagListPath,"/root/hidden/recinfo/carediaglist");
  2624. ds_grid_grd_carediagspec.copyData(ds_data_carediaglist);
  2625. ds_grid_grd_carediagspec.rowposition = -1;
  2626. //grd_carediagspec.rebuild();
  2627. //grd_carediagspec.resizeCells();
  2628. }
  2629. //기록자 콤보세팅 ds_data_usersetlist.rowcount
  2630. if(ds_data_usersetlist.rowcount>0 ){
  2631. // model.removenodeset(xRecUsrSetListPath);
  2632. // model.makeNode(xRecUsrSetListPath);
  2633. // copyNodeset(xRecUsrSetListPath,"/root/hidden/recinfo/usersetlist");
  2634. // cmb_recusr.refresh();
  2635. }
  2636. fViewSign();
  2637. // 조회조건
  2638. // 속성 입력 진술문 뽑아내기..
  2639. switch(sSrchToolStatus){
  2640. case "S": // SET
  2641. // model.removenodeset(xNStmtSetListPath);
  2642. // model.removenodeset(xDStmtSetListPath);
  2643. // model.removenodeset(xAStmtSetListPath);
  2644. // model.removenodeset(xRStmtSetListPath);
  2645. ds_grid_grd_nursingd.clearData();
  2646. ds_grid_grd_data.clearData();
  2647. ds_grid_grd_action.clearData();
  2648. ds_grid_grd_result.clearData();
  2649. group5.grp_dnarset.visible = false;
  2650. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = true;
  2651. group5.btn_freetextsel.visible = true;
  2652. //grp_dnarset.refresh();
  2653. break;
  2654. case "J": // 진술문 검색 ds_grid_grd_srchstmtinfo.getColumn(iRow,"chk")
  2655. for(var iRow=0; iRow<ds_grid_grd_srchstmtinfo.rowcount; iRow++){
  2656. if(ds_grid_grd_srchstmtinfo.getColumn(iRow,"chk") == 1){
  2657. //model.setValue(xStmtInfoPath+"["+iRow+"]/check","false");
  2658. ds_grid_grd_srchstmtinfo.setColumn(iRow,"chk",0);
  2659. }
  2660. }
  2661. //grd_srchstmtinfo.rebuild();
  2662. break;
  2663. }
  2664. if(utlf_isNull(sRecDate)){
  2665. sRecDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 현재시간
  2666. }
  2667. //model.setValue(xRecSrchCondPath+"/recsrchflag","NR");
  2668. if( ds_cond_recsrch.getColumn(0,"sortseq") == "A"){
  2669. //grd_carerecspec.topRow = grd_carerecspec.rows;
  2670. // var iRow1 = grd_carerecspec.rows-grd_carerecspec.fixedRows;
  2671. // grd_carerecspec.bottomRow = iRow1;
  2672. // grd_carerecspec.select(iRow1,1) = true;
  2673. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  2674. group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  2675. }
  2676. // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
  2677. if(eERFLAG == "Y"){
  2678. fgetSelectPid(group5.cmb_erpat);
  2679. }else{
  2680. //-------(20110228) 경북대
  2681. //alert("0");
  2682. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2683. fgetSelectPid(group5.cmb_mypat);
  2684. //alert("1");
  2685. //-------(20110228) 경북대
  2686. }
  2687. }else {
  2688. return;
  2689. }
  2690. //20110629_KNUH_Start nexyn추가 및 처리
  2691. var nextyn = ds_cond_recsrch.getColumn(0,"nextyn");
  2692. if(nextyn == "Y") {
  2693. // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
  2694. if(eERFLAG == "Y"){
  2695. //fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
  2696. var ds_temp = dsf_createDsRow("ds_temp", [{col: "wardcd", val:group5.cmb_wardcd.value }
  2697. ,{col: "roomcd", val:group5.cmb_roomcd.value }
  2698. ,{col: "zonecd", val:group5.cmb_zone.value }
  2699. ,{col: "recflag", val:eRECFLAG }
  2700. ,{col: "srchflag", val:"1" }]);
  2701. var ds_refCond1 = dsf_createDs("ds_refCond1");
  2702. var oParam = {};
  2703. oParam.id = "TRMNR01004";
  2704. oParam.service = "carerecapp.TnsCareRec";
  2705. oParam.method = "reqGetPatientList";
  2706. oParam.inds = "refCond="+ds_temp+" refCond1="+ds_refCond1+"";
  2707. oParam.outds = "ds_data_patientgruplist=patientgruplist";
  2708. oParam.async = false;
  2709. tranf_submit(oParam);
  2710. /*
  2711. tranf_submit({
  2712. id: "TRMNR01004"
  2713. , service: "carerecapp.TnsCareRec"
  2714. , method: "reqGetPatientList"
  2715. , inds: "refCond="+ds_temp
  2716. , outds: "ds_data_patientgruplist=patientgruplist"
  2717. , async: false
  2718. //, callback: "cbk_TRMNR08501"
  2719. });
  2720. */
  2721. fNextSelectErPat(group5.cmb_erpat);
  2722. }else{
  2723. //-------(20110228) 경북대
  2724. //alert("3");
  2725. //내환자 조회-간호일지용
  2726. //debugger;
  2727. if (!utlf_isNull(gcurrentpid)) {
  2728. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2729. fGetSettingPatientList_type1(); //--테스트완료 , XRW를 변경하면됨
  2730. //alert("4");
  2731. group5.cmb_mypat.index = -1;
  2732. var posi = fgetSelectPidNext(); //jh 확인후 변환
  2733. //alert("5/"+ posi);
  2734. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2735. fsetSelectPidNext(group5.cmb_mypat,posi);
  2736. //alert("6");
  2737. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2738. // cmb_mypat.refresh();
  2739. }
  2740. }
  2741. } else {
  2742. if(eERFLAG == "Y"){
  2743. //fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
  2744. var ds_temp = dsf_createDsRow("ds_temp", [{col: "wardcd", val:group5.cmb_wardcd.value }
  2745. ,{col: "roomcd", val:group5.cmb_roomcd.value }
  2746. ,{col: "zonecd", val:group5.cmb_zone.value }
  2747. ,{col: "recflag", val:eRECFLAG }
  2748. ,{col: "srchflag", val:"1" }]);
  2749. var ds_refCond1 = dsf_createDs("ds_refCond1");
  2750. var oParam = {};
  2751. oParam.id = "TRMNR01004";
  2752. oParam.service = "carerecapp.TnsCareRec";
  2753. oParam.method = "reqGetPatientList";
  2754. oParam.inds = "refCond="+ds_temp+" refCond1="+ds_refCond1+"";
  2755. oParam.outds = "ds_data_patientgruplist=patientgruplist";
  2756. oParam.async = false;
  2757. tranf_submit(oParam);
  2758. fNextSelectErPat(group5.cmb_erpat);
  2759. /*
  2760. tranf_submit({
  2761. id: "TRMNR01004"
  2762. , service: "carerecapp.TnsCareRec"
  2763. , method: "reqGetPatientList"
  2764. , inds: "refCond="+ds_temp
  2765. , outds: "ds_data_patientgruplist=patientgruplist"
  2766. , async: false
  2767. //, callback: "cbk_TRMNR08501"
  2768. });
  2769. */
  2770. //cmb_erpat.refresh();
  2771. } else {
  2772. if (!utlf_isNull(gcurrentpid)) {
  2773. fGetSettingPatientList_type1(); //--테스트완료 , XRW를 변경하면됨
  2774. if(group5.cmb_mypat.index == -1 && ds_data_settingpatientlist.rowcount > 0){
  2775. group5.cmb_mypat.index = 0;
  2776. }
  2777. if(group5.cmb_mypat.index == -1 && ds_data_settingpatientlist.rowcount == 0){
  2778. }else{
  2779. group5_cmb_mypat_onitemchanged();
  2780. }
  2781. //alert("11111")
  2782. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2783. // fGetSettingPatientList_type1(); //--테스트완료 , XRW를 변경하면됨
  2784. //var posi1 = fgetSelectPidNext(); //jh 확인후 변환
  2785. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  2786. // fsetSelectPidNext(cmb_mypat, posi);
  2787. // cmb_mypat.refresh();
  2788. }
  2789. }
  2790. }
  2791. //-------(20110228) 경북대
  2792. // var iRecDDRow = grd_carerecspec.findRow(sRecDate.substr(0,8),1,17,false,true);
  2793. // var iRecTMRow = grd_carerecspec.findRow(sRecDate.substr(8,4),iRecDDRow,18,false,true);
  2794. // grd_carerecspec.bottomRow = grd_carerecspec.rows;
  2795. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  2796. }
  2797. }
  2798. function cbk_TXMNR00701(sScvId, nErrorCode, sErrorMsg){
  2799. if(nErrorCode == 0){//성공하였을때
  2800. cbk_TXMNR00701_flag = 1;
  2801. }else{
  2802. sysf_messageBox(sErrorMsg, "E");
  2803. }
  2804. }
  2805. /* -----(20110228) 경북대 ------------------------ */
  2806. // 현재 위치 인지하기
  2807. function fgetSelectPid(sobj){
  2808. //현재위치찾기
  2809. //alert("sobj.value:" + sobj.value);
  2810. if (!utlf_isNull(sobj.value) ) {
  2811. gcurrentpid = sobj.value;
  2812. }else if(!utlf_isNull(cmb_mypatempty)){
  2813. gcurrentpid = cmb_mypatempty;
  2814. }else {
  2815. //gcurrentpid = group5.ipt_pid.value;
  2816. gcurrentpid = "";
  2817. }
  2818. //alert("gcurrentpid:" + gcurrentpid);
  2819. }
  2820. // 이전 저장위치이전 다음으로 조회시키기
  2821. function fgetSelectPidNext(){
  2822. //var sPath = "/root/temp/mypatsettinginfo/settingpatient/settingpatientlist"
  2823. var tempPid = "";
  2824. var sposition = -1;
  2825. //alert("gcurrentpid:" + gcurrentpid + "/" + getNodesetCount(gpidPath));
  2826. if ( !utlf_isNull(gcurrentpid)) {
  2827. for( var i=0 ; i<ds_data_settingpatientlist.rowcount ; i++ ){
  2828. tempPid = ds_data_settingpatientlist.getColumn(i, "pid");
  2829. //alert(gcurrentpid + "/" + tempPid);
  2830. //gcurrentpid 전역변수
  2831. if( gcurrentpid == tempPid ){
  2832. sposition = i;
  2833. break;
  2834. //alert("pid찾음");
  2835. //i = ds_data_settingpatientlist.rowcount; --16.09.01
  2836. }
  2837. }
  2838. }
  2839. return sposition;
  2840. }
  2841. // 재설정하기
  2842. function fsetSelectPidNext(sobj,sposition){
  2843. // 중환자실 환자인 경우 저장 후 현재 환자 재선택 (2011.03.25 Ahn)
  2844. var nextyn = group5.chk_nextyn.value;
  2845. if(fIsICUPatient(sWardCD)){
  2846. sobj.index = sposition;
  2847. }else{
  2848. if( ds_data_settingpatientlist.rowcount >= sposition ){
  2849. if(nextyn == "Y") {
  2850. sobj.index = sposition+1;
  2851. } else {
  2852. sobj.index = sposition;
  2853. }
  2854. //alert("1");
  2855. }else {
  2856. //콤보믄 0부터시작
  2857. //instance는 1부터시작
  2858. sobj.index = 0;
  2859. //alert("2");
  2860. }
  2861. }
  2862. if(sobj.index != -1){
  2863. group5_cmb_mypat_onitemchanged();
  2864. }
  2865. }
  2866. /* -----(20110228) 경북대 ------------------------ */
  2867. /**
  2868. * @group :
  2869. * @ver : 2007.04.24
  2870. * @by : 이은영
  2871. * @---------------------------------------------------
  2872. * @type : function
  2873. * @access : public
  2874. * @desc : 선택진술문 이동
  2875. * @param : pFlag:SET 진술문 셋에서 선택한경우
  2876. * @return :
  2877. * @---------------------------------------------------
  2878. */
  2879. function fSelectStmtInfo(pFlag){
  2880. var sSelYN = "N";
  2881. // var sAttrinfo1 = ""; // (20140206) 사용하지 않는 변수 주석처리함
  2882. // var sArrtCnt = 0; // (20140206) 사용하지 않는 변수 주석처리함
  2883. // var sStmtInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦"
  2884. // +"pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦orddd▦certselyn▦diagstmtcd▦diagstmtnm▦recverno▩"; // 저장 정보 // (20140206) 사용하지 않는 변수 주석처리함
  2885. var sStmtInfo = ""; // 저장 정보
  2886. var sAttrInptParamInfo = ""; // 속성창 입력 정보
  2887. var sAttrInptYN = "N";
  2888. var sSelectData = "";
  2889. // var sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag"); // (A : 자동, U : 지정)
  2890. // var sRecDate = "";
  2891. var sDNARFlag = ""; //DNAR 구분
  2892. var sStmtCd = ""; // 진술문장 코드
  2893. // var sStmtCnts = ""; // (20140206) 사용하지 않는 변수 주석처리함
  2894. // var sLnkStmt = ""; // 링크된 진술문 // (20140206) 사용하지 않는 변수 주석처리함
  2895. var sGrupCD = ""; // 그룹코드
  2896. // var sStmtDiagInfo = ""; // (20140206) 사용하지 않는 변수 주석처리함
  2897. // var careRow = grd_carediagspec.row; // (20140206) 사용하지 않는 변수 주석처리함
  2898. var sSetRow = 0;
  2899. if(utlf_isNull(sPid)){
  2900. sysf_messageBox("환자를 먼저","C002");
  2901. return;
  2902. }
  2903. if(!utlf_isNull(ds_cond_srchtool.getColumn(0,"freetextsrchcnts"))){
  2904. if ( !fFreeTextValueChg()) return;
  2905. }else if ( pFlag !="SET" ) {
  2906. if ( !fFreeTextValueChg("J")) return;
  2907. }
  2908. //진술문 클리어
  2909. group5.grp_dnarset.visible = false;
  2910. //group5.group9.swt_srchtool.case_lrgmdlsml.cap_titset.visible = true;
  2911. group5.btn_freetextsel.visible = true;
  2912. // 속성 입력 진술문 뽑아내기..
  2913. switch(sSrchToolStatus){
  2914. case "S": // SET
  2915. //model.removeNodeset(xSaveSetInfoPath);
  2916. ds_data_savesetinfo.clearData();
  2917. // model.makeNode(xSaveSetInfoPath);
  2918. // copyNodesetType(xSaveSetInfoPath, xNStmtSetListPath, "replace", model, model);
  2919. // copyNodesetType(xSaveSetInfoPath, xDStmtSetListPath, "after", model, model);
  2920. // copyNodesetType(xSaveSetInfoPath, xAStmtSetListPath, "after", model, model);
  2921. // copyNodesetType(xSaveSetInfoPath, xRStmtSetListPath, "after", model, model);
  2922. ds_data_savesetinfo.copyData(ds_grid_grd_nursingd);
  2923. ds_data_savesetinfo.appendData(ds_grid_grd_data);
  2924. ds_data_savesetinfo.appendData(ds_grid_grd_action);
  2925. ds_data_savesetinfo.appendData(ds_grid_grd_result);
  2926. for(var iRow=0; iRow<ds_data_savesetinfo.rowcount; iRow++){
  2927. sDNARFlag = ds_data_savesetinfo.getColumn(iRow,"dnarflag");
  2928. if(ds_data_savesetinfo.getColumn(iRow,"chk") == 1){
  2929. sStmtCd = ds_data_savesetinfo.getColumn(iRow,"stmtcd");
  2930. sGrupCD = gReturnGrupcd;
  2931. if(fExistStmtCd(sStmtCd, sStmtInfo,sGrupCD) == "N"){
  2932. //cnt = model.getValue(xSaveSetInfoPath+"["+iRow+"]/cnt");
  2933. cnt = ds_data_savesetinfo.getColumn(iRow,"cnt");
  2934. if(ds_data_savesetinfo.getColumn(iRow,"attrcnt") > 0){
  2935. sAttrInptYN = "Y";
  2936. sAttrInptParamInfo += ds_data_savesetinfo.getColumn(iRow,"stmtcd")+"▦"
  2937. + ds_data_savesetinfo.getColumn(iRow,"stmtcnts")+"▦"
  2938. + ds_data_savesetinfo.getColumn(iRow,"attrinfo1")+"▦"
  2939. + ds_data_savesetinfo.getColumn(iRow,"attrinfo2")+"▦"
  2940. + ds_data_savesetinfo.getColumn(iRow,"attressnyn")+"▦"
  2941. + sDNARFlag+"▩";
  2942. }
  2943. sSelYN = "Y";
  2944. if(cnt < 1 || utlf_isNull(cnt)){
  2945. // 속성이 존재하는 진술문장
  2946. sStmtInfo += ds_data_savesetinfo.getColumn(iRow,"stmtcnts")+"▦" //stmtcnts
  2947. +"▦" // attrinfo
  2948. +"I▦"
  2949. + sGrupCD+"▦"
  2950. + ds_data_savesetinfo.getColumn(iRow,"stmtcd")+"▦"
  2951. + ds_data_savesetinfo.getColumn(iRow,"dnarflag")+"▦"
  2952. + sSrchToolStatus+"▦"
  2953. + "A▦"
  2954. + "▦"
  2955. + sPid+"▦"
  2956. + sIndd+"▦"
  2957. + sCretNo+"▦"
  2958. + sInstcd+"▦"
  2959. + sIOFlag+"▦"
  2960. + sOrdDeptCd+"▦"
  2961. + sRecFlag+"▦"
  2962. + sRecLnkKey+"▦"
  2963. + sOrddd+"▦"
  2964. + "Y▦";
  2965. if(sDNARFlag == "2N" ){
  2966. sStmtInfo += sStmtCd + "▩";
  2967. gDiagStmtNm = ds_data_savesetinfo.getColumn(iRow,"stmtcnts");
  2968. }else {
  2969. sStmtInfo += "▩";
  2970. }
  2971. }else{
  2972. //분류별 진단 코드 생성(추가이유 : 현재 분류별 진단코드를 생성하기 위함)
  2973. var sChkStmtCd = fCreatDiag(sStmtCd);
  2974. var sDiagStmtCd = sChkStmtCd.split("▦");
  2975. for(var i = 0; i < cnt ; i++){
  2976. sStmtInfo += ds_data_savesetinfo.getColumn(iRow,"stmtcnts")+"▦" //stmtcnts
  2977. +"▦" // attrinfo
  2978. +"I▦"
  2979. + sGrupCD+"▦"
  2980. + ds_data_savesetinfo.getColumn(iRow,"stmtcd")+"▦"
  2981. + ds_data_savesetinfo.getColumn(iRow,"dnarflag")+"▦"
  2982. + sSrchToolStatus+"▦"
  2983. + "A▦"
  2984. + "▦"
  2985. + sPid+"▦"
  2986. + sIndd+"▦"
  2987. + sCretNo+"▦"
  2988. + sInstcd+"▦"
  2989. + sIOFlag+"▦"
  2990. + sOrdDeptCd+"▦"
  2991. + sRecFlag+"▦"
  2992. + sRecLnkKey+"▦"
  2993. + sOrddd+"▦"
  2994. + "Y▦"
  2995. + sDiagStmtCd[i]+"▩";
  2996. }
  2997. }
  2998. }
  2999. }
  3000. }
  3001. break;
  3002. case "J": // 진술문 검색
  3003. // if(sRecDateFlag == "U"){
  3004. // sRecDate = model.getValue(xRecSaveCondPath+"/recdd")+model.getValue(xRecSaveCondPath+"/rectm");
  3005. // if(isValidDateTime(sRecDate,"YYYYMMDDhhnn")== false){
  3006. // messageBox("기록 시간이 유효하지","E007");
  3007. // return;
  3008. // }
  3009. // }
  3010. for(var iRow=0; iRow<ds_grid_grd_srchstmtinfo.rowcount; iRow++){
  3011. if(ds_grid_grd_srchstmtinfo.getColumn(iRow,"chk") == 1){
  3012. sStmtCd = ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcd");
  3013. sGrupCD = gDiagGrupcd;
  3014. // if(fExistStmtCd(sStmtCd, sStmtInfo,sGrupCD) == "N"){
  3015. if(ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrcnt") > 0){
  3016. sAttrInptYN = "Y";
  3017. sAttrInptParamInfo += ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcd")+"▦"
  3018. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcnts")+"▦"
  3019. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrinfo1")+"▦"
  3020. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrinfo2")+"▦"
  3021. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"attressnyn")+"▦"
  3022. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"dnarflag")+"▩";
  3023. }
  3024. sSelYN = "Y";
  3025. sStmtInfo += ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcnts")+"▦"
  3026. + "▦"
  3027. + "I▦"
  3028. + sGrupCD+"▦"
  3029. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcd")+"▦"
  3030. + ds_grid_grd_srchstmtinfo.getColumn(iRow,"dnarflag")+"▦"
  3031. + sSrchToolStatus+"▦"
  3032. + "A▦"
  3033. + "▦"
  3034. + sPid+"▦"
  3035. + sIndd+"▦"
  3036. + sCretNo+"▦"
  3037. + sInstcd+"▦"
  3038. + sIOFlag+"▦"
  3039. + sOrdDeptCd+"▦"
  3040. + sRecFlag+"▦"
  3041. + sRecLnkKey+"▦"
  3042. + sOrddd+"▦"
  3043. + "Y▦"
  3044. + gDiagStmtcd+"▩";
  3045. }
  3046. // }
  3047. }
  3048. break;
  3049. }
  3050. // 진술문 선택 여부 체크
  3051. if( sSelYN == "N" && utlf_isNull(ds_cond_srchtool.getColumn(0,"freetextsrchcnts")) ){
  3052. sysf_messageBox("선택된 진술문이","I004");
  3053. return;
  3054. }
  3055. var sStmtList=""; //진술문 리스트
  3056. var sAttrInptList=""; // 속성 입력 진술문 리스트
  3057. var sTmpStmt = ""; // 진술문 정보
  3058. var sTmpAttrInpt = ""; // 속성 입력 진술문 정보
  3059. var iAttrInptRow=0; // 속성 입력 진술문 시작위치
  3060. // 저장 데이터 만들기..
  3061. if(sAttrInptYN == "Y"){ // 속성 입력 진술문 선택 여부
  3062. frmf_setParameter("SMMNR014_Param",sAttrInptParamInfo);
  3063. frmf_modal("SMMNR01400","SMMNR01400","","","","","","","","","","","M");
  3064. var sReturnInfo = frmf_getParameter("SMMNR014_Return"); // 속성 입력된 진술문 정보
  3065. sStmtList = sStmtInfo.split("▩");
  3066. if(utlf_isNull(sReturnInfo)){ // 속성 입력하지 않은 경우
  3067. sAttrInptList = sAttrInptParamInfo.split("▩");
  3068. for(var iStmtRow=0;iStmtRow< sStmtList.length-1; iStmtRow++){
  3069. sTmpStmt = sStmtList[iStmtRow].split("▦");
  3070. sTmpAttrInpt = sAttrInptList[iAttrInptRow].split("▦");
  3071. if(getArrayData(sStmtInfo,iStmtRow,4) == getArrayData(sAttrInptParamInfo,iAttrInptRow,0)){ // 속성이 존재하는 진술문
  3072. iAttrInptRow++;
  3073. }else{ // 속성이 없는 진술문
  3074. sSelectData +=sStmtList[iStmtRow]+"▩";
  3075. }
  3076. }
  3077. }else{ // 속성 입력한 경우
  3078. sAttrInptList = sReturnInfo.split("▩");
  3079. for(var iStmtRow=0;iStmtRow< sStmtList.length-1; iStmtRow++){
  3080. var sSaveFirData = "";
  3081. sTmpStmt = sStmtList[iStmtRow].split("▦");
  3082. for(var iAttrInptRow = 1 ; iAttrInptRow < sAttrInptList.length -1 ; iAttrInptRow ++){
  3083. sTmpAttrInpt = sAttrInptList[iAttrInptRow].split("▦");
  3084. if(getArrayData(sStmtInfo,iStmtRow,4) == getArrayData(sReturnInfo,iAttrInptRow,0)){ // 속성이 존재하는 진술문
  3085. var iAttrInptChk = getArrayData(sReturnInfo,iAttrInptRow,2);
  3086. var iAttrInptChkAfter = iAttrInptChk.split("⊙");
  3087. // var ChkValue = 0; // (20140206) 사용하지 않는 변수 주석처리함
  3088. var iAttrInptChkValue = "";
  3089. for(var i =0 ; i < iAttrInptChkAfter.length ; i++){
  3090. if( !utlf_isNull(iAttrInptChkAfter[i]) ){
  3091. iAttrInptChkValue += iAttrInptChkAfter[i]+"⊙";
  3092. }
  3093. }
  3094. if( utlf_isNull(iAttrInptChkValue) ){
  3095. sSaveFirData += getArrayData(sReturnInfo,iAttrInptRow,1).replace(": ", "") +"▦▦";
  3096. }else{
  3097. sSaveFirData += getArrayData(sReturnInfo,iAttrInptRow,1)+"▦"
  3098. + iAttrInptChkValue+"▦";
  3099. // + getArrayData(sReturnInfo,iAttrInptRow,2)+"▦";
  3100. }
  3101. }
  3102. }
  3103. //진술문 문장 특수 기호 삭제
  3104. sSaveFirData = sSaveFirData.replace(", ▦", "▦");
  3105. sSaveFirData = sSaveFirData.replace(": ▦", "▦");
  3106. if(utlf_isNull(sSaveFirData)){
  3107. sSelectData +=sStmtList[iStmtRow]+"▩";
  3108. }else{
  3109. sSelectData += sSaveFirData;
  3110. sSelectData += getArrayData(sStmtInfo,iStmtRow,2)+"▦"
  3111. + getArrayData(sStmtInfo,iStmtRow,3)+"▦"
  3112. + getArrayData(sStmtInfo,iStmtRow,4)+"▦"
  3113. + getArrayData(sStmtInfo,iStmtRow,5)+"▦"
  3114. + getArrayData(sStmtInfo,iStmtRow,6)+"▦"
  3115. + getArrayData(sStmtInfo,iStmtRow,7)+"▦"
  3116. + getArrayData(sStmtInfo,iStmtRow,8)+"▦"
  3117. + getArrayData(sStmtInfo,iStmtRow,9)+"▦"
  3118. + getArrayData(sStmtInfo,iStmtRow,10)+"▦"
  3119. + getArrayData(sStmtInfo,iStmtRow,11)+"▦"
  3120. + getArrayData(sStmtInfo,iStmtRow,12)+"▦"
  3121. + getArrayData(sStmtInfo,iStmtRow,13)+"▦"
  3122. + getArrayData(sStmtInfo,iStmtRow,14)+"▦"
  3123. + getArrayData(sStmtInfo,iStmtRow,15)+"▦"
  3124. + getArrayData(sStmtInfo,iStmtRow,16)+"▦"
  3125. + getArrayData(sStmtInfo,iStmtRow,17)+"▦"
  3126. + getArrayData(sStmtInfo,iStmtRow,18)+"▦"
  3127. + getArrayData(sStmtInfo,iStmtRow,19)+"▩";
  3128. }
  3129. }
  3130. }
  3131. }else{ // 속성이 없는 진술문만 있는 경우
  3132. sSelectData = sStmtInfo;
  3133. }
  3134. if( utlf_isNull(sSelectData) && utlf_isNull(ds_cond_srchtool.getColumn(0,"freetextsrchcnts")) ){
  3135. sysf_messageBox("선택 데이터가","I004");
  3136. return;
  3137. }
  3138. sStmtList = sSelectData.split("▩");
  3139. // var sExistStmtCd = ""; // (20140206) 사용하지 않는 변수 주석처리함
  3140. for(var iStmtRow = 0 ; iStmtRow< sStmtList.length-1; iStmtRow++ ){
  3141. // grd_carerecspec.addRow(false);
  3142. // sSetRow = grd_carerecspec.rows - grd_carerecspec.fixedRows;
  3143. ds_grid_grd_carerecspec.addRow();
  3144. sSetRow = ds_grid_grd_carerecspec.rowcount-1;
  3145. ds_grid_grd_carerecspec.setColumn(sSetRow,"stmtspec", getArrayData(sSelectData,iStmtRow,0));
  3146. ds_grid_grd_carerecspec.setColumn(sSetRow,"attrinfo", getArrayData(sSelectData,iStmtRow,1));
  3147. ds_grid_grd_carerecspec.setColumn(sSetRow,"status", getArrayData(sSelectData,iStmtRow,2));
  3148. ds_grid_grd_carerecspec.setColumn(sSetRow,"origincd", getArrayData(sSelectData,iStmtRow,3));
  3149. ds_grid_grd_carerecspec.setColumn(sSetRow,"stmtcd", getArrayData(sSelectData,iStmtRow,4));
  3150. ds_grid_grd_carerecspec.setColumn(sSetRow,"dnarflag", getArrayData(sSelectData,iStmtRow,5));
  3151. ds_grid_grd_carerecspec.setColumn(sSetRow,"recoriginflag", getArrayData(sSelectData,iStmtRow,6));
  3152. ds_grid_grd_carerecspec.setColumn(sSetRow,"recdtflag", getArrayData(sSelectData,iStmtRow,7));
  3153. ds_grid_grd_carerecspec.setColumn(sSetRow,"recdt", getArrayData(sSelectData,iStmtRow,8));
  3154. ds_grid_grd_carerecspec.setColumn(sSetRow,"pid", getArrayData(sSelectData,iStmtRow,9));
  3155. ds_grid_grd_carerecspec.setColumn(sSetRow,"indd", getArrayData(sSelectData,iStmtRow,10));
  3156. ds_grid_grd_carerecspec.setColumn(sSetRow,"cretno", getArrayData(sSelectData,iStmtRow,11));
  3157. ds_grid_grd_carerecspec.setColumn(sSetRow,"instcd", getArrayData(sSelectData,iStmtRow,12));
  3158. ds_grid_grd_carerecspec.setColumn(sSetRow,"ioflag", getArrayData(sSelectData,iStmtRow,13));
  3159. ds_grid_grd_carerecspec.setColumn(sSetRow,"orddeptcd", getArrayData(sSelectData,iStmtRow,14));
  3160. ds_grid_grd_carerecspec.setColumn(sSetRow,"recflag", getArrayData(sSelectData,iStmtRow,15));
  3161. ds_grid_grd_carerecspec.setColumn(sSetRow,"reclnkkey", getArrayData(sSelectData,iStmtRow,16));
  3162. ds_grid_grd_carerecspec.setColumn(sSetRow,"orddd", getArrayData(sSelectData,iStmtRow,17));
  3163. ds_grid_grd_carerecspec.setColumn(sSetRow,"certselyn", getArrayData(sSelectData,iStmtRow,18));
  3164. ds_grid_grd_carerecspec.setColumn(sSetRow,"diagstmtcd", getArrayData(sSelectData,iStmtRow,19));
  3165. ds_grid_grd_carerecspec.setColumn(sSetRow,"dnar", getArrayData(sSelectData,iStmtRow,5));
  3166. if( !utlf_isNull(getArrayData(sSelectData,iStmtRow,19)) ){
  3167. ds_grid_grd_carediagspec.filter("stmtcd=='"+getArrayData(sSelectData,iStmtRow,19)+"' && origincd=='"+getArrayData(sSelectData,iStmtRow,3)+"' && utlf_isNull(todt)");
  3168. //gDiagRecVerNo = model.getValue(xCareDiagListPath+"[stmtcd='"+getArrayData(sSelectData,iStmtRow,19)+"' and origincd='"+getArrayData(sSelectData,iStmtRow,3)+"' and todt ='']/recverno");
  3169. gDiagRecVerNo = ds_grid_grd_carediagspec.getColumn(0,"recverno");
  3170. ds_grid_grd_carediagspec.filter("");
  3171. ds_grid_grd_carediagspec.rowposition=-1;
  3172. if( utlf_isNull(gDiagRecVerNo) ){
  3173. ds_grid_grd_nursingd.filter("stmtcd=='"+getArrayData(sSelectData,iStmtRow,19)+"'");
  3174. //gDiagStmtNm = model.getValue(xNStmtSetListPath+"[stmtcd='"+getArrayData(sSelectData,iStmtRow,19)+"']/stmtcnts");
  3175. gDiagStmtNm = ds_grid_grd_nursingd.getColumn(0,"stmtcnts");
  3176. ds_grid_grd_nursingd.filter("");
  3177. }else{
  3178. ds_grid_grd_carediagspec.filter("stmtcd=='"+getArrayData(sSelectData,iStmtRow,19)+"'");
  3179. //gDiagStmtNm = model.getValue(xCareDiagListPath+"[stmtcd='"+getArrayData(sSelectData,iStmtRow,19)+"']/stmtcnts");
  3180. gDiagStmtNm = ds_grid_grd_carediagspec.getColumn(0,"stmtcnts");
  3181. ds_grid_grd_carediagspec.filter("");
  3182. ds_grid_grd_carediagspec.rowposition=-1;
  3183. }
  3184. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/recverno", gDiagRecVerNo );
  3185. // model.makeValue(xNursingRecordListPath+"["+sSetRow+"]/diagstmtnm",gDiagStmtNm);
  3186. ds_grid_grd_carerecspec.setColumn(sSetRow,"recverno",gDiagRecVerNo);
  3187. ds_grid_grd_carerecspec.setColumn(sSetRow,"diagstmtnm",gDiagStmtNm);
  3188. }
  3189. fGridRowResize();
  3190. /*
  3191. var sExprColor3;
  3192. if( utlf_isNull(group5.grd_carerecspec.getCellProperty("Body", 0 ,"background")) ){
  3193. sExprColor3 = "EXPR(currow == "+sSetRow+" ? '#ffff88' : '#FFFFFFFF')";
  3194. }else{sysf_trace(group5.grd_carerecspec.getCellProperty("Body", 0 ,"background"));
  3195. sExprColor3 = group5.grd_carerecspec.getCellProperty("Body", 0 ,"background").replace("'#FFFFFFFF')","");
  3196. sExprColor3 = sExprColor3.replace("currow == "+sSetRow+" ? '#ffff88' :","");
  3197. sExprColor3 = sExprColor3.replace("currow == "+sSetRow+" ? '#FFFFFFFF' :","");
  3198. sExprColor3 += "currow == "+sSetRow+" ? '#ffff88' : '#FFFFFFFF')";
  3199. }
  3200. for(var expnum = 0; expnum <group5.grd_carerecspec.getCellCount("Body"); expnum++){
  3201. group5.grd_carerecspec.setCellProperty("Body", expnum, "background", sExprColor3);
  3202. group5.grd_carerecspec.setCellProperty("Body", expnum, "background2", sExprColor3);
  3203. }
  3204. */
  3205. for(var iRow=0; iRow<ds_grid_grd_srchstmtinfo.rowcount; iRow++){
  3206. //model.setValue(xStmtInfoPath+"["+iRow+"]/check", "false");
  3207. ds_grid_grd_srchstmtinfo.setColumn(iRow,"chk",0);
  3208. }
  3209. }
  3210. //group5.grd_carerecspec.enableredraw = true;
  3211. //group5.grd_carerecspec.redraw();
  3212. //group5.grd_carerecspec.vscrollbar.enableredraw = true;
  3213. var iRow1 = ds_grid_grd_carerecspec.rowcount;
  3214. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  3215. group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  3216. // grd_carerecspec.mergecells = "byrestriccol";
  3217. // grd_carerecspec.mergecol(5)=false;
  3218. // grd_carerecspec.mergecol(6)=false;
  3219. // grd_carerecspec.mergecol(7)=false;
  3220. // grd_carerecspec.rebuild();
  3221. // grd_carerecspec.resizeCells();
  3222. if( !utlf_isNull(ds_cond_srchtool.getColumn(0,"freetextsrchcnts")) ){
  3223. fSaveTextStmtInfo();
  3224. }
  3225. // model.removenodeset(xNStmtSetListPath);
  3226. // model.removenodeset(xDStmtSetListPath);
  3227. // model.removenodeset(xAStmtSetListPath);
  3228. // model.removenodeset(xRStmtSetListPath);
  3229. ds_grid_grd_nursingd.clearData();
  3230. ds_grid_grd_data.clearData();
  3231. ds_grid_grd_action.clearData();
  3232. ds_grid_grd_result.clearData();
  3233. fDeSelectRow(ds_grid_grd_carediagspec);
  3234. }
  3235. /**
  3236. * @group :
  3237. * @ver : 2007.04.24
  3238. * @by : 이은영
  3239. * @---------------------------------------------------
  3240. * @type : function
  3241. * @access : public
  3242. * @desc : 그리드 클릭시 선택컬럼 값 변경
  3243. * @param :
  3244. * @return :
  3245. * @---------------------------------------------------
  3246. */
  3247. function fClickedGridRow(pObj, pListPath, pRow, pCol){
  3248. var iRow = -1;
  3249. var iCol = 0;
  3250. if(!utlf_isNull(pObj)){//20080623김홍점 추가 로직
  3251. iRow = pRow;
  3252. iCol = pCol;
  3253. if(iRow < 0 || iRow > pObj.rowcount) return;
  3254. if(iCol != pObj.getBindCellIndex( "body", "chk")) {
  3255. ds_grid_grd_nursingd.enableevent = false;
  3256. ds_grid_grd_nursingd.updatecontrol =false;
  3257. if(pListPath.getColumn(iRow,"chk") == "true" || pListPath.getColumn(iRow,"chk") == 1){
  3258. //model.setValue(pListPath+"["+iRow+"]/check","false");
  3259. pListPath.setColumn(iRow,"chk",0);
  3260. }else{
  3261. //model.setValue(pListPath+"["+iRow+"]/check","true");
  3262. pListPath.setColumn(iRow,"chk",1);
  3263. if( pObj.name == "grd_nursingd" ){
  3264. gDiagStmtcd = pListPath.getColumn(iRow,"stmtcd");
  3265. gDiagStmtNm = pListPath.getColumn(iRow,"stmtcnts");
  3266. }
  3267. }
  3268. ds_grid_grd_nursingd.enableevent = true;
  3269. ds_grid_grd_nursingd.updatecontrol =true;
  3270. } else {
  3271. if(pListPath.getColumn(iRow,"chk") == "true" || pListPath.getColumn(iRow,"chk") == 1){
  3272. if( pObj.name == "grd_nursingd" ){
  3273. gDiagStmtcd = pListPath.getColumn(iRow,"stmtcd");
  3274. gDiagStmtNm = pListPath.getColumn(iRow,"stmtcnts");
  3275. }
  3276. }
  3277. }
  3278. if( pObj.name == "grd_nursingd" ){
  3279. fSettingGridBackColorNew(pRow);
  3280. }
  3281. }else{
  3282. switch(sSrchToolStatus){
  3283. //case "S": // SET
  3284. // case "N": // 표준 간호과정 SET
  3285. // iRow = grd_grupstmtinfo.row;
  3286. // iCol = grd_grupstmtinfo.col;
  3287. // if(iCol == 2) return;
  3288. // if(iRow < 1) return;
  3289. // if(model.getValue(xStmtSetListPath+"["+iRow+"]/check") == "true"){
  3290. // model.setValue(xStmtSetListPath+"["+iRow+"]/check","false");
  3291. // }else{
  3292. // model.setValue(xStmtSetListPath+"["+iRow+"]/check","true");
  3293. // }
  3294. // fSettingGridBackColor();
  3295. // grd_grupstmtinfo.rebuild();
  3296. // break;
  3297. case "J": // 진술문 검색
  3298. iRow = ds_grid_grd_srchstmtinfo.rowposition;
  3299. iCol = group5.group9.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.currentcol;
  3300. if(iCol == 2) return;
  3301. if(iRow < 0) return;
  3302. if(ds_grid_grd_srchstmtinfo.getColumn(iRow,"chk") == "true" || ds_grid_grd_srchstmtinfo.getColumn(iRow,"chk") == 1){
  3303. //model.setValue(xStmtInfoPath+"["+iRow+"]/check","false");
  3304. ds_grid_grd_srchstmtinfo.setColumn(iRow,"chk",0);
  3305. }else{
  3306. //model.setValue(xStmtInfoPath+"["+iRow+"]/check", "true");
  3307. ds_grid_grd_srchstmtinfo.setColumn(iRow,"chk",1);
  3308. }
  3309. // grd_srchstmtinfo.rebuild();
  3310. // grd_srchstmtinfo.row = iRow;
  3311. break;
  3312. }
  3313. }
  3314. }
  3315. /**
  3316. * @group :
  3317. * @ver : 2007.04.24
  3318. * @by : 이은영
  3319. * @---------------------------------------------------
  3320. * @type : function
  3321. * @access : public
  3322. * @desc : 진술문 검색시에 더블 클릭시 현재 선택된 컬럼만 check 표시 후에 저장
  3323. * @param :
  3324. * @return :
  3325. * @---------------------------------------------------
  3326. */
  3327. function fDblClickedGridRow(){
  3328. var sRowCnt = grd_srchstmtinfo.rows - grd_srchstmtinfo.fixedrows;
  3329. var iSelectedRow = grd_srchstmtinfo.row;
  3330. if(iSelectedRow < 1) return;
  3331. for(var iRow = grd_srchstmtinfo.fixedrows; iRow <= sRowCnt; iRow++){
  3332. if(model.getValue(xStmtInfoPath+"["+iRow+"]/check") == "true"){
  3333. model.setValue(xStmtInfoPath+"["+iRow+"]/check", "false");
  3334. }
  3335. }
  3336. model.setValue(xStmtInfoPath+"["+iSelectedRow+"]/check", "true");
  3337. grd_srchstmtinfo.rebuild();
  3338. fSaveStmtInfo("TempSave");
  3339. model.setValue(xStmtInfoPath+"["+iSelectedRow+"]/check", "false");
  3340. grd_srchstmtinfo.rebuild();
  3341. }
  3342. /**
  3343. * @group :
  3344. * @ver : 2007.04.24
  3345. * @by : 이은영
  3346. * @---------------------------------------------------
  3347. * @type : function
  3348. * @access : public
  3349. * @desc : 기록 저장 시간 변경
  3350. * @param :
  3351. * @return :
  3352. * @---------------------------------------------------
  3353. */
  3354. function fChangedRecTime(){
  3355. sRecDateFlag = "";
  3356. //sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag");
  3357. sRecDateFlag = ds_cond_recsave.getColumn(0,"recdateflag");
  3358. if(sRecDateFlag == "A"){ // 자동
  3359. // model.setValue(xRecSaveCondPath+"/recdd","");
  3360. // model.setValue(xRecSaveCondPath+"/rectm","");
  3361. ds_cond_recsave.setColumn(0,"recdd","");
  3362. ds_cond_recsave.setColumn(0,"rectm","");
  3363. // ipt_recdd.disabled = true;
  3364. // ipt_rectm.disabled = true;
  3365. // btn_recdt.disabled = true;
  3366. group5.ipt_recdd.enable = false;
  3367. group5.ipt_rectm.enable = false;
  3368. group5.btn_recdt.enable = false;
  3369. }else{ // 사용자 지정
  3370. // model.setValue(xRecSaveCondPath+"/recdd",getCurrentDate());
  3371. // model.setValue(xRecSaveCondPath+"/rectm",getCurrentTime().substr(0,4));
  3372. ds_cond_recsave.setColumn(0,"recdd",utlf_getCurrentDate());
  3373. ds_cond_recsave.setColumn(0,"rectm",utlf_getCurrentTime().substr(0,4));
  3374. // ipt_recdd.disabled = false;
  3375. // ipt_rectm.disabled = false;
  3376. // btn_recdt.disabled = false;
  3377. group5.ipt_recdd.enable = true;
  3378. group5.ipt_rectm.enable = true;
  3379. group5.btn_recdt.enable = true;
  3380. group5.ipt_recdd.setFocus();
  3381. }
  3382. }
  3383. /**
  3384. * @group :
  3385. * @ver : 2007.04.24
  3386. * @by : 이은영
  3387. * @---------------------------------------------------
  3388. * @type : function
  3389. * @access : public
  3390. * @desc : 기록 저장 시간 적용
  3391. * @param :
  3392. * @return :
  3393. * @---------------------------------------------------
  3394. */
  3395. function fRecDTAppend(){
  3396. //sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag"); // (A : 자동, U : 지정)
  3397. sRecDateFlag = ds_cond_recsave.getColumn(0,"recdateflag");
  3398. //var sRecDate = model.getValue(xRecSaveCondPath+"/recdd");
  3399. //var sRecTime = model.getValue(xRecSaveCondPath+"/rectm");
  3400. var sRecDate = ds_cond_recsave.getColumn(0,"recdd");
  3401. var sRecTime = ds_cond_recsave.getColumn(0,"rectm");
  3402. var appendCnt = 0;
  3403. if(utlf_isValidDateTime(sRecDate+sRecTime,"YYYYMMDDhhmm")== false){
  3404. sysf_messageBox("기록 시간이 유효하지","E007");
  3405. return;
  3406. }
  3407. var iSelectedRows = ds_grid_grd_carerecspec.rowcount;
  3408. //var iAppendRow = 0;
  3409. for ( var idx = 0 ; idx < iSelectedRows ; idx++){
  3410. //iAppendRow = grd_carerecspec.selectedRow(idx);
  3411. if(ds_grid_grd_carerecspec.getSelect(idx) == true){
  3412. if( (!utlf_isNull(ds_grid_grd_carerecspec.getColumn(idx,"status"))
  3413. && sRecDateFlag == "U" )
  3414. && ds_grid_grd_carerecspec.getColumn(idx,"status") == "I" ){
  3415. ds_grid_grd_carerecspec.setColumn(idx,"recdtflag", "U" );
  3416. ds_grid_grd_carerecspec.setColumn(idx,"recdd_vw", sRecDate );
  3417. ds_grid_grd_carerecspec.setColumn(idx,"rectm_vw", sRecTime);
  3418. ds_grid_grd_carerecspec.setColumn(idx,"recdt", sRecDate+sRecTime+"00");
  3419. appendCnt++;
  3420. }
  3421. }
  3422. }
  3423. if ( appendCnt < 1 ){
  3424. sysf_messageBox("시간 적용할 진술문이 선택되지 않았습니다. ","I007");
  3425. return;
  3426. }
  3427. //grd_carerecspec.refresh();
  3428. //model.setValue(xRecSaveCondPath+"/recdateflag", "A");
  3429. ds_cond_recsave.setColumn(0,"recdateflag","A");
  3430. fChangedRecTime();
  3431. //rdo_recdateflag.refresh();
  3432. }
  3433. /**
  3434. * @group :
  3435. * @ver : 2007.04.24
  3436. * @by : 이은영
  3437. * @---------------------------------------------------
  3438. * @type : function
  3439. * @access : public
  3440. * @desc : 진단delay클릭
  3441. * @param :
  3442. * @return :
  3443. * @---------------------------------------------------
  3444. */
  3445. function fDelayClick(pObj, pListPath){
  3446. if ( pObj != grd_carediagspec ) return;
  3447. if ( pObj == grd_carediagspec ){
  3448. gDiagRecVerNo = model.getValue(pListPath + "["+ pObj.row +"]/recverno");
  3449. gDiagStmtNm = model.getValue(pListPath + "["+ pObj.row +"]/stmtcnts");
  3450. gDiagGrupcd = model.getValue(pListPath + "["+ pObj.row +"]/origincd");
  3451. gDiagStmtcd = model.getValue(pListPath + "["+ pObj.row +"]/stmtcd");
  3452. } else {
  3453. // gDiagGrupcd = model.getValue(pListPath + "["+ pObj.row +"]/grupcd");//간호진단조회탭에서 클릭한것만으로 저장할수는 없다.등록되지 않은 진단일수도있으므로
  3454. }
  3455. }
  3456. /**
  3457. * @group :
  3458. * @ver : 2007.04.24
  3459. * @by : 이은영
  3460. * @---------------------------------------------------
  3461. * @type : function
  3462. * @access : public
  3463. * @desc : 진단delay클릭 deselect
  3464. * @param :
  3465. * @return :
  3466. * @---------------------------------------------------
  3467. */
  3468. function fDeSelectRow(pObj){
  3469. // for( idx = 0 ; idx < pObj.selectedRows ; idx++){
  3470. // pObj.isSelected(pObj.selectedRow(idx)) = false;
  3471. //
  3472. // }
  3473. // for( idx = 0 ; idx < pObj.selectedRows ; idx++){
  3474. // pObj.isSelected(pObj.selectedRow(idx)) = false;
  3475. //
  3476. // }
  3477. pObj.clearSelect();
  3478. gDiagGrupcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 그룹Code
  3479. gDiagStmtcd = ""; // 진단내역, 진술문set, 간호진단검색 클릭 진단 진술문Code
  3480. gDiagRecVerNo = "";//20080621 김홍점 추가 진단버젼번호
  3481. gDiagStmtNm = "";//20080621 김홍점 추가 진단명
  3482. //pObj.refresh();
  3483. }
  3484. /**
  3485. * @group :
  3486. * @ver : 2007.04.30
  3487. * @by : 이은영
  3488. * @---------------------------------------------------
  3489. * @type : function
  3490. * @access : public
  3491. * @desc : 진술문 존재 여부 체크
  3492. * @param :
  3493. * @return :
  3494. * @---------------------------------------------------
  3495. */
  3496. function fExistStmtCd(pStmtCD, pStmtlist, pGrupCD){
  3497. var sStmtList = pStmtlist.split("▩");
  3498. // var sStmtInfo; // (20140206) 사용하지 않는 변수 주석처리함
  3499. var sRecDD ="";
  3500. var sRecTM = "";
  3501. sRecDD= ds_cond_recsave.getColumn(0,"recdd");
  3502. sRecTM= ds_cond_recsave.getColumn(0,"rectm");
  3503. var iRtnMsg = 0;
  3504. var sStmtCnts = "";
  3505. if(sSrchToolStatus == "S" || sSrchToolStatus == "N"){
  3506. //sStmtCnts = model.getValue(xSaveSetInfoPath+"[stmtcd='"+pStmtCD+"']/stmtcnts");
  3507. sStmtCnts = ds_data_savesetinfo.getColumn(ds_data_savesetinfo.findRow("stmtcd",pStmtCD),"stmtcnts");
  3508. }else{
  3509. //sStmtCnts = model.getValue(xStmtInfoPath+"[stmtcd='"+pStmtCD+"']/stmtcnts");
  3510. sStmtCnts = ds_grid_grd_srchstmtinfo.getColumn(ds_grid_grd_srchstmtinfo.findRow("stmtcd",pStmtCD),"stmtcnts");
  3511. }
  3512. if(utlf_isNull(sRecDD)){
  3513. sRecDD = utlf_getCurrentDate();
  3514. }
  3515. if(utlf_isNull(sRecTM)){
  3516. sRecTM = utlf_getCurrentTime().substr(0,4);
  3517. }
  3518. //간호진단내역의 진단코드의 그룹코드와 set조회에서 선택한 진단의 그룹코드가 같을때만...
  3519. //선택한 간호진술문이 간호진단과는 연결되어 있지 않을경우는 그냥 저장. 간호진단과 연결된경우 메시지박스
  3520. // var nodeList = instance1.selectNodes(xCareDiagListPath + "[stmtcd = '"+ pStmtCD +"' and grupcd4='"+pGrupCD+"'and todt ='']/recverno");
  3521. // var nodeList1 = instance1.selectNodes(xCareDiagListPath + "[stmtcd = '"+ pStmtCD +"' and grupcd4='"+pGrupCD+"'and todt ='']/stmtcnts");
  3522. ds_grid_grd_carediagspec.filter("stmtcd=='"+pStmtCD+"' && grupcd4=='"+pGrupCD+"' && utlf_isNull(todt)");
  3523. // var nodeList = ds_grid_grd_carediagspec.getColumn(0,"recverno");
  3524. // var nodeList1 = ds_grid_grd_carediagspec.getColumn(0,"stmtcnts");
  3525. ds_temp_nodeList.copyData(ds_grid_grd_carediagspec,true);
  3526. ds_temp_nodeList1.copyData(ds_grid_grd_carediagspec,true);
  3527. ds_grid_grd_carediagspec.filter("");
  3528. ds_grid_grd_carediagspec.rowposition = -1;
  3529. ds_data_savesetinfo.filter("chk=='1' && dnarflag != '2N'");
  3530. //var stmtcdList = instance1.selectNodes(xSaveSetInfoPath + "[check='true' and dnarflag != '2N']/stmtcd");
  3531. //var stmtcdList = ds_data_savesetinfo.getColumn(0,"stmtcd");
  3532. ds_temp_stmtcdList.copyData(ds_data_savesetinfo,true);
  3533. //진단진술문이 넘어왔을경우 해당진단에 속한 DAR진술문들이 선택되어져 있는지 체크한다.
  3534. ds_data_savesetinfo.filter("chk=='1' && dnarflag == '2N' && stmtcd == '"+pStmtCD+"'");
  3535. //var lnkstmtList = instance1.selectNodes(xSaveSetInfoPath + "[check='true' and dnarflag = '2N' and stmtcd = "+ pStmtCD +"]/lnkstmt");
  3536. //var lnkstmtList = ds_data_savesetinfo.getColumn(0,"lnkstmt");
  3537. ds_temp_lnkstmtList.copyData(ds_data_savesetinfo,true);
  3538. ds_data_savesetinfo.filter("");
  3539. var searchYN = "N";
  3540. if(ds_temp_nodeList.rowcount > 0 ){
  3541. if( ds_temp_lnkstmtList.rowcount > 0
  3542. && ds_temp_stmtcdList.rowcount > 0 ){
  3543. searchYN = fSearchString(ds_temp_lnkstmtList, ds_temp_stmtcdList);
  3544. }
  3545. if ( searchYN != "Y" ) return "Y";// 진단만 선택되어진 경우
  3546. iRtnMsg = sysf_messageBox("동일 간호과정 Set 분류에서 선택된 동일 진단이 존재합니다. 기록될 번호는\" "+ds_temp_nodeList.getColumn(0,"recverno")+"\"","I009");
  3547. gDiagRecVerNo = ds_temp_nodeList.getColumn(0,"recverno");
  3548. gDiagStmtNm = ds_temp_nodeList1.getColumn(0,"stmtcnts");
  3549. return "Y";
  3550. }
  3551. // var sChkStmtCd = fCreatDiag(pStmtCD);
  3552. // if(nodeList != null && nodeList.length > 0 && isSearchString(sChkStmtCd,pStmtCD)== true ){
  3553. // iRtnMsg = messageBox("동일 간호과정 Set 분류에서 선택된 동일 진단이 존재합니다. 기록될 번호는\" "+pStmtCD+"\"","I009");
  3554. // return "Y";
  3555. // }
  3556. // if(model.getValue(xNursingRecordListPath+"[recdd='"+sRecDD+"' and rectm='"+sRecTM+"' and stmtcd='"+pStmtCD+"']/stmtcd") != ""){
  3557. // iRtnMsg = messageBox("동일 시간 때에 \""+sStmtCnts+"\" 문장이 존재합니다. 등록을","Q003");
  3558. // if(iRtnMsg != "6"){
  3559. // return "Y";
  3560. // }
  3561. // }
  3562. ds_grid_grd_carerecspec.filter("recdd=='"+sRecDD+"' && rectm=='"+sRecTM+"' && stmtcd=='"+pStmtCD+"'");
  3563. if(!utlf_isNull(ds_grid_grd_carerecspec.getColumn(0,"stmtcd"))){
  3564. iRtnMsg = sysf_messageBox("동일 시간 때에 \""+sStmtCnts+"\" 문장이 존재합니다. 등록을","Q003");
  3565. if(iRtnMsg != "6"){
  3566. return "Y";
  3567. }
  3568. }
  3569. ds_grid_grd_carerecspec.filter("stmtcd=='"+pStmtCD+"' && origincd=='"+pGrupCD+"' && dnarflag=='2N'");
  3570. for(var i=0; i<sStmtList.length; i++){//동일한 진단이 선택되어진게 있으면 중복적으로 추가하지 않는다.
  3571. if( (utlf_isNull(pGrupCD) && getArrayData(pStmtlist,i,4)== pStmtCD)
  3572. || (ds_grid_grd_carerecspec.getColumn(0,"status") == "I")
  3573. ){
  3574. ds_grid_grd_carerecspec.filter("");
  3575. return "Y";
  3576. }
  3577. }
  3578. ds_grid_grd_carerecspec.filter("");
  3579. return "N";
  3580. }
  3581. /**
  3582. * @group :
  3583. * @ver : 2007.05.14
  3584. * @by : 이은영
  3585. * @---------------------------------------------------
  3586. * @type : function
  3587. * @access : public
  3588. * @desc : stmtcd가 체크된게 진단진술문 연결된것이 존재하는지 체크
  3589. * @param : lnkstmtList(진단과 연결된 진술문코드들), stmtcdList(선택한 진술문 코드)
  3590. * @return :
  3591. * @---------------------------------------------------
  3592. */
  3593. function fSearchString(lnkstmtList, stmtcdList){
  3594. // var dnarFlag = ""; // (20140206) 사용하지 않는 변수 주석처리함
  3595. var lnkStmt = "";
  3596. var stmtCd = "";
  3597. for( var jdx = 0 ; jdx < lnkstmtList.rowcount ; jdx++ ){
  3598. lnkStmt = lnkstmtList.getColumn(jdx,"lnkstmt");
  3599. for ( var idx = 0 ; idx < stmtcdList.rowcount ; idx++){
  3600. stmtCd = stmtcdList.getColumn(idx,"stmtcd");
  3601. if ( utlf_isSearchString(lnkStmt, stmtCd) ){
  3602. return "Y" ;
  3603. }
  3604. }
  3605. }
  3606. return "N";
  3607. }
  3608. /**
  3609. * @group :
  3610. * @ver : 2007.05.14
  3611. * @by : 이은영
  3612. * @---------------------------------------------------
  3613. * @type : function
  3614. * @access : public
  3615. * @desc : 기록정보를 조회
  3616. * @param : pFlag
  3617. * @return :
  3618. * @---------------------------------------------------
  3619. */
  3620. function fSearchRecInfo(pFlag){
  3621. if(utlf_isNull(sPid)){
  3622. sysf_messageBox("환자를 먼저","C002");
  3623. return;
  3624. }
  3625. if(utlf_isNull(pFlag)){
  3626. return;
  3627. }
  3628. ////////////////////////
  3629. var deptcd = group5.cmb_wardcd.value;
  3630. var userdept = sysf_getUserInfo("dutplcecd");
  3631. var spiritdept = ds_codelist.lookup("cdgrupid","U31","cdid");
  3632. var jobkindcd = sysf_getUserInfo("jobkindcd");
  3633. if(jobkindcd != "0330") {
  3634. if(deptcd == spiritdept) {
  3635. if(userdept != spiritdept) {
  3636. sysf_messageBox("환자 개인정보 보호를 위해 해당병동 사용자외엔 조회를 제한합니다", "E");
  3637. return;
  3638. }
  3639. }
  3640. }
  3641. //기록해야할 진술문들이 존재할경우 저장할려면 이후 진행을 blocking
  3642. //return false; //이후 진행 안함.
  3643. if( !fExistAddDNAR() ){
  3644. return;
  3645. }
  3646. ////////////////////////////////////////////
  3647. var sSrchHeader ;
  3648. var sSrchData ;
  3649. var iRow;
  3650. if(pFlag == "carediag" ){
  3651. var ds_temp = dsf_createDsRow("ds_temp", [{col: "pid", val:sPid }
  3652. ,{col: "indd", val:sIndd }
  3653. ,{col: "orddd", val:sOrddd }
  3654. ,{col: "cretno", val:sCretNo }
  3655. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  3656. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  3657. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }]);
  3658. var objParam = new Object();
  3659. objParam.id = "TRMNR00705";
  3660. objParam.service ="carerecapp.NursingRecord";
  3661. objParam.method= "reqGetCareDiagList";
  3662. objParam.inds= "srchinfo="+ds_temp+"";
  3663. objParam.outds= "ds_grid_grd_carediagspec=carediaglist";
  3664. objParam.async= false
  3665. //objParam.progress = (lgv_nBroadcastflag == 0); //이미지 표시
  3666. tranf_submit(objParam);
  3667. ds_grid_grd_carediagspec.rowposition = -1;
  3668. } else {
  3669. //20110629_KNUH_Start 과거이력조회 관련부분 추가.
  3670. var pastyn = ds_cond_recsrch.getColumn(0,"pastyn");
  3671. var sRecverno;
  3672. //var sAllyn = model.getValue(ipt_allyn.attribute("ref"));
  3673. var sAllyn = group5.ipt_allyn.value;
  3674. if(pastyn == "Y") {
  3675. sRecverno = ds_grid_grd_carediagspec.getColumn(ds_grid_grd_carediagspec.rowposition,"recverno");
  3676. var ds_temp = dsf_createDsRow("ds_temp", [{col: "pid", val:sPid }
  3677. ,{col: "indd", val:sIndd }
  3678. ,{col: "orddd", val:sOrddd }
  3679. ,{col: "cretno", val:sCretNo }
  3680. ,{col: "ioflag", val:sIOFlag }
  3681. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  3682. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  3683. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  3684. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  3685. ,{col: "recflag", val:sRecFlag }
  3686. ,{col: "reclnkkey", val:sRecLnkKey }
  3687. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  3688. ,{col: "recsrchflag", val:pFlag }
  3689. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }
  3690. ,{col: "recverno", val:sRecverno }
  3691. ,{col: "allyn", val:sAllyn }]);
  3692. } else {
  3693. var ds_temp = dsf_createDsRow("ds_temp", [{col: "pid", val:sPid }
  3694. ,{col: "indd", val:sIndd }
  3695. ,{col: "orddd", val:sOrddd }
  3696. ,{col: "cretno", val:sCretNo }
  3697. ,{col: "ioflag", val:sIOFlag }
  3698. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  3699. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  3700. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  3701. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  3702. ,{col: "recflag", val:sRecFlag }
  3703. ,{col: "reclnkkey", val:sRecLnkKey }
  3704. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  3705. ,{col: "recsrchflag", val:pFlag }
  3706. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid")} ]);
  3707. }
  3708. var objParam = new Object();
  3709. objParam.id = "TRMNR00704";
  3710. objParam.service = "carerecapp.NursingRecord";
  3711. objParam.method = "reqGetNursingRecordList";
  3712. objParam.inds = "srchinfo="+ds_temp+"";
  3713. objParam.outds= "ds_data_nursingrecordlist=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist";
  3714. objParam.async= false;
  3715. //objParam.progress = (lgv_nBroadcastflag == 0); //이미지 표시
  3716. objParam.callback= "cf_TRMNR00704";
  3717. tranf_submit(objParam);
  3718. if(arErrorCode.pop("TRMNR00704") > -1){
  3719. //cbk_TRMNR00704_flag = 0;
  3720. fSettingPamInfo(true, "R");
  3721. ds_grid_grd_carerecspec.clearData();
  3722. ds_grid_grd_carediagspec.clearData();
  3723. ///--간호기록내역 조회 시 데이터 없을 때 배경 초기화
  3724. /*
  3725. if(ds_data_nursingrecordlist.rowcount == 0){
  3726. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  3727. group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  3728. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  3729. }
  3730. }
  3731. */
  3732. //
  3733. if(ds_data_nursingrecordlist.rowcount > 0 && !utlf_isNull(ds_data_nursingrecordlist.getColumn(0,"stmtcd"))){
  3734. ds_grid_grd_carerecspec.copyData(ds_data_nursingrecordlist);
  3735. ds_grid_grd_carerecspec.rowposition = 0;
  3736. ds_grid_grd_carerecspec.selectRow(0);
  3737. for(var i=0; i<ds_grid_grd_carerecspec.rowcount; i++){
  3738. ds_grid_grd_carerecspec.setColumn(i,"recdd_vw",ds_grid_grd_carerecspec.getColumn(i,"recdd"));
  3739. ds_grid_grd_carerecspec.setColumn(i,"rectm_vw",ds_grid_grd_carerecspec.getColumn(i,"rectm"));
  3740. }
  3741. fGridRowResize();
  3742. //grd_carerecspec.rebuild();
  3743. //grd_carerecspec.resizeCells();
  3744. fSettingStmtStyle("nr"); //jh 확인후 변환
  3745. //model.recalculate(); //jh 확인후 변환
  3746. if( ds_cond_recsrch.getColumn(0,"sortseq") == "A"
  3747. && ds_grid_grd_carerecspec.findRow("recdd_vw",utlf_getCurrentDate()) >= 0){
  3748. //grd_carerecspec.topRow = grd_carerecspec.rows;
  3749. // iRow = grd_carerecspec.rows/2;
  3750. // grd_carerecspec.bottomRow = iRow;
  3751. // grd_carerecspec.select(iRow,1) = true;
  3752. ds_grid_grd_carerecspec.rowposition = ds_grid_grd_carerecspec.rowcount-1;
  3753. }else{
  3754. // iRow= grd_carerecspec.fixedRows;
  3755. // grd_carerecspec.topRow = iRow;
  3756. // grd_carerecspec.select(iRow,1) = true;
  3757. if( fv_nRowPos > -1 ){
  3758. ds_grid_grd_carerecspec.selectRow(0, false);
  3759. ds_grid_grd_carerecspec.selectRow(fv_nRowPos);
  3760. fv_nRowPos = -1;
  3761. }else{
  3762. ds_grid_grd_carerecspec.rowposition = 0;
  3763. }
  3764. }
  3765. }
  3766. if(ds_data_carediaglist.rowcount > 0 ){
  3767. // model.removenodeset(xCareDiagListPath);
  3768. // model.makeNode(xCareDiagListPath);
  3769. // copyNodeset(xCareDiagListPath,"/root/hidden/recinfo/carediaglist");
  3770. // grd_carediagspec.rebuild();
  3771. // grd_carediagspec.resizeCells();
  3772. ds_grid_grd_carediagspec.copyData(ds_data_carediaglist);
  3773. ds_grid_grd_carediagspec.rowposition = -1;
  3774. }
  3775. if(ds_data_usersetlist.rowcount > 0 ){
  3776. // model.removenodeset(xRecUsrSetListPath);
  3777. // model.makeNode(xRecUsrSetListPath);
  3778. // copyNodeset(xRecUsrSetListPath,"/root/hidden/recinfo/usersetlist");
  3779. // cmb_recusr.refresh();
  3780. }
  3781. }
  3782. }
  3783. }
  3784. function cbk_TRMNR00704(sScvId, nErrorCode, sErrorMsg){
  3785. if(nErrorCode == 0){//성공하였을때
  3786. cbk_TRMNR00704_flag = 1;
  3787. }else{
  3788. sysf_messageBox(sErrorMsg, "E");
  3789. }
  3790. }
  3791. /**
  3792. * @group :
  3793. * @ver : 2007.05.14
  3794. * @by : 이은영
  3795. * @---------------------------------------------------
  3796. * @type : function
  3797. * @access : public
  3798. * @desc : 그리드 팝업메뉴 SETTING
  3799. * @param : pFlag
  3800. * @return :
  3801. * @---------------------------------------------------
  3802. */
  3803. function fSettingPopUpMenu(pFlag){
  3804. switch(pFlag){
  3805. case "NR" :
  3806. var iRow = ds_grid_grd_carediagspec.rowposition;
  3807. if( !utlf_isNull(ds_grid_grd_carerecspec.getColumn(iRow,"carerecno"))
  3808. &&( ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") == "T"
  3809. //|| model.getValue(xNursingRecordListPath+"["+iRow+"]/recoriginflag") == "A" 검사기록 삭제 요청사항 김영림itc 20081109 김홍점
  3810. ) ){//T: type 2 기록 ,A: Ast 검사기록, 저장하기위한 데이타
  3811. return;
  3812. }
  3813. if( utlf_isNull(ds_grid_grd_carerecspec.getColumn(iRow,"signno")) ){
  3814. if( !utlf_isNull(ds_grid_grd_carerecspec.getColumn(iRow,"status"))
  3815. && ds_grid_grd_carerecspec.getColumn(iRow,"status")=="I"){
  3816. pmn_nursrec_new.trackPopup(system.cursorx,system.cursory,"",false);
  3817. }
  3818. }else {
  3819. if (ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") == "A") {//검사기록 삭제 요청사항 김영림itc 20081109 김홍점
  3820. pmn_ast_del.trackPopup(system.cursorx,system.cursory,"",false);
  3821. } else if (ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != "A") {
  3822. pmn_nursrec_befcret.trackPopup(system.cursorx,system.cursory,"",false);
  3823. }
  3824. }
  3825. break;
  3826. case "ND" :
  3827. if( !utlf_isNull(ds_grid_grd_carediagspec.getColumn(ds_grid_grd_carediagspec.rowposition,"todt")) ){
  3828. pmn_endnursdiag.trackPopup(system.cursorx,system.cursory,"",false);
  3829. } else{
  3830. pmn_nursdiag.trackPopup(system.cursorx,system.cursory,"",false);
  3831. }
  3832. break;
  3833. }
  3834. }
  3835. /**
  3836. * @group :
  3837. * @ver : 2007.05.14
  3838. * @by : 이은영
  3839. * @---------------------------------------------------
  3840. * @type : function
  3841. * @access : public
  3842. * @desc : 기록저장된 데이타중 기록일시 일괄 수정
  3843. * @param : status : T time 수정
  3844. * @return :
  3845. * @---------------------------------------------------
  3846. */
  3847. function fStmtListRecdt(){
  3848. //2019.05.21 추가 기록정정사유 추가
  3849. var rtnchk= fRecChangeCert();
  3850. if(!rtnchk){
  3851. return;
  3852. }
  3853. //end
  3854. if(utlf_isNull(sPid)){
  3855. sysf_messageBox("환자를 먼저","C002");
  3856. return;
  3857. }
  3858. //기록해야할 진술문들이 존재할경우 저장할려면 이후 진행을 blocking
  3859. //return false; //이후 진행 안함.
  3860. if( !fExistAddDNAR() ){
  3861. return;
  3862. }
  3863. //modal("SMMNR01300");
  3864. frmf_modal("SMMNR01300","SMMNR01300","","","","","","","","","","","M");
  3865. var sRtnMsg = frmf_getParameter("SMMNR01300_Return");
  3866. if(utlf_isNull(sRtnMsg)) return;
  3867. var sTmpInfo = sRtnMsg.split("▩");
  3868. var sRecDTInfo = sTmpInfo[1].split("▦");
  3869. var sRecdtFlag = sTmpInfo[1].substr(0,1);
  3870. var sRecdt = sTmpInfo[1].substr(2,sTmpInfo[1].length);
  3871. // var sSaveHeader = "status▦recdt▦prerecdd▦"
  3872. // +"pid▦indd▦cretno▦instcd▦ioflag▦orddd▦carerecno▩"; // 저장 정보
  3873. dsf_createDs("ds_temp_sign", [{col: "status", type:"string" }
  3874. ,{col: "recdt", type:"string"}
  3875. ,{col: "prerecdd", type:"string"}
  3876. ,{col: "pid", type:"string"}
  3877. ,{col: "indd", type:"string"}
  3878. ,{col: "cretno", type:"string"}
  3879. ,{col: "instcd", type:"string"}
  3880. ,{col: "ioflag", type:"string"}
  3881. ,{col: "orddd", type:"string"}
  3882. ,{col: "carerecno", type:"string"}]);
  3883. dsf_createDs("ds_sign_savedata", [{col: "stmtspec", type:"string" }
  3884. ,{col: "status", type:"string" }
  3885. ,{col: "origincd", type:"string" }
  3886. ,{col: "stmtcd", type:"string" }
  3887. ,{col: "dnarflag", type:"string" }
  3888. ,{col: "recoriginflag", type:"string" }
  3889. ,{col: "recdtflag", type:"string" }
  3890. ,{col: "recdt", type:"string" }
  3891. ,{col: "pid", type:"string" }
  3892. ,{col: "indd", type:"string" }
  3893. ,{col: "cretno", type:"string" }
  3894. ,{col: "instcd", type:"string" }
  3895. ,{col: "ioflag", type:"string" }
  3896. ,{col: "orddeptcd", type:"string" }
  3897. ,{col: "recflag", type:"string" }
  3898. ,{col: "reclnkkey", type:"string" }
  3899. ,{col: "diagstmtcd", type:"string" }
  3900. ,{col: "orddd", type:"string" }
  3901. ,{col: "dnarnm", type:"string" }
  3902. ,{col: "usernm", type:"string" }
  3903. ,{col: "deptflagnm", type:"string" }
  3904. ,{col: "diagstmtnm", type:"string" }]);
  3905. var sSaveData = "";
  3906. // var sStmtCDList = ""; // (20140206) 사용하지 않는 변수 주석처리함
  3907. // var sDNARFlagList = ""; // (20140206) 사용하지 않는 변수 주석처리함
  3908. // var sCareRecNoList = ""; // (20140206) 사용하지 않는 변수 주석처리함
  3909. var iSignRow = 0;
  3910. var sDNARFlag = "";
  3911. var sDNARNm = "";
  3912. var sNotSave ="";
  3913. var selectRows = ds_grid_grd_carerecspec.rowcount;
  3914. var iRow = 0; // 2014-02-10 중복된 선언으로 인한 재선언
  3915. // model.removeNode("/root/main/signSaveData");
  3916. // model.makeNode(xSignPath);
  3917. for( var iRow = 0; iRow < selectRows ; iRow++ ){
  3918. // if(grd_carerecspec.isSelected(iRow) == true){
  3919. if(ds_grid_grd_carerecspec.getSelect(iRow) == true){
  3920. if(ds_grid_grd_carerecspec.getColumn(iRow,"fstrgstrid") != sysf_getUserId()){
  3921. sNotSave += "["+ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec")+"]\n";
  3922. continue;
  3923. }else if ( ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != 'A'
  3924. && ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != 'T'){
  3925. /*
  3926. if(sRecdtFlag == 'U'){
  3927. var sRecverno = "";
  3928. var sRow = "";
  3929. var sFromdt = "";
  3930. var sTodt = "";
  3931. if(!utlf_isNull(ds_grid_grd_carerecspec.getColumn(iRow,"recverno")))
  3932. sRecverno = ds_grid_grd_carerecspec.getColumn(iRow,"recverno");
  3933. if(!utlf_isNull(sRecverno)){
  3934. if(ds_grid_grd_carediagspec.findRow("recverno",sRecverno) > -1)
  3935. sRow = ds_grid_grd_carediagspec.findRow("recverno",sRecverno);
  3936. sFromdt = ds_grid_grd_carediagspec.getColumn(sRow,"fromdt");
  3937. if(!utlf_isNull(sFromdt) && !utlf_isNull(sRecdt)){
  3938. if(sFromdt > sRecdt){
  3939. sysf_messageBox("진단시간 이후로 기록일자를 설정해주세요.","I");
  3940. return;
  3941. }
  3942. }
  3943. }
  3944. }*///-------관련없는 소스 주석처리..
  3945. ds_temp_sign.addRow();
  3946. ds_temp_sign.setColumn(iSignRow,"status","T");
  3947. ds_temp_sign.setColumn(iSignRow,"recdt",sRecDTInfo[1]);
  3948. ds_temp_sign.setColumn(iSignRow,"prerecdd",ds_grid_grd_carerecspec.getColumn(iRow,"recdd"));
  3949. ds_temp_sign.setColumn(iSignRow,"pid",sPid);
  3950. ds_temp_sign.setColumn(iSignRow,"indd",sIndd);
  3951. ds_temp_sign.setColumn(iSignRow,"cretno",sCretNo);
  3952. ds_temp_sign.setColumn(iSignRow,"instcd",sInstcd);
  3953. ds_temp_sign.setColumn(iSignRow,"ioflag",sIOFlag);
  3954. ds_temp_sign.setColumn(iSignRow,"orddd",sOrddd);
  3955. ds_temp_sign.setColumn(iSignRow,"carerecno",ds_grid_grd_carerecspec.getColumn(iRow,"carerecno"));
  3956. // sSaveData += "T▦"
  3957. // + sRecDTInfo[1] +"▦"
  3958. // + model.getValue(xNursingRecordListPath+"["+ grd_carerecspec.selectedRow(iRow) +"]/recdd") +"▦"
  3959. // + sPid +"▦"
  3960. // + sIndd +"▦"
  3961. // + sCretNo +"▦"
  3962. // + sInstcd +"▦"
  3963. // + sIOFlag +"▦"
  3964. // + sOrddd +"▦"
  3965. // + model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/carerecno") +"▩";
  3966. sDNARFlag = "";
  3967. sDNARNm = "";
  3968. //sDiagStmtCd = model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/diagstmtcd");
  3969. sDiagStmtCd = ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd");
  3970. if ( !utlf_isNull(sDiagStmtCd)){
  3971. //sDNARFlag = model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/dnar");
  3972. sDNARFlag = ds_grid_grd_carerecspec.getColumn(iRow,"dnar");
  3973. //sDNARNm = model.getValue("/root/init/dnarflagnurs/itemset[itemcd = '"+sDNARFlag+"']/itemnm");
  3974. ds_init_dnarflagnurs.filter("itemcd=='"+sDNARFlag+"'");
  3975. sDNARNm = ds_init_dnarflagnurs.getColumn(0,"itemnm");
  3976. ds_init_dnarflagnurs.filter("");
  3977. }
  3978. ds_sign_savedata.addRow();
  3979. ds_sign_savedata.setColumn(iSignRow,"stmtspec",ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec"));
  3980. ds_sign_savedata.setColumn(iSignRow,"status","U");
  3981. ds_sign_savedata.setColumn(iSignRow,"origincd",ds_grid_grd_carerecspec.getColumn(iRow,"origincd"));
  3982. ds_sign_savedata.setColumn(iSignRow,"stmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"stmtcd"));
  3983. ds_sign_savedata.setColumn(iSignRow,"dnarflag",ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag"));
  3984. ds_sign_savedata.setColumn(iSignRow,"recoriginflag",ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag"));
  3985. ds_sign_savedata.setColumn(iSignRow,"recdtflag",sRecDTInfo[0]);
  3986. ds_sign_savedata.setColumn(iSignRow,"recdt",sRecDTInfo[1]);
  3987. ds_sign_savedata.setColumn(iSignRow,"pid",sPid);
  3988. ds_sign_savedata.setColumn(iSignRow,"indd",sIndd);
  3989. ds_sign_savedata.setColumn(iSignRow,"cretno",sCretNo);
  3990. ds_sign_savedata.setColumn(iSignRow,"instcd",sInstcd);
  3991. ds_sign_savedata.setColumn(iSignRow,"ioflag",sIOFlag);
  3992. ds_sign_savedata.setColumn(iSignRow,"orddeptcd",sOrdDeptCd);
  3993. ds_sign_savedata.setColumn(iSignRow,"recflag",ds_grid_grd_carerecspec.getColumn(iRow,"recflag"));
  3994. ds_sign_savedata.setColumn(iSignRow,"reclnkkey",ds_grid_grd_carerecspec.getColumn(iRow,"reclnkkey"));
  3995. ds_sign_savedata.setColumn(iSignRow,"diagstmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd"));
  3996. ds_sign_savedata.setColumn(iSignRow,"orddd",sOrddd);
  3997. ds_sign_savedata.setColumn(iSignRow,"dnarnm",sDNARNm);
  3998. ds_sign_savedata.setColumn(iSignRow,"usernm",sysf_getUserName());
  3999. ds_sign_savedata.setColumn(iSignRow,"deptflagnm",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm"));
  4000. //과거이력
  4001. ds_sign_savedata.setColumn(iSignRow,"diagstmtnm",utlf_transNullToEmpty(ds_grid_grd_carerecspec.getColumn(iRow,"recverno")) +" "+ utlf_transNullToEmpty(ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm")));
  4002. // model.makeValue(xSignPath + "[" + iSignRow + "]/stmtspec", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/stmtspec"));
  4003. // model.makeValue(xSignPath + "[" + iSignRow + "]/status", "U");
  4004. // model.makeValue(xSignPath + "[" + iSignRow + "]/origincd", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/origincd"));
  4005. // model.makeValue(xSignPath + "[" + iSignRow + "]/stmtcd", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/stmtcd"));
  4006. // model.makeValue(xSignPath + "[" + iSignRow + "]/dnarflag", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/dnarflag"));
  4007. // model.makeValue(xSignPath + "[" + iSignRow + "]/recoriginflag", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/recoriginflag"));
  4008. // model.makeValue(xSignPath + "[" + iSignRow + "]/recdtflag", sRecDTInfo[0]);
  4009. // model.makeValue(xSignPath + "[" + iSignRow + "]/recdt", sRecDTInfo[1]);
  4010. // model.makeValue(xSignPath + "[" + iSignRow + "]/pid", sPid);
  4011. // model.makeValue(xSignPath + "[" + iSignRow + "]/indd", sIndd);
  4012. // model.makeValue(xSignPath + "[" + iSignRow + "]/cretno", sCretNo);
  4013. // model.makeValue(xSignPath + "[" + iSignRow + "]/instcd", sInstcd);
  4014. // model.makeValue(xSignPath + "[" + iSignRow + "]/ioflag", sIOFlag);
  4015. // model.makeValue(xSignPath + "[" + iSignRow + "]/orddeptcd", sOrdDeptCd);
  4016. // model.makeValue(xSignPath + "[" + iSignRow + "]/recflag", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/recflag"));
  4017. // model.makeValue(xSignPath + "[" + iSignRow + "]/reclnkkey", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/reclnkkey"));
  4018. // model.makeValue(xSignPath + "[" + iSignRow + "]/diagstmtcd", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/diagstmtcd"));
  4019. // model.makeValue(xSignPath + "[" + iSignRow + "]/orddd", sOrddd);
  4020. //
  4021. // model.makeValue(xSignPath + "[" + iSignRow + "]/dnarnm", sDNARNm);
  4022. //
  4023. // model.makeValue(xSignPath + "[" + iSignRow + "]/usernm", getUserName());
  4024. // model.makeValue(xSignPath + "[" + iSignRow + "]/deptflagnm", model.getValue(xNursingRecordListPath+"["+grd_carerecspec.selectedRow(iRow)+"]/diagstmtnm"));
  4025. iSignRow++;
  4026. }
  4027. }
  4028. }
  4029. //model.removenode("/root/send");
  4030. //model.setValue(xRecSrchCondPath+"/recusrid","%");
  4031. ds_cond_recsrch.setColumn(0,"recusrid","%");
  4032. //model.makeValue("/root/send/saveData",sSaveHeader+sSaveData);
  4033. var ds_temp = dsf_createDsRow("ds_sign_srchinfo", [{col: "pid", val:sPid }
  4034. ,{col: "indd", val:sIndd }
  4035. ,{col: "orddd", val:sOrddd }
  4036. ,{col: "cretno", val:sCretNo }
  4037. ,{col: "ioflag", val:sIOFlag }
  4038. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  4039. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  4040. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  4041. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  4042. ,{col: "recflag", val:sRecFlag }
  4043. ,{col: "reclnkkey", val:sRecLnkKey }
  4044. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  4045. ,{col: "recsrchflag", val:ds_cond_recsrch.getColumn(0,"recsrchflag") }
  4046. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }]);
  4047. // var sSrchHeader = "pid▦indd▦orddd▦cretno▦ioflag▦fromdd▦todd▦dnarflag▦sortseq▦recflag▦reclnkkey▦carediagflag▦recsrchflag▦recusrid▩";
  4048. // var sSrchData = sPid+"▦"
  4049. // +sIndd+"▦"
  4050. // +sOrddd+"▦"
  4051. // +sCretNo+"▦"
  4052. // +sIOFlag+"▦"
  4053. // +model.getValue(xRecSrchCondPath+"/fromdd")+"▦"
  4054. // +model.getValue(xRecSrchCondPath+"/todd")+"▦"
  4055. // +model.getValue(xRecSrchCondPath+"/dnarflag")+"▦"
  4056. // +model.getValue(xRecSrchCondPath+"/sortseq")+"▦"
  4057. // +sRecFlag+"▦"
  4058. // +sRecLnkKey+"▦"
  4059. // +model.getValue(xRecSrchCondPath+"/carediagflag")+"▦"
  4060. // +model.getValue(xRecSrchCondPath+"/recsrchflag")+"▦"
  4061. // +model.getValue(xRecSrchCondPath+"/recusrid")+"▩";
  4062. //
  4063. // model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  4064. //인증저장
  4065. var msg = sysf_messageBox('[ ' + group5.cmb_pid.text + ' ] 님의 간호일지 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  4066. if(Number(msg) == 6 && ds_temp_sign.rowcount > 0 ){//예
  4067. if (!fSign()) return;
  4068. frmf_setFocus();
  4069. //ds_temp_signSaveData.copyRow(1,ds_temp_signSaveData,0);
  4070. dsf_makeValue(ds_temp_signSaveData, "hisgubun", "string", "");
  4071. for(var hisprechk =0; hisprechk< ds_temp_signSaveData.rowcount; hisprechk ++){
  4072. ds_temp_signSaveData.setColumn(hisprechk,"hisgubun","수정후");
  4073. }
  4074. ds_temp_signSaveData_his.copyData(ds_temp_signSaveData);
  4075. /*
  4076. var selectedRowValueChk = 0;
  4077. trace("=========================== :" + selectedRows.length);
  4078. for(var hispafchk =0; hispafchk< ds_temp_signSaveData_his.rowcount; hispafchk ++){
  4079. for (var i = 0; i < selectedRows.length; i++) {
  4080. //trace("+++++++++++++++++++++++++++ :" + i);
  4081. //trace("--------------------------- :" + selectedRows[i]);
  4082. if(selectedRows[i] > selectedRowValueChk){
  4083. ds_temp_signSaveData_his.setColumn(hispafchk,"recdt",ds_grid_grd_carerecspec.getColumn(selectedRows[i],"recdd") +
  4084. ds_grid_grd_carerecspec.getColumn(selectedRows[i],"rectm") +"00");
  4085. ds_temp_signSaveData_his.setColumn(hispafchk,"hisgubun","전");
  4086. }
  4087. selectedRowValueChk = selectedRows[i];
  4088. }
  4089. }
  4090. */
  4091. var selectedRows = grdf_getSelectedRows(group5.grd_carerecspec);
  4092. for (var hispafchk = 0; hispafchk < selectedRows.length; hispafchk++) {
  4093. ds_temp_signSaveData_his.setColumn(hispafchk,"recdt",ds_grid_grd_carerecspec.getColumn(selectedRows[hispafchk],"recdd") +
  4094. ds_grid_grd_carerecspec.getColumn(selectedRows[hispafchk],"rectm") +"00");
  4095. ds_temp_signSaveData_his.setColumn(hispafchk,"hisgubun","수정전");
  4096. }
  4097. ds_temp_signSaveData.appendData(ds_temp_signSaveData_his);
  4098. fSignHis();
  4099. dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
  4100. //2018.09.30 - 간호 기록 저장시 수정 및 삭제이력 데이터 생성
  4101. //start
  4102. /*
  4103. ds_temp_signSaveDataHis.copyData(ds_temp_signdata);
  4104. for( var iSRow = 0; iSRow < ds_temp_signSaveDataHis.rowcount ; iSRow++ ){
  4105. ds_temp_signSaveDataHis.setColumn(iSRow,"formcd","1800022039");
  4106. }
  4107. */
  4108. //end
  4109. //여기여기
  4110. var oParam = {};
  4111. oParam.id = "TXMNR00701";
  4112. oParam.service = "carerecapp.NursingRecord";
  4113. oParam.method = "reqExeStmtList";
  4114. oParam.inds = "srchinfo=ds_sign_srchinfo saveData=ds_temp_sign signinfo=ds_temp_signdata tempUserInfo=ds_tempuserInfo signinfohis=ds_temp_signSaveDataHis";
  4115. oParam.outds = "ds_data_nursingrecordlist=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist";
  4116. oParam.async = false;
  4117. oParam.callback = "cf_TXMNR00701";
  4118. tranf_submit(oParam);
  4119. /*
  4120. tranf_submit({
  4121. id: "TXMNR00701"
  4122. , service: "carerecapp.NursingRecord"
  4123. , method: "reqExeStmtList"
  4124. , inds: "srchinfo=ds_sign_srchinfo saveData=ds_temp_sign signinfo=ds_temp_signdata"
  4125. , outds: "ds_data_nursingrecordlist=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
  4126. , async: false
  4127. , callback: "cbk_TXMNR00701"
  4128. });
  4129. */
  4130. if(arErrorCode.pop("TXMNR00701") > -1){
  4131. ds_grid_grd_carerecspec.clearData();
  4132. ds_grid_grd_carediagspec.clearData();
  4133. if ( !utlf_isNull(sNotSave)){
  4134. sysf_messageBox("다른 사람이 기록한 "+sNotSave+" 수정","E001");
  4135. }
  4136. ///--간호기록내역 조회 시 데이터 없을 때 배경 초기화
  4137. /*
  4138. if(ds_data_nursingrecordlist.rowcount == 0){
  4139. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  4140. group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  4141. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  4142. }
  4143. }
  4144. */
  4145. //
  4146. if(ds_data_nursingrecordlist.rowcount>0 &&
  4147. !utlf_isNull(ds_data_nursingrecordlist.getColumn(0,"stmtcd"))){
  4148. //model.makeNode(xNursingRecordListPath);
  4149. //copyNodeset(xNursingRecordListPath,"/root/hidden/recinfo/nursingrecordlist");
  4150. ds_grid_grd_carerecspec.copyData(ds_data_nursingrecordlist);
  4151. ds_grid_grd_carerecspec.rowposition = 0;
  4152. ds_grid_grd_carerecspec.selectRow(0);
  4153. fGridRowResize();
  4154. //grd_carerecspec.rebuild();
  4155. fSettingStmtStyle("nr");
  4156. //model.recalculate(); //jh 확인후 변환
  4157. //grd_carerecspec.resizeCells();
  4158. }
  4159. if(ds_data_carediaglist.rowcount>0 ){
  4160. //model.makeNode(xCareDiagListPath);
  4161. //copyNodeset(xCareDiagListPath,"/root/hidden/recinfo/carediaglist");
  4162. ds_grid_grd_carediagspec.copyData(ds_data_carediaglist);
  4163. ds_grid_grd_carediagspec.rowposition = -1;
  4164. //grd_carediagspec.rebuild();
  4165. //grd_carediagspec.resizeCells();
  4166. }
  4167. if(ds_data_usersetlist.rowcount>0 ){
  4168. // model.removenodeset(xRecUsrSetListPath);
  4169. // model.makeNode(xRecUsrSetListPath);
  4170. // copyNodeset(xRecUsrSetListPath,"/root/hidden/recinfo/usersetlist");
  4171. // cmb_recusr.refresh();
  4172. }
  4173. fViewSign();
  4174. if( ds_cond_recsrch.getColumn(0,"sortseq") == "A"){
  4175. //grd_carerecspec.topRow = grd_carerecspec.rows;
  4176. // iRow = grd_carerecspec.rows-grd_carerecspec.fixedRows; // 2014-02-10 중복된 선언으로 인한 재선언
  4177. // grd_carerecspec.bottomRow = iRow;
  4178. //
  4179. // grd_carerecspec.select(iRow,1) = true;
  4180. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  4181. group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  4182. }
  4183. }
  4184. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  4185. }else {
  4186. if ( !utlf_isNull(sNotSave)){
  4187. sysf_messageBox("다른 사람이 기록한 "+sNotSave+" 수정","E001");
  4188. }
  4189. return;
  4190. }
  4191. }
  4192. /**
  4193. * @group :
  4194. * @ver : 2007.05.14
  4195. * @by : 이은영
  4196. * @---------------------------------------------------
  4197. * @type : function
  4198. * @access : public
  4199. * @desc : Copy & Paste
  4200. * @param :
  4201. * @return :
  4202. * @---------------------------------------------------
  4203. */
  4204. function fCopyAndPaste(){
  4205. //2019.05.21 추가 기록정정사유 추가
  4206. var rtnchk= fRecChangeCert();
  4207. if(!rtnchk){
  4208. return;
  4209. }
  4210. //end
  4211. if(utlf_isNull(sPid)){
  4212. sysf_messageBox("환자를 먼저","C002");
  4213. return;
  4214. }
  4215. //기록해야할 진술문들이 존재할경우 저장할려면 이후 진행을 blocking
  4216. //return false; //이후 진행 안함.
  4217. if( !fExistAddDNAR() ){
  4218. return;
  4219. }
  4220. frmf_modal("SMMNR01300","SMMNR01300","",false,"",system.cursorx-400,system.cursory-200,"","","","","","M");
  4221. var sRtnMsg = frmf_getParameter("SMMNR01300_Return");
  4222. if(utlf_isNull(sRtnMsg)) return;
  4223. var sTmpInfo = sRtnMsg.split("▩");
  4224. var sRecDTInfo = sTmpInfo[1].split("▦");
  4225. var sRecdtFlag = sTmpInfo[1].substr(0,1);
  4226. var sRecdt = sTmpInfo[1].substr(2,sTmpInfo[1].length);
  4227. var sSaveHeader = "stmtcdlist▦dnarflaglist▦carerecnolist▦recdtflag▦recdt▦pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦orddd▩"; // 저장 정보
  4228. var sSaveData = "";
  4229. var sStmtCDList = "";
  4230. var sDNARFlagList = "";
  4231. var sCareRecNoList = "";
  4232. var iSignRow = 0;
  4233. var sDNARFlag = "";
  4234. var sDNARNm = "";
  4235. var total = 0;
  4236. // model.removeNode("/root/main/signSaveData");
  4237. // model.makeNode(xSignPath);
  4238. dsf_createDs("ds_sign_savedata", [{col: "stmtspec", type:"string" }
  4239. ,{col: "status", type:"string" }
  4240. ,{col: "origincd", type:"string" }
  4241. ,{col: "stmtcd", type:"string" }
  4242. ,{col: "dnarflag", type:"string" }
  4243. ,{col: "recoriginflag", type:"string" }
  4244. ,{col: "recdtflag", type:"string" }
  4245. ,{col: "recdt", type:"string" }
  4246. ,{col: "pid", type:"string" }
  4247. ,{col: "indd", type:"string" }
  4248. ,{col: "cretno", type:"string" }
  4249. ,{col: "instcd", type:"string" }
  4250. ,{col: "ioflag", type:"string" }
  4251. ,{col: "orddeptcd", type:"string" }
  4252. ,{col: "recflag", type:"string" }
  4253. ,{col: "reclnkkey", type:"string" }
  4254. ,{col: "diagstmtcd", type:"string" }
  4255. ,{col: "orddd", type:"string" }
  4256. ,{col: "dnarnm", type:"string" }
  4257. ,{col: "usernm", type:"string" }
  4258. ,{col: "deptflagnm", type:"string" }]);
  4259. for(var iRow=0; iRow<ds_grid_grd_carerecspec.rowcount; iRow++){
  4260. if(ds_grid_grd_carerecspec.getSelect(iRow) == true
  4261. && ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != 'A'
  4262. && ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != 'T'){
  4263. /*
  4264. if(sRecdtFlag == 'U'){
  4265. var sRecverno = "";
  4266. var sRow = "";
  4267. var sFromdt = "";
  4268. var sTodt = "";
  4269. if(!utlf_isNull(ds_grid_grd_carerecspec.getColumn(iRow,"recverno")))
  4270. sRecverno = ds_grid_grd_carerecspec.getColumn(iRow,"recverno");
  4271. if(!utlf_isNull(sRecverno)){
  4272. if(ds_grid_grd_carediagspec.findRow("recverno",sRecverno) > -1)
  4273. sRow = ds_grid_grd_carediagspec.findRow("recverno",sRecverno);
  4274. sFromdt = ds_grid_grd_carediagspec.getColumn(sRow,"fromdt");
  4275. if(!utlf_isNull(sFromdt) && !utlf_isNull(sRecdt)){
  4276. if(sFromdt > sRecdt){
  4277. sysf_messageBox("진단시간 이후로 기록일자를 설정해주세요.","I");
  4278. return;
  4279. }
  4280. }
  4281. }
  4282. }
  4283. */
  4284. // 종료된 진술문을 Copy & Paste할 시에는 제어되도록 수정.
  4285. for( j=0; j<ds_grid_grd_carediagspec.rowcount; j++ ){
  4286. var cnt = iRow;
  4287. if( !utlf_isNull(ds_grid_grd_carediagspec.getColumn(j, "todt"))
  4288. && (ds_grid_grd_carediagspec.getColumn(j, "recverno") == ds_grid_grd_carerecspec.getColumn(iRow, "recverno") )
  4289. && (ds_grid_grd_carediagspec.getColumn(j, "diagstmtnm")== ds_grid_grd_carerecspec.getColumn(iRow, "stmtcnts")) ){
  4290. cnt++;
  4291. break;
  4292. }
  4293. }
  4294. if( cnt != iRow ){
  4295. total++;
  4296. continue;
  4297. }
  4298. sStmtCDList += ds_grid_grd_carerecspec.getColumn(iRow,"stmtcd")+",";
  4299. sDNARFlagList += ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag")+",";
  4300. sCareRecNoList += ds_grid_grd_carerecspec.getColumn(iRow,"carerecno")+",";
  4301. sDNARFlag = "";
  4302. sDNARNm = "";
  4303. sDiagStmtCd = ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd");
  4304. if(!utlf_isNull(sDiagStmtCd)){
  4305. sDNARFlag = ds_grid_grd_carerecspec.getColumn(iRow,"dnar");
  4306. ds_init_dnarflagnurs.filter("itemcd=='"+sDNARFlag+"'");
  4307. sDNARNm = ds_init_dnarflagnurs.getColumn(0,"itemnm");
  4308. ds_init_dnarflagnurs.filter("");
  4309. }
  4310. ds_sign_savedata.addRow();
  4311. ds_sign_savedata.setColumn(iSignRow,"stmtspec",ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec"));
  4312. ds_sign_savedata.setColumn(iSignRow,"status","I");
  4313. ds_sign_savedata.setColumn(iSignRow,"origincd",ds_grid_grd_carerecspec.getColumn(iRow,"origincd"));
  4314. ds_sign_savedata.setColumn(iSignRow,"stmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"stmtcd"));
  4315. ds_sign_savedata.setColumn(iSignRow,"dnarflag",ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag"));
  4316. ds_sign_savedata.setColumn(iSignRow,"recoriginflag",ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag"));
  4317. ds_sign_savedata.setColumn(iSignRow,"recdtflag",sRecDTInfo[0]);
  4318. ds_sign_savedata.setColumn(iSignRow,"recdt",sRecDTInfo[1]);
  4319. ds_sign_savedata.setColumn(iSignRow,"pid",sPid);
  4320. ds_sign_savedata.setColumn(iSignRow,"indd",sIndd);
  4321. ds_sign_savedata.setColumn(iSignRow,"cretno",sCretNo);
  4322. ds_sign_savedata.setColumn(iSignRow,"instcd",sInstcd);
  4323. ds_sign_savedata.setColumn(iSignRow,"ioflag",sIOFlag);
  4324. ds_sign_savedata.setColumn(iSignRow,"orddeptcd",sOrdDeptCd);
  4325. ds_sign_savedata.setColumn(iSignRow,"recflag",ds_grid_grd_carerecspec.getColumn(iRow,"recflag"));
  4326. ds_sign_savedata.setColumn(iSignRow,"reclnkkey",ds_grid_grd_carerecspec.getColumn(iRow,"reclnkkey"));
  4327. ds_sign_savedata.setColumn(iSignRow,"diagstmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd"));
  4328. ds_sign_savedata.setColumn(iSignRow,"orddd",sOrddd);
  4329. ds_sign_savedata.setColumn(iSignRow,"dnarnm",sDNARNm);
  4330. ds_sign_savedata.setColumn(iSignRow,"usernm",sysf_getUserName());
  4331. ds_sign_savedata.setColumn(iSignRow,"deptflagnm",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm"));
  4332. // model.makeValue(xSignPath + "[" + iSignRow + "]/stmtspec", model.getValue(xNursingRecordListPath+"["+iRow+"]/stmtspec"));
  4333. // model.makeValue(xSignPath + "[" + iSignRow + "]/status", "I");
  4334. // model.makeValue(xSignPath + "[" + iSignRow + "]/origincd", model.getValue(xNursingRecordListPath+"["+iRow+"]/origincd"));
  4335. // model.makeValue(xSignPath + "[" + iSignRow + "]/stmtcd", model.getValue(xNursingRecordListPath+"["+iRow+"]/stmtcd"));
  4336. // model.makeValue(xSignPath + "[" + iSignRow + "]/dnarflag", model.getValue(xNursingRecordListPath+"["+iRow+"]/dnarflag"));
  4337. // model.makeValue(xSignPath + "[" + iSignRow + "]/recoriginflag", model.getValue(xNursingRecordListPath+"["+iRow+"]/recoriginflag"));
  4338. // model.makeValue(xSignPath + "[" + iSignRow + "]/recdtflag", sRecDTInfo[0]);
  4339. // model.makeValue(xSignPath + "[" + iSignRow + "]/recdt", sRecDTInfo[1]);
  4340. // model.makeValue(xSignPath + "[" + iSignRow + "]/pid", sPid);
  4341. // model.makeValue(xSignPath + "[" + iSignRow + "]/indd", sIndd);
  4342. // model.makeValue(xSignPath + "[" + iSignRow + "]/cretno", sCretNo);
  4343. // model.makeValue(xSignPath + "[" + iSignRow + "]/instcd", sInstcd);
  4344. // model.makeValue(xSignPath + "[" + iSignRow + "]/ioflag", sIOFlag);
  4345. // model.makeValue(xSignPath + "[" + iSignRow + "]/orddeptcd", sOrdDeptCd);
  4346. // model.makeValue(xSignPath + "[" + iSignRow + "]/recflag", model.getValue(xNursingRecordListPath+"["+iRow+"]/recflag"));
  4347. // model.makeValue(xSignPath + "[" + iSignRow + "]/reclnkkey", model.getValue(xNursingRecordListPath+"["+iRow+"]/reclnkkey"));
  4348. // model.makeValue(xSignPath + "[" + iSignRow + "]/diagstmtcd", model.getValue(xNursingRecordListPath+"["+iRow+"]/diagstmtcd"));
  4349. // model.makeValue(xSignPath + "[" + iSignRow + "]/orddd", sOrddd);
  4350. //
  4351. // model.makeValue(xSignPath + "[" + iSignRow + "]/dnarnm", sDNARNm);
  4352. //
  4353. // model.makeValue(xSignPath + "[" + iSignRow + "]/usernm", getUserName());
  4354. // model.makeValue(xSignPath + "[" + iSignRow + "]/deptflagnm", model.getValue(xNursingRecordListPath+"["+iRow+"]/diagstmtnm"));
  4355. iSignRow++;
  4356. }
  4357. }
  4358. var selcount = grdf_getSelectedRows(group5.grd_carerecspec);
  4359. // 종료된 진술문을 Copy & Paste할 시에는 제어되도록 수정
  4360. if ( total == selcount.length ){
  4361. sysf_messageBox("종료된 진술문은 copy할 수 없습니다.","E");
  4362. return;
  4363. }else if ( total > 0 ){
  4364. sysf_messageBox("종료된 진술문을 제외한 진술문만 copy되었습니다.","I");
  4365. }
  4366. var ds_temp = dsf_createDsRow("ds_sign_data", [{col: "stmtcdlist", val:sStmtCDList }
  4367. ,{col: "dnarflaglist", val:sDNARFlagList }
  4368. ,{col: "carerecnolist", val:sCareRecNoList }
  4369. ,{col: "recdtflag", val:sRecDTInfo[0] }
  4370. ,{col: "recdt", val:sRecDTInfo[1] }
  4371. ,{col: "pid", val:sPid }
  4372. ,{col: "indd", val:sIndd }
  4373. ,{col: "cretno", val:sCretNo }
  4374. ,{col: "instcd", val:sInstcd }
  4375. ,{col: "ioflag", val:sIOFlag }
  4376. ,{col: "orddeptcd", val:sOrdDeptCd }
  4377. ,{col: "recflag", val:sRecFlag }
  4378. ,{col: "reclnkkey", val:sRecLnkKey }
  4379. ,{col: "orddd", val:sOrddd }]);
  4380. //model.setValue(xRecSrchCondPath+"/recusrid","%");
  4381. ds_cond_recsrch.setColumn(0,"recusrid","%");
  4382. //model.makeValue("/root/send/saveData",sSaveHeader+sSaveData);
  4383. var ds_temp1 = dsf_createDsRow("ds_sign_srchinfo", [{col: "pid", val:sPid }
  4384. ,{col: "indd", val:sIndd }
  4385. ,{col: "orddd", val:sOrddd }
  4386. ,{col: "cretno", val:sCretNo }
  4387. ,{col: "ioflag", val:sIOFlag }
  4388. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  4389. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  4390. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  4391. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  4392. ,{col: "recflag", val:sRecFlag }
  4393. ,{col: "reclnkkey", val:sRecLnkKey }
  4394. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  4395. ,{col: "recsrchflag", val:ds_cond_recsrch.getColumn(0,"recsrchflag") }
  4396. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }]);
  4397. //인증저장
  4398. var msg = sysf_messageBox('[ ' + group5.cmb_pid.text + ' ] 님의 간호일지 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  4399. if(Number(msg) == 6 && ds_sign_data.rowcount>0 ){//예
  4400. if (!fSign()) return;
  4401. frmf_setFocus();
  4402. dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
  4403. var oParam = {};
  4404. oParam.id = "TXMNR00702";
  4405. oParam.service = "carerecapp.NursingRecord";
  4406. oParam.method = "reqInsStmtListCopy";
  4407. oParam.inds = "srchinfo=ds_sign_srchinfo saveData=ds_sign_data signinfo=ds_temp_signdata tempUserInfo=ds_tempuserInfo";
  4408. oParam.outds = "ds_grid_grd_carerecspec=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist";
  4409. oParam.async = false;
  4410. oParam.callback = "cf_TXMNR00702";
  4411. tranf_submit(oParam);
  4412. ds_grid_grd_carerecspec.rowposition = 0;
  4413. ds_grid_grd_carerecspec.selectRow(0);
  4414. /*
  4415. tranf_submit({
  4416. id: "TXMNR00702"
  4417. , service: "carerecapp.NursingRecord"
  4418. , method: "reqInsStmtListCopy"
  4419. , inds: "srchinfo=ds_sign_srchinfo saveData=ds_sign_data signinfo=ds_temp_signdata"
  4420. , outds: "ds_grid_grd_carerecspec=nursingrecordlist ds_data_carediaglist=carediaglist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
  4421. , async: false
  4422. , callback: "cbk_TXMNR00702"
  4423. });
  4424. */
  4425. if(arErrorCode.pop("TXMNR00702") > -1){
  4426. ds_grid_grd_carerecspec.clearData();
  4427. ds_grid_grd_carediagspec.clearData();
  4428. fGridRowResize();
  4429. ///--간호기록내역 조회 시 데이터 없을 때 배경 초기화
  4430. /*
  4431. if(ds_grid_grd_carerecspec.rowcount == 0){
  4432. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  4433. group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  4434. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  4435. }
  4436. }
  4437. */
  4438. //
  4439. if(ds_grid_grd_carerecspec.rowcount>0 && !utlf_isNull(ds_grid_grd_carerecspec.getColumn(0,"stmtcd"))){
  4440. fSettingStmtStyle("nr");
  4441. //model.recalculate(); //jh 확인후 변환
  4442. }
  4443. if(ds_data_carediaglist.rowcount>0 ){
  4444. // model.makeNode(xCareDiagListPath);
  4445. // copyNodeset(xCareDiagListPath,"/root/hidden/recinfo/carediaglist");
  4446. // grd_carediagspec.rebuild();
  4447. // grd_carediagspec.resizeCells();
  4448. ds_grid_grd_carediagspec.copyData(ds_data_carediaglist);
  4449. ds_grid_grd_carediagspec.rowposition = -1;
  4450. }
  4451. if(ds_data_usersetlist.rowcount>0 ){
  4452. // model.removenodeset(xRecUsrSetListPath);
  4453. // model.makeNode(xRecUsrSetListPath);
  4454. // copyNodeset(xRecUsrSetListPath,"/root/hidden/recinfo/usersetlist");
  4455. // cmb_recusr.refresh();
  4456. }
  4457. fViewSign();
  4458. if( ds_cond_recsrch.getColumn(0,"sortseq") == "A"){
  4459. //grd_carerecspec.topRow = grd_carerecspec.rows;
  4460. // iRow = grd_carerecspec.rows-grd_carerecspec.fixedRows; // 2014-02-10 중복된 선언으로 인한 재선언
  4461. // grd_carerecspec.bottomRow = iRow;
  4462. //
  4463. // grd_carerecspec.select(iRow,1) = true;
  4464. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  4465. group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  4466. }
  4467. // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
  4468. if(eERFLAG == "Y"){
  4469. fgetSelectPid(group5.cmb_erpat);
  4470. }else{
  4471. //-------(20110228) 경북대
  4472. //alert("0");
  4473. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4474. fgetSelectPid(group5.cmb_mypat);
  4475. //alert("1");
  4476. //-------(20110228) 경북대
  4477. }
  4478. }else{
  4479. }
  4480. var nextyn = ds_cond_recsrch.getColumn(0,"nextyn");
  4481. if(nextyn == "Y") {
  4482. // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
  4483. if(eERFLAG == "Y"){
  4484. //fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
  4485. var sWardCD = ds_data_pamlist.getColumn(0,"wardcd");
  4486. var sRoomCD = ds_data_pamlist.getColumn(0,"roomcd");
  4487. var ds_temp2 = dsf_createDsRow("ds_temp", [{col: "wardcd", val:group5.cmb_wardcd.value }
  4488. ,{col: "roomcd", val:group5.cmb_roomcd.value }
  4489. ,{col: "zonecd", val:group5.cmb_zone.value }
  4490. ,{col: "recflag", val:eRECFLAG }
  4491. ,{col: "srchflag", val:"1" }]);
  4492. var ds_refCond1 = dsf_createDs("ds_refCond1");
  4493. var oParam = {};
  4494. oParam.id = "TRMNR01004";
  4495. oParam.service = "carerecapp.TnsCareRec";
  4496. oParam.method = "reqGetPatientList";
  4497. oParam.inds = "refCond="+ds_temp2+" refCond1="+ds_refCond1+"";
  4498. oParam.outds = "ds_data_patientgruplist=patientgruplist";
  4499. oParam.async = false;
  4500. tranf_submit(oParam);
  4501. /*
  4502. tranf_submit({
  4503. id: "TRMNR01004"
  4504. , service: "carerecapp.TnsCareRec"
  4505. , method: "reqGetPatientList"
  4506. , inds: "refCond="+ds_temp2
  4507. , outds: "ds_data_patientgruplist=patientgruplist"
  4508. , async: false
  4509. //, callback: "cbk_TRMNR08501"
  4510. });
  4511. */
  4512. fNextSelectErPat(group5.cmb_erpat);
  4513. //cmb_erpat.refresh();
  4514. }else{
  4515. //-------(20110228) 경북대
  4516. //alert("3");
  4517. //내환자 조회-간호일지용
  4518. //debugger;
  4519. if (!utlf_isNull(gcurrentpid)) {
  4520. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4521. fGetSettingPatientList_type1(); //--테스트완료 , XRW를 변경하면됨
  4522. //alert("4");
  4523. var posi = fgetSelectPidNext(); //jh 확인후 변환
  4524. //alert("5/"+ posi);
  4525. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4526. fsetSelectPidNext(group5.cmb_mypat,posi);
  4527. //alert("6");
  4528. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4529. // cmb_mypat.refresh();
  4530. }
  4531. }
  4532. } else {
  4533. if(eERFLAG == "Y"){
  4534. //fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
  4535. var sWardCD = ds_data_pamlist.getColumn(0,"wardcd");
  4536. var ds_temp2 = dsf_createDsRow("ds_temp", [{col: "wardcd", val:group5.cmb_wardcd.value }
  4537. ,{col: "roomcd", val:group5.cmb_roomcd.value }
  4538. ,{col: "zonecd", val:group5.cmb_zone.value }
  4539. ,{col: "recflag", val:eRECFLAG }
  4540. ,{col: "srchflag", val:"1" }]);
  4541. var ds_refCond1 = dsf_createDs("ds_refCond1");
  4542. var oParam = {};
  4543. oParam.id = "TRMNR01004";
  4544. oParam.service = "carerecapp.TnsCareRec";
  4545. oParam.method = "reqGetPatientList";
  4546. oParam.inds = "refCond="+ds_temp2+" refCond1="+ds_refCond1+"";
  4547. oParam.outds = "ds_data_patientgruplist=patientgruplist";
  4548. oParam.async = false;
  4549. tranf_submit(oParam);
  4550. fNextSelectErPat(group5.cmb_erpat);
  4551. } else {
  4552. if (!utlf_isNull(gcurrentpid)) {
  4553. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4554. fGetSettingPatientList_type1(); //--테스트완료 , XRW를 변경하면됨
  4555. var posi = fgetSelectPidNext(); //jh 확인후 변환
  4556. // 2012-01-17 SCHProject 박영우 내환자조회 제거
  4557. fsetSelectPidNext(group5.cmb_mypat, posi);
  4558. // cmb_mypat.refresh();
  4559. }
  4560. }
  4561. }
  4562. if(eERFLAG == "Y"){
  4563. group5.cmb_erpat.index = ds_data_patientgruplist.findRow("pid",ds_cond.getColumn(0,"pid"));
  4564. if(group5.cmb_erpat.index == -1 && ds_data_patientgruplist.rowcount > 0){
  4565. group5.cmb_erpat.index = 0;
  4566. }
  4567. if(group5.cmb_erpat.index == -1 && ds_data_patientgruplist.rowcount == 0){
  4568. }else{
  4569. group5_cmb_erpat_onitemchanged();
  4570. }
  4571. //group5_cmb_erpat_onitemchanged();
  4572. }
  4573. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  4574. }else {
  4575. return;
  4576. }
  4577. }
  4578. function cbk_TXMNR00702(sScvId, nErrorCode, sErrorMsg){
  4579. if(nErrorCode == 0){//성공하였을때
  4580. cbk_TXMNR00702_flag = 1;
  4581. }else{
  4582. sysf_messageBox(sErrorMsg, "E");
  4583. }
  4584. }
  4585. /**
  4586. * @group :
  4587. * @ver : 2007.05.15
  4588. * @by : 이은영
  4589. * @---------------------------------------------------
  4590. * @type : function
  4591. * @access : public
  4592. * @desc : 간호기록 수정
  4593. * @param :
  4594. * @return :
  4595. * @---------------------------------------------------
  4596. */
  4597. function fUpdtNursingRecord(){
  4598. //2019.05.21 추가 기록정정사유 추가
  4599. var rtnchk= fRecChangeCert();
  4600. if(!rtnchk){
  4601. return;
  4602. }
  4603. //end
  4604. var iRow = ds_grid_grd_carerecspec.rowposition;
  4605. if(iRow < 0) return;
  4606. //기록해야할 진술문들이 존재할경우 저장할려면 이후 진행을 blocking
  4607. //return false; //이후 진행 안함.
  4608. if( !fExistAddDNAR() ){
  4609. return;
  4610. }
  4611. if(ds_grid_grd_carerecspec.getColumn(iRow,"fstrgstrid") != sysf_getUserId()){
  4612. sysf_messageBox("다른 사람의 기록은 수정","E001");
  4613. return;
  4614. }
  4615. if(ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag") == "2N"){
  4616. sysf_messageBox( "간호진단은 수정","E001");
  4617. return;
  4618. }
  4619. var certchkflag;
  4620. //기록 수정시에 인증서 유효시간 반영
  4621. if( utlf_isNull(vsettime) ) {
  4622. certchkflag = "Y";
  4623. } else {
  4624. var res2 = utlf_getTimeInterval(vsettime, utlf_getCurrentTime(), 'hhmmss');
  4625. if(res2 > signtime* 60 || res2 < 0) {
  4626. certchkflag = "Y";
  4627. } else {
  4628. certchkflag = "N";
  4629. }
  4630. }
  4631. var sParam_Header = "recdd▦rectm▦dnarflag▦stmtspec▦fstrgstrnm▦signno▦recverno▦stmtcd▦origincd▦recoriginflag▦carerecno▦dnarnm▦deptflagnm▦certchkflag▩";
  4632. var sParam_Data = ds_grid_grd_carerecspec.getColumn(iRow,"recdd")+"▦"
  4633. + ds_grid_grd_carerecspec.getColumn(iRow,"rectm")+"▦"
  4634. + ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag")+"▦"
  4635. + ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec")+"▦"
  4636. + sysf_getUserName()+"▦"
  4637. + ds_grid_grd_carerecspec.getColumn(iRow,"signno")+"▦"
  4638. + ds_grid_grd_carerecspec.getColumn(iRow,"recverno")+"▦"
  4639. + ds_grid_grd_carerecspec.getColumn(iRow,"stmtcd")+"▦"
  4640. + ds_grid_grd_carerecspec.getColumn(iRow,"origincd")+"▦"
  4641. + ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag")+"▦"
  4642. + ds_grid_grd_carerecspec.getColumn(iRow,"carerecno")+"▦"
  4643. + group5.grd_carerecspec.getCellText(iRow,group5.grd_carerecspec.getBindCellIndex("body", "dnar"))+"▦"
  4644. + ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm")+"▦"
  4645. + certchkflag+"▩";
  4646. frmf_setParameter("SMMNR02800_Param",sParam_Header+sParam_Data);
  4647. frmf_modal("SMMNR02800","SMMNR02800","","","","","","","","","","","M");
  4648. if(frmf_getParameter("SMMNR02800_ReturnFlag") == "Y"){
  4649. vsettime = frmf_getParameter("SMMNR02800_vsettime");
  4650. //model.setValue(xRecSrchCondPath+"/recusrid", "%");//기록자 조회 전체
  4651. ds_cond_recsrch.setColumn(0,"recusrid","%");
  4652. fv_nRowPos = ds_grid_grd_carerecspec.rowposition;
  4653. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  4654. }
  4655. // grd_carerecspec.bottomRow = iRow;
  4656. // grd_carerecspec.select(iRow,1) = true;
  4657. //group5.grd_carerecspec.vscrollbar.pos = iRow;
  4658. //ds_grid_grd_carerecspec.rowposition = iRow;
  4659. }
  4660. /**
  4661. * @group :
  4662. * @ver : 2007.05.15
  4663. * @by : 이은영
  4664. * @---------------------------------------------------
  4665. * @type : function
  4666. * @access : public
  4667. * @desc : 선택진술문 삭제
  4668. * @param :
  4669. * @return :
  4670. * @---------------------------------------------------
  4671. */
  4672. function fDelNewNursingRecord(){
  4673. ds_grid_grd_carerecspec.deleteSelectedRows();
  4674. }
  4675. /**
  4676. * @group :
  4677. * @ver : 2007.05.15
  4678. * @by : 이은영
  4679. * @---------------------------------------------------
  4680. * @type : function
  4681. * @access : public
  4682. * @desc : 간호기록 삭제
  4683. * @param :
  4684. * @return :
  4685. * @---------------------------------------------------
  4686. */
  4687. function fDelNursingRecord(){
  4688. //2019.05.21 추가 기록정정사유 추가
  4689. var rtnchk= fRecChangeCert();
  4690. if(!rtnchk){
  4691. return;
  4692. }
  4693. //end
  4694. //var iRow = grd_carerecspec.row;
  4695. var selectRows = ds_grid_grd_carerecspec.rowcount;
  4696. var sNotSave = "";
  4697. var sSaveData = "";
  4698. var iSignRow = 0;
  4699. var sDNARFlag = "";
  4700. var sDNARNm = "";
  4701. if(selectRows < 1) return;
  4702. if(utlf_isNull(sPid)){
  4703. sysf_messageBox("환자를 먼저","C002");
  4704. return;
  4705. }
  4706. //기록해야할 진술문들이 존재할경우 저장할려면 이후 진행을 blocking
  4707. //return false; //이후 진행 안함.
  4708. if( !fExistAddDNAR() ){
  4709. return;
  4710. }
  4711. // 저장데이터
  4712. //var sSaveHeader = "status▦carerecno▦pid▦indd▦orddd▦cretno▦instcd▦recdt▦signno▩";
  4713. dsf_createDs("ds_temp_sign", [{col: "status", type:"string" }
  4714. ,{col: "carerecno", type:"string"}
  4715. ,{col: "pid", type:"string"}
  4716. ,{col: "indd", type:"string"}
  4717. ,{col: "orddd", type:"string"}
  4718. ,{col: "cretno", type:"string"}
  4719. ,{col: "instcd", type:"string"}
  4720. ,{col: "recdt", type:"string"}
  4721. ,{col: "signno", type:"string"}]);
  4722. dsf_createDs("ds_sign_savedata", [{col: "stmtspec", type:"string" }
  4723. ,{col: "status", type:"string" }
  4724. ,{col: "origincd", type:"string" }
  4725. ,{col: "stmtcd", type:"string" }
  4726. ,{col: "dnarflag", type:"string" }
  4727. ,{col: "recoriginflag", type:"string" }
  4728. ,{col: "recdt", type:"string" }
  4729. ,{col: "pid", type:"string" }
  4730. ,{col: "indd", type:"string" }
  4731. ,{col: "cretno", type:"string" }
  4732. ,{col: "instcd", type:"string" }
  4733. ,{col: "ioflag", type:"string" }
  4734. ,{col: "orddeptcd", type:"string" }
  4735. ,{col: "recflag", type:"string" }
  4736. ,{col: "reclnkkey", type:"string" }
  4737. ,{col: "diagstmtcd", type:"string" }
  4738. ,{col: "orddd", type:"string" }
  4739. ,{col: "dnarnm", type:"string" }
  4740. ,{col: "usernm", type:"string" }
  4741. ,{col: "deptflagnm", type:"string" }
  4742. ,{col: "diagstmtnm", type:"string" }]);
  4743. for( var iRow = 0; iRow < selectRows ; iRow++ ){
  4744. if(ds_grid_grd_carerecspec.getSelect(iRow) == true){
  4745. if(ds_grid_grd_carerecspec.getColumn(iRow,"fstrgstrid") != sysf_getUserId()){
  4746. sNotSave += "["+ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec")+"]\n";
  4747. continue;
  4748. }else if ( ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag") != 'T'){
  4749. sRecDate = ds_grid_grd_carerecspec.getColumn(iRow,"recdd")
  4750. + ds_grid_grd_carerecspec.getColumn(iRow,"rectm")+"00";
  4751. ds_temp_sign.addRow();
  4752. ds_temp_sign.setColumn(iSignRow,"status","D");
  4753. ds_temp_sign.setColumn(iSignRow,"carerecno",ds_grid_grd_carerecspec.getColumn(iRow,"carerecno"));
  4754. ds_temp_sign.setColumn(iSignRow,"pid",sPid);
  4755. ds_temp_sign.setColumn(iSignRow,"indd",sIndd);
  4756. ds_temp_sign.setColumn(iSignRow,"orddd",sOrddd);
  4757. ds_temp_sign.setColumn(iSignRow,"cretno",sCretNo);
  4758. ds_temp_sign.setColumn(iSignRow,"instcd",sInstcd);
  4759. ds_temp_sign.setColumn(iSignRow,"recdt",sRecDate);
  4760. ds_temp_sign.setColumn(iSignRow,"signno",ds_grid_grd_carerecspec.getColumn(iRow,"signno"));
  4761. sDNARFlag = "";
  4762. sDNARNm = "";
  4763. sDiagStmtCd = ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd");
  4764. if (!utlf_isNull(sDiagStmtCd)){
  4765. sDNARFlag = ds_grid_grd_carerecspec.getColumn(iRow,"dnar");
  4766. ds_init_dnarflagnurs.filter("itemcd=='"+sDNARFlag+"'");
  4767. sDNARNm = ds_init_dnarflagnurs.getColumn(0,"itemnm");
  4768. ds_init_dnarflagnurs.filter("");
  4769. }
  4770. if( ds_grid_grd_carerecspec.getColumn(iRow,"recdtflag") == "U"){
  4771. sRecDate = ds_grid_grd_carerecspec.getColumn(iRow,"recdt");
  4772. } else {
  4773. sRecDate = utlf_getCurrentDate() + utlf_getCurrentTime();
  4774. }
  4775. ds_sign_savedata.addRow();
  4776. ds_sign_savedata.setColumn(iSignRow,"stmtspec",ds_grid_grd_carerecspec.getColumn(iRow,"stmtspec"));
  4777. ds_sign_savedata.setColumn(iSignRow,"status","D");
  4778. ds_sign_savedata.setColumn(iSignRow,"origincd",ds_grid_grd_carerecspec.getColumn(iRow,"origincd"));
  4779. ds_sign_savedata.setColumn(iSignRow,"stmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"stmtcd"));
  4780. ds_sign_savedata.setColumn(iSignRow,"dnarflag",ds_grid_grd_carerecspec.getColumn(iRow,"dnarflag"));
  4781. ds_sign_savedata.setColumn(iSignRow,"recoriginflag",ds_grid_grd_carerecspec.getColumn(iRow,"recoriginflag"));
  4782. ds_sign_savedata.setColumn(iSignRow,"recdt",sRecDate);
  4783. ds_sign_savedata.setColumn(iSignRow,"pid",sPid);
  4784. ds_sign_savedata.setColumn(iSignRow,"indd",sIndd);
  4785. ds_sign_savedata.setColumn(iSignRow,"cretno",sCretNo);
  4786. ds_sign_savedata.setColumn(iSignRow,"instcd",sInstcd);
  4787. ds_sign_savedata.setColumn(iSignRow,"ioflag",sIOFlag);
  4788. ds_sign_savedata.setColumn(iSignRow,"orddeptcd",sOrdDeptCd);
  4789. ds_sign_savedata.setColumn(iSignRow,"recflag",ds_grid_grd_carerecspec.getColumn(iRow,"recflag"));
  4790. ds_sign_savedata.setColumn(iSignRow,"reclnkkey",ds_grid_grd_carerecspec.getColumn(iRow,"reclnkkey"));
  4791. ds_sign_savedata.setColumn(iSignRow,"diagstmtcd",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtcd"));
  4792. ds_sign_savedata.setColumn(iSignRow,"orddd",sOrddd);
  4793. ds_sign_savedata.setColumn(iSignRow,"dnarnm",sDNARNm);
  4794. ds_sign_savedata.setColumn(iSignRow,"usernm",ds_grid_grd_carerecspec.getColumn(iRow,"fstrgstrnm"));
  4795. ds_sign_savedata.setColumn(iSignRow,"deptflagnm",ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm"));
  4796. //과거이력
  4797. ds_sign_savedata.setColumn(iSignRow,"diagstmtnm",utlf_transNullToEmpty(ds_grid_grd_carerecspec.getColumn(iRow,"recverno")) +" "+ utlf_transNullToEmpty(ds_grid_grd_carerecspec.getColumn(iRow,"diagstmtnm")));
  4798. iSignRow++;
  4799. }
  4800. }
  4801. }
  4802. // 조회 데이터
  4803. var ds_temp = dsf_createDsRow("ds_sign_srchinfo", [{col: "pid", val:sPid }
  4804. ,{col: "indd", val:sIndd }
  4805. ,{col: "orddd", val:sOrddd }
  4806. ,{col: "cretno", val:sCretNo }
  4807. ,{col: "ioflag", val:sIOFlag }
  4808. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  4809. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  4810. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  4811. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  4812. ,{col: "recflag", val:sRecFlag }
  4813. ,{col: "reclnkkey", val:sRecLnkKey }
  4814. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  4815. ,{col: "recsrchflag", val:ds_cond_recsrch.getColumn(0,"recsrchflag") }
  4816. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }]);
  4817. //인증저장
  4818. var msg = sysf_messageBox('[ ' + group5.cmb_pid.text + ' ] 님의 간호일지 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  4819. if(Number(msg) == 6 && ds_temp_sign.rowcount>0){//예
  4820. if (!fSign()) return;
  4821. frmf_setFocus();
  4822. //ds_temp_signSaveData.copyRow(1,ds_temp_signSaveData,0);
  4823. dsf_makeValue(ds_temp_signSaveData, "hisgubun", "string", "");
  4824. for(var hisprechk =0; hisprechk< ds_temp_signSaveData.rowcount; hisprechk ++){
  4825. ds_temp_signSaveData.setColumn(hisprechk,"hisgubun","삭제");
  4826. }
  4827. ds_temp_signSaveData_his.copyData(ds_temp_signSaveData);
  4828. /*
  4829. var selectedRowValueChk = 0;
  4830. trace("=========================== :" + selectedRows.length);
  4831. for(var hispafchk =0; hispafchk< ds_temp_signSaveData_his.rowcount; hispafchk ++){
  4832. for (var i = 0; i < selectedRows.length; i++) {
  4833. //trace("+++++++++++++++++++++++++++ :" + i);
  4834. //trace("--------------------------- :" + selectedRows[i]);
  4835. if(selectedRows[i] > selectedRowValueChk){
  4836. ds_temp_signSaveData_his.setColumn(hispafchk,"recdt",ds_grid_grd_carerecspec.getColumn(selectedRows[i],"recdd") +
  4837. ds_grid_grd_carerecspec.getColumn(selectedRows[i],"rectm") +"00");
  4838. ds_temp_signSaveData_his.setColumn(hispafchk,"hisgubun","전");
  4839. }
  4840. selectedRowValueChk = selectedRows[i];
  4841. }
  4842. }
  4843. */
  4844. /*
  4845. var selectedRows = grdf_getSelectedRows(group5.grd_carerecspec);
  4846. for (var hispafchk = 0; hispafchk < selectedRows.length; hispafchk++) {
  4847. ds_temp_signSaveData_his.setColumn(hispafchk,"recdt",ds_grid_grd_carerecspec.getColumn(selectedRows[hispafchk],"recdd") +
  4848. ds_grid_grd_carerecspec.getColumn(selectedRows[hispafchk],"rectm") +"00");
  4849. ds_temp_signSaveData_his.setColumn(hispafchk,"hisgubun","삭제전");
  4850. }
  4851. */
  4852. //ds_temp_signSaveData.appendData(ds_temp_signSaveData_his);
  4853. fSignHis();
  4854. dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
  4855. var oParam = {};
  4856. oParam.id = "TXMNR00703";
  4857. oParam.service = "carerecapp.NursingRecord";
  4858. oParam.method = "reqExeStmtList";
  4859. oParam.inds = "srchinfo=ds_sign_srchinfo saveData=ds_temp_sign signinfo=ds_temp_signdata tempUserInfo=ds_tempuserInfo signinfohis=ds_temp_signSaveDataHis";
  4860. oParam.outds = "ds_grid_grd_carerecspec=nursingrecordlist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist";
  4861. oParam.async = false;
  4862. oParam.callback = "cf_TXMNR00703";
  4863. tranf_submit(oParam);
  4864. ds_grid_grd_carerecspec.rowposition = 0;
  4865. ds_grid_grd_carerecspec.selectRow(0);
  4866. /*
  4867. tranf_submit({
  4868. id: "TXMNR00703"
  4869. , service: "carerecapp.NursingRecord"
  4870. , method: "reqExeStmtList"
  4871. , inds: "srchinfo=ds_sign_srchinfo saveData=ds_temp_sign signinfo=ds_temp_signdata"
  4872. , outds: "ds_grid_grd_carerecspec=nursingrecordlist ds_data_usersetlist=usersetlist ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
  4873. , async: false
  4874. , callback: "cbk_TXMNR00703"
  4875. });
  4876. */
  4877. if(arErrorCode.pop("TXMNR00703") > -1){
  4878. ds_grid_grd_carerecspec.addColumn("recdd_vw", "string");
  4879. ds_grid_grd_carerecspec.addColumn("rectm_vw", "string");
  4880. ds_data_totnursingrecordlist.addColumn("usernm", "string");
  4881. for(var i =0; i< ds_grid_grd_carerecspec.rowcount; i++ ){
  4882. ds_grid_grd_carerecspec.setColumn(i, "recdd_vw", ds_grid_grd_carerecspec.getColumn(i,"recdd"));
  4883. ds_grid_grd_carerecspec.setColumn(i, "rectm_vw", ds_grid_grd_carerecspec.getColumn(i,"rectm"));
  4884. }
  4885. for(var i =0; i< ds_data_totnursingrecordlist.rowcount; i++ ){
  4886. ds_data_totnursingrecordlist.setColumn(i, "usernm", ds_data_totnursingrecordlist.getColumn(i,"fstrgstrnm"));
  4887. }
  4888. //cbk_TXMNR00703_flag = 0;
  4889. //ds_grid_grd_carerecspec.clearData();
  4890. fGridRowResize();
  4891. if ( !utlf_isNull(sNotSave)){
  4892. sysf_messageBox("다른 사람이 기록한 "+sNotSave+" 삭제","E001");
  4893. }
  4894. ///--간호기록내역 조회 시 데이터 없을 때 배경 초기화
  4895. /*
  4896. if(ds_grid_grd_carerecspec.rowcount == 0){
  4897. for(var i=0; i< group5.grd_carerecspec.getCellCount("body");i++){
  4898. group5.grd_carerecspec.setCellProperty("body", i, "background" , "#FFFFFFFF");
  4899. group5.grd_carerecspec.setCellProperty("body", i, "background2" , "#FFFFFFFF");
  4900. }
  4901. }
  4902. */
  4903. //
  4904. // 환자 간호기록 내역
  4905. if(ds_grid_grd_carerecspec.rowcount>0 &&
  4906. !utlf_isNull(ds_grid_grd_carerecspec.getColumn(0,"stmtcd"))){
  4907. fSettingStmtStyle("nr");
  4908. //model.recalculate();
  4909. }
  4910. fViewSign();
  4911. if( ds_cond_recsrch.getColumn(0,"sortseq") == "A"){
  4912. //grd_carerecspec.topRow = grd_carerecspec.rows;
  4913. // var iRow2 = grd_carerecspec.rows-grd_carerecspec.fixedRows;
  4914. // grd_carerecspec.bottomRow = iRow2;
  4915. //
  4916. // grd_carerecspec.select(iRow2,1) = true;
  4917. //ds_grid_grd_carerecspec.selectRow(ds_grid_grd_carerecspec.rowcount - 1, true);
  4918. group5.grd_carerecspec.vscrollbar.pos = group5.grd_carerecspec.vscrollbar.max;
  4919. }
  4920. }
  4921. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  4922. }else {
  4923. if ( !utlf_isNull(sNotSave)){
  4924. sysf_messageBox("다른 사람이 기록한 "+sNotSave+" 삭제","E001");
  4925. }
  4926. return;
  4927. }
  4928. //fChngGridBackColor();
  4929. }
  4930. function cbk_TXMNR00703(sScvId, nErrorCode, sErrorMsg){
  4931. if(nErrorCode == 0){//성공하였을때
  4932. cbk_TXMNR00703_flag = 1;
  4933. }else{
  4934. sysf_messageBox(sErrorMsg, "E");
  4935. }
  4936. }
  4937. /**
  4938. * @group :
  4939. * @ver : 2010.04.26
  4940. * @by : khj
  4941. * @---------------------------------------------------
  4942. * @type : function
  4943. * @access : public
  4944. * @desc : 간호진단 삭제 가능여부 체크
  4945. * @param :
  4946. * @return :
  4947. * @---------------------------------------------------
  4948. */
  4949. function fDelCheck(){
  4950. var iRow = ds_grid_grd_carediagspec.rowposition;
  4951. var sRecInfo = "";
  4952. if( ds_grid_grd_carediagspec.getColumn(iRow,"fstrgstrid") != sysf_getUserId() ){
  4953. sysf_messageBox("다른 사람이 기록한 간호진단이나 진술문이 존재하여 간호진단을 삭제할 수 ","I004");//없습니다.
  4954. return false;
  4955. }
  4956. var ds_temp = dsf_createDsRow("ds_temp", [{col: "pid", val:sPid }
  4957. ,{col: "indd", val:sIndd }
  4958. ,{col: "orddd", val:sOrddd }
  4959. ,{col: "cretno", val:sCretNo }
  4960. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  4961. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  4962. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  4963. ,{col: "carerecno", val:ds_grid_grd_carediagspec.getColumn(iRow,"carerecno") }]);
  4964. /*
  4965. tranf_submit({
  4966. id: "TRMNR00709"
  4967. , service: "carerecapp.NursingRecord"
  4968. , method: "reqGetCareDiagList"
  4969. , inds: "srchinfo="+ds_temp
  4970. , outds: "ds_data_hidden_carediaglist=carediaglist"
  4971. , async: false
  4972. , callback: "cbk_TRMNR00709"
  4973. });
  4974. */
  4975. var oParam = {};
  4976. oParam.id = "TRMNR00709";
  4977. oParam.service = "carerecapp.NursingRecord";
  4978. oParam.method = "reqGetCareDiagList";
  4979. oParam.inds = "srchinfo="+ds_temp+"";
  4980. oParam.outds = "ds_data_hidden_carediaglist=carediaglist";
  4981. oParam.async = false;
  4982. oParam.callback = "cf_TRMNR00709";
  4983. tranf_submit(oParam);
  4984. if(arErrorCode.pop("TRMNR00709") > -1){
  4985. //cbk_TRMNR00709_flag = 0;
  4986. if ( ds_data_hidden_carediaglist.rowcount < 1 || ds_data_hidden_carediaglist.getColumn(0,"anotherstmtexistsyn") == "Y" ){
  4987. sysf_messageBox("다른 사람이 기록한 간호진단이나 진술문이 존재하여 간호진단을 삭제할 수 ","I004");//없습니다.
  4988. return false;
  4989. }else if (ds_data_hidden_carediaglist.rowcount > 0
  4990. && ds_data_hidden_carediaglist.getColumn(0,"anotherstmtexistsyn") == "N"
  4991. && ds_data_hidden_carediaglist.getColumn(0,"stmtexistsyn") == "Y" ){
  4992. // 내가 기록한 간호진단이고 나만 기록한 진술문이 존재시 나의진술문 삭제 팝업
  4993. // 팝업에서는 모든 진술문 삭제시 진단 삭제여부 확인, 일부진술문만 삭제시 진단 삭제못하도록 막음.
  4994. sRecInfo += ds_grid_grd_carediagspec.getColumn(iRow,"stmtcd")+"^"
  4995. + ds_grid_grd_carediagspec.getColumn(iRow,"origincd")+"^"
  4996. + ds_grid_grd_carediagspec.getColumn(iRow,"recverno")+"^"
  4997. + ds_grid_grd_carediagspec.getColumn(iRow,"recverno") + " " + ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts")+"|";
  4998. var sPamInfo = sPid +"^"
  4999. + sIndd +"^"
  5000. + sCretNo +"^"
  5001. + "I^"
  5002. + sOrdDeptCd + "^"
  5003. + sOrdDrId + "^";
  5004. frmf_setParameter("SPMNR00710_diaginfo", sRecInfo);
  5005. frmf_setParameter("SPMNR00710_paminfo", sPamInfo);
  5006. frmf_modal("SPMNR00710","SPMNR00710","","","","","","","","","","","M");
  5007. if( frmf_getParameter("SPMNR00710_rtn_delyn") == "Y" ){
  5008. frmf_setParameter("SPMNR00710_rtn_delyn","");
  5009. frmf_setParameter("certrecyn","Y");
  5010. return true;
  5011. } else {
  5012. group5.ipt_allyn.value = "";
  5013. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  5014. return false;
  5015. }
  5016. }else{
  5017. var sRtnMsg = sysf_messageBox( " 간호 진단 [" + ds_grid_grd_carediagspec.getColumn(iRow,"recverno") + " "
  5018. + ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts")
  5019. + "] 은 \n\n 진술문이 등록되어있지 않은 간호진단입니다. \n\n","Q001");
  5020. if(sRtnMsg == 6){
  5021. frmf_setParameter("certrecyn","Y");
  5022. return true;
  5023. }else {
  5024. return false;
  5025. }
  5026. }
  5027. } else {
  5028. return false;
  5029. }
  5030. return false;
  5031. }
  5032. function cbk_TRMNR00709(sScvId, nErrorCode, sErrorMsg){
  5033. if(nErrorCode == 0){//성공하였을때
  5034. cbk_TRMNR00709_flag = 1;
  5035. }else{
  5036. sysf_messageBox(sErrorMsg, "E");
  5037. }
  5038. }
  5039. /**
  5040. * @group :
  5041. * @ver : 2010.04.26
  5042. * @by : khj
  5043. * @---------------------------------------------------
  5044. * @type : function
  5045. * @access : public
  5046. * @desc : 간호진단 삭제
  5047. * @param :
  5048. * @return :
  5049. * @---------------------------------------------------
  5050. */
  5051. function fDelNursDiag(){
  5052. var iRow = ds_grid_grd_carediagspec.rowposition;
  5053. if(utlf_isNull(sPid)){
  5054. sysf_messageBox("환자를 먼저","C002");
  5055. return;
  5056. }
  5057. if ( !fDelCheck() ){
  5058. return;
  5059. }
  5060. dsf_createDsRow("ds_temp", [{col: "saveflag", val:"Del" }
  5061. ,{col: "stmtcd", val:ds_grid_grd_carediagspec.getColumn(iRow,"stmtcd") }
  5062. ,{col: "origincd", val:ds_grid_grd_carediagspec.getColumn(iRow,"origincd") }
  5063. ,{col: "fromdt", val:ds_grid_grd_carediagspec.getColumn(iRow,"fromdt") }
  5064. ,{col: "todt", val:utlf_getCurrentDate()+ utlf_getCurrentTime() }
  5065. ,{col: "pid", val:sPid }
  5066. ,{col: "carerecno", val:ds_grid_grd_carediagspec.getColumn(iRow,"carerecno") }
  5067. ,{col: "instcd", val:sInstcd }
  5068. ,{col: "pretodt", val:ds_grid_grd_carediagspec.getColumn(iRow,"pretodt") }
  5069. ,{col: "indd", val:sIndd }
  5070. ,{col: "orddd", val:sOrddd }
  5071. ,{col: "cretno", val:sCretNo }
  5072. ,{col: "recdt", val:ds_grid_grd_carediagspec.getColumn(iRow,"recdt") }]);
  5073. dsf_createDsRow("ds_temp1", [{col: "pid", val:sPid }
  5074. ,{col: "indd", val:sIndd }
  5075. ,{col: "orddd", val:sOrddd }
  5076. ,{col: "cretno", val:sCretNo }
  5077. ,{col: "ioflag", val:sIOFlag }
  5078. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  5079. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  5080. ,{col: "dnarflag", val:ds_cond_recsrch.getColumn(0,"dnarflag") }
  5081. ,{col: "sortseq", val:ds_cond_recsrch.getColumn(0,"sortseq") }
  5082. ,{col: "recflag", val:sRecFlag }
  5083. ,{col: "reclnkkey", val:sRecLnkKey }
  5084. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  5085. ,{col: "recsrchflag", val:ds_cond_recsrch.getColumn(0,"recsrchflag") }
  5086. ,{col: "recusrid", val:ds_cond_recsrch.getColumn(0,"recusrid") }]);
  5087. dsf_createDsRow("ds_temp_signSaveData", [{col: "stmtspec", val:ds_grid_grd_carediagspec.getColumn(iRow,"recverno")+' '+ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts") }
  5088. ,{col: "status", val:'D' }
  5089. ,{col: "recdt", val:ds_grid_grd_carediagspec.getColumn(iRow,"fromdt") }
  5090. ,{col: "usernm", val:sysf_getUserName() }
  5091. ,{col: "deptflagnm", val:ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts") }
  5092. ,{col: "dnarnm", val:'N' }]);
  5093. var certrecyn = frmf_getParameter("certrecyn");
  5094. frmf_setParameter("certrecyn","");
  5095. var msg = 0;
  5096. if ( certrecyn != "Y" ){
  5097. msg = sysf_messageBox('간호 진단 ['
  5098. +ds_grid_grd_carediagspec.getColumn(iRow,"recverno")+' '
  5099. +ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts")+'] 삭제 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  5100. } else {
  5101. msg = 6;//진술문이 모두 삭제되어 인증저장여부를 이미 물어봄.
  5102. }
  5103. if(Number(msg) == 6){//예
  5104. if (!fSign()) return;
  5105. dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
  5106. var oParam = {};
  5107. oParam.id = "TXMNR00704";
  5108. oParam.service = "carerecapp.NursingRecord";
  5109. oParam.method = "reqExeCareDiagList";
  5110. oParam.inds = "srchinfo=ds_temp1 savedata=ds_temp signinfo=ds_temp_signdata tempUserInfo=ds_tempuserInfo";
  5111. oParam.outds = "ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist";
  5112. oParam.async = false;
  5113. oParam.callback = "cf_TXMNR00704";
  5114. tranf_submit(oParam);
  5115. /*
  5116. tranf_submit({
  5117. id: "TXMNR00706"
  5118. , service: "carerecapp.NursingRecord"
  5119. , method: "reqExeCareDiagList"
  5120. , inds: "savedata=ds_temp srchinfo=ds_temp1 signinfo=ds_temp_signdata"
  5121. , outds: "ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
  5122. , async: false
  5123. , callback: "cbk_TXMNR00706"
  5124. });
  5125. */
  5126. if(arErrorCode.pop("TXMNR00704") > -1){
  5127. fViewSign();
  5128. group5.ipt_allyn.value = "";
  5129. fSearchRecInfo(ds_cond_recsrch.getColumn(0,"recsrchflag"));
  5130. }
  5131. }else {
  5132. return;
  5133. }
  5134. }
  5135. function cbk_TXMNR00706(sScvId, nErrorCode, sErrorMsg){
  5136. if(nErrorCode == 0){//성공하였을때
  5137. cbk_TXMNR00706_flag = 1;
  5138. }else{
  5139. sysf_messageBox(sErrorMsg, "E");
  5140. }
  5141. }
  5142. /**
  5143. * @group :
  5144. * @ver : 2007.05.15
  5145. * @by : 이은영
  5146. * @---------------------------------------------------
  5147. * @type : function
  5148. * @access : public
  5149. * @desc : 간호진단 종료
  5150. * @param :
  5151. * @return :
  5152. * @---------------------------------------------------
  5153. */
  5154. function fEndNursDiag(){
  5155. var iRow = ds_grid_grd_carediagspec.rowposition;
  5156. if(!utlf_isNull(ds_grid_grd_carediagspec.getColumn(iRow,"todt"))){
  5157. sysf_messageBox("이미 종료된 진단","E008");
  5158. return;
  5159. }
  5160. if(utlf_isNull(sPid)){
  5161. sysf_messageBox("환자를 먼저","C002");
  5162. return;
  5163. }
  5164. var ds_temp = dsf_createDsRow("ds_temp", [{col: "saveflag", val:"End" }
  5165. ,{col: "stmtcd", val:ds_grid_grd_carediagspec.getColumn(iRow,"stmtcd") }
  5166. ,{col: "origincd", val:ds_grid_grd_carediagspec.getColumn(iRow,"origincd") }
  5167. ,{col: "fromdt", val:ds_grid_grd_carediagspec.getColumn(iRow,"fromdt") }
  5168. ,{col: "todt", val:utlf_getCurrentDate()+utlf_getCurrentTime() }
  5169. ,{col: "pid", val:sPid }
  5170. ,{col: "carerecno", val:ds_grid_grd_carediagspec.getColumn(iRow,"carerecno") }
  5171. ,{col: "instcd", val:sInstcd }
  5172. ,{col: "pretodt", val:ds_grid_grd_carediagspec.getColumn(iRow,"pretodt") }]);
  5173. var ds_temp1 = dsf_createDsRow("ds_temp1",[{col: "pid", val:sPid }
  5174. ,{col: "indd", val:sIndd }
  5175. ,{col: "orddd", val:sOrddd }
  5176. ,{col: "cretno", val:sCretNo }
  5177. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  5178. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  5179. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  5180. ,{col: "instcd", val:sInstcd }]);
  5181. var oParam = {};
  5182. oParam.id = "TXMNR00704";
  5183. oParam.service = "carerecapp.NursingRecord";
  5184. oParam.method = "reqExeCareDiagList";
  5185. oParam.inds = "srchinfo="+ds_temp1+" savedata="+ds_temp+"";
  5186. oParam.outds = "ds_grid_grd_carediagspec=carediaglist";
  5187. oParam.async = false;
  5188. oParam.callback = "cf_TXMNR00704";
  5189. tranf_submit(oParam);
  5190. ds_grid_grd_carediagspec.rowposition = -1;
  5191. if(arErrorCode.pop("TXMNR00704") > -1){
  5192. //fChngGridBackColor();
  5193. //cbk_TXMNR00704_flag = 0;
  5194. }
  5195. }
  5196. /**
  5197. * @group :
  5198. * @ver : 2007.05.15
  5199. * @by : 이은영
  5200. * @---------------------------------------------------
  5201. * @type : function
  5202. * @access : public
  5203. * @desc : 간호진단 종료 취소not use
  5204. * @param :
  5205. * @return :
  5206. * @---------------------------------------------------
  5207. */
  5208. function fCnclNursDiag(){
  5209. var iRow = grd_carediagspec.row;
  5210. if(model.getValue(xCareDiagListPath+"["+iRow+"]/todt") == ""){
  5211. messageBox("현재 종료되지 않은 진단","E008");
  5212. return;
  5213. }
  5214. if(sPid == ""){
  5215. messageBox("환자를 먼저","C002");
  5216. return;
  5217. }
  5218. var sSaveHeader = "saveflag▦stmtcd▦origincd▦fromdt▦todt▦pid▦carerecno▦instcd▦pretodt▩";
  5219. var sSaveData = "U▦"
  5220. + model.getValue(xCareDiagListPath+"["+iRow+"]/stmtcd") +"▦"
  5221. + model.getValue(xCareDiagListPath+"["+iRow+"]/origincd") +"▦"
  5222. + model.getValue(xCareDiagListPath+"["+iRow+"]/fromdt") +"▦"
  5223. + "99991231235959▦"
  5224. + sPid +"▦"
  5225. + model.getValue(xCareDiagListPath+"["+iRow+"]/carerecno") +"▦"
  5226. + sInstcd +"▦"
  5227. + model.getValue(xCareDiagListPath+"["+iRow+"]/pretodt") +"▩";
  5228. // model.removeNode("/root/main/signSaveData");
  5229. // model.makeNode(xSignDiagPath);
  5230. // model.makeValue(xSignDiagPath+"/stmtspec", model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/stmtspec"));
  5231. // model.makeValue(xSignDiagPath+"/status", "진단종료취소");
  5232. // model.makeValue(xSignDiagPath+"/recdt", model.getValue(xCareDiagListPath+"["+iRow+"]/fromdt"));
  5233. // model.makeValue(xSignDiagPath+"/todt", "99991231235959");
  5234. // model.makeValue(xSignDiagPath+"/usernm", model.getValue(xNursingRecordListPath+"["+ iStmtRow +"]/fstrgstrnm"));
  5235. model.removenode("/root/send");
  5236. model.makeValue("/root/send/savedata",sSaveHeader+sSaveData);
  5237. var sSrchHeader = "pid▦indd▦orddd▦cretno▦fromdd▦todd▦carediagflag▦instcd▩";
  5238. var sSrchData = sPid+"▦"
  5239. +sIndd+"▦"
  5240. +sOrddd+"▦"
  5241. +sCretNo+"▦"
  5242. +model.getValue(xRecSrchCondPath+"/fromdd")+"▦"
  5243. +model.getValue(xRecSrchCondPath+"/todd")+"▦"
  5244. +model.getValue(xRecSrchCondPath+"/carediagflag")+"▦"
  5245. +sInstcd+"▩";
  5246. model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  5247. if(submit("TXMNR00704")){
  5248. grd_carediagspec.resizeCells();
  5249. }
  5250. // //인증저장
  5251. // var msg = messageBox('간호일지 진단 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  5252. //
  5253. // if(Number(msg) == 6){//예
  5254. //
  5255. // if (!fSign()) return;
  5256. //
  5257. // if(submit("TXMNR00704")){
  5258. // grd_carediagspec.resizeCells();
  5259. // }
  5260. //
  5261. // }else {
  5262. // return;
  5263. // }
  5264. }
  5265. /**
  5266. * @group :
  5267. * @ver : 2007.05.15
  5268. * @by : 이은영
  5269. * @---------------------------------------------------
  5270. * @type : function
  5271. * @access : public
  5272. * @desc : 간호진단 수정
  5273. * @param : khj add pFlag : END - 진단종료시간 수정인경우.. 그외는 진단시간 수정
  5274. * @return :
  5275. * @---------------------------------------------------
  5276. */
  5277. function fUpdtNursDiag(pFlag){
  5278. var iRow = ds_grid_grd_carediagspec.rowposition;
  5279. var sStmtCnts = ds_grid_grd_carediagspec.getColumn(iRow,"stmtcnts");
  5280. var sFromDT = ds_grid_grd_carediagspec.getColumn(iRow,"fromdt");
  5281. var sToDT = ds_grid_grd_carediagspec.getColumn(iRow,"todt");
  5282. var sParamHeader = "stmtcnts▦fromdt▦todt▦flag▩";
  5283. var sParamData = sStmtCnts+"▦"+sFromDT+"▦"+sToDT+"▦"+pFlag+"▩";
  5284. if(utlf_isNull(sPid)){
  5285. sysf_messageBox("환자를 먼저","C002");
  5286. return;
  5287. }
  5288. frmf_setParameter("SMMNR03300_Param",sParamHeader+sParamData);
  5289. frmf_modal("SMMNR03300","SMMNR03300","","","","","","","","","","","M");
  5290. var sRtnMsg = frmf_getParameter("SMMNR03300_Return");
  5291. if(utlf_isNull(sRtnMsg)) return;
  5292. sFromDT = getArrayData(sRtnMsg,1,0);
  5293. sToDT = getArrayData(sRtnMsg,1,1);
  5294. if(utlf_isNull(sToDT)) sToDT = "99991231235959";
  5295. var ds_temp = dsf_createDsRow("ds_temp", [{col: "saveflag", val:"U" }
  5296. ,{col: "stmtcd", val:ds_grid_grd_carediagspec.getColumn(iRow,"stmtcd") }
  5297. ,{col: "origincd", val:ds_grid_grd_carediagspec.getColumn(iRow,"origincd") }
  5298. ,{col: "fromdt", val:sFromDT }
  5299. ,{col: "todt", val:sToDT }
  5300. ,{col: "pid", val:sPid }
  5301. ,{col: "carerecno", val:ds_grid_grd_carediagspec.getColumn(iRow,"carerecno") }
  5302. ,{col: "instcd", val:sInstcd }
  5303. ,{col: "pretodt", val:ds_grid_grd_carediagspec.getColumn(iRow,"pretodt") }]);
  5304. var ds_temp1 = dsf_createDsRow("ds_temp1",[{col: "pid", val:sPid }
  5305. ,{col: "indd", val:sIndd }
  5306. ,{col: "orddd", val:sOrddd }
  5307. ,{col: "cretno", val:sCretNo }
  5308. ,{col: "fromdd", val:ds_cond_recsrch.getColumn(0,"fromdd") }
  5309. ,{col: "todd", val:ds_cond_recsrch.getColumn(0,"todd") }
  5310. ,{col: "carediagflag", val:ds_cond_recsrch.getColumn(0,"carediagflag") }
  5311. ,{col: "instcd", val:sInstcd }]);
  5312. // model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  5313. var oParam = {};
  5314. oParam.id = "TXMNR00704";
  5315. oParam.service = "carerecapp.NursingRecord";
  5316. oParam.method = "reqExeCareDiagList";
  5317. oParam.inds = "srchinfo="+ds_temp1+" savedata="+ds_temp+"";
  5318. oParam.outds = "ds_grid_grd_carediagspec=carediaglist";
  5319. oParam.async = false;
  5320. oParam.callback = "cf_TXMNR00704";
  5321. tranf_submit(oParam);
  5322. ds_grid_grd_carediagspec.rowposition = -1;
  5323. /*
  5324. tranf_submit({
  5325. id: "TXMNR00704"
  5326. , service: "carerecapp.NursingRecord"
  5327. , method: "reqExeCareDiagList"
  5328. , inds: "srchinfo=ds_temp1 savedata=ds_temp"
  5329. , outds: "ds_grid_grd_carediagspec=carediaglist"
  5330. , async: false
  5331. , callback: "cbk_TXMNR00704"
  5332. });
  5333. */
  5334. if(arErrorCode.pop("TXMNR00704") > -1){
  5335. // cbk_TXMNR00704_flag = 0;
  5336. //fChngGridBackColor();
  5337. }
  5338. frmf_setParameter("SMMNR03300_Param","");
  5339. frmf_setParameter("SMMNR03300_Return","");
  5340. // //인증저장
  5341. // var msg = messageBox('간호일지 진단 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  5342. //
  5343. // if(Number(msg) == 6){//예
  5344. //
  5345. // if (!fSign()) return;
  5346. //
  5347. // }else {
  5348. // return;
  5349. // }
  5350. }
  5351. function cbk_TXMNR00704(sScvId, nErrorCode, sErrorMsg){
  5352. if(nErrorCode == 0){//성공하였을때
  5353. cbk_TXMNR00704_flag = 1;
  5354. }else{
  5355. sysf_messageBox(sErrorMsg, "E");
  5356. }
  5357. }
  5358. /**
  5359. * @group :
  5360. * @ver : 2010.04.23
  5361. * @by : khj
  5362. * @---------------------------------------------------
  5363. * @type : function
  5364. * @access : public
  5365. * @desc : 간호진단종료 시간 수정
  5366. * @param :
  5367. * @return :
  5368. * @---------------------------------------------------
  5369. */
  5370. function fEndDtUpdtNursDiag(){
  5371. fUpdtNursDiag("END");
  5372. }
  5373. /**
  5374. * @group :
  5375. * @ver : 2007.05.15
  5376. * @by : 이은영
  5377. * @---------------------------------------------------
  5378. * @type : function
  5379. * @access : public
  5380. * @desc : 환자정보를 불러오지 못했을 경우 Setting
  5381. * @param :
  5382. * @return :
  5383. * @---------------------------------------------------
  5384. */
  5385. function fSettingPamInfo(pStatus, pFlag){
  5386. group5.group9.swt_srchtool.case_stmtinfo.grp_stmtrec.btn_savestmt.enable = pStatus; //선택버튼
  5387. //group5.group9.swt_srchtool.case_stmtinfo.grp_stmtrec.enable = pStatus; //선택버튼
  5388. group5.btn_certsaverec.enable = pStatus; //인증저장버튼
  5389. group5.rdo_recdateflag.enable = pStatus; // 기록시간설정
  5390. // if(pFlag != "R"){
  5391. group5.grp_sea.rdo_recflag.enable = pStatus; // 기록선택
  5392. group5.grp_sea.rdo_recflagchd0.enable = pStatus;
  5393. group5.grp_sea.rdo_recflagchd1.enable = pStatus;
  5394. group5.grp_sea.rdo_recflagchd2.enable = pStatus;
  5395. group5.grp_sea.btn_srchrecinfo.enable = pStatus; // 기록조회버튼
  5396. group5.switch1.case_carediaginfo.rdo_carediagflag.enable = pStatus; // 진단 조회설정
  5397. // }
  5398. }
  5399. /**
  5400. * @group :
  5401. * @ver : 2007.05.15
  5402. * @by : 이은영
  5403. * @---------------------------------------------------
  5404. * @type : function
  5405. * @access : public
  5406. * @desc : 저장하기 않은 간호기록 내역 존재여부
  5407. * @param :
  5408. * @return :
  5409. * @---------------------------------------------------
  5410. */
  5411. function fExistAddDNAR(){
  5412. //var nodeList = instance1.selectNodes("/root/main/recinfo/nursingrecordinfo/nursingrecordlist[status = 'I']");
  5413. if ( ds_grid_grd_carerecspec.findRow("status","I") >= 0 ){
  5414. var returnMsg = sysf_messageBox("저장하지 않은 간호기록 내역이 있습니다. ", "Q002");// 저장하시겠습니까?
  5415. if ( returnMsg == 6 ) {
  5416. return false; //이후 진행 안함.
  5417. } else {
  5418. return true; //이후진행
  5419. }
  5420. }
  5421. return true; //이후진행
  5422. }
  5423. /**
  5424. * @group :
  5425. * @ver : 2009.12.15
  5426. * @by : khj
  5427. * @---------------------------------------------------
  5428. * @type : function
  5429. * @access : public
  5430. * @desc : JCI관련 환자교육내용 기록 내용 파라미터 전달 SPMRJ00200
  5431. * @param :
  5432. * @return :
  5433. * @---------------------------------------------------
  5434. */
  5435. function fJCIEduRec(){
  5436. var iSelectedRows = ds_grid_grd_carerecspec.rowcount;
  5437. var iAppendRow = 0;
  5438. var sEduCnts = "";
  5439. var sFstRgstRid = "";
  5440. for ( var idx = 0 ; idx < iSelectedRows ; idx++){
  5441. if(ds_grid_grd_carerecspec.getSelect(idx) == true){
  5442. //sFstRgstRid = model.getValue(xNursingRecordListPath + "["+ iAppendRow +"]/fstrgstrid");
  5443. sFstRgstRid = ds_grid_grd_carerecspec.getColumn(idx,"fstrgstrid");
  5444. if ( sFstRgstRid == sysf_getUserId() ){
  5445. //sEduCnts += grd_carerecspec.labelMatrix(iAppendRow, grd_carerecspec.colRef("stmtspec"))+"\n";
  5446. sEduCnts += group5.grd_carerecspec.getCellText(idx,group5.grd_carerecspec.getBindCellIndex("body","stmtspec"))+"\n";
  5447. }
  5448. }
  5449. }
  5450. if ( utlf_isNull(sEduCnts) ){
  5451. sysf_messageBox(sysf_getUserName()+"님이 기록하신 진술문이 존재하지 않습니다.","I007");//확인하십시오
  5452. return;
  5453. }
  5454. frmf_setParameter("SPMRJ00200_pid", sPid);
  5455. frmf_setParameter("SPMRJ00200_orddd", sIndd);
  5456. frmf_setParameter("SPMRJ00200_cretno", sCretNo);
  5457. frmf_setParameter("SPMRJ00200_educd", "");
  5458. frmf_setParameter("SPMRJ00200_educnts", sEduCnts);
  5459. frmf_modal("SPMRJ00200","SPMRJ00200","","","","","","","","","","","M");
  5460. }
  5461. /**
  5462. * @group :
  5463. * @ver : 2009.12.15
  5464. * @by : khj
  5465. * @---------------------------------------------------
  5466. * @type : function
  5467. * @access : public
  5468. * @desc : care plan 파라미터 전달 SPMRJ00500
  5469. * @param :
  5470. * @return :
  5471. * @---------------------------------------------------
  5472. */
  5473. function fCarePlan(){
  5474. var iSelectedRows = ds_grid_grd_carediagspec.rowcount;
  5475. var iAppendRow = 0;
  5476. var sPlanDiag = "";
  5477. for ( var idx = 0 ; idx < iSelectedRows ; idx++){
  5478. if(ds_grid_grd_carediagspec.getSelect(idx) == true){
  5479. sPlanDiag += ds_grid_grd_carediagspec.getColumn(idx,"stmtcd")+"^"
  5480. + ds_grid_grd_carediagspec.getColumn(idx,"origincd")+"^"
  5481. + ds_grid_grd_carediagspec.getColumn(idx,"recverno")+"|";
  5482. }
  5483. }
  5484. var sPamInfo = sPid +"^"
  5485. + sIndd +"^"
  5486. + sCretNo +"^"
  5487. + "I^";
  5488. frmf_setParameter("SPMRJ00500_diaginfo", sPlanDiag);
  5489. frmf_setParameter("SPMRJ00500_paminfo", sPamInfo);
  5490. frmf_modal("SPMRJ00500","SPMRJ00500","","","","","","","","","","","M");
  5491. fDeSelectRow(ds_grid_grd_carediagspec);
  5492. }
  5493. /**
  5494. * @group :
  5495. * @ver : 2011.02.24
  5496. * @by : 안도영
  5497. * @---------------------------------------------------
  5498. * @type : function
  5499. * @access : public
  5500. * @desc : 구역정보 조회 및 내환자정보 숨기기 (응급실인 경우)
  5501. * : '응급실 간호일지만' 구분 체크박스 추가
  5502. * @param :
  5503. * @param :
  5504. * @return :
  5505. * @---------------------------------------------------
  5506. */
  5507. function fGetWardChngInfo(initFlag, pFlag){
  5508. var sWardCD;
  5509. if(initFlag=="Y") {
  5510. //sWardCD = model.getValue(xPamInfoPath+"/wardcd");
  5511. sWardCD = ds_data_pamlist.getColumn(0,"wardcd");
  5512. }
  5513. else{
  5514. //sWardCD = model.getValue("/root/main/cond/wardcd");
  5515. sWardCD = ds_cond.getColumn(0,"wardcd");
  5516. }
  5517. if ( sWardCD == eERDEPTCD) {
  5518. eERFLAG = "Y";
  5519. }else{
  5520. eERFLAG = "";
  5521. }
  5522. //model.removeNodeset("/root/send/reqdata");
  5523. //model.makeNode("/root/send/reqdata");
  5524. //model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  5525. //submit("TRMNW00101");
  5526. //model.setValue("/root/main/cond/settingrnid", "");
  5527. //for(i=1; i <= getNodesetCount("/root/init/settingrn"); i++ ) {
  5528. // if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/settingrn["+ i +"]/settingrnid")) {
  5529. // model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  5530. // }
  5531. //}
  5532. //응급실인 경우 구역정보 추가조회
  5533. if(eERFLAG == "Y"){ // 응급실
  5534. //fGetZoneList();
  5535. ds_init_zonelist.clearData();
  5536. var oParam = {};
  5537. oParam.id = "TRMNR06302";
  5538. oParam.service = "caremedirecapp.CareMediRec";
  5539. oParam.method = "reqGetZoneList";
  5540. oParam.inds = "reqdata="+ds_temp+"";
  5541. oParam.outds = "ds_init_zonelist=zonelist";
  5542. oParam.async = false;
  5543. tranf_submit(oParam);
  5544. group5.cmb_zone.visible = true;
  5545. group5.cap_wardcd.text = "구역:";
  5546. group5.cmb_roomcd.visible = false;
  5547. group5.cap_mypat.visible = false;
  5548. group5.cmb_mypat.visible = false;
  5549. // cap_roomcd.attribute("left") = "530"; //(기존위치 -143)
  5550. //cmb_roomcd.visible = "false";
  5551. group5.cap_patnm_pid.position.left = 680;
  5552. group5.cap_patnm_pid.position.width = 133;
  5553. group5.cmb_pid.visible = false;
  5554. group5.ipt_pid.visible = false;
  5555. group5.cmb_erpat.visible = true;
  5556. if(pFlag != "SrchPat"){ // 환자를 직접 선택한 경우엔 구역정보 보존
  5557. if(initFlag=="Y"){ // 처음 상단 정보로 화면 열릴 때
  5558. //model.setValue("/root/main/cond/zonecd", (model.getValue(xPamInfoPath+"/sectioncd") == "") ? "-" : model.getValue(xPamInfoPath+"/sectioncd"));
  5559. if(utlf_isNull(ds_data_pamlist.getColumn(0,"sectioncd"))){
  5560. ds_cond.setColumn(0,"zonecd","-");
  5561. }else{
  5562. ds_cond.setColumn(0,"zonecd", ds_data_pamlist.getColumn(0,"sectioncd"));
  5563. }
  5564. }else{
  5565. //model.setValue("/root/main/cond/zonecd", "-"); // 'All'로 default
  5566. ds_cond.setColumn(0,"zonecd","-");
  5567. }
  5568. }
  5569. // 구분 조건 응급실 default (2011.02.28 Ahn)
  5570. //model.setValue(xRecSrchCondPath+"/recsrchflag", "DR^ER"); // DR : 타기록지연계, ER : 응급실 간호일지만
  5571. ds_cond_recsrch.setColumn(0,"nrflag","");
  5572. ds_cond_recsrch.setColumn(0,"trflag","");
  5573. ds_cond_recsrch.setColumn(0,"recsrchflag","DR^ER");
  5574. ds_cond_recsrch.setColumn(0,"drflag","DR");
  5575. ds_cond_recsrch.setColumn(0,"erflag","ER");
  5576. }else{
  5577. group5.cmb_zone.visible = false;
  5578. group5.cap_wardcd.text = "병실";
  5579. group5.cmb_roomcd.visible = true;
  5580. group5.cap_mypat.visible = true;
  5581. group5.cmb_mypat.visible = true;
  5582. group5.cap_patnm_pid.position.left = 660;
  5583. group5.cap_patnm_pid.position.width = 133;
  5584. group5.cmb_pid.visible = true;
  5585. group5.ipt_pid.visible = true;
  5586. group5.cmb_erpat.visible = false;
  5587. ds_cond.setColumn(0,"zonecd","");
  5588. // 구분 조건 병동 default
  5589. //model.setValue(xRecSrchCondPath+"/recsrchflag", "NR^DR"); // DR : 타기록지연계, ER : 응급실 간호일지만
  5590. ds_cond_recsrch.setColumn(0,"trflag","");
  5591. ds_cond_recsrch.setColumn(0,"erflag","");
  5592. ds_cond_recsrch.setColumn(0,"recsrchflag","NR^DR");
  5593. ds_cond_recsrch.setColumn(0,"drflag","DR");
  5594. ds_cond_recsrch.setColumn(0,"nrflag","NR");
  5595. }
  5596. }
  5597. /**
  5598. * @group :
  5599. * @ver : 2011.03.08
  5600. * @by : 안도영
  5601. * @---------------------------------------------------
  5602. * @type : function
  5603. * @access : public
  5604. * @desc : 현재 선택/저장한 환자의 combo 재선택 (응급실인 경우)
  5605. * @param :
  5606. * @param :
  5607. * @return :
  5608. * @---------------------------------------------------
  5609. */
  5610. function fNextSelectErPat(sobj){
  5611. var tempPid = "";
  5612. var sPosition = 0;
  5613. if ( !utlf_isNull(gcurrentpid)) {
  5614. for(i = 0; i < ds_data_patientgruplist.rowcount; i++ ) {
  5615. //tempPid = model.getValue(erPatPidPath + "["+ i +"]/pid");
  5616. tempPid = ds_data_patientgruplist.getColumn(i,"pid");
  5617. if (gcurrentpid == tempPid) {
  5618. sPosition = i;
  5619. break;
  5620. }
  5621. }
  5622. }
  5623. if(ds_cond_recsrch.getColumn(0, "nextyn") == "Y") {
  5624. if(sPosition == ds_data_patientgruplist.rowcount-1){
  5625. //sobj.select(0); // 마지막 환자인 경우 처음 환자로 재 선택
  5626. sobj.index = 0;
  5627. group5_cmb_erpat_onitemchanged();
  5628. }else{
  5629. sobj.index = sPosition+1;
  5630. group5_cmb_erpat_onitemchanged();
  5631. }
  5632. } else {
  5633. sobj.index = sPosition;
  5634. group5_cmb_erpat_onitemchanged();
  5635. }
  5636. }
  5637. /**
  5638. * @author : dhkim
  5639. * @create : 20080827
  5640. * @desc : 해당환자가 중환자실 환자인가?
  5641. * @return : boolean (true/false)
  5642. */
  5643. function fIsICUPatient(wardcd){
  5644. var ret = false;//icu 환자인지 여부 디폴트
  5645. /*
  5646. for(var i = 0; i < icuArr.length ; i++){
  5647. if(wardcd == icuArr[i]){
  5648. ret = true;
  5649. return true;
  5650. }
  5651. }
  5652. */
  5653. //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
  5654. for( var i=0 ; i<ds_init_icucdgruplist.rowcount ; i++ ){
  5655. if( wardcd == ds_init_icucdgruplist.getColumn(i, "wardcd") && ds_init_icucdgruplist.getColumn(i, "clsflag") == '4' ){
  5656. ret = true;
  5657. return true;
  5658. }
  5659. }
  5660. return ret;
  5661. }
  5662. function fShowRelaCause(){
  5663. if(!utlf_isNull(aa2)){
  5664. var relacause = group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml.getCellValue(ds_grid_grd_sml.rowposition, group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml.getBindCellIndex("body","relacause"));
  5665. aa2 = "";
  5666. }
  5667. if(!utlf_isNull(aa1)){
  5668. var relacause = group5.group9.swt_srchtool.case_lrgmdlsml.grd_lrg.getCellValue(ds_grid_grd_lrg.rowposition, group5.group9.swt_srchtool.case_lrgmdlsml.grd_lrg.getBindCellIndex("body","relacause"));
  5669. aa1 = "";
  5670. }
  5671. if(!utlf_isNull(aa3)){
  5672. var relacause = group5.group9.swt_srchtool.case_lrgmdlsml.grd_mdl.getCellValue(ds_grid_grd_mdl.rowposition, group5.group9.swt_srchtool.case_lrgmdlsml.grd_mdl.getBindCellIndex("body","relacause"));
  5673. aa3 = "";
  5674. }
  5675. if(!utlf_isNull(aa4)){
  5676. var relacause = group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml2.getCellValue(ds_grid_grd_sml2.rowposition, group5.group9.swt_srchtool.case_lrgmdlsml.grd_sml2.getBindCellIndex("body","relacause"));
  5677. aa4 = "";
  5678. }
  5679. ds_cond.addColumn("causeinfo", "string");
  5680. ds_cond.setColumn(0, "causeinfo", relacause);
  5681. //group5.group9.swt_srchtool.case_lrgmdlsml.group2.visible = true;
  5682. group5.group2.position.x = aa + 20;
  5683. group5.group2.position.y = bb - 30;
  5684. group5.group2.visible = true;
  5685. }
  5686. // function fChngGridBackColor() {
  5687. // //20110725_KNUH_Start 진단색상변경
  5688. //
  5689. // var todd;
  5690. //
  5691. // for(var i = grd_carediagspec.fixedRows; i < grd_carediagspec.rows; i++) {
  5692. // todd = grd_carediagspec.valueMatrix(i, grd_carediagspec.colRef("todt"));
  5693. //
  5694. // if(todd == "" || todd == null) {
  5695. // grd_carediagspec.cellstyle("background-color", i, 1, i, grd_carediagspec.cols-1) = "#FFFFFF";
  5696. // } else {
  5697. // grd_carediagspec.cellstyle("background-color", i, 1, i, grd_carediagspec.cols-1) = "#E3E3E3";
  5698. // }
  5699. // }
  5700. // }
  5701. function fexprcolor(){
  5702. /*--style 그리드에 설정 해놓음..
  5703. group5.grp_dnarset.grd_data.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  5704. group5.grp_dnarset.grd_data.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  5705. group5.grp_dnarset.grd_action.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  5706. group5.grp_dnarset.grd_action.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  5707. group5.grp_dnarset.grd_result.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  5708. group5.grp_dnarset.grd_result.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  5709. group5.group9.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  5710. group5.group9.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  5711. group5.group9.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"color","expr:attrcnt>0?'#6600ff':'#000000'");
  5712. group5.group9.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"selectcolor","expr:attrcnt>0?'#6600ff':'#000000'");
  5713. for(var i=0; i<group5.grd_carerecspec.getCellCount("body"); i++){
  5714. group5.grd_carerecspec.setCellProperty("body",i,"background","expr:utlf_isNull(carerecno)?'#ffff88':'#FFFFFF'");
  5715. group5.grd_carerecspec.setCellProperty("body",i,"background2","expr:utlf_isNull(carerecno)?'#ffff88':'#FFFFFF'");
  5716. }
  5717. for(var i=1; i<group5.switch1.case_carediaginfo.grd_carediagspec.getCellCount("body"); i++){
  5718. group5.switch1.case_carediaginfo.grd_carediagspec.setCellProperty("body",i,"background","expr:todt==undefined?'#FFFFFF':'#E3E3E3'");
  5719. group5.switch1.case_carediaginfo.grd_carediagspec.setCellProperty("body",i,"background2","expr:todt==undefined?'#FFFFFF':'#E3E3E3'");
  5720. group5.switch1.case_carediaginfo.grd_carediagspec.setCellProperty("body",i,"font","expr:!utlf_isNull(todt) && status=='삭제'?'Dotum,9,strikeout':''");
  5721. group5.switch1.case_carediaginfo.grd_carediagspec.setCellProperty("body",i,"selectfont","expr:!utlf_isNull(todt) && status=='삭제'?'Dotum,9,strikeout':''");
  5722. }
  5723. //jh 확인후 추가할것 글씨체변경
  5724. group5.grd_carerecspec.setCellProperty("Body", 5, "font", "expr:recoriginflag == 'T' && recflag != 'W' ? 'Dotum,9,bold' : ''");
  5725. group5.grd_carerecspec.setCellProperty("Body", 5, "selectfont", "expr:recoriginflag == 'T' && recflag != 'W' ? 'Dotum,9,bold' : ''");
  5726. */
  5727. }
  5728. function fGridRowResize()
  5729. {
  5730. var colData = "";
  5731. var colSize = 0;
  5732. var rowCnt = 1;
  5733. var oldKey = "";
  5734. var curKey = "";
  5735. var rowSize = 0;
  5736. for( var idx=0; idx < ds_grid_grd_carerecspec.rowcount; idx++ ){
  5737. colData = ds_grid_grd_carerecspec.getColumn(idx, "stmtspec");
  5738. curKey = ds_grid_grd_carerecspec.getColumn(idx, "recdd_vw")
  5739. + ds_grid_grd_carerecspec.getColumn(idx, "rectm_vw")
  5740. + ds_grid_grd_carerecspec.getColumn(idx, "recverno")
  5741. + ds_grid_grd_carerecspec.getColumn(idx, "diagstmtnm")
  5742. + ds_grid_grd_carerecspec.getColumn(idx, "dnar");
  5743. if( colData.indexOf("\n") > -1 ){
  5744. var arrTemp = colData.split("\n");
  5745. rowCnt = arrTemp.length;
  5746. for( var arrI=0 ; arrI<arrTemp.length ; arrI++ ){
  5747. if(MsgLength(arrTemp[arrI]) == 0){
  5748. rowCnt += 0;
  5749. }else{
  5750. rowCnt += Math.ceil(MsgLength(arrTemp[arrI])/46)-1;
  5751. }
  5752. }
  5753. }else{
  5754. colSize = MsgLength(colData);
  5755. rowCnt = Math.ceil(colSize/46);
  5756. }
  5757. if( !utlf_isNull(oldKey) && curKey == oldKey ){
  5758. if( rowCnt == 1 ){
  5759. rowSize = 20;
  5760. }else if( rowCnt > 1 ){
  5761. rowSize = 20 + (15 * (rowCnt-1));
  5762. }
  5763. group5.grd_carerecspec.setRealRowSize(idx, rowSize);
  5764. }
  5765. oldKey = curKey;
  5766. }
  5767. }
  5768. function MsgLength(str){
  5769. var msglen = 0;
  5770. for( var i=0 ; i<str.length ; i++ ){
  5771. var ch = str.charAt(i);
  5772. if( escape(ch).length > 4 ){
  5773. msglen += 2;
  5774. }else{
  5775. msglen++;
  5776. }
  5777. }
  5778. return msglen;
  5779. }
  5780. // 2019.05.21
  5781. //정정신청 화면호출 추가
  5782. function fRecChangeCert(){
  5783. var vInstcd = utlf_transNullToEmpty(sysf_getUserInfo("dutplceinstcd"));
  5784. if(vInstcd == 031){//본원만 적용
  5785. if(ds_data_pamlist.getColumn(0,"dschdd") != "99991231" ){
  5786. frmf_setParameter("SPMNW20010_param_scrncd", frmf_getScreenID());
  5787. frmf_setParameter("SPMNW20010_param_opdeptcd", ds_data_pamlist.getColumn(0, "wardcd"));
  5788. frmf_setParameter("SPMNW20010_param_pid", ds_data_pamlist.getColumn(0, "pid"));
  5789. frmf_setParameter("SPMNW20010_param_indd", ds_data_pamlist.getColumn(0, "indd"));
  5790. frmf_setParameter("SPMNW20010_param_cretno", ds_data_pamlist.getColumn(0, "cretno"));
  5791. frmf_modal("SPMNW20010", "SPMNW20010", null, null, null, null, null, null, null, null, null, null, "M");
  5792. }
  5793. var vParam_cancel = frmf_getParameter("SPMNW20010_param_cancel");
  5794. // N일때 - 기종정정 사유입력
  5795. // Y일떄 - 취소 / 화면 닫기
  5796. // NULL 일때 - 재원(기존로직 그대로)
  5797. if(vParam_cancel == "Y"){
  5798. sysf_messageBox("퇴원환자는 기록정정사유 입력 후 수정이 가능합니다.","I");
  5799. frmf_clearParameter("SPMNW20010_param_cancel");
  5800. return false;
  5801. }else{
  5802. frmf_clearParameter("SPMNW20010_param_cancel");
  5803. return true;
  5804. }
  5805. } else{ //190523_AYS_칠곡일 경우 PASS
  5806. return true;
  5807. }
  5808. }
  5809. function fRecChangeCertBk(){
  5810. var vInstcd = utlf_transNullToEmpty(sysf_getUserInfo("dutplceinstcd"));
  5811. if(vInstcd == 031){ //본원만 적용
  5812. frmf_setParameter("SPMNW20010_param_scrncd", frmf_getScreenID());
  5813. frmf_setParameter("SPMNW20010_param_opdeptcd", ds_data_pamlist.getColumn(0, "wardcd"));
  5814. frmf_setParameter("SPMNW20010_param_pid", ds_data_pamlist.getColumn(0, "pid"));
  5815. frmf_setParameter("SPMNW20010_param_indd", ds_data_pamlist.getColumn(0, "indd"));
  5816. frmf_setParameter("SPMNW20010_param_cretno", ds_data_pamlist.getColumn(0, "cretno"));
  5817. frmf_modal("SPMNW20010", "SPMNW20010", null, null, null, null, null, null, null, null, null, null, "M");
  5818. }
  5819. }]]></Script>