12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[include "emr_formreccorexp::MMRFuncLib.xjs";
- var TX_SUBMIT_COMN_FORM = "TXMMR01301";
- var TX_SUBMIT_EXTN_FORM = "TXMMR01303";
- var ComnFormObj = "";
- var objExt = new ExtCommon();
- //var arErrorCode = new HashArray();
- //var gPageInfo = new PAGEINFO();
- var arrDsMain = ["ds_data_paminfo", "ds_data_validinfo", "ds_data_formmast", "ds_data_formdegn",
- "ds_data_unitformmast", "ds_data_unitformdegn", "ds_data_vallist", "ds_data_imgelist",
- "ds_data_extnformlist", "ds_data_readonlylist", "ds_data_programdesignformlist",
- "ds_data_formrec", "ds_data_recitem", "ds_temp_comnclinclist"];
- var arrDsForminfo = ["ds_data_validinfo", "ds_data_formmast", "ds_data_formdegn",
- "ds_data_unitformmast", "ds_data_unitformdegn", "ds_data_vallist", "ds_data_imgelist",
- "ds_data_extnformlist", "ds_data_readonlylist", "ds_data_programdesignformlist"];
-
- var arrDsTempFrominfo = ["ds_temp_validinfo", "ds_temp_formmast", "ds_temp_formdegn",
- "ds_temp_unitformmast", "ds_temp_unitformdegn", "ds_temp_vallist", "ds_temp_imgelist",
- "ds_temp_extnformlist", "ds_temp_readonlylist", "ds_temp_programdesignformlist" ];
- var arrDsRecinfo = ["ds_data_formrec", "ds_data_recitem"];
- var arrDsHiddenRecinfo = ["ds_hidden_formrec", "ds_hidden_recitem"];
- var arrDsTempRecinfo = ["ds_temp_formrec", "ds_temp_recitem"];
- // 추가 확인 필요한 부분
- var arrDsExtnRecinfo = ["ds_hidden_extnformrec_recitem", "ds_hidden_extnformrec_formrec"]
- var arrDsTempEtcinfo = ["ds_temp_imgerec_recitem", "ds_temp_fmyrec_recitem", "ds_temp_etcrec_recitem", "ds_temp_lastdiag_recitem"];
- // ds_data_paminfo
- // comnclinclist
- // ds_temp_comnclinclist
- /**********************************************************************************
- * Method Name : SAVED_INFO
- * Description : 기록정보 변수 초기화
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function SAVED_INFO()
- {
- this.formrecseq = 0;
- this.rechistseq = 0;
- }
- /**********************************************************************************
- * Method Name : COMN_CONT_RECCNTS
- * Description : 환자정보 변수 초기화
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function COMN_CONT_RECCNTS()
- {
- this.pid = "";
- this.recfromdt = "";
- this.rectodt = "";
- this.formrecdeptcd = "";
- this.chosflag = "";
- this.formrecseq = "";
- this.formcd = "-";
- }
- /**********************************************************************************
- * Method Name : RECITEM_INFO
- * Description : 기록항목 변수 초기화
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function RECITEM_INFO()
- {
- this.pid = "";
- this.degnitemkind = "";
- this.degnitemcd = "";
- this.degnitemlevlcd = "";
- this.rectermcd = "";
- this.recitemcd = "";
- this.reccnts = "";
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 서식 로딩상태를 세팅
- * @param : obj - loadstatus를 세팅할 객체
- * @param : formcd - 현재 로딩이 완료된 서식코드
- * @param : curformtype - 로딩이 완료된 서식의 종류 (COMN_FORM/UNIT_FORM/GENL_FORM)
- * @return :
- * @---------------------------------------------------
- */
- function setLoadStatus(obj, curformcd, curformtype)
- {
- loadstatus = obj.window.javascript.gFormLoadStatus;
- loadstatus.curformcd = curformcd;
- loadstatus.curformtype = curformtype;
- //loadstatus.loadlist.add(curformcd, LOAD_COMPLETE);
- }
- /**
- * @desc : 초진, 재진기록지 여부
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function IsComnMediForm(srcformcd)
- {
- var flag = false;
- switch (srcformcd)
- {
- case "0000000001" :
- case "0000000002" :
- case "0000000003" :
- case "0000000004" :
- flag = true;
- break;
- }
- return flag;
- }
- /**
- * @desc : 기록값 셋팅
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetCommMediFormValue(pItemCds, reciteminfo)
- {
- var ivwObj;
- var flag;
- for (var i=0; i<pItemCds.length; i++)
- {
- ivwObj = document.controls("ivw_" + pItemCds[i]);
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- //if (ivwObj != null && ivwObj.attribute("ctrluseyn") == "Y")
- if (ivwObj != null && ivwObj.attribute("unitformcd") != "")
- flag = SetMediFormValue(ivwObj.model, reciteminfo);
- else
- flag = SetMediFormValue(model, reciteminfo);
- if (flag) break;
- }
- return flag;
- }
- var MMR_REC_INFO = "/root/main/recinfo/recitem";
- var MMR_FORM_INFO = "/root/main/forminfo/formdegn";
- /**
- * @desc : 기록값 셋팅
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetMediFormValue(pModel, reciteminfo)
- {
- var nodeSet = MMR_REC_INFO;
-
- //2010-05-28 오전 9:299:42 이지운 추가 : MSL -> 부분서식지로 복사할경우 발생하는 오류 수정
- if(reciteminfo.degnitemkind == "MSL"){
- nodeSet = nodeSet + "[degnitemlevlcd='" +reciteminfo.degnitemlevlcd+ "' and colno='" +reciteminfo.colno+ "']";
- }else{
- nodeSet = nodeSet + "[degnitemlevlcd='" +reciteminfo.degnitemlevlcd+ "']";
- }
-
- var xPathFunction = "count(" + nodeSet + ")";
- var cnt = pModel.getXPathValue(xPathFunction);
- if (cnt == 1)
- {
- //2009-10-07 오후 7:59:42 강지훈 추가 : MTX -> 부분서식지로 복사할경우 발생하는 오류 수정
- var nodeCnt
- if(reciteminfo.degnitemkind == "MTX"){
- var otherNodeSet = MMR_FORM_INFO + "[degnitemkind != 'MTX' and contains(degnitemlevlcd, '" + reciteminfo.degnitemlevlcd + ".')]";
- nodeCnt = pModel.getXPathValue("count(" + otherNodeSet + ")");
- }
- else{
- nodeCnt = 0;
- }
-
- var degnitemno = pModel.getXPathValue(nodeSet+"/degnitemno");
- var degncntrviewflag = pModel.getXPathValue(MMR_FORM_INFO + "[degnitemno='" +degnitemno+ "']/degncntrviewflag");
- if (degncntrviewflag != "L" && nodeCnt == 0)
- {
- pModel.setValue(nodeSet+"/rectermcd", reciteminfo.rectermcd);
-
- if (reciteminfo.rectermcd != "")
- {
- pModel.setValue(nodeSet+"/rectermnm", reciteminfo.rectermnm);
-
- if(reciteminfo.degnitemkind == "MSL" && reciteminfo.reccnts != ""){
- pModel.setValue(nodeSet+"/reccnts", reciteminfo.reccnts);
- }
- }
- else
- {
- pModel.setValue(nodeSet+"/reccnts", reciteminfo.reccnts);
- }
- pModel.refresh();
- }
- return true;
- }
- else
- {
- return false;
- }
- }
- /**
- * @desc : 기록값 Clear
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- //lf_clearFormRec sync
- function ClearComnFormData(gItemCds)
- {
- utlf_addLog("***** ClearComnFormData("+gItemCds+") MMRCommon *****");
- for(var i = 0; i < ds_data_recitem.rowcount; i++) // 기록아이템 초기화
- {
- if(ds_data_recitem.getColumnInfo("reccnts") != null)
- ds_data_recitem.setColumn(i, "reccnts", "");
-
- if(ds_data_recitem.getColumnInfo("rectermcd") != null)
- ds_data_recitem.setColumn(i, "rectermcd", "");
-
- if(ds_data_recitem.getColumnInfo("rectermnm") != null)
- ds_data_recitem.setColumn(i, "rectermnm", "");
-
- if(ds_data_recitem.getColumnInfo("recimge") != null)
- ds_data_recitem.setColumn(i, "recimge", "");
-
- if(ds_data_recitem.getColumnInfo("srcimge") != null)
- ds_data_recitem.setColumn(i, "srcimge", "");
- }
-
- for(var i = 0; i < gItemCds.length; i++)
- {
- var divComp = grup_base.components["ivw_" + gItemCds[i]];
- var mtxComp = grup_base.components["tar_" + gItemCds[i]];
- if(!utlf_isNull(divComp))
- {
- var sFormprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", gItemCds[i], "formprogflag");
- if(sFormprogflag == "PROG")
- {
- var oDs = divComp.objects[divComp.grd_diaglist.binddataset];
- if(divComp.isValidObject(oDs))
- {
- oDs.clearData();
- oDs.addRow();
- }
- }
- else if(!utlf_isNull(divComp) && !utlf_isNull(divComp.url))
- {
- divComp.ds_data_itemvalue.clearData();
- divComp.ds_data_itemvalue.addRow();
-
- for(var j = 0; j < divComp.ds_data_itemvalue.colcount; j++)
- {
- var ColId = divComp.ds_data_itemvalue.getColID(j);
- if(ColId.indexOf("RDO_") > -1 || ColId.indexOf("CHK_") > -1)
- {
- divComp.lf_setSelCtrl(ColId, ""); // 컴포짓 초기화
- }
- }
-
- for(var k = 0; k < divComp.all.length; k++)
- {
- if(divComp.all[k] instanceof ActiveX) // 이미지 정보 취합
- {
- var obj_Image = divComp.all[k];
-
- obj_Image.Clear();
- }
- }
-
- for(var m = 0; m < divComp.ds_data_recitem.rowcount; m++)
- {
- divComp.ds_data_recitem.setColumn( m, "reccnts", "");
- divComp.ds_data_recitem.setColumn( m, "rectermcd", "");
- divComp.ds_data_recitem.setColumn( m, "rectermnm", "");
- divComp.ds_data_recitem.setColumn( m, "recimge", "");
- divComp.ds_data_recitem.setColumn( m, "srcimge", "");
- }
- divComp.lf_setSrchData();
- }
- else
- {
- mtxComp.value = "";
- }
- }
- else
- {
- mtxComp.value = "";
- }
- }
-
- var bGroup = false;
- for(var i = 0; i < grup_base.components.length; i++)
- {
- var ctrlObj = grup_base.components[i];
- var degnitemlevlcd = ctrlObj.degnitemlevlcd;
- if( !utlf_isNull(degnitemlevlcd) )
- ctrlObj.value = "";
-
- if( ctrlObj.name == "group1")
- bGroup = true;
-
- }
- if( bGroup == true ){
- for(var i = 0; i < grup_base.group1.components.length; i++)
- {
- var ctrlObj = grup_base.group1.components[i];
- //var degnitemno = ctrlObj.degnitemno;
- var degnitemlevlcd = ctrlObj.degnitemlevlcd;
- if(!utlf_isNull(degnitemlevlcd))
- ctrlObj.value = "";
- }
- }
- }
- /****************************************************************************************
- * Function : OpenUnitFormImge
- * Description : 이미지 편집화면 Open
- * Argument : 01. obj : 이벤트 발생 컨트롤
- * retrun type : 팝업에서 넘겨주는 값
- * Creator :
- ****************************************************************************************/
- function OpenUnitFormImge(obj:Button, e:ClickEventInfo)
- {
- utlf_addLog("***** OpenUnitFormImge(obj:Button, e:ClickEventInfo) *****");
- //fstlevlitemcd, ivwid
- var ctrlID = obj.name;
- var sItemCd = ctrlID.replace("btn_imge_", "");
- /////////////////////컨설트 관련 추가///////////////////////
- if(parent.fGetFormMast("srcformcd") == "0000000677" || parent.fGetFormMast("cnstformyn") == "Y") {
- ComnFormObj = grup_base.grup_cnts.components["grup_"+sItemCd];
- }
- /////////////////////컨설트 관련 추가///////////////////////
- var ivwid = "ivw_" + sItemCd;
- var objDiv = ComnFormObj.components[ivwid];
- if( !utlf_isNull(objDiv) )
- {
-
- var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", sItemCd);
- var unitformcd = fGetFormMast("formcd");//ds_data_unitformmast.getColumn(nFindRow, "formcd");
- var formdegnseq = fGetFormMast("formdegnseq");//ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
- /*
- if(utlf_isNull(unitformcd) || parent.fGetFormMast("srcformcd") == "0000000677")
- {
- unitformcd = fGetFormMast("formcd");
- }
- if(utlf_isNull(formdegnseq) || parent.fGetFormMast("srcformcd") == "0000000677")
- {
- formdegnseq = fGetFormMast("formdegnseq");
- }
- */
- var nImgRow = ds_data_recitem.findRowExpr("degnitemkind == 'IMG' && degnitemlevlno == '2' && fstlevlitemcd == '"+sItemCd+"'");
- var degnitemlevlcd = ds_data_recitem.getColumn(nImgRow, "degnitemlevlcd");
- var degnitemlevlno = ds_data_recitem.getColumn(nImgRow, "degnitemlevlno");
- var degnitemno = ds_data_recitem.getColumn(nImgRow, "degnitemno");
- var degnitemnm = ds_data_recitem.getColumn(nImgRow, "degnitemnm");
- var recimge = ds_data_recitem.getColumn(nImgRow, "recimge");
-
- var fidx = ds_data_formdegn.findRow("degnitemcd", sItemCd);
- if( utlf_isNull(degnitemlevlcd) )
- degnitemlevlcd = ds_data_formdegn.getColumn(fidx, "degnitemlevlcd");
- if( utlf_isNull(degnitemlevlno) )
- degnitemlevlno = ds_data_formdegn.getColumn(fidx, "degnitemlevlno");
-
-
- this.frmf_setParameter("openmode" , "MediRec");
- this.frmf_setParameter("formcd" , unitformcd);
- this.frmf_setParameter("formdegnseq" , formdegnseq);
- this.frmf_setParameter("fstlevlitemcd" , sItemCd);
- this.frmf_setParameter("degnitemlevlcd" , degnitemlevlcd);
- this.frmf_setParameter("degnitemlevlno" , degnitemlevlno);
- this.frmf_setParameter("ivwid" , objDiv.name);
-
- this.frmf_setParameter("degnitemno" , degnitemno);
- this.frmf_setParameter("degnitemnm" , degnitemnm);
- this.frmf_setParameter("recimge" , recimge);
-
- //부분서식 로딩
- var ctrl = ComnFormObj.components["lbl_" + sItemCd];
-
- if (!utlf_isNull(ctrl))
- {
- loadClickSection(sItemCd);
- }
-
- //var retVal = modalUrl("../../../emr/medirecweb/xrw/SMMMR03600_이미지편집.xrw",1,100,100,"이미지편집");
- var retVal = frmf_modal("SMMMR03600", "SMMMR03600", null, null, 1, 100, 100, null, null, null, null, null, "M");
-
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- try {
- // var nRow = ds_data_recitem.findRowExpr("fstlevlitemcd == '"+sItemCd+"' && degnitemkind == 'IMG' && degnitemlevlno == '2' && formcd == '"+unitformcd+"'");
- // var srcimge = ds_data_recitem.getColumn(nRow, "srcimge");
- // if( nRow != -1 && !utlf_isNull(srcimge) )
- // {
- // lf_setButtonToggleByRecYn(null, obj);
- // }else{
- // obj.class = "btn_picture";
- // }
- setButtonToggleByRecYn(null, obj.name);
- } catch (e) {
- sysf_catchTrace(e);
- }
- }
-
- return retVal;
- }
- /****************************************************************************************
- * Function : OpenUnitFormFmy
- * Description : 가계도 편집화면 Open
- * Argument : 01. obj : 이벤트 발생 컨트롤
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function OpenUnitFormFmy(obj:Button, e:ClickEventInfo)
- {
- utlf_addLog("***** OpenUnitFormFmy MMRCommon *****");
- var ctrlID = obj.name;
- fstlevlitemcd = ctrlID.replace("btn_fmy_", "");
-
- //부분서식 로딩
- var ctrl = ComnFormObj.components["lbl_" + fstlevlitemcd];
-
- if (utlf_isNull(ctrl))
- {
- loadClickSection(fstlevlitemcd);
- }
- var rtnFDG = openFamilyDiagram(fstlevlitemcd);
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- try {
-
- // if(!utlf_isNull(rtnFDG))
- // lf_setButtonToggleByRecYn(null, obj);
- // else
- // obj.class = "";
- setButtonToggleByRecYn(null, obj.name);
- } catch (e) {
- sysf_catchTrace(e);
- }
- }
- /****************************************************************************************
- * Function : openFamilyDiagram
- * Description : 가계도 편집화면 Open
- * Argument : 01. supdegnitemcd : 대상이 되는 섹션의 아이템 코드
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function openFamilyDiagram(supdegnitemcd)
- {
- utlf_addLog("***** openFamilyDiagram("+supdegnitemcd+") MMRCommon *****");
- this.frmf_clearParameter("SPMMR04711_shape");
- this.frmf_clearParameter("SPMMR04711_base64");
-
- var fRow = ds_data_recitem.findRowExpr("fstlevlitemcd=='" + supdegnitemcd + "' && formcd=='0000002615'");
- var fdgInfo = ds_data_recitem.getColumn(fRow, "reccnts");
-
- if(!utlf_isNull(fdgInfo)) {
- this.frmf_setParameter("SPMMR04711_shape", fdgInfo);
- }
-
- var fdgImg = ds_data_recitem.getColumn(fRow, "recimge");
- if(!utlf_isNull(fdgImg)) {
- this.frmf_setParameter("SPMMR04711_base64", objExt.encodeBase64(ds_data_recitem.getColumn(fRow, "recimge")));
- }
- frmf_modal("SPMMR04700", "SPMMR04700", null, null, 1, 0, 0, null, null, null, null, null, "M");
-
- // 가계도 Shape 데이터 및 Base64 이미지를 CDATA로 세팅
- fdgInfo = this.frmf_getParameter("SPMMR04711_shape");
- fdgImg = this.frmf_getParameter("SPMMR04711_base64");
- if(!utlf_isNull(fdgInfo)) {
- //model.setValue("/root/properties/parameters/SPMMR04711_shape/SPMMR04711_shapevalue", fdgInfo, true);
- }
- if(!utlf_isNull(fdgImg)) {
- //model.setValue("/root/properties/parameters/SPMMR04711_base64/SPMMR04711_base64value", fdgImg, true);
- }
- if(utlf_isNull(fdgInfo))
- {
- this.frmf_clearParameter("SPMMR04711_shape");
- this.frmf_clearParameter("SPMMR04711_base64");
- ds_data_recitem.deleteRow(fRow);
- return;
- }
- else
- {
- var objFmyData = objExt.decodeBase64(fdgImg, "BIN");
-
- ds_data_recitem.deleteRow(fRow); // 기존 가계도 정보 삭제
- var nAddRow = ds_data_recitem.addRow();
-
- ds_data_recitem.setColumn(nAddRow, "instcd" , "");
- ds_data_recitem.setColumn(nAddRow, "rechistseq" , "");
- ds_data_recitem.setColumn(nAddRow, "recitemno" , "");
- ds_data_recitem.setColumn(nAddRow, "fstlevlitemcd" , supdegnitemcd);
- ds_data_recitem.setColumn(nAddRow, "formcd" , "0000002615");
- ds_data_recitem.setColumn(nAddRow, "formdegnseq" , "12838");
- ds_data_recitem.setColumn(nAddRow, "degnitemno" , "1");
- ds_data_recitem.setColumn(nAddRow, "degnitemcd" , "0000006001");
- ds_data_recitem.setColumn(nAddRow, "degnitemkind" , "FDG");
- ds_data_recitem.setColumn(nAddRow, "degnitemlevlno", "1");
- ds_data_recitem.setColumn(nAddRow, "degnitemnm" , "가계도");
- ds_data_recitem.setColumn(nAddRow, "degnitemlevlcd", supdegnitemcd.substr(0, 7)+".0000006");
- ds_data_recitem.setColumn(nAddRow, "rectermcd" , "");
- ds_data_recitem.setColumn(nAddRow, "rectermnm" , "");
- ds_data_recitem.setColumn(nAddRow, "recrefcd" , "");
- ds_data_recitem.setColumn(nAddRow, "recitemnm" , "");
- ds_data_recitem.setColumn(nAddRow, "reccnts" , fdgInfo);
- ds_data_recitem.setColumn(nAddRow, "unitnm" , "");
- ds_data_recitem.setColumn(nAddRow, "recimge" , objFmyData);
- ds_data_recitem.setColumn(nAddRow, "srcimge" , "");
- ds_data_recitem.setColumn(nAddRow, "rowno" , "");
- ds_data_recitem.setColumn(nAddRow, "colno" , "");
-
- }
-
- return objFmyData;
- }
- /**
- * @desc : 서식 기록 이미지 초기화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitUnitFormImgeData(itemCds)
- {
- var ctrlIvw;
- var imgelist;
- var node;
- var pageInfo = new PAGEINFO();
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- imgelist = ctrlIvw.model.instances(0).selectNodes(pageInfo.recItemRef+"[degnitemkind='IMG']");
- if (imgelist.length > 0)
- {
- copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef + "[degnitemkind='IMG']", "replace", model, ctrlIvw.model);
- for (var j = 0; j < imgelist.length; j++)
- {
- node = model.instances(0).selectSingleNode(pageInfo.imgelistRef + "[imgecd='"+ imgelist.item(j).getXPathString("degnitemcd") +"']/imgedata");
- if (node != null)
- {
- }
- }
- }
- }
- copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef2 + "[degnitemkind='IMG']", "replace", model, model);
- }
- /**
- * @desc : 서식항목 기본 사이즈
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormOrgSize(pItemCds, iheig, oheig) //20100316
- {
- var grupObj;
- var ctrlIvw;
- for (var i = 0; i < pItemCds.length; i++)
- {
- grupObj = document.controls("grup_" + pItemCds[i]);
- ctrlIvw = document.controls("ivw_" + pItemCds[i]);
- if (grupObj.attribute("orgheight") == "" || grupObj.attribute("orgheight") == null)
- {
- grupObj.attribute("orgheight") = oheig;
- ctrlIvw.attribute("orgheight") = iheig;
- }
- else
- {
- if (iheig == null || iheig == "")
- {
- grupObj.attribute("height") = grupObj.attribute("orgheight");
- ctrlIvw.attribute("height") = ctrlIvw.attribute("orgheight");
- }
- else
- {
- grupObj.attribute("height") = oheig;
- ctrlIvw.attribute("height") = iheig;
- }
-
- SetMultiTextFull(ctrlIvw, 1);
- }
-
- var extngrupObj = document.controls("grup_extn" + pItemCds[i]);
-
- if (extngrupObj == null)
- continue;
-
- grupObj.attribute("visibility") = "visible";
- extngrupObj.attribute("visibility") = "visible";
-
- }
- }
- /**
- * @desc : 서식항목 기본 사이즈
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormOrgSizeCnst(pItemCds, iheigArr, oheigArr)
- {
- var grupObj;
- var ctrlIvw;
- for (var i = 0; i < pItemCds.length; i++)
- {
- grupObj = grup_base.grup_cnts.components["grup_" + pItemCds[i]];
- ctrlIvw = grup_base.grup_cnts.components["ivw_" + pItemCds[i]];
- if (utlf_isNull(grupObj.orgheight))
- {
- grupObj.orgheight = oheigArr[i];
- ctrlIvw.orgheight = iheigArr[i];
- }
- else
- {
- if (utlf_isNull(iheigArr))
- {
- grupObj.position.height = grupObj.orgheight;
- ctrlIvw.position.height = ctrlIvw.orgheight;
- }
- else
- {
- grupObj.position.height = oheigArr[i];
- ctrlIvw.position.height = iheigArr[i];
- }
-
- SetMultiTextFull(ctrlIvw, 1);
- }
-
- // var extngrupObj = this.components["grup_extn" + pItemCds[i]];
-
- // if (utlf_isNull(extngrupObj)) continue;
-
- grupObj.visible = true;
- // extngrupObj.visible = true;
- }
- }
- /**
- * @desc : 서식항목 최대 사이즈
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormFullSize(pItemCd, pIdx, pItemCds, pPageIdx, pGrupBase)
- {
- var grupObj;
- var toppos = 0;
- //for (var i = 0; i < pPageIdx.length; i++)
- for (var i = 0; i < pItemCds.length; i++)
- {
- // grupObj = grup_base.grup_cnts.components["grup_" + pItemCds[i]];
- // extngrupObj = grupObj.components["grup_extn" + pItemCds[i]];
-
- if(pItemCds[i] == "0000960001") {
- grupObj = grup_base.grup_cnts.grup_0011449001;
- extngrupObj = grup_base.grup_cnts.grup_0011449001.grup_extn0011449001;
- } else if(pItemCds[i] == "0011449001") {
- grupObj = grup_base.grup_cnts.grup_0011449001;
- } else if(pItemCds[i] == "0001019001") {
- grupObj = grup_base.grup_cnts.grup_0011529001;
- extngrupObj = grup_base.grup_cnts.grup_0011529001.grup_extn0011529001;
- } else if(pItemCds[i] == "0011529001") {
- grupObj = grup_base.grup_cnts.grup_0011529001;
- }
- if(utlf_isNull(grupObj))
- continue;
- grupObj.sizeFlag = "full";
- if (pPageIdx[i] == pIdx)
- {
- if (pItemCds[i] == pItemCd)
- {
- grupObj.position.top = 0;
-
- grupObj.orgheight = grupObj.position.height;
- grupObj.position.height = pGrupBase.position.height;
- var grupbase_hei = parseInt(pGrupBase.position.height);
- var ctrlIvw = grupObj.components["ivw_" + pItemCds[i]];
- ctrlIvw.orgheight = ctrlIvw.position.height;
- ctrlIvw.position.height = parseInt(pGrupBase.position.height) - parseInt(ctrlIvw.position.top);
- //grupObj.attribute("visibility") = "visible";
- //extngrupObj.attribute("visibility") = "visible";
- if(!utlf_isNull(ctrlIvw.url)) SetMultiTextFull(ctrlIvw, 1);
- }
- else
- {
- // grupObj.visible = false;
- // if(!utlf_isNull(extngrupObj)) extngrupObj.visible = false;
- }
- }
- else
- {
- grupObj.visible = false;
- if(!utlf_isNull(extngrupObj)) extngrupObj.visible = false;
- }
- }
- }
- /**
- * @desc : 서식항목 visible hidden
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitUnitFormLayer(itemCds, pageIdx, pageCnt, grup)
- {
- SetUserTimeLog("InitUnitFormLayer", "START");
- var pageInfo = new PAGEINFO();
- var i = 0;
- var pagePerSecCnt = new Array(pageCnt);
- for (i = 0; i < pagePerSecCnt.length; i++)
- {
- pagePerSecCnt[i] = 0;
- }
- var ctrlGrup;
- var existCtrl;
- // 안보이게 하기
- for (i = 0; i < itemCds.length; i++)
- {
- ctrlGrup = document.controls("grup_" + itemCds[i]);
- existCtrl = model.getValue(pageInfo.formdegnRef + "[degnitemcd='" + itemCds[i] + "']/degnitemcd");
- if (existCtrl == "")
- {
- ctrlGrup.visible = false;
- }
- else
- {
- ctrlGrup.visible = true;
- pagePerSecCnt[pageIdx[i]]++;
- }
- }
- // 보이는거 분할하기 위한 높이 구하기
- var pagePerTopPt = new Array(0 ,0, 0);
- var swtHei = parseInt(grup.attribute("height")) - 1;
- for (i = 0; i < pagePerSecCnt.length; i++)
- {
- if (pagePerSecCnt[i] == 1)
- {
- pagePerTopPt[i] = swtHei;
- }
- else
- {
- pagePerTopPt[i] = parseInt(swtHei / pagePerSecCnt[i]);
- }
- }
- // 보이는거 분할하기
- var topPt = 0;
- var prePageIdx = -1;
- var ctrlLbl;
- var ctrlExtn;
- var ctrlIvw;
- var ctrlCbo;
- var swtWid = parseInt(grup.attribute("width"));
- var grupHei;
- var toppos = 0;
- var grupextnHei = 0;
- for (i = 0; i < itemCds.length; i++)
- {
- ctrlGrup = document.controls("grup_" + itemCds[i]);
- if (ctrlGrup.visible)
- {
- // 보이는거 위치잡기
- grupHei = pagePerTopPt[pageIdx[i]];
- if (prePageIdx != pageIdx[i])
- topPt = 0;
- else
- topPt += grupHei;
- prePageIdx = pageIdx[i];
- ctrlGrup.attribute("left") = 0;
- // 보이는거 크기 조정
- ctrlLbl = document.controls("lbl_" + itemCds[i]);
- ctrlExtn= document.controls("grup_extn" + itemCds[i]);
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlCbo = document.controls("cbo_" + itemCds[i]);
- toppos = parseInt(ctrlLbl.attribute("height"));
- ctrlIvw.attribute("border-style") = "none";
- if (ctrlGrup.attribute("degnflag") != "fix")
- {
- ctrlGrup.attribute("top") = topPt;
- ctrlGrup.attribute("width") = swtWid - 2;
- ctrlGrup.attribute("height") = grupHei - 1;
- }
- if (ctrlExtn != null)
- {
- grupextnHei = parseInt(ctrlExtn.attribute("height"));
- ctrlExtn.attribute("left") = 0;
- ctrlExtn.attribute("top") = ctrlLbl.attribute("height");
- ctrlExtn.attribute("width") = ctrlGrup.attribute("width");
- ctrlExtn.attribute("orgheight") = ctrlExtn.attribute("height");
- ctrlExtn.attribute("border-style") = "none";
- ctrlExtn.attribute("overflow") = "visible";
- }
- else
- {
- grupextnHei = 0;
- }
- ctrlGrup.attribute("orgwidth") = ctrlGrup.attribute("width");
- ctrlGrup.attribute("orgheight") = ctrlGrup.attribute("height");
- ctrlLbl.attribute("top") = 0;
- // ctrlIvw.attribute("top") = ctrlLbl.attribute("height");
- ctrlIvw.attribute("top") = toppos + grupextnHei;
- ctrlIvw.attribute("height") = parseInt(ctrlGrup.attribute("height")) - parseInt(ctrlIvw.attribute("top")) - 1;
- ctrlIvw.attribute("orgheight") = ctrlIvw.attribute("height");
- ctrlLbl.attribute("left") = 0;
- ctrlIvw.attribute("left") = 0;
- //ctrlCbo.attribute("left") = parseInt(ctrlGrup.attribute("width")) - parseInt(ctrlCbo.attribute("width")) - 2;
- ctrlGrup.attribute("orgtop") = ctrlGrup.attribute("top");
- ctrlGrup.attribute("orgleft") = ctrlGrup.attribute("left");
- ctrlLbl.attribute("width") = ctrlGrup.attribute("width");
- ctrlIvw.attribute("width") = ctrlGrup.attribute("width");
- ctrlGrup.attribute("overflow") = "visible";
- }
- }
- var ctrlTar;
- for (i = 0; i < itemCds.length; i++)
- {
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlTar = document.controls("tar_" + itemCds[i]);
- if (ctrlTar != null)
- {
- ctrlTar.attribute("top") = ctrlIvw.attribute("top");
- ctrlTar.attribute("left") = ctrlIvw.attribute("left");
- ctrlTar.attribute("width") = ctrlIvw.attribute("width");
- ctrlTar.attribute("height") = ctrlIvw.attribute("height");
- ctrlTar.attribute("orgtop") = ctrlIvw.attribute("orgtop");
- ctrlTar.attribute("orgheight") = ctrlIvw.attribute("orgheight");
- }
- }
- model.refresh();
- SetUserTimeLog("InitUnitFormLayer", "END");
- }
- /**
- * @desc : 서식항목 초기화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitUnitForm(itemCds, pageIdx, pageCnt, grup)
- {
- InitUnitFormLayer(itemCds, pageIdx, pageCnt, grup);
- InitSetUnitForm(itemCds, true);
- }
- var gLoadUnitFormCnt = 0;
- var gLoadedUnitFormCnt = 0;
- /**
- * @desc : 자유입력 Textarea(부분서식 대체)
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitLoadSection(itemCds)
- {
- var pageInfo = new PAGEINFO();
- for (var i = 0; i < itemCds.length; i++)
- {
- var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']");
- var ivwObj = document.controls("ivw_" + itemCds[i]);
- var tarObj = document.controls("tar_" + itemCds[i]);
- //alert(itemCds[i]+", "+model.getValue(pageInfo.forminfoRef + "/unitformmast/orgsupdegnitemcd"));
- if (cnt == 0)
- {
- //alert(itemCds[i]+", true");
- ivwObj.visible = false;
- tarObj.visible = true;
- //ivwObj.attribute("ctrluseyn") = "N";
- //tarObj.attribute("ctrluseyn") = "Y";
- }
- else
- {
- //alert(itemCds[i]+", false");
- ivwObj.visible = true;
- tarObj.visible = false;
- //ivwObj.attribute("ctrluseyn") = "Y";
- //tarObj.attribute("ctrluseyn") = "N";
- }
- if (tarObj.visible == true)
- {
- setComnEvent(parent.window.javascript.fGetFormMast("srcformcd"), tarObj.attribute("degnitemno"), tarObj.attribute("id"));
- }
- var cboObj = document.controls("cbo_" + gItemCds[i]);
- if (cboObj != null)
- SetUnitFormList(cboObj, gItemCds[i])
- }
- InitSetUnitForm(itemCds, true);
- makeRefByDegnitemno();
- }
- /*
- * @desc : 부분서식 Load
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitSetUnitForm(itemCds, pDraw)
- {
- SetUserTimeLog("InitSetUnitForm", "START");
- var pageInfo = new PAGEINFO();
- var ctrlIvw;
- gLoadUnitFormCnt = itemCds.length;
- gLoadedUnitFormCnt = 0;
- for (var i = 0; i < itemCds.length; i++)
- {
- //try
- //{
- var unitformcd = model.getValue(pageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
- "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
- if (unitformcd != "")
- {
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlIvw.attribute("supdegnitemcd") = itemCds[i];
- ctrlIvw.attribute("unitformcd") = unitformcd;
- SetUnitForm(ctrlIvw, unitformcd, pDraw);
- }
- ctrlCbo = document.controls("cbo_" + itemCds[i]);
- SetUnitFormList(ctrlCbo, itemCds[i]);
- //}
- //catch (e)
- //{
- // alert("[ERROR] InitUnitForm : " + itemCds[i]);
- // throw e;
- //}
- }
- SetUserTimeLog("InitSetUnitForm", "END");
- }
- /**
- * @desc : 부분서식 Set
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitForm(ivwObj, unitformcd, bDraw)
- {
- SetUserTimeLog("SetUnitForm", "START - " + unitformcd);
- //try
- //{
- if(bDraw == null)
- bDraw = true;
- var pageInfo = new PAGEINFO();
- var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
- if (ivwObj.src == "")
- {
- ivwObj.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- }
-
- if (opener.model.getValue("/root/emrtemp/sysformxrwyn") == "Y" &&
- model.getValue(pageInfo.forminfoRef + "/unitformmast[formcd='"+unitformcd+"']/formxrwyn") == "Y")
- {
- if(bDraw)
- {
- //alert("xrwyesdraw"+ivwObj.attribute("id"));
- /*********************/
- /* XRW Loading Logic */
- /*********************/
- /*var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[formcd='"+unitformcd+"']/formdegnseq") ;
- if (ivwObj.attribute("loaded_formdegnseq") == formdegnseq)
- {
- ivwObj.window.javascript.clearData();
- SetUserTimeLog("SetUnitForm", "clearData END - " + ivwObj.attribute("id"));
- // EmrFormReady(ivwObj.attribute("id"));
- }
- else
- {
- ivwObj.attribute("loaded_formdegnseq") = formdegnseq;
- // ivwObj.window.javascript.fDrawFormByFormDegnSeq(formdegnseq, ivwObj.attribute("id"));
- // SetUserTimeLog("SetUnitForm", "fDrawFormByFormDegnSeq END - " + ivwObj.attribute("id"));
- ivwObj.src = GetFormXrwSubmitStr(formdegnseq, "", ivwObj.attribute("id"));
- SetUserTimeLog("SetUnitForm", "GetFormXrwSubmitStr END");
- var pageInfo = new PAGEINFO();
- ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- SetUserTimeLog("SetUnitForm", "fSetDegnItems END");
- ivwObj.window.javascript.makeInstance(NewPageInfo(ivwObj, supdegnitemcd));
- SetUserTimeLog("SetUnitForm", "makeInstance END");
- SetMultiTextFull(ivwObj, 1);
- ivwObj.model.refresh();
- }*/
- /*ivwObj.window.javascript.fPreviewByDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- "", //디자인정보를 주지 않기로 함.
- pageInfo.forminfoRef + "/vallist",
- pageInfo.forminfoRef + "/imgelist",
- "record",
- supdegnitemcd,
- ivwObj);
- SetUserTimeLog("SetUnitForm", "fPreviewByDegnItems new END");
- SetMultiTextFull(ivwObj, 1);
- ivwObj.model.refresh();*/
- //ivwObj.window.javascript.fDrawFormByFormDegnSeq(model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq"), ivwObj.attribute("id"));
- ivwObj.window.javascript.fLoadFormByFormDegnSeq(model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq"), ivwObj.attribute("id"));
- SetUserTimeLog("SetUnitForm", "fLoadFormByFormDegnSeq END");
- SetMultiTextFull(ivwObj, 1);
- }
- else if(!bDraw)
- {
- ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- }
- }
- else
- {
- if(bDraw)
- {
- if (ivwObj.src != "../../../emr/formmngtweb/xrw/SSMRF01200.xrw")
- {
- ivwObj.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- SetUserTimeLog("SetUnitForm", "ivwObj.src END");
- }
- ivwObj.window.javascript.fPreviewByDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- SetUserTimeLog("SetUnitForm", "fPreviewByDegnItems END");
- SetMultiTextFull(ivwObj, 1);
- ivwObj.model.refresh();
- }
- else if(!bDraw)
- {
- ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- }
- }
- //}
- //catch (e)
- //{
- // alert("[ERROR] SetUnitForm");
- // throw e;
- //}
- SetUserTimeLog("SetUnitForm", "END");
- }
- /**
- * @desc : 서식항목 타입 초기화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitUnitFormTypeOne(itemCds)
- {
- var ctrlIvw;
- var ctrlCbo;
- var ctrlGrup;
- var unitformcd;
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrlGrup = document.controls("grup_" + itemCds[i]);
- ctrlGrup.attribute("orgtop") = ctrlGrup.attribute("top");
- ctrlGrup.attribute("orgheight") = ctrlGrup.attribute("height");
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlIvw.attribute("width") = 593;
- ctrlIvw.attribute("orgheight") = ctrlIvw.attribute("height");
- ctrlIvw.attribute("border-style") = "none";
- unitformcd = model.getValue(pageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
- "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
- if (unitformcd != "")
- {
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlIvw.attribute("unitformcd") = unitformcd;
- SetUnitForm(ctrlIvw, itemCds[i]);
- }
- ctrlCbo = document.controls("cbo_" + itemCds[i]);
- SetUnitFormList(ctrlCbo, itemCds[i]);
- }
- }
- /**
- * @desc : 그룹사이즈 최대화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function maxSizeGrup(pItemCd, pIdx, pItemCds, pPageIdx, pGrupBase, flag)
- {
- var grupMinHei = 24;
- var grupObj = document.controls("grup_" + pItemCd);
- if (grupObj.attribute("sizeFlag") == "full")
- {
- return;
- }
- else if (grupObj.attribute("sizeFlag") == "max")
- {
- resetSizeGrup(pIdx, pItemCds, pPageIdx);
- return;
- }
- var grupCnt = 0;
- for (var i = 0; i < pPageIdx.length; i++)
- {
- if (pPageIdx[i] == pIdx) grupCnt++;
- }
- var baseHei = parseInt(pGrupBase.attribute("height"));
- var grupMaxHei = baseHei - (grupMinHei * (grupCnt - 1));
- var ypos = 0;
- var ivwObj;
- var extnObj;
- for (var i = 0; i < pItemCds.length; i++)
- {
- grupObj = document.controls("grup_" + pItemCds[i]);
- ivwObj = document.controls("ivw_" + pItemCds[i]);
- extnObj = document.controls("grup_extn" + pItemCds[i]);
- if (pItemCds[i] == pItemCd)
- {
- grupObj.attribute("height") = grupMaxHei;
- grupObj.attribute("sizeFlag") = "max";
- //grupObj.attribute("orgheight") = grupObj.attribute("height");
- if (extnObj != null)
- {
- extnObj.attribute("visibility") = "visible"
- extnObj.attribute("height") = extnObj.attribute("orgheight");
- }
- ivwObj.attribute("height") = parseInt(grupObj.attribute("height")) - parseInt(ivwObj.attribute("top")) - 1;
- SetMultiTextFull(ivwObj, 1);
- }
- else
- {
- if (pPageIdx[i] == pIdx)
- {
- grupObj.attribute("height") = grupMinHei;
- grupObj.attribute("sizeFlag") = "min";
- if (extnObj != null)
- {
- extnObj.attribute("visibility") = "hidden"
- extnObj.attribute("height") = 0;
- }
- ivwObj.attribute("height") = 0;
- //SetMultiTextFull(ivwObj, 1);
- }
- }
- if (pPageIdx[i] == pIdx)
- {
- grupObj.attribute("top") = ypos;
- ypos += parseInt(grupObj.attribute("height"));
- }
- }
- }
- /**
- * @desc : 그룹 사이즈 초기화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function resetSizeGrup(pIdx, pItemCds, pPageIdx)
- {
- for (var i = 0; i < pItemCds.length; i++)
- {
- if (pPageIdx[i] == pIdx)
- {
- var grupObj = document.controls("grup_" + pItemCds[i]);
- var ivwObj = document.controls("ivw_" + pItemCds[i]);
- var extnObj = document.controls("grup_extn" + pItemCds[i]);
- grupObj.attribute("top") = parseInt(grupObj.attribute("orgtop"));
- grupObj.attribute("height") = parseInt(grupObj.attribute("orgheight"));
- grupObj.attribute("sizeFlag") = "";
- if (extnObj != null)
- {
- extnObj.attribute("visibility") = "visible"
- extnObj.attribute("height") = extnObj.attribute("orgheight");
- }
- ivwObj.attribute("height") = ivwObj.attribute("orgheight");
- SetMultiTextFull(ivwObj, 1);
- }
- }
- }
- /**
- * @desc : 서식 정보 Set
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormInfo(itemCds)
- {
- var ctrlIvw;
- var ctrlCbo;
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrlIvw = document.controls("ivw_" + itemCds[i]);
- ctrlCbo = document.controls("cbo_" + itemCds[i]);
- SetUnitForm(ctrlIvw, itemCds[i]);
- SetUnitFormList(ctrlCbo, itemCds[i]);
- }
- }
- var gFstItemCds; //gItemCds가 최상위아이템이 아닐때 세팅된다.
- /**
- * @desc : 기록 아이템 데이터 저장
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitSaveComnFormRecItemData(mode)
- {
- var ctrlIvw;
- var pageInfo = new PAGEINFO();
- if (gFstItemCds == null)
- {
- gFstItemCds = gItemCds;
- }
- model.removeNodeset(pageInfo.sortItemRef);
- //program서식 데이터 저장
- getSaveData(pageInfo.sortItemRef, "append", model, null, mode);
- for (var i = 0; i < gItemCds.length; i++)
- {
- ctrlIvw = document.controls("ivw_" + gItemCds[i]);
- if (ctrlIvw != null && ctrlIvw.visible)
- ctrlIvw.window.javascript.getSaveData(pageInfo.sortItemRef, "append", model, NewPageInfo(ctrlIvw, gFstItemCds[i]));
- copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
-
- //copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- }
- /*var nodelist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemlevlno = '1']/degnitemcd");
- for (var i = 0; i < nodelist.length; i++)
- {
- var degnitemcd = nodelist.item(i).text;
- copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[fstlevlitemcd = '" +degnitemcd+ "']", "append", model, model);
- copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +degnitemcd+ "']", "append", model, model);
- }
- */
- SortRecItem();
- copyNodeset(pageInfo.recItemRef2, pageInfo.recItemRef2, "replace", opener.model, model);
- }
- /**
- * @desc : Page Info 재설정
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function NewPageInfo(ctrlIvw, fstlevlitemcd, refPath)
- {
- utlf_addLog("***** NewPageInfo("+ctrlIvw.name+", "+fstlevlitemcd+", "+refPath+") EMRCommon -> MMRCommon *****");
- if(utlf_isNull(refPath))
- refPath = "ds_data";
- //var node = model.instances(0).selectSingleNode(refPath + "/formdegn[degnitemcd='"+ fstlevlitemcd +"']");
- var pageInfo = new PAGEINFO(ctrlIvw);
-
- var formmastDs = this.objects[refPath + "_formmast"];
- var formdegnDs = this.objects[refPath + "_formdegn"];
-
- pageInfo.formCd = formmastDs.getColumn(0, "formcd");
- pageInfo.formDegnSeq = formmastDs.getColumn(0, "formdegnseq");
- pageInfo.degnItemNo = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemno");
- pageInfo.degnItemCd = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemcd");
- pageInfo.degnItemLevlCd = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemlevlcd");
- pageInfo.fstLevlItemCd = fstlevlitemcd;
- pageInfo.degnitemkind = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemkind");
- pageInfo.degnitemlevlno = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemlevlno");
- pageInfo.degnitemnm = formdegnDs.lookup("degnitemcd", fstlevlitemcd, "degnitemnm");
- return pageInfo;
- }
- /**
- * @desc : 부분서식 갯수 카운트하여 리턴
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function GetUnitFormCnt()
- {
- return opener.window.javascript.fGetUnitFormCnt();
- }
- /**
- * @desc : 부분서식 정보 가져온다
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function GetUnitFormInfo(pIvwID)
- {
- try
- {
- var ivwObj = document.controls(pIvwID);
- var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
- var pageInfo = new PAGEINFO();
- ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- ivwObj.window.javascript.makeInstance(pageInfo);
- SetMultiTextFull(ivwObj, 1);
- }
- catch (e)
- {
- alert("[ERROR] GetUnitFormInfo : " + pIvwID);
- throw e;
- }
- }
- /**
- * @desc : XRW Submit
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function GetFormXrwSubmitStr(pFormDegnSeq, pFormCd, pIvwID)
- {
- return getActionURL("TRMRF01201") + "&formdegnseq=" +pFormDegnSeq+ "&formcd=" +pFormCd+ "&ivwid=" +pIvwID+ "&";
- }
- var gFrLoadTime;
- /**
- * @desc : 시간을 리턴헤준다
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function GetFrLoadTime()
- {
- return gFrLoadTime;
- }
- /**
- * @desc : 서식로드 관련 시간계산
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetFrLoadTime(frtime)
- {
- if (frtime == null)
- {
- gFrLoadTime = new Date();
- }
- else
- {
- gFrLoadTime = frtime;
- }
- }
- /**
- * @desc : 서식로드 관련 시간계산
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetToLoadTime(flag, totime)
- {
- if (totime == null)
- {
- totime = new Date();
- }
- if (flag==1)
- {
- cap_loadtime.text = ((totime.getTime() - gFrLoadTime.getTime()) / 1000) + " sec";
- }
- else if (flag==2)
- {
- opener.window.javascript.cap_loadtime.text = ((totime.getTime() - opener.window.javascript.gFrLoadTime.getTime()) / 1000) + " sec";
- }
- }
- /**
- * @desc : 서식로드 관련 시간계산
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function EmrFormReady(ivwID)
- {
- if (ivwID == "")
- {
- SetToLoadTime(1);
- }
- else
- {
- SetToLoadTime(2);
- }
- // if (ivwID == "")
- // {
- // SetToLoadTime(1);
- // }
- // else
- // {
- // SetUnitFormModel(ivwID);
- // fEndLoadForm(ivwID);
- // SetUserTimeLog("EmrFormReady", "END - " + ivwID);
- // }
- //
- // gLoadedUnitFormCnt++;
- // if (gLoadUnitFormCnt == gLoadedUnitFormCnt)
- // {
- // try {
- // fEndLoadForm();
- // SetToLoadTime(2);
- // SetUserTimeLog("EmrFormReady", "END - ALL");
- // }
- // catch (e) {
- // alert("Function fEndLoadForm 가 정의되어 있지 않습니다.");
- // }
- //
- // opener.window.javascript.fLoaderEndForm();
- // }
- }
- /**
- * @desc : 부분서식 모델 Set
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormModel(ivwID)
- {
- SetUserTimeLog("SetUnitFormModel", "START - " + ivwID);
- var ivwObj = document.controls(ivwID);
- var supdegnitemcd = ivwObj.attribute("supdegnitemcd");
- var pageInfo = new PAGEINFO();
- ivwObj.window.javascript.fSetDegnItems(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']",
- pageInfo.forminfoRef + "/vallist", pageInfo.forminfoRef + "/imgelist", "record", supdegnitemcd, ivwObj);
- SetUserTimeLog("SetUnitFormModel", "fSetDegnItems END - " + ivwID);
- ivwObj.window.javascript.makeInstance(NewPageInfo(ivwObj, supdegnitemcd));
- SetUserTimeLog("SetUnitFormModel", "makeInstance END - " + ivwID);
- SetMultiTextFull(ivwObj, 1);
- //ivwObj.model.refresh();
- SetToLoadTime(2);
- SetUserTimeLog("SetUnitFormModel", "makeInstance END - " + ivwID);
- }
- /**
- * @desc : 부분서식리스트 Set
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetUnitFormList(cboObj, supdegnitemcd)
- {
- if (cboObj == null) return;
- var pageInfo = new PAGEINFO();
- cboObj.refresh();
- if (cboObj.itemCount == 0)
- {
- cboObj.visible = false;
- }
- else
- {
- cboObj.visible = true;
- var node = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/unitformdegn[orgsupdegnitemcd='"+ supdegnitemcd +"']/formdegnseq");
- if (node != null)
- {
- model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", node.text);
- model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", node.text);
- }
- else
- {
- model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/baseunitformdegnseq", "");
- model.makeValue("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq", "");
- }
- //model.makeNode("/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq");
- cboObj.attribute("ref") = "/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq";
- cboObj.refresh();
- }
- }
- /**
- * @desc : 서식로더 셋팅
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function setFormLoader(iviewer)
- {
- iviewer.src = "../../medirecweb/xrw/SSMMR01100_서식로더.xrw";
- iviewer.attribute("border-style") = "solid";
- iviewer.attribute("border-color") = "#c0c0c0";
- }
- /**
- * @desc : 서식그리기
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function drawForm()
- {
- for(var i = 0; i < document.controls.length; i++)
- {
- var ctrl = document.controls.item(i);
- if(ctrl.elementName != "xforms:iviewer")
- continue;
- var formcd = ctrl.attribute("formcd");
- var formdegnseqno = ctrl.attribute("formdegnseqno");
- if(formcd == "" && formdegnseqno == "")
- continue;
- //var degndeptcd = ctrl.attribute("degndeptcd");
- //var degnid = ctrl.attribute("degnid");
- ctrl.window.javascript.fSetFormDegnInfo(ctrl);
- }
- }
- /**
- * @desc : 부분서식 데이터 조회
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function getSubFormData()
- {
- var targetRef = "/root/main/subform";
- var srcRef = "/root/main/formrecinfo/items";
- model.removeNodeset(targetRef);
- for(var i = 0; i < document.controls.length; i++)
- {
- var ctrl = document.controls.item(i);
- if(ctrl.elementName != "xforms:iviewer")
- continue;
- var formcd = ctrl.attribute("formcd");
- var formdegnseqno = ctrl.attribute("formdegnseqno");
- var id = "";
- var type = "";
- if(formcd != "")
- {
- id = formcd;
- type = "formcd";
- }
- else if(formdegnseqno != "")
- {
- id = formdegnseqno;
- type = "formdegnseqno";
- }
- else
- continue;
- var cntSubForm = getNodesetCnt(model, targetRef);
- //model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@id", id);
- copyNodeset(model, ctrl.model, targetRef + "[" + (cntSubForm + 1) + "]/items", srcRef);
- model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@id", id);
- model.makeValue(targetRef + "[" + (cntSubForm + 1) + "]/@type", type);
- }
- }
- /**
- * @desc : 최종진단소견
- * @id :
- * @event :
- * @return : void
- * @authur : 2010-03-31 오전 10:11:05 강지훈 추가
- */
- function openLastDiag(obj:Button, e:ClickEventInfo){
- alert("최종진단소견 사용불가합니다.");
- return;
-
- var supdegnitemcd = "0001013001";
- frmf_setParameter("lastdiag_supdegnitemcd", supdegnitemcd);
- //부분서식 로딩
- var ctrl = ComnFormObj.components["lbl_" + supdegnitemcd];
- if (!utlf_isNull(ctrl)){
- loadClickSection(supdegnitemcd);
- }
-
- var bfCosignedYN = opener.fGetFormRec("cosign");
- //팝업을띄워 내용입력.
- frmf_modal("SPMMR06600", "SPMMR06600", null, null, null, null, null, null, null, null, null, null, "M");
- var saveFlag = frmf_getParameter("lastdiag_saveflag_" + supdegnitemcd); //기록상태
- //Flag에 따라 기록 저장, 수정, 삭제
- if(saveFlag == "C"){ // 기록내용이 이전과같을때.
- return;
- }
- else if(saveFlag == "D") //삭제
- {
- model.removeNodeSet(pageInfo.recItemRef2 + "[formcd='1000007943']/reccnts");
- model.removeNodeSet(pageInfo.lastdiagItemRef + "/recitem[formcd='1000007943']");
- opener.opener.window.javascript.setParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
- opener.window.javascript.setParameter("SSMMR01100_fChkLastDiag", "Y");
- var savedYn = opener.window.javascript.fClickSave("Y");
- if(savedYn == true){
- //기록반려처리
- parent.window.javascript.fSaveLastDiagRec(bfCosignedYN);
- }
-
- }
- else if(saveFlag == "S")
- {
- opener.opener.window.javascript.setParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
- opener.window.javascript.setParameter("SSMMR01100_fChkLastDiag", "Y");
- var savedYn = opener.window.javascript.fClickSave("Y");
- if(savedYn == true){
- //기록반려처리
- parent.window.javascript.fSaveLastDiagRec(bfCosignedYN);
- }
- }
- opener.window.javascript.clearParameter("cosignclclyn");
- opener.window.javascript.clearParameter("SSMMR01100_fChkLastDiag");
- opener.opener.window.javascript.clearParameter("SSMMR01100_fChkPreSaveUseFlag", "N");
- //
- //버튼 모양설정
- try {
- setButtonToggleByRecYn(null, event.target);
- } catch (e) {
- }
- }
- /****************************************************************************************
- * Function : openEtcRec
- * Description : 추가기록창 팝업처리
- * Argument : supdegnitemcd - 대상이 되는 섹션의 아이템 코드
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function openEtcRec(obj:Button, e:ClickEventInfo)
- {
- utlf_addLog("***** openEtcRec(obj:Button, e:ClickEventInfo) *****");
- var supdegnitemcd = obj.name;
- supdegnitemcd = supdegnitemcd.split("_")[2];
-
- //var pageInfo = new PAGEINFO();
-
- this.frmf_setParameter("etcrec_supdegnitemcd", supdegnitemcd);
-
- //부분서식 로딩
- var ctrl = ComnFormObj.components["lbl_" + supdegnitemcd];
-
- if (!utlf_isNull(ctrl))
- {
- loadClickSection(supdegnitemcd);
- }
-
- var nEtcRecRow = "";
- var etcrec = "";
-
- var sFormCd = fGetFormMast("formcd"); // opener
- var fRow = ds_data_recitem.findRowExpr("degnitemno=='0'&&fstlevlitemcd=='"+supdegnitemcd+"'&&formcd=='"+sFormCd+"'");
- etcrec = ds_data_recitem.getColumn(fRow, "reccnts");
-
- if(!utlf_isNull(etcrec))
- {
- this.frmf_setParameter("etc_rec_" + supdegnitemcd, etcrec);
- }
- frmf_modal("SPMMR06100", "SPMMR06100", null, null, null, null, null, null, null, null, null, null, "M");
-
- var recrtn = this.frmf_getParameter("etcrec_rtn_" + supdegnitemcd);
-
- if(utlf_isNull(recrtn))
- {
- this.frmf_setParameter("etcrec_rtn_" + supdegnitemcd, recrtn);
- this.frmf_setParameter("etc_rec_" + supdegnitemcd, recrtn);
-
- //nEtcRecRow = ds_data_recitem.findRowExpr("degnitemno=='0'&&fstlevlitemcd=='"+supdegnitemcd+"'&&formcd=='"+sFormCd+"'");
- ds_data_recitem.deleteRow(fRow);
-
- try {
- setButtonToggleByRecYn(null, obj.name);
- } catch (e) {
- sysf_catchTrace(e);
- }
-
- }
- else
- {
- this.frmf_setParameter("etc_rec_" + supdegnitemcd, recrtn);
-
- nEtcRecRow = ds_data_recitem.findRowExpr("degnitemno=='0'&&fstlevlitemcd=='"+supdegnitemcd+"'&&formcd=='"+sFormCd+"'");
- if(nEtcRecRow == -1)
- {
- nEtcRecRow = ds_data_recitem.addRow();
- }
- ds_data_recitem.setColumn(nEtcRecRow, "fstlevlitemcd" , supdegnitemcd);
- ds_data_recitem.setColumn(nEtcRecRow, "formcd" , sFormCd);
- ds_data_recitem.setColumn(nEtcRecRow, "formdegnseq" , fGetFormMast("formdegnseq"));
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemno" , "0");
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemcd" , "0008458001");
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemkind" , "STX");
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemlevlno", "2");
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemnm" , "§추가입력");
- ds_data_recitem.setColumn(nEtcRecRow, "degnitemlevlcd", supdegnitemcd.substr(0, 7)+".0008458");
- ds_data_recitem.setColumn(nEtcRecRow, "reccnts" , recrtn);
-
-
- if(!utlf_isNull(recrtn))
- {// 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- var btnObj = ComnFormObj.components["btn_etcrec_" + supdegnitemcd];
- if( utlf_isNull(btnObj) ) btnObj = obj;
- lf_setButtonToggleByRecYn(supdegnitemcd, btnObj);
- }
- }
-
-
-
- }
- /**
- * @desc : 확장서식항목 오픈
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function openExtnUnitFormOfComnMediForm(supdegnitemcd)
- {
- utlf_addLog("***** openExtnUnitFormOfComnMediForm("+supdegnitemcd+") MMRCommon *****");
- var pageInfo = new PAGEINFO();
- var cboObj = this.components["cbo_" + supdegnitemcd];
- var cboid = cboObj.name;
- var baseunitformdegnseq = model.getValue("/root/hidden/choicbo/" + cboid + "/baseunitformdegnseq");
- var extnunitformdegnseq = model.getValue("/root/hidden/choicbo/" + cboid + "/extnunitformdegnseq");
- var node = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/extnformlist[formdegnseq='"+ extnunitformdegnseq +"']/formcd");
- if (node != null && node.text == "0000002615") //가계도
- {
- openFamilyDiagram(supdegnitemcd);
- return;
- }
- var baseNode = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/unitformmast[formdegnseq='"+ baseunitformdegnseq +"']/srcformcd");
- var extnNode = model.instances(0).selectSingleNode(pageInfo.forminfoRef + "/extnformlist[formdegnseq='"+ extnunitformdegnseq +"']/srcformcd");
- var forminfo;
- var widflag;
- if (baseNode != null && baseNode.text == extnNode.text)
- {
- forminfo = opener.window.javascript.fGetExtnUnitFormInfo(baseunitformdegnseq, extnunitformdegnseq);
- widflag = "ExtnUnitForm";
- }
- else
- {
- // opener.window.javascript.fGetFormInfoByFormDegnCd(extnunitformdegnseq);
- // forminfo, formcd, formdegnseq, extnunitformlistyn, sysformrecdt, formfromdt
- var sysformrecdt = opener.window.javascript.fGetFormRec("sysformrecdt") ;
- opener.window.javascript.fGetFormInfoByFormDegnCd("extnform", "", extnunitformdegnseq, "N", sysformrecdt);
- widflag = "-";
- var cnt = getNodesetCnt(opener.model, "/root/temp/settingform/forminfo/formdegnseq");
- if (cnt == 0)
- forminfo = "";
- else
- forminfo = opener.window.javascript.fGetCSVByFormInfo("/root/temp/settingform/forminfo");
- }
- if (forminfo == "") //기본서식에 없는 확장서식 아이템만 추출한 정보
- {
- messageBox("중복된 아이템을 제거하면 확장서식에 추가될 아이템이", "I004");
- }
- else
- {
- var nodelist = model.instances(0).selectNodes(pageInfo.extnrecItemRef + "[fstlevlitemcd='" +supdegnitemcd+ "' and formcd='" + node.text + "']");
- var recinfo = getNodeListCSV(nodelist);
- //alert(pageInfo.extnrecItemRef + "[fstlevlitemcd='" +supdegnitemcd+ "' and formcd='" + node.text + "']");
- //alert("forminfo: "+forminfo);
- setParameter("openmode", "extnunitform");
- setParameter("fstlevlitemcd", supdegnitemcd);
- setParameter("recinfo", recinfo); //확장서식에 저장한 정보
- setParameter("forminfo", forminfo); //기본서식에 없는 확장서식 아이템만 추출한 정보
- setParameter("widflag", widflag);
- modalUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
- }
- }
- /**
- * @desc : 부분서식의 디자인에 있는 이미지를 이미지편집창으로 복사한다.
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function getBaseUnitFormRecImge(ivwId, destModel)
- {
- //var pageInfo = new PAGEINFO();
- var ivwObj = ComnFormObj.components[ivwId];
- if (utlf_isNull(ivwObj) || !ivwObj.visible)
- ivwObj = this;
- ivwObj.ds_data_recitem.filter("degnitemkind=='IMG'");
- dsf_copyDsList(["ds_data_recitem"], ["ds_data_recitem"], "replace", destModel, ivwObj);
- ivwObj.ds_data_recitem.filter("");
-
- //utlf_addLog(destModel.ds_data_recitem.saveXML());
- var cnt = destModel.ds_data_recitem.rowcount;
- var imgecd;
- var imgedata;
- for (var i = 0; i < cnt; i++)
- {
- if (utlf_isNull(destModel.ds_data_recitem.getColumn(i, "recimge")))
- {
- imgecd = destModel.ds_data_recitem.getColumn(i, "degnitemcd");
- imgedata = ivwObj.ds_data_recitem.lookup("imgecd", imgecd, "imgedata");
- var objCxtCommon = new ExtCommon();
- var objImgeData = objCxtCommon.encodeBase64(imgedata);
- destModel.ds_data_recitem.setColumn(i, "recimge", objImgeData);
- }
- }
- }
- /**
- * @desc : 편집된 이미지를 부분서식으로 카피한다.
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function setBaseUnitFormRecImge(ivwId, destModel)
- {
-
- var degnitemlevlcd = ivwId.replace("ivw_","");
- if(ivw_imge.ds_data_recitem.rowcount > 0)
- {
- ds_data_recitem.addColumn("width","int");
- ds_data_recitem.addColumn("height","int");
-
- var nRow = ds_data_recitem.appendData(ivw_imge.ds_data_recitem, true);
- ds_data_recitem.setColumn(nRow - 1, "degnitemlevlcd", degnitemlevlcd.substr(0, 7)+ '.'+ds_data_recitem.getColumn(nRow - 1, "degnitemlevlcd"));
-
- }
-
-
- /*
- var degnitemlevlcd = ivwId.replace("ivw_","");
- ivw_imge.ds_data_recitem.filter("utlf_isNull(rowno) && !utlf_isNull(reccnts)");
- if(ivw_imge.ds_data_recitem.rowcount > -1)
- {
- ds_data_recitem.addColumn("width","int");
- ds_data_recitem.addColumn("height","int");
- }
- var nRow = ds_data_recitem.appendData(ivw_imge.ds_data_recitem, true);
- utlf_addLog("@@@@@@ nRow : " + nRow );
- ds_data_recitem.setColumn(nRow - 1, "degnitemlevlcd", degnitemlevlcd.substr(0, 7)+ '.'+ds_data_recitem.getColumn(nRow - 1, "degnitemlevlcd"));
-
- ivw_imge.ds_data_recitem.filter("utlf_isNull(rowno)");
- ivw_imge.ds_data_recitem.applyChange();
- ivw_imge.ds_data_recitem.deleteAll();
- ivw_imge.ds_data_recitem.applyChange();
- ivw_imge.ds_data_recitem.filter("");
-
- /*
-
- var ivwObj = ComnFormObj.components[ivwId];
- if (utlf_isNull(ivwObj) || !ivwObj.visible)
- ivwObj = this;
- var recItemRefDs = destModel.objects["ds_data_recitem"];
- recItemRefDs.filter("utlf_isNull(rowno) && !utlf_isNull(reccnts)");
- //var nodelist = destModel.instance1.selectNodes(pageInfo.recItemRef + "[rowno = '' and reccnts != '']");
- var path;
- for (var i = 0; i < recItemRefDs.rowcount; i++)
- {
- var fRow = (ivwObj.objects["ds_data_recitem"]).findRowExpr("degnitemno=='" + recItemRefDs.getColumn(i, "degnitemno") + "'");
-
- ivwObj.objects["ds_data_recitem"].setColumn(fRow, "reccnts", recItemRefDs.getColumn(i, "reccnts"));
- ivwObj.objects["ds_data_recitem"].setColumn(fRow, "recimge", recItemRefDs.getColumn(i, "recimge"));
- }
-
- recItemRefDs.filter("utlf_isNull(rowno)");
- recItemRefDs.applyChange();
- recItemRefDs.deleteAll();
- recItemRefDs.applyChange();
- recItemRefDs.filter("");
- */
- }
- /**
- * @desc : 프로그램서식여부 검사
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function isProgForm()
- {
- utlf_addLog("***** isProgForm() MMRCommon *****");
- var formprogflag = fGetFormMast("formprogflag");
- utlf_addLog("@@@@@ formprogflag('-', 'prof', 'main' -> return false) : " + formprogflag + " MMRCommon @@@@@");
- if (formprogflag == "-" || formprogflag == "PROF" || formprogflag == "MAIN")
- return false;
- else
- return true;
- }
- /**
- * @desc : lt, gt 변환
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function doReplaceLtGt(path:Dataset)
- {
- // dataset filter
- path.filter("degnitemkind == 'IMG'");
-
- var dsCnt = path.rowcount;
- var shape = "";
-
- for (var i = 0; i < dsCnt; i++)
- {
- if( utlf_transNullToEmpty(path.getColumn( i, "reccnts")).indexOf("<") == 0 )
- {
- shape = path.getColumn( i, "reccnts").replace(/</gi, "<");
-
- path.setColumn( i, "reccnts", shape.replace(/>/gi, ">"));
-
- // 2017.08.31 진료기록내역조회 이미지 정렬오류 수정
- if( utlf_transNullToEmpty(path.getColumn( i, "reccnts")).indexOf("height") > -1 ){
- if(path.getColumnInfo("imgehei") != null ){
- path.setColumn( i, "imgehei", "Y");
- }
- }
- }
- }
-
- // dataset filter reset
- path.filter("");
-
- /*
- var nodelist = model.instances(0).selectNodes(path + "[degnitemkind = 'IMG']/reccnts");
- var shape = "";
- for (var i = 0; i < nodelist.length; i++)
- {
- if (nodelist.item(i).text.indexOf("<") == 0)
- {
- shape = nodelist.item(i).text.replace(/</gi, "<");
- nodelist.item(i).text = shape.replace(/>/gi, ">");
- }
- }
- */
- }
- var gTermViewTopPos = 0;
- var gTermViewHei = 0;
- var gTermViewItems;
- var gTermViewMaxCtrlID = "";
- var gTermViewCtrlInitFlag = false;
- /****************************************************************************************
- * Function : fSetTermViewMaxSize
- * Description : 아이템 영역 최대화 (템플릿 부분서식 Grid에서 사용(서식주호소, 서식수술명, 서식진단명, CarePlan)
- * Argument : 01.ivwId - 최대화 영역 Name
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetTermViewMaxSize(ivwID)
- {
- if (gTermViewItems == null) return;
- var ctrl;
- if (! gTermViewCtrlInitFlag)
- {
- for (var i = 0; i < gTermViewItems.length; i++)
- {
- ctrl = ComnFormObj.components["ivw_" + gTermViewItems[i]];
- ctrl.orgtop = ctrl.position.top;
- ctrl.orgheight = ctrl.position.height;
- }
- gTermViewCtrlInitFlag = true;
- }
- ctrl = ComnFormObj.components[ivwID];
- var ctrlvisible = ivwID == gTermViewMaxCtrlID ? true : false;
- for (var i = 0; i < gTermViewItems.length; i++)
- {
- //sysf_trace(" gTermViewItems[i] : " + gTermViewItems[i] );
- ctrl = ComnFormObj.components["ivw_" + gTermViewItems[i]];
- ctrl.position.top = ctrl.orgtop;
- ctrl.position.height = ctrl.orgheight;
- ctrl.visible = ctrlvisible;
- }
- ctrl = ComnFormObj.components[ivwID];
- if (ivwID != gTermViewMaxCtrlID)
- {
- ctrl.visible = true;
- ctrl.position.top = gTermViewTopPos;
- ctrl.position.height = gTermViewHei;
-
- ctrl.bringToFront();
- gTermViewMaxCtrlID = ivwID;
- }
- else
- {
- gTermViewMaxCtrlID = "";
- }
- //ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")), ivwID);
- }
- var gMaxSectionTop;
- var gMaxSectionHei;
- var gMaxSectionTObj;
- var gMaxSectionBObj;
- function lf_setSectionSize(itemCds, t_Obj, b_Obj)
- {
- utlf_addLog("***** MMRCommon lf_setSectionSize("+itemCds+", "+t_Obj+", "+b_Obj+") *****");
-
- // 2018.01.05 서식로더 사이즈에 따른 앵커제외처리
- this.onsize.addHandler(lf_ComnFormAnchor);
-
- gMaxSectionTObj = eval(t_Obj);
- gMaxSectionBObj = eval(b_Obj);
-
- gMaxSectionTop = gMaxSectionTObj.position.top;
- gMaxSectionHei = parseInt(gMaxSectionBObj.position.bottom) - parseInt(gMaxSectionTObj.position.top);
- var ivwObj;
- var tarObj;
- var lblObj;
- for (var i = 0; i < itemCds.length; i++)
- {
- ivwObj = ComnFormObj.components["ivw_" + itemCds[i]];
- tarObj = ComnFormObj.components["tar_" + itemCds[i]];
- lblObj = ComnFormObj.components["lbl_" + itemCds[i]];
- if (utlf_isNull(tarObj))
- {
- ivwObj.orgtop = ivwObj.position.top;
- ivwObj.orgheight = ivwObj.position.height;
- ivwObj.ctrluseyn = "Y";
- if( !utlf_isNull(lblObj) ){
- lblObj.orgtop = ivwObj.position.top;
- lblObj.orgheight = ivwObj.position.height;
- }
-
- }
- else
- {
- tarObj.position.top = ivwObj.position.top;
- tarObj.position.left = ivwObj.position.left;
- tarObj.position.width = ivwObj.position.width;
- tarObj.position.height = ivwObj.position.height;
- tarObj.style.borderStyle = "solid";
- ivwObj.style.borderStyle = "none";
- ivwObj.orgtop = ivwObj.position.top;
- tarObj.orgtop = tarObj.position.top;
- ivwObj.orgheight = ivwObj.position.height;
- tarObj.orgheight = tarObj.position.height;
- if( !utlf_isNull(lblObj) ){
- lblObj.orgtop = ivwObj.position.top;
- lblObj.orgheight = ivwObj.position.height;
- }
- tarObj.taborder = 100 + i;
- }
- }
- }
- /****************************************************************************************
- * Description : 2018.01.05 서식로더 사이즈에 따른 앵커제외처리
- * Argument :
- * retrun type :
- ****************************************************************************************/
- function lf_ComnFormAnchor(obj:Div, e:SizeEventInfo){
- try{
- if( obj.position.height < 670 ){
- obj.ComnFormObj.organchor = obj.ComnFormObj.anchor;
- obj.ComnFormObj.anchor = "";
-
- }else{
- if( !utlf_isNull(obj.ComnFormObj.organchor) ){
- obj.ComnFormObj.anchor = obj.ComnFormObj.organchor;
- }else{
- obj.ComnFormObj.anchor = "all";
- }
- }
- }catch(e){
- sysf_catchTrace(e);
- }
- }
- /**
- * @desc : 아이템 영역 최대화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function setSectionSize(itemCds, topPos, heiSz)
- {
- utlf_addLog("***** MMRCommon setSectionSize("+itemCds+", "+topPos+", "+heiSz+") *****");
- gMaxSectionTop = topPos;
- gMaxSectionHei = heiSz;
- var ivwObj;
- var tarObj;
- var lblObj;
- for (var i = 0; i < itemCds.length; i++)
- {
- ivwObj = ComnFormObj.components["ivw_" + itemCds[i]];
- tarObj = ComnFormObj.components["tar_" + itemCds[i]];
- lblObj = ComnFormObj.components["lbl_" + itemCds[i]];
- if (utlf_isNull(tarObj))
- {
- ivwObj.orgtop = ivwObj.position.top;
- ivwObj.orgheight = ivwObj.position.height;
- ivwObj.ctrluseyn = "Y";
- if( !utlf_isNull(lblObj) ){
- lblObj.orgtop = ivwObj.position.top;
- lblObj.orgheight = ivwObj.position.height;
- }
-
- }
- else
- {
- tarObj.position.top = ivwObj.position.top;
- tarObj.position.left = ivwObj.position.left;
- tarObj.position.width = ivwObj.position.width;
- tarObj.position.height = ivwObj.position.height;
- tarObj.style.borderStyle = "solid";
- ivwObj.style.borderStyle = "none";
- ivwObj.orgtop = ivwObj.position.top;
- tarObj.orgtop = tarObj.position.top;
- ivwObj.orgheight = ivwObj.position.height;
- tarObj.orgheight = tarObj.position.height;
- if( !utlf_isNull(lblObj) ){
- lblObj.orgtop = ivwObj.position.top;
- lblObj.orgheight = ivwObj.position.height;
- }
- tarObj.taborder = 100 + i;
- }
- }
- }
- var gMaxSectionID = "";
- /**
- * @desc : 아이템의 영역 최대화
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetMaxSizeSection(itemCds)
- {
- var ctrlID = event.target;
- var itemcd = ctrlID.replace("lbl_", "");
- var ctrlvisible = itemcd == gMaxSectionID ? true : false;
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl = document.controls("ivw_" + itemCds[i]);
- if (ctrl.attribute("ctrluseyn") == "N")
- ctrl = document.controls("tar_" + itemCds[i]);
- ctrl.attribute("top") = ctrl.attribute("orgtop");
- ctrl.attribute("height") = ctrl.attribute("orgheight");
- ctrl.visible = ctrlvisible;
- if (ctrl.elementName == "xforms:iviewer")
- SetMultiTextFull(ctrl, 1);
- ctrl = document.controls("lbl_" + itemCds[i]);
- ctrl.attribute("background-color") = "#cce8ff";
- }
- ctrl = document.controls("ivw_" + itemcd);
- if (ctrl.attribute("ctrluseyn") == "N")
- {
- ctrl = document.controls("tar_" + itemcd);
- }
- if (! ctrlvisible)
- {
- ctrl.visible = true;
- ctrl.attribute("top") = gMaxSectionTop;
- ctrl.attribute("height") = gMaxSectionHei;
- if (ctrl.elementName == "xforms:iviewer")
- SetMultiTextFull(ctrl, 1);
- ctrl = document.controls("lbl_" + itemcd);
- ctrl.attribute("background-color") = "#99ccff";
- gMaxSectionID = itemcd;
- }
- else
- {
- if (ctrl.elementName == "xforms:iviewer")
- SetMultiTextFull(ctrl, 1);
- gMaxSectionID = "";
- }
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl = document.controls("tar_" + itemCds[i]);
- if (ctrl == null)
- {
- ctrl = document.controls("ivw_" + itemCds[i]);
- ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
- }
- }
- ctrl = document.controls("tar_" + itemcd);
- if (ctrl != null && ctrl.attribute("ctrluseyn") == "Y")
- {
- model.setFocus(ctrl.attribute("id"));
- ctrl.dispatch("onkeyup");
- }
- }
- /****************************************************************************************
- * Function : InitBtnImge
- * Description : 이미지 버튼 함수 설정
- * Argument : 01. itemCds
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnImge(itemCds)
- {
- utlf_addLog("***** InitBtnImge("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl = ComnFormObj.components["btn_imge_" + itemCds[i]];
- if (!utlf_isNull(ctrl)) {
- ctrl.onclick.addHandler(OpenUnitFormImge);
- }
- }
- }
- /**
- * @desc : 확장서식 콤보 ref 설정
- * @id :
- * @event :
- * @return : void
- * @authur : 주희경, 2010.01.19
- */
- function initCmbExtnList(itemCds)
- {
- utlf_addLog("***** initCmbExtnList("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl = ComnFormObj.components["cbo_" + itemCds[i]];
- if (!utlf_isNull(ctrl)) {
- //확장서식 콤보리스트 컨트롤들에 이벤트를 동적으로 생성한다. (1. 값셋팅, 2. 해당 서식 오픈 )
- //ctrl.attribute("xforms-select") = "setExtnValueChange(cbo_" + itemCds[i]+", '"+itemCds[i]+"')";
- ctrl.onitemchanged.addHandler(setExtnValueChange);
- //확장서식 콤보리스트들에 동적으로 인스턴스를 매핑한다.
- setExtnFormList(ctrl, itemCds[i]);
- }
- else {
- //alert("no set attribute");
- }
- }
- }
- /**
- * @desc : 확장서식 콤보 value-change 실행 함수
- * @id :
- * @event :
- * @return : void
- * @authur : 주희경, 2010.01.19
- */
- function setExtnValueChange(strCtrl, itemCd)
- {
- fSetBaseForm( itemCd ); //기본서식 로딩
-
- setExtnFormList(eval(strCtrl), itemCd); //현재 선택한 콤보값 저장
- openExtnUnitFormOfComnMediForm(itemCd); //선택한 확장서식 오픈
- }
- /**
- * @desc : 확장서식 팝업에서 기본서식과 겹치는 아이템은 disable 처리
- * ( 기본적으로 쿼리에서 중복은 처리하나 특정 아이템의 경우 부모 아이템이 딸려 조회되야 하므로 부모 아이템을 disable 처리 )
- * @id :
- * @event :
- * @return : void
- * @authur : 주희경, 2010.01.27
- */
- function setCtrlDisabled(gFstLevlItemCd)
- {
- var parentIvw = eval("opener.ivw_"+gFstLevlItemCd);
- var bodyCtrls = ivw_base.body.children;
- var length = bodyCtrls.length;
-
- for (i=0; i< length; i++)
- {
- if ( bodyCtrls.item(i).elementName == "xforms:scrollbar" || bodyCtrls.item(i).elementName == "xforms:import" || bodyCtrls.item(i).elementName == "xforms:script"|| bodyCtrls.item(i).elementName == "xforms:tooltip" || bodyCtrls.item(i).elementName == "xforms:caption" || bodyCtrls.item(i).elementName == "xforms:group")
- continue;
-
- var degnitemno = bodyCtrls.item(i).attribute("degnitemno");
- var cnt = parentIvw.model.getXPathValue("count(/root/main/recinfo/recitem[degnitemno='"+degnitemno+"'])");
- if ( cnt == 1 )
- bodyCtrls.item(i).disabled= true;
- }
- }
- /****************************************************************************************
- * Function : InitBtnFmy
- * Description : 가계도 버튼 함수 설정
- * Argument : 01. itemCds
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnFmy(itemCds)
- {
- utlf_addLog("***** InitBtnFmy("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl = ComnFormObj.components["btn_fmy_" + itemCds[i]];
- if (!utlf_isNull(ctrl))
- //ctrl.attribute("DOMActivate") = "OpenUnitFormFmy()";
- ctrl.onclick.addHandler(OpenUnitFormFmy);
- }
- }
- /****************************************************************************************
- * Function : InitBtnEtcRec
- * Description : 추가기록 버튼 함수 설정
- * Argument : 01. itemCds
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnEtcRec(itemCds)
- {
- utlf_addLog("***** InitBtnEtcRec("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ctrl =ComnFormObj.components["btn_etcrec_" + itemCds[i]];
- if (!utlf_isNull(ctrl))
- ctrl.onclick.addHandler(openEtcRec);
- }
- }
- /**
- * @desc : 최종진단소견 버튼 함수 설정
- * @id :
- * @event :
- * @return : void
- * @authur : 강지훈
- */
- function InitBtnLastDiag(itemCd)
- {
- utlf_addLog("***** InitBtnLastDiag("+itemCd+") *****");
- ctrl = ComnFormObj.components["btn_lastdiag_" + itemCd];
- if (!utlf_isNull(ctrl))
- {
- ctrl.onclick.addHandler(openLastDiag);
- //ctrl.attribute("DOMActivate") = "openLastDiag('" + itemCd + "')";
- }
- }
- /**
- * @desc : 상용구 관리화면 버튼 함수 설정
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitBtnComn(itemCds)
- {
- //상용구관리화면 에러로 임시 막음(2008-01-03) 박종훈
- // for (var i = 0; i < itemCds.length; i++)
- // {
- // ctrl = document.controls("btn_comn_" + itemCds[i]);
- //
- // if (ctrl != null)
- // ctrl.attribute("DOMActivate") = "OpenComnUseStmt()";
- // }
- }
- /****************************************************************************************
- * Function : OpenComnUseStmt
- * Description : 상용구 예문관리 화면 팝업
- * Argument : 01. obj : Components Object
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function OpenComnUseStmt(obj)
- {
- utlf_addLog("***** OpenComnUseStmt("+obj+") MMRCommon *****");
- var ctrlID = obj.name;
- var degnitemcd = ctrlID.replace("btn_comn_", "");
- frmf_setParameter("comn_degnitemcd", degnitemcd);
- frmf_setParameter("comn_srcformcd", parent.fGetFormMast("srcformcd"));
-
- frmf_modal("SMMRF02400", "SMMRF02400", null, null, 1, 50, 50, null, null, null, null, null, "M");
- //modal("SMMRF02400",1 ,50, 50);
- }
- /****************************************************************************************
- * Function : InitBtnDiag
- * Description : 환자진단정보 가져오기 버튼 설정
- * 2010.01.15 dhkim
- * - 버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
- * - isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
- * Argument : 01. itemCd
- * : 02. isBtnSet
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnDiag(itemCd, isBtnSet)
- {
- utlf_addLog("***** InitBtnDiag("+itemCd+", "+isBtnSet+") *****");
- ctrl = ComnFormObj.components["btn_diag_" + itemCd];
- if (!utlf_isNull(ctrl))
- {
- //ctrl.attribute("DOMActivate") = "GetPatDiagNm('" + itemCd + "')";
- ctrl.onclick.addHandler(GetPatDiagNm);
- }
-
- //2010.01.15 dhkim
- //isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
- if(utlf_isNull(isBtnSet)){
- isBtnSet = "N";
- }
-
- //버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
- if(isBtnSet == "Y"){
- var oFormdegnDs = parent.objects["ds_data_formdegn"];
- var nFindRow = oFormdegnDs.findRowExpr("supdegnitemcd=='" + itemCd + "' && itemuseflag=='F0'");
- if(nFindRow == -1){
- return;
- }
-
- var sDegnitemkind = oFormdegnDs.getColumn(nFindRow, "degnitemkind");
- var sDegnitemcd = oFormdegnDs.getColumn(nFindRow, "degnitemcd");
-
- //FRM & 00000005 (자유서식)아닌것
- if(sDegnitemkind == "FRM" && sDegnitemcd != "0000000005"){
- ComnFormObj.components["btn_diag_" + itemCd].visible = false;
- }else{
- ComnFormObj.components["btn_diag_" + itemCd].visible = true;
- }
- }
-
- }
- /****************************************************************************************
- * Function : InitBtnPrcp
- * Description : 환자처방정보 가져오기 버튼 설정
- * History : 2010.01.15 dhkim
- * - 버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
- * - isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
- * Argument : 01. itemCd
- * : 02. isBtnSet
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnPrcp(itemCd, isBtnSet)
- {
- utlf_addLog("***** InitBtnPrcp("+itemCd+", "+isBtnSet+") MMRCommon *****");
- ctrl = ComnFormObj.components["btn_prcp_" + itemCd];
- if (!utlf_isNull(ctrl))
- {
- ctrl.onclick.addHandler(GetPatPrcpList);
- }
-
- //20130329 정창혁/ 처방내역을 선택하여 추가할 수 있는 팝업창 호출
- var ctrlSelBtn = ComnFormObj.components["btn_sel_prcp_" + itemCd];
- if (!utlf_isNull(ctrlSelBtn)) {
- ctrlSelBtn.onclick.addHandler(lf_btn_sel_prcp_onclick);
- }
-
- //2010.01.15 dhkim
- //isBtnSet 파라미터 추가 (Y:hidden처리적용, N:기존대로사용)
- if(utlf_isNull(isBtnSet)){
- isBtnSet = "N";
- }
-
- //버튼위치가 부분서식의 섹션인 경우 버튼을 hidden처리함
- if(isBtnSet == "Y"){
- var oFormdegnDs = parent.objects["ds_data_formdegn"];
- var nFindRow = oFormdegnDs.findRowExpr("supdegnitemcd=='" + itemCd + "' && itemuseflag=='F0'");
- if(nFindRow == -1){
- return;
- }
-
- var degnitemkindNode = oFormdegnDs.getColumn(nFindRow, "degnitemkind");
- var degnitemcd = oFormdegnDs.getColumn(nFindRow, "degnitemcd");
-
- //FRM & 00000005 (자유서식)아닌것
- if(degnitemkindNode == "FRM" && degnitemcd != "0000000005"){
- ComnFormObj.components["btn_prcp_" + itemCd].visible = false;
- }else{
- ComnFormObj.components["btn_prcp_" + itemCd].visible = true;
- }
- }
-
- }
- function lf_btn_sel_prcp_onclick(){
- frmf_modal("SPMMR09000", "SPMMR09000", null, null, null, null, null, null, null, null, null, null, "M");
- }
- /**
- * @desc :환자퇴원처방정보 가져오기 버튼 설정
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitBtnOutPrcp(itemCd)
- {
- ctrl = ComnFormObj.components["btn_outprcp_" + itemCd];
- if (!utlf_isNull(ctrl))
- {
- ctrl.onclick.addHandler(GetPatOutPrcpList);
- //ctrl.attribute("DOMActivate") = "GetPatOutPrcpList('" + itemCd + "')";
- }
- }
- /**
- * @desc :환자예약정보 가져오기 버튼 설정
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitBtnResv(itemCd)
- {
- ctrl = ComnFormObj.components["btn_resv_" + itemCd];
- if (!utlf_isNull(ctrl))
- {
- ctrl.onclick.addHandler(GetPatResvList);
- //ctrl.attribute("DOMActivate") = "GetPatResvList('" + itemCd + "')";
- }
- }
- /**
- * @desc :환자예약정보 가져오기
- * @id :
- * @event : onclick
- * @return : void
- * @authur : 박종훈
- */
- function GetPatResvList(obj:Button, e:ClickEventInfo)
- {
- utlf_addLog("***** GetPatResvList("+obj.name+") *****");
- var sItemCd = obj.name.replace("btn_resv_", "");
-
- var nRow = parent.ds_data_formrec.rowposition;
- var pid = parent.ds_data_formrec.getColumn(nRow, "pid");
-
- // 등록번호
- var sSendDs = dsf_createDsRow("ds_cond_reqinfstrec", [{col:"pid", type:"string", size:256, val:pid}]);
- var objSendDs:Dataset = new Dataset;
- objSendDs = this.objects[sSendDs];
-
- // 등록번호, 진료일자, 생성번호, 진료시간, 진료과코드, 진료과명, 진료의사ID, 진료의사명, 근무부서코드
- var sOutDs = dsf_createDsRow("ds_main_resvlist", [{col:"pid" , type:"string", size:256, val:""},
- {col:"orddd" , type:"string", size:256, val:""},
- {col:"cretno" , type:"BIGDECIMAL", size:256, val:""},
- {col:"ordtm" , type:"string", size:256, val:""},
- {col:"orddeptcd", type:"string", size:256, val:""},
- {col:"orddeptnm", type:"string", size:256, val:""},
- {col:"orddrid" , type:"string", size:256, val:""},
- {col:"orddrnm" , type:"string", size:256, val:""},
- {col:"dutdeptcd", type:"string", size:256, val:""}]);
- var objOutDs:Dataset = new Dataset;
- objOutDs = this.objects[sOutDs];
-
- var oParam = {};
- oParam.id = "TRMMR00301";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetResvList";
- oParam.inds = "req="+sSendDs;
- oParam.outds = sOutDs+"=resvlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMR00301";
- tranf_submit(oParam);
- if (arErrorCode.pop("TRMMR00301") > -1)
- {
-
- var objOutDsCnt = objOutDs.getRowCount();
- var resvinfo
- if (objOutDsCnt > 0)
- {
- resvinfo = "진료예약 : ";
- var orddd = "";
- var ordtm = "";
- var orddeptnm = "";
- var orddrnm = "";
- for (var i = 0; i < objOutDsCnt; i++)
- {
- orddd = objOutDs.getColumn(i, "orddd");
- ordtm = objOutDs.getColumn(i, "ordtm");
- orddeptnm = objOutDs.getColumn(i, "orddeptnm");
- orddrnm = objOutDs.getColumn(i, "orddrnm");
- if (i == 0)
- {
- resvinfo += orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
- + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
- + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
- }
- else
- {
- resvinfo += " " + orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
- + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
- + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
- }
- }
- }
- else
- {
- sysf_messageBox("예약내역이", "I004");
- return;
- }
- }
- if (!utlf_isNull(resvinfo))
- {
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", sItemCd);
- ds_data_recitem.setColumn(nFindRow, "reccnts", resvinfo);
-
- var objTextArea = ComnFormObj.components["tar_" + sItemCd];
- objTextArea.value = resvinfo;
- }
- // Temp Dataset을 삭제
- var oRemoveDs = this.removeChild(sSendDs);
- oRemoveDs = null;
- oRemoveDs = this.removeChild(sOutDS);
- oRemoveDs = null;
- }
- function cf_TRMMR00301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc :환자퇴원처방정보 가져오기
- * @id :
- * @event : onclick
- * @return : void
- * @authur : 박종훈
- */
- function GetPatOutPrcpList(obj:Button, e:ClickEventInfo)
- {
- var sItemCd = obj.name.replace("btn_outprcp_", "");
-
- var prcpdd = "";
- var bfflag = "bfprcp";
- var flag = "-";
- var todd = "";
-
- var nRow = parent.ds_data_formrec.rowposition;
- var pid = parent.ds_data_formrec.getColumn(nRow, "pid");
- var orddd = parent.ds_data_formrec.getColumn(nRow, "orddd");
- var cretno = parent.ds_data_formrec.getColumn(nRow, "cretno");
- var orddrid = "";
- var orddeptcd = parent.ds_data_formrec.getColumn(nRow, "orddeptcd");
- var prcpgenrflag = parent.ds_data_formrec.getColumn(nRow, "chosflag");
- prcpdd = "recbfsrch"; // 입퇴원 요약지의 퇴원처방 날짜조건 변경을 위한 구분자 20100301 이윤정
- sysf_trace("==GetPatOutPrcpList 입퇴원요약 처방버튼클릭시 : prcpdd ::" + prcpdd);
- //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
- //if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
- var prcplistCnt = 0;
- var expr = "prcpkindcd == 60 && prcphistcd != 'C' && prcphistcd != 'L' && prcphistcd != 'E'";
- if(lf_bfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", "", "", ""))
- {
- //var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[prcpkindcd = 60 and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
- prcplistCnt = ds_prcpsrch_prcplist.getCaseCount(expr);
- }
-
- var prcpkind = ""; //처방종류
- var orgprcpnm = ""; //처방명
- var drugmthdspccdnm = ""; //용법
- var prcpdelivefact = ""; //전달사항
- var prcplist = "";
-
- var prcpclscd = "";
-
- var tmpdrugmthdspccdnm = "";
- if(prcplistCnt >= 1){
- ds_prcpsrch_prcplist.filter(expr);
- for(var i = 0; i < prcplistCnt; i++)
- {
- tmpdrugmthdspccdnm = ds_prcpsrch_prcplist.getColumn(i, "drugmthdspccdnm");
- prcpkind = ds_prcpsrch_prcplist.getColumn(i, "tempcol13");
- orgprcpnm = ds_prcpsrch_prcplist.getColumn(i, "tempcol6");
- drugmthdspccdnm = utlf_transNullToEmpty(ds_prcpsrch_prcplist.getColumn(i, "tempcol7"));
- prcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
-
- drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
- var prcpdelivefact = ds_prcpsrch_prcplist.getColumn(i, "prcpdelivefact");
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += orgprcpnm + "\n"
- }
- }
- ds_prcpsrch_prcplist.filter("");
- }
- else
- {
- sysf_messageBox("퇴원처방 내역이", "I004");
- return false;
- }
-
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", sItemCd);
- var prerec = ds_data_recitem.getColumn(nFindRow, "reccnts");
- if (!utlf_isNull(prerec))
- {
- prerec = prerec + "\n" + prcplist + "\n";
- }
- else
- {
- prerec = prcplist + "\n"
- }
- var tmpTxt = prerec;
- if(!utlf_isNull(tmpTxt))
- {
- var objTextArea = ComnFormObj.components["tar_" + sItemCd];
- var objDivArea = ComnFormObj.components["ivw_" + sItemCd];
-
- if(!utlf_isNull(objDivArea.url)) // careplan에 세팅
- {
- var arrTmp = prerec.split("\n");
- var grdObj = objDivArea.ds_grid_grd_diaglist;
- var nRow = grdObj.rowcount;
- var nNewRow;
- for(var k = 0; k < arrTmp.length; k++)
- {
- if(!utlf_isNull(arrTmp[k])) // 처방내역이 있으면
- {
- if(utlf_isNull(grdObj.getColumn(nRow - 1, "reccnts4")))
- {
- nNewRow = nRow - 1;
- }
- else
- {
- nNewRow = grdObj.addRow();
- objDivArea.lf_addRecItemOne(nNewRow); // recitem row 추가
- }
- grdObj.setColumn(nNewRow, "reccnts4", arrTmp[k]);
- }
- }
- }
- else
- {
- if(nFindRow == -1)
- {
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + sItemCd + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- objTextArea.value = prerec;
- }
- }
-
- //model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
- return true;
- }
- /****************************************************************************************
- * Function : GetPatPrcpList
- * Description : 환자처방정보 가져오기
- * Argument : 01. sItemCd : 대상이 되는 섹션의 아이템 코드
- * : 01. prcpkindflag : 조회되는 처방 구분
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function GetPatPrcpList(obj:Button, e:ClickEventInfo)
- {
- utlf_addLog("***** GetPatPrcpList *****");
- var itemCd = obj.name.split("_")[2];
-
- //var pageInfo = new PAGEINFO();
- var prcpdd = utlf_getCurrentDate();
- var bfflag = "bfprcp";
- var flag = "";
- var todd = "";
-
- var nRow = parent.ds_data_formrec.rowposition;
- var pid = parent.ds_data_formrec.getColumn(nRow, "pid");
- var orddd = parent.ds_data_formrec.getColumn(nRow, "orddd");
- var cretno = parent.ds_data_formrec.getColumn(nRow, "cretno");
- var orddrid = parent.ds_data_formrec.getColumn(nRow, "orddrid");
- var orddeptcd = parent.ds_data_formrec.getColumn(nRow, "orddeptcd");
- var prcpgenrflag = parent.ds_data_formrec.getColumn(nRow, "chosflag");
- if (prcpgenrflag == "I" || prcpgenrflag == "E" || prcpgenrflag == "D")
- {
- //prcpdd = parent_recMastRefDs.getColumn(0, "formrecdd");
- prcpdd = parent.ds_data_formrec.getColumn(0, "formrecdd");
- }
- else
- {
- prcpdd = orddd;
- }
-
- //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
- //if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
- var prcplistCnt = 0;
- var expr = "!utlf_isNull(prcpkindcd) && prcphistcd != 'C' && prcphistcd != 'L' && prcphistcd != 'E'";
- if(lf_bfPrcpSrchCom( pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", "", "", ""))
- {
- prcplistCnt = ds_prcpsrch_prcplist.getCaseCount(expr);
- //var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
- }
-
- var prcpkind = ""; //처방종류
- var orgprcpnm = ""; //처방명
- var drugmthdspccdnm = ""; //용법
- var prcpdelivefact = ""; //전달사항
- var prcplist = "";
- var prcphistcd = ""; //임시,인증구분
- var prcpclscd = "";
-
- var tmpdrugmthdspccdnm = "";
- if(prcplistCnt >= 1){
- //filter
- ds_prcpsrch_prcplist.filter(expr);
- for(var i = 0; i < prcplistCnt; i++)
- {
-
- tmpdrugmthdspccdnm = ds_prcpsrch_prcplist.getColumn(i, "drugmthdspccdnm");
- prcpkind = ds_prcpsrch_prcplist.getColumn(i, "tempcol13");
- orgprcpnm = ds_prcpsrch_prcplist.getColumn(i, "tempcol6");
- drugmthdspccdnm = utlf_transNullToEmpty(ds_prcpsrch_prcplist.getColumn(i, "tempcol7"));
- prcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- //2012.06.08 처방 가져오기 개인 설정 조회 엄영만
- //fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/getprcpcnt", "033");
- //var getprcpcnt = model.getValue("/root/envinit/getprcpcnt/answcnt");
- var getprcpcnt = ds_envinit.lookup("qestcd", "033", "answcnt");
- switch(getprcpcnt)
- {
- case "001" : // 기본값 용법 삭제
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
- break;
-
- case "002" : // 약품처방 용법표시
- if (prcpclscd != "A2" && prcpclscd != "A4" && prcpclscd != "A6") {
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
- }
- break;
-
- default:
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
- break;
- }
-
- drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
- prcpdelivefact = ds_prcpsrch_prcplist.getColumn(i, "prcpdelivefact");
- prcphistcd = ds_prcpsrch_prcplist.getColumn(i, "prcphistcd");
-
- if(prcphistcd == "T") {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
- prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
- } else {
- prcplist += "[임] " + orgprcpnm + "\n"
- }
- } else {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
- prcplist += orgprcpnm + " " + drugmthdspccdnm + " " + "\n"
- }
- else {
- prcplist += orgprcpnm + "\n"
- }
- }
- }
- ds_prcpsrch_prcplist.filter("");
- }
-
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", itemCd);
- var prerec = ds_data_recitem.getColumn(nFindRow, "reccnts");
- utlf_addLog(" nFindRow : " + nFindRow + " || prerec : " + prerec + " || itemCd : " + itemCd );
- utlf_addLog(ds_data_recitem.saveXML());
- if (!utlf_isNull(prerec))
- {
- prerec = prerec + "\n" + prcplist + "\n";
- }
- else
- {
- prerec = prcplist + "\n"
- }
- var objColInfo = new Array();
- objColInfo.push();
- var sSendDsNm = dsf_createDsRow("ds_send_TRMMR00301", [{col: "pid", type:"string", size:256, val:pid}]);
- var objSendDS:Dataset = new Dataset;
- objSendDS = this.objects[sSendDsNm];
-
- var sRtnDsNm = dsf_createDs("ds_main_resvlist", [{col:"pid" , type:"string", size:256}
- ,{col:"orddd" , type:"string", size:256}
- ,{col:"cretno" , type:"string", size:256}
- ,{col:"ordtm" , type:"string", size:256}
- ,{col:"orddeptcd", type:"string", size:256}
- ,{col:"orddeptnm", type:"string", size:256}
- ,{col:"orddrid" , type:"string", size:256}
- ,{col:"orddrnm" , type:"string", size:256}
- ,{col:"dutdeptcd", type:"string", size:256}]);
- var objRtnDS:Dataset = new Dataset;
- objRtnDS = this.objects[sRtnDsNm];
-
- var oParam = {};
- oParam.id = "TRMMR00301";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetResvList";
- oParam.inds = "req="+sSendDsNm;
- oParam.outds = sRtnDsNm+"=resvlist";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR00301";
- tranf_submit(oParam);
-
- if (arErrorCode.pop("TRMMR00301") > -1)
- {
- var resvinfo;
- if (objRtnDS.rowcount > 0)
- {
- resvinfo = "진료예약 : ";
- var orddd = "";
- var ordtm = "";
- var orddeptnm = "";
- var orddrnm = "";
- for (var i = 0; i < objRtnDS.rowcount; i++)
- {
- //var subNode = nodelistResrvinfo.item(i - 1);
- var orddd = utlf_transNullToEmpty(objRtnDS.getColumn(i, "orddd"));
- var ordtm = utlf_transNullToEmpty(objRtnDS.getColumn(i, "ordtm"));
- var orddeptnm = objRtnDS.getColumn(i, "orddeptnm");
- var orddrnm = objRtnDS.getColumn(i, "orddrnm");
- if (i == 0)
- {
- resvinfo += orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
- + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
- + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
- }
- else
- {
- resvinfo += " " + orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
- + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
- + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
- }
- }
- }
- else
- {
- resvinfo = "";
- }
- }
- if (!utlf_isNull(resvinfo))
- {
- prerec += resvinfo;
- }
- // obj set
- var tmpTxt = prerec;
- if(!utlf_isNull(tmpTxt))
- {
- var objTextArea = ComnFormObj.components["tar_" + itemCd];
- var objDivArea = ComnFormObj.components["ivw_" + itemCd];
-
- if(!utlf_isNull(objDivArea.url)) // careplan에 세팅
- {
- var arrTmp = prerec.split("\n");
- var grdObj = objDivArea.ds_grid_grd_diaglist;
- var nRow = grdObj.rowcount;
- var nNewRow;
- for(var k = 0; k < arrTmp.length; k++)
- {
- if(!utlf_isNull(arrTmp[k])) // 처방내역이 있으면
- {
- if(utlf_isNull(grdObj.getColumn(nRow - 1, "reccnts4")))
- {
- nNewRow = nRow - 1;
- }
- else
- {
- nNewRow = grdObj.addRow();
- objDivArea.lf_addRecItemOne(nNewRow); // recitem row 추가
- }
- grdObj.setColumn(nNewRow, "reccnts4", arrTmp[k]);
- }
- }
- }
- else
- {
- if(nFindRow == -1)
- {
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + itemCd + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- objTextArea.value = prerec;
- }
- }
-
- // Temp로 사용한 Dataset을 삭제
- var objDs = this.removeChild(sSendDsNm);
- delete objDs;
- objDs = null;
-
- objDs = this.removeChild(sRtnDsNm);
- delete objDs;
- objDs = null;
-
- }
- function cf_TRMMR00301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- }
- /****************************************************************************************
- * Function : GetPatDiagNm
- * Description : 환자진단정보 가져오기
- * Argument : 01.sItemcd - 대상이 되는 섹션의 아이템 코드
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function GetPatDiagNm(obj:Button, e:ClickEventInfo)
- {
- var itemCd = obj.name;
- itemCd = itemCd.split("_")[2];
-
- //var pageInfo = new PAGEINFO();
- var sPid = parent.ds_data_formrec.getColumn(0, "pid");
- var sOrddd = parent.ds_data_formrec.getColumn(0, "orddd");
- var sCretno = parent.ds_data_formrec.getColumn(0, "cretno");
- var sOrddeptcd = parent.ds_data_formrec.getColumn(0, "orddeptcd");
- var sIoflag = parent.ds_data_formrec.getColumn(0, "chosflag");
-
-
-
- var sSendDs = dsf_createDsRow("ds_send", [{col:"cond1", type:"string", size:256, val:sPid},
- {col:"cond2", type:"string", size:256, val:sOrddd},
- {col:"cond3", type:"string", size:256, val:sCretno},
- {col:"cond4", type:"string", size:256, val:sOrddeptcd},
- {col:"cond5", type:"string", size:256, val:sIoflag}]);
-
-
- var sOutDs = dsf_createDsRow("ds_main_diaginfo_diagcdlist", [{col:"status" , type:"string", size:256, val:""},
- {col:"diagdd" , type:"string", size:256, val:""},
- {col:"diagno" , type:"string", size:256, val:""},
- {col:"diaghistno" , type:"string", size:256, val:""},
- {col:"instcd" , type:"string", size:256, val:""},
- {col:"pid" , type:"string", size:256, val:""},
- {col:"orddd" , type:"string", size:256, val:""},
- {col:"cretno" , type:"string", size:256, val:""},
- {col:"orddeptcd" , type:"string", size:256, val:""},
- {col:"orddrid" , type:"string", size:256, val:""},
- {col:"genrflagcd" , type:"string", size:256, val:""},
- {col:"diaghistcd" , type:"string", size:256, val:""},
- {col:"diagcd" , type:"string", size:256, val:""},
- {col:"diagtypecd" , type:"string", size:256, val:""},
- {col:"diagkindcd" , type:"string", size:256, val:""},
- {col:"diagkindcdflag", type:"string", size:256, val:""},
- {col:"anamneflag" , type:"string", size:256, val:""},
- {col:"tootflagcd" , type:"string", size:256, val:""},
- {col:"diagsignflag" , type:"string", size:256, val:""},
- {col:"tootfact" , type:"string", size:256, val:""},
- {col:"diagengnm" , type:"string", size:256, val:""},
- {col:"diaghngnm" , type:"string", size:256, val:""},
- {col:"icd10cd" , type:"string", size:256, val:""},
- {col:"spclinfo" , type:"string", size:256, val:""},
- {col:"diagremfact" , type:"string", size:256, val:""},
- {col:"diagcmtcnts" , type:"string", size:256, val:""},
-
- {col:"hosoutprntflag", type:"string", size:256, val:""},
- {col:"diagrefseq" , type:"string", size:256, val:""},
- {col:"diagetcflag" , type:"string", size:256, val:""},
- {col:"diagpartcd" , type:"string", size:256, val:""},
- {col:"mildflag" , type:"string", size:256, val:""}]);
-
-
- var objOutDs:Dataset = new Dataset;
- objOutDs = this.objects[sOutDs];
-
- var oParam = {};
- oParam.id = "TRMMO00105";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetPatDiagInfo";
- oParam.inds = "req="+sSendDs;
- oParam.outds = sOutDs+"=diagcdlist";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMO00105";
- tranf_submit(oParam);
-
- if (arErrorCode.pop("TRMMO00105") > -1)
- {
- //var nodelistDiaginfo = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
- var ro = "";
- var ms = "";
- var diaglist = "";
- if(objOutDs.rowcount > 0){
- var sDiagkindcd;
- var sDiagkindcdflag;
- var sTmpdiagcd;
- var sTmpdiagengnm;
-
-
- for(var i = 0; i < objOutDs.rowcount; i++)
- {
- sDiagkindcd = objOutDs.getColumn(i, "diagkindcd");
- sDiagkindcdflag = objOutDs.getColumn(i, "diagkindcdflag");
- sTmpdiagcd = objOutDs.getColumn(i, "icd10cd");
- sTmpdiagengnm = objOutDs.getColumn(i, "diagengnm");
- if (sDiagkindcd == "R")
- ro = "R/O";
- else
- ro = " - ";
- if (sDiagkindcdflag == "M")
- ms = "주";
- else
- ms = "부";
- diaglist += ro + " " + ms + " " + sTmpdiagengnm + "\n"
- }
- }
- }
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", itemCd);
- var prerec = ds_data_recitem.getColumn(nFindRow, "reccnts");
- if (!utlf_isNull(prerec))
- {
- prerec = prerec + "\n" + diaglist;
- }
- else
- {
- prerec = diaglist;
- }
-
- if( nFindRow == -1 ){
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + itemCd + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- var objTextArea = ComnFormObj.components["tar_" + itemCd];
- objTextArea.value = prerec;
-
-
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sSendDs);
- oRemoveDs = this.removeChild(sOutDs);
- oRemoveDs = null;
-
- utlf_addLog("@@@@@ prerec : " + prerec + " @@@@@");
-
-
- }
- function cf_TRMMO00105(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- //if(nErrorCode < 0) return;
- }
- function EditableCtrl(trgElement, editableBool)
- {
- var editableStr = "";
- if( editableBool )
- editableStr = "true";
- else
- editableStr = "false";
- var childLen = trgElement.children.length;
- var tmpChildObj = null;
- for( var i = 0; i < childLen; i++ ) {
- tmpChildObj = trgElement.children.item(i);
- if (tmpChildObj.attribute("usereditable") == "Y")
- continue;
- // group, switch일 경우
- if( tmpChildObj.elementName == "xforms:group" ) {
- EditableCtrl( tmpChildObj, editableBool);
- }
- // iviewer일 경우
- else if( tmpChildObj.elementName == "xforms:iviewer" ) {
- if( tmpChildObj.src != "" && tmpChildObj.attribute("id").indexOf("FRM_") == -1 )
- EditableCtrl( tmpChildObj.window.body, editableBool);
- }
- // switch일 경우
- else if( tmpChildObj.elementName == "xforms:switch" ) {
- for( var j = 0; j < tmpChildObj.children.length; j++ ) {
- EditableCtrl( tmpChildObj.children.item(j), editableBool);
- }
- }
- else{
- // inout, secret, textarea
- if( tmpChildObj.elementName == "xforms:input" || tmpChildObj.elementName == "xforms:secret" || tmpChildObj.elementName == "xforms:textarea" ) {
- tmpChildObj.attribute("editable") = editableStr;
- }
- // select, select1
- else if( tmpChildObj.elementName == "xforms:select" || tmpChildObj.elementName == "xforms:select1") {
- tmpChildObj.disabled = !editableBool;
- }
- else if( tmpChildObj.elementName == "xforms:datagrid" ) {
- tmpChildObj.isReadOnly(tmpChildObj.fixedRows, tmpChildObj.fixedCols, tmpChildObj.rows - 1, tmpChildObj.cols - 1) = !editableBool;
- }
- else if( tmpChildObj.elementName == "xforms:button" ) {
- tmpChildObj.disabled = !editableBool;
- }
- }
- }
- }
- /*****************************************************************************
- 튜닝
- ******************************************************************************/
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : Section 초기화(부분서식 로딩 및 확장서식 세팅) <-- InitLoadSection, InitSetUnitForm 통합
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function initSection(itemCds)
- {
- utlf_addLog("***** initSection("+itemCds+") MMRCommon Section 초기화(부분서식 로딩 및 확장서식 세팅) *****");
- // var pageInfo = new PAGEINFO();
- //alert("itemCds.length : " + itemCds.length);
-
- utlf_addLog("jw.choe parent.model -> model copynode 확인");
- // 공통서식 인스턴스 생성
- dsf_copyDsList(arrDsMain, arrDsMain, "replace", this, parent);
- dsf_clearDsList(arrDsRecinfo, this);
- //copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
- //model.removeNodeset("/root/main/recinfo");
-
- //수술기록 분기(2008.10.24 박종훈)
- if (parent.fGetFormMast("srcformcd") == "1000000001" || parent.fGetFormMast("srcformcd") == "0000000676" || parent.fGetFormMast("srcformcd") == "0000003169")
- {
- utlf_addLog("jw.choe makeRefByDegnitemLevlCd 임시주석.");
- makeRefByDegnitemLevlCd();
- }
- else
- {
- utlf_addLog("jw.choe makeRefByDegnitemno 임시주석.");
- makeRefByDegnitemno();
- }
- utlf_addLog(ivw_base.ds_temp_recitem.saveXML());
- // trace("######################################");
- // trace("Loading 시작 : " + utlf_getCurrentTime());
- // trace("######################################");
- var fstLoad = false;
- for (var i = 0; i < itemCds.length; i++)
- {
- var formdegnseq = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCds[i], "formdegnseq");
- var unitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCds[i], "formcd");
- utlf_addLog("!!!!! ComnFormObj : " + ComnFormObj.name);
- var ivwObj = ComnFormObj.components["ivw_" + itemCds[i]];
- var tarObj = ComnFormObj.components["tar_" + itemCds[i]];
- utlf_addLog("@@@@@ formdegnseq : " + formdegnseq + " @@@@@");
- if(utlf_isNull(formdegnseq))
- {
- // ivwObj.visible = false;
- // tarObj.visible = true;
- fOnLoadComplete();
- lf_getComponentID(formdegnseq, itemCds[i]);
- }
- //snoweye(2008-12-16) - Section별 로딩
- /*************************************************************************/
- else if(!fstLoad || unitformcd == '0000000005')//첫번째 부분서식만 로딩(2008-12-04)
- {
- utlf_addLog("***** !fstLoad : " + !fstLoad + " || unitformcd == '0000000005' : " + unitformcd + " *****");
- // ivwObj.visible = true;
- // tarObj.visible = false;
-
- var unitformprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCds[i], "formprogflag");
-
- if (!utlf_isNull(unitformcd))
- {
- ivwObj.supdegnitemcd = itemCds[i];
- ivwObj.unitformcd = unitformcd;
- trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
- loadUnitForm(ivwObj, itemCds[i]);
- lf_getComponentID(formdegnseq, itemCds[i]);
- trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
- utlf_addLog("@@@@@ " + unitformprogflag + " : " + parent.fGetFormRec("status") + " : " + parent.fGetFormMast("formcd") + " : " + unitformcd );
- if (unitformprogflag != "PROG" && parent.fGetFormRec("status") == "C" && parent.fGetFormMast("formcd") != "0800000722" && unitformcd != '0000000005') //영양검색의뢰 제외
- {
- var srcformcd = ds_data_formmast.getColumn(0, "srcformcd");
-
- //입원경과,외래재진은 제외한다(20130729 이윤주)
- if (srcformcd != "0000000004" && srcformcd != "0000000002") {
- fstLoad = true;//첫번째 부분서식 로딩완료(2008-12-04)
- dispOnLoadComplete(UNIT_FORM);
- }
- }
- else if(unitformprogflag == "PROG" && parent.fGetFormRec("status") == "C" && parent.fGetFormMast("formcd") == "0800000722")
- {
- }
- }
- }else{
- lf_getComponentID(formdegnseq, itemCds[i]);
- }
- //snoweye(2008-12-16) - Section별 로딩 끝
- /*************************************************************************/
- /*
- if(!utlf_isNull(formdegnseq))
- {
- ivwObj.visible = true;
- tarObj.visible = false;
- }
- if (tarObj.visible == true)
- {
- setComnEvent(parent.fGetFormMast("srcformcd"), tarObj.degnitemno, tarObj.name);
- }
- */
- var cboObj = ComnFormObj.components["cbo_" + gItemCds[i]];
- //var cboObj = eval("cbo_" + gItemCds[i]);
- setExtnFormList(cboObj, gItemCds[i]);
-
- }
-
- return fstLoad;
-
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 Load
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function loadUnitForm(ivwObj, fstLevlItemCd)
- {
- utlf_addLog("***** MMRCommon loadUnitForm("+ivwObj+", "+fstLevlItemCd+") 부분서식 로드 *****");
- var formdegnseq = ds_data_unitformmast.lookup("orgsupdegnitemcd", fstLevlItemCd, "formdegnseq");
- var formprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", fstLevlItemCd, "formprogflag");
- var UnitFormXfdlUseYn = ds_data_unitformmast.lookup("orgsupdegnitemcd", fstLevlItemCd, "formxfdluseyn");
- var srcformcd = ds_data_formmast.getColumn(0, "srcformcd");
-
- if(formprogflag == "PROG")
- {
- var formprognm = ds_data_unitformmast.lookup("orgsupdegnitemcd", fstLevlItemCd, "formprognm");
- var obj = sysf_getScreenInfo(formprognm.split("_")[0]);
- // utlf_addLog("***** MMRCommon formprognm : " + formprognm );
- utlf_addLog("***** MMRCommon obj.scrnurlxp : " + obj.scrnurlxp );
- ivwObj.url = "";
- ivwObj.url = obj.scrnurlxp;
- }
- else
- {
- utlf_addLog("jw.choe 특수서식 임시 제외 MMRCommon 3497 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
- //ivwObj.url = getFormUrl(formdegnseq, ivwObj.name);
- // ivwObj.url = "";
- // ivwObj.url = "emr_medirecxp::SSMMR09999.xfdl";
- fGetFormDegn(formdegnseq, fstLevlItemCd, ComnFormObj, UnitFormXfdlUseYn);
-
- }
-
- // setMaxSizeMtx(ivwObj, 1);
-
- if (srcformcd == "0000000679" && !utlf_isNull(ivwObj.url))
- {
- if (oOpener.frmf_getScreenID() == "SSMMR01100")
- {
- // fSetErTriageRec(ivwObj, null);
- }
- else
- {
- // ivw_base.fSetErTriageRec(ivwObj, null);
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 확장서식 세팅 (<--SetUnitFormList)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function setExtnFormList(cboObj, supdegnitemcd)
- {
- if (utlf_isNull(cboObj)) return;
-
- utlf_addLog("***** MMRCommon setExtnFormList("+cboObj.name+", "+supdegnitemcd+") 확장서식 셋팅 ******");
-
- if( cboObj != null && !utlf_isNull(cboObj.innerdataset) ){
- utlf_addLog("@@@@@ cboObj.innerdataset).toString() : " + (cboObj.innerdataset).toString() );
- if(!((cboObj.innerdataset).toString() == "[object Dataset]" || (cboObj.innerdataset).toString() == "[object FilteredDataset]")){
- var objDs = eval(cboObj.innerdataset);
- }else{
- var objDs = cboObj.innerdataset;
- }
- }
-
- if (objDs.rowcount == 0)
- {
- cboObj.visible = false;
- }
- else
- {
- cboObj.visible = true;
-
- var node = (this.objects["ds_data_unitformmast"]).lookup("orgsupdegnitemcd", supdegnitemcd, "formdegnseq");
-
- var dsNm = "ds_hidden_choicbo_cbo_"+supdegnitemcd;
- var objColInfo = new Array();
- objColInfo.push({col: "baseunitformdegnseq", type:"string", size:256});
- objColInfo.push({col: "extnunitformdegnseq", type:"string", size:256});
- dsf_createDs(dsNm, objColInfo);
- var cboDs = this.objects[dsNm];
- if( cboDs.rowcount == 0 ) cboDs.addRow();
-
- if (!utlf_isNull(node))
- {
- cboDs.setColumn(0, "baseunitformdegnseq", node);
- cboDs.setColumn(0, "extnunitformdegnseq", cboObj.value);
- }
- else
- {
- cboDs.setColumn(0, "baseunitformdegnseq", "");
- cboDs.setColumn(0, "extnunitformdegnseq", "");
- }
- var objBindItem = new BindItem();
- objBindItem.init("cbo_"+supdegnitemcd, cboObj.name, "value", dsNm, "extnunitformdegnseq");
- this.addChild(dsNm, objBindItem);
- objBindItem.bind();
- //cboObj.attribute("ref") = "/root/hidden/choicbo/cbo_" + supdegnitemcd + "/extnunitformdegnseq";
- }
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Section영역 최대화 ( <-- SetMaxSizeSection)
- * @param : itemCds - 섹션 itemcd 배열
- * @return :
- * @---------------------------------------------------
- */
- function expandSection(itemCds, obj)
- {
- this.enableredraw = false;
-
- if( !utlf_isNull(gMaxSectionTObj) && !utlf_isNull(gMaxSectionBObj) ){
- var temp_gMaxSectionTop = gMaxSectionTObj.position.top;
- var temp_gMaxSectionHei = parseInt(gMaxSectionBObj.position.bottom) - parseInt(gMaxSectionTObj.position.top);
-
- if( temp_gMaxSectionHei != gMaxSectionHei ){
- gMaxSectionTop = temp_gMaxSectionTop;
- gMaxSectionHei = temp_gMaxSectionHei;
- }
- }
-
- var ctrlID = obj.name;
- var itemcd = ctrlID.replace("lbl_", "");
- var bFold = itemcd == gMaxSectionID ? true : false;
- var ctrl = null;
- var prevItemCd = gMaxSectionID;
- var unitformcd = "";
-
- for (var i = 0; i < itemCds.length; i++)
- {
- var secCtrl = ComnFormObj.components["lbl_" + itemCds[i]];
- var formdegnseq = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCds[i], "formdegnseq");
- unitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCds[i], "formcd");
- if(utlf_isNull(formdegnseq))
- ctrl = ComnFormObj.components["tar_" + itemCds[i]];
- else
- ctrl = ComnFormObj.components["ivw_" + itemCds[i]];
- if(itemcd == itemCds[i])
- {
- fSetBaseForm( itemCds[i] );
-
- if(bFold)//fold
- {
-
- ctrl.position.top = secCtrl.orgtop;
- ctrl.position.height = secCtrl.orgheight;
- secCtrl.style.backgroundColor = secCtrl.orgbackgroundColor;
- gMaxSectionID = "";
- }
- else//expand
- {
- secCtrl.orgtop = ctrl.position.top;
- secCtrl.orgheight = ctrl.position.height;
- secCtrl.orgbackgroundColor = secCtrl.style.backgroundColor;
- ctrl.position.top = gMaxSectionTop;
- ctrl.position.height = gMaxSectionHei;
- secCtrl.style.backgroundColor = "#99ccff";
- gMaxSectionID = itemcd;
-
- }
- ctrl.visible = true;
- ctrl.bringToFront();
-
- var objComp = ComnFormObj.components["cap_"+itemCds[i]];
- if(!utlf_isNull(objComp) && objComp.visible == true){
- objComp.visible = false;
- }
- }
- else
- {
- if(bFold)//fold
- {
- ctrl.visible = true;
- }
- else//expand
- {
- ctrl.visible = false;
- if(prevItemCd == itemCds[i])
- {
- ctrl.position.top = secCtrl.orgtop;
- ctrl.position.height = secCtrl.orgheight;
- secCtrl.style.backgroundColor = secCtrl.orgbackgroundColor;
- }
- }
- }
-
- if (ctrl.name == "ivw_" + itemCds[i])
- {
- SetMultiTextFull(ctrl, 1);
- }
-
- if (unitformcd == "0000000901" || unitformcd == "0000000899" || unitformcd == "0000000900")
- {
- //ctrl.fInitPage(false, parseInt(ctrl.position.height), parseInt(ctrl.position.width));
- }
-
- if(ctrl instanceof Div)
- {
- ctrl.resetScroll();
- }
-
- }
-
- ComnFormObj.resetScroll();
- this.enableredraw = true;
- }
- function fSetBaseForm( itemCd )
- {
- utlf_addLog("***** fSetBaseForm( "+itemCd +") MMRCommon *****");
- //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
- //로딩되어 있지 않으면 부분서식로딩
- var ivwObj = ComnFormObj.components["ivw_" + itemCd];
- if(utlf_isNull(ivwObj.url))
- {
- var unitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", itemCd, "formcd");
-
- if (!utlf_isNull(unitformcd))
- {
- ivwObj.supdegnitemcd = itemCd;
- ivwObj.unitformcd = unitformcd;
- trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
- loadUnitForm(ivwObj, itemCd);
- lf_getComponentID(unitformcd, itemCd);
- trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
-
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : TextArea 최대화 ( <-- SetMultiTextFull)
- * @param : ctrl - TextArea가 포함된 iviewer object 또는 TextArea
- * @return :
- * @---------------------------------------------------
- */
- function setMaxSizeMtx(ivwObj, pDegnItemNo)
- {
- utlf_addLog("***** MMRCommon setMaxSizeMtx("+ivwObj+", "+pDegnItemNo+") *****");
- //if (ivwObj.attribute("unitformcd") == "0000000005")
- if (ivwObj.unitformcd == "0000000005")
- {
- //ivwObj.window.javascript.fSetMtxSize(pDegnItemNo, 0, 0, parseInt(ivwObj.attribute("width"))-5, parseInt(ivwObj.attribute("height")));
- ivwObj.fSetMtxSize(pDegnItemNo, 0, 0, parseInt(ivwObj.position.width)-5, parseInt(ivwObj.position.height));
- }
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 복합서식(부분서식을 포함, 공통서식)의 기록 데이터를 취합 ( <-- initSaveComnFormRecItemData)
- * @param : mode - null / 'all' ( 기록된 데이터만 / 전체 데이터)
- * @return :
- * @---------------------------------------------------
- */
- function getSaveComnFormData(mode, tmp)
- {
- utlf_addLog("***** MMRCommon getSaveComnFormData("+mode+", "+tmp+") 복합서식(부분서식을 포함, 공통서식)의 기록 데이터를 취합 *****");
- var ctrlIvw;
- var ctrlTar;
- var pageInfo = new PAGEINFO();
- var savedInfo = new SAVED_INFO();
- if (utlf_isNull(gFstItemCds))
- {
- gFstItemCds = gItemCds;
- }
- dsf_clearDsList(["ds_temp_sort_recitem"], this);//pageInfo.sortItemRef
- //model.removeNodeset(pageInfo.sortItemRef);
- getSaveData("ds_temp_sort_recitem", "append", this, null, mode);
-
-
- for (var i = 0; i < gItemCds.length; i++)
- {
- ctrlIvw = ComnFormObj.components["ivw_" + gItemCds[i]];
-
- //2010-03-31 오전 10:12:54 강지훈 추가 : 입퇴원요약지 최종진단명 추가
- var lastDiagStrDestDs = this.objects["ds_temp_sort_recitem"];
- var lastDiagStrSrcDs = this.objects["ds_temp_lastdiag_recitem"];
- if(lastDiagStrSrcDs != null)
- lastDiagStrSrcDs.filter("fstlevlitemcd == '" +gItemCds[i]+ "'");
-
- var unitformmastDs = this.objects["ds_data_unitformmast"];
- var formdegnseq = unitformmastDs.lookup("orgsupdegnitemcd", gItemCds[i], "formdegnseq");
-
- //dataset check
-
- var sortItemRefDs = this.objects["ds_temp_sort_recitem"];
- var extnformrecDs = this.objects["ds_hidden_extnformrec_recitem"];
- var filterStr = "fstlevlitemcd == '" +gItemCds[i]+ "'";
- var imgerecItemRefDs = this.objects["ds_temp_imgerec_recitem"];
- var fmyrecItemRefDs = this.objects["ds_temp_fmyrec_recitem"];
- var etcrecItemRefDs = this.objects["ds_temp_etcrec_recitem"];
-
-
- if(!utlf_isNull(formdegnseq) && !utlf_isNull(ctrlIvw.url))
- {
- var orgsupdegnitemno = unitformmastDs.lookup("orgsupdegnitemcd", gItemCds[i], "orgsupdegnitemno");
-
- if(utlf_isNull(orgsupdegnitemno))
- {
-
- if ( extnformrecDs != null ){
- extnformrecDs.filter("degnitemkind != 'FDG' && fstlevlitemcd == '" +gItemCds[i]+ "'");
- sortItemRefDs.appendData(extnformrecDs, true, false);
- extnformrecDs.filter("");
- }
-
- if( imgerecItemRefDs != null ){
- imgerecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(imgerecItemRefDs, true, false);
- imgerecItemRefDs.filter("");
- }
-
- if( fmyrecItemRefDs != null ){
- fmyrecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(fmyrecItemRefDs, true, false);
- fmyrecItemRefDs.filter("");
- }
-
- if( etcrecItemRefDs != null ){
- etcrecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(etcrecItemRefDs, true, false);
- etcrecItemRefDs.filter("");
- }
-
- fInsertNodes(lastDiagStrDestDs, lastDiagStrSrcDs); //2010-03-30 오후 9:03:47 강지훈 추가 : 입퇴원요약지 최종진단명 추가
-
-
- // copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[degnitemkind != 'FDG' and fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- // copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- // copyNodeset(pageInfo.sortItemRef, pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //가계도
- // copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //추가기록
- // fInsertNodes(lastDiagStrDest, lastDiagStrSrc); //2010-03-30 오후 9:03:47 강지훈 추가 : 입퇴원요약지 최종진단명 추가
- continue;
- }
-
- var degnitemlevlcd = this.objects["ds_data_formdegn"].lookup("degnitemno", orgsupdegnitemno, "degnitemlevlcd");
- var fstLevlBaseItemCd = degnitemlevlcd.substr(0, degnitemlevlcd.indexOf(".") >= 0 ? degnitemlevlcd.indexOf(".") : degnitemlevlcd.length);
- var fstLevlItemCd = this.objects["ds_data_formdegn"].lookup("degnitemlevlcd", fstLevlBaseItemCd, "degnitemcd");
-
- if (utlf_isNull(tmp))
- {
-
- //2010-07-27 김달현
- //의뢰상태의 격리병실신청 수정시 보이지 않는 회신내역 필수체크때문에 수정안되는 오류발생(요청번호:9731)
- //HIT강지훈사원이 MMR04900에 ivw.src공백처리로 수정했으나(2010-04-06) 이 부분으로 인해 컨설트 회신시 입력한 내용이 공백으로 저장된 오류발생해 다시 주석처리함.
- //notChkEssnYn 플래그를 추가함.(ivw.attribute)값이 Y일 경우는 필수체크 안함. N으로 설정한 경우만 필수체크함.
- utlf_addLog("jw.choe ctrlIvw.attribute(\"notChkEssnYn\") 확인필요 "+ ctrlIvw.name +" MMRCommon");
- if(ctrlIvw.notChkEssnYn != "Y" && ctrlIvw.chkEssentialitem(gItemCds[i].substr(0, 7)) == false)//필수 입력항목 체크(특수서식)
- {
- return savedInfo;
- }
-
- }
- ctrlIvw.getSaveData("ds_temp_sort_recitem", "append", this, NewPageInfo(ctrlIvw, fstLevlItemCd));
-
- }
-
- if ( extnformrecDs != null ){
- extnformrecDs.filter("degnitemkind != 'FDG' && fstlevlitemcd == '" +gItemCds[i]+ "'");
- sortItemRefDs.appendData(extnformrecDs, true, false);
- extnformrecDs.filter("");
- }
-
- if( imgerecItemRefDs != null ){
- imgerecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(imgerecItemRefDs, true, false);
- imgerecItemRefDs.filter("");
- }
-
- if( etcrecItemRefDs != null ){
- etcrecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(etcrecItemRefDs, true, false);
- etcrecItemRefDs.filter("");
- }
-
- if( fmyrecItemRefDs != null ){
- fmyrecItemRefDs.filter(filterStr);
- sortItemRefDs.appendData(fmyrecItemRefDs, true, false);
- fmyrecItemRefDs.filter("");
- }
-
- fInsertNodes(lastDiagStrDestDs, lastDiagStrSrcDs);
-
- // copyNodeset(pageInfo.sortItemRef, "/root/hidden/extnformrec/recinfo/recitem[degnitemkind != 'FDG' and fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- // copyNodeset(pageInfo.sortItemRef, pageInfo.imgerecItemRef + "[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model);
- // copyNodeset(pageInfo.sortItemRef, pageInfo.etcrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //추가기록
- // copyNodeset(pageInfo.sortItemRef, pageInfo.fmyrecItemRef + "/recitem[fstlevlitemcd = '" +gItemCds[i]+ "']", "append", model, model); //가계도
- // fInsertNodes(lastDiagStrDest, lastDiagStrSrc); //2010-03-30 오후 9:03:47 강지훈 추가 : 입퇴원요약지 최종진단명 추가
- }
- SortRecItem();
-
- // utlf_addLog(ds_hidden_recitem.saveXML());
-
- utlf_addLog("jw.choe opener -> parent 변경 this : ivw_base, parent : ivw_loader ");
- dsf_copyDsList(arrDsHiddenRecinfo, arrDsHiddenRecinfo, "replace", parent, this);
- //copyNodeset(pageInfo.recItemRef2, pageInfo.recItemRef2, "replace", opener.model, model);
-
- //2010.01.12 안치원 - MTX의 필수입력시 기본부분서식이 있으면 부분서식을, 없으면 MTX의 입력여부를 검사한다.
- if (utlf_isNull(tmp))
- {
- //필수 입력항목 체크(특수서식)
- if(chkEssentialitem() == false)
- {
- return savedInfo;
- }
- }
- }
- /**
- * @desc : Text Box 최대화(컨설트서식을 위해 다시 추가)
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function SetMultiTextFull(ivwObj, pDegnItemNo)
- {
- if (ivwObj.unitformcd == "0000000005")
- {
- ivwObj.fSetMtxSize(pDegnItemNo, 0, 0, parseInt(ivwObj.position.width)-5, parseInt(ivwObj.position.height));
- }
- }
- /****************************************************************************************
- * Function : GetPatDrugPrcpList
- * Description : 환자처방정보 가져오기
- * retrun type :
- ****************************************************************************************/
- function GetPatDrugPrcpList(itemCd, itemCd1)
- {
- var pageInfo = new PAGEINFO();
- var prcpdd = "";
- var bfflag = "bfprcp";
- var flag = "";
- var todd = "";
- var pid = parent.ds_data_formrec.getColumn(0, "pid");
- var orddd = parent.ds_data_formrec.getColumn(0, "orddd");
- var cretno = parent.ds_data_formrec.getColumn(0, "cretno");
- var orddrid = parent.ds_data_formrec.getColumn(0, "orddrid");
- var orddeptcd = parent.ds_data_formrec.getColumn(0, "orddeptcd");
- var prcpgenrflag = parent.ds_data_formrec.getColumn(0, "chosflag");
- if (prcpgenrflag == "I" || prcpgenrflag == "E" || prcpgenrflag == "D")
- {
- prcpdd = parent.ds_data_formrec.getColumn(0, "formrecdd");
- }
- else
- {
- prcpdd = orddd;
- }
- //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
- var drugprcpCnt = 0;
- var prcpCnt = 0;
- var expr = "(!utlf_isNull(prcpkindcd) && prcphistcd != 'C' && prcphistcd != 'L' && prcphistcd != 'E') && (prcpclscd == 'A2' || prcpclscd == 'A4' || prcpclscd == 'A6')";
- var expr2 = "(!utlf_isNull(prcpkindcd) && prcphistcd != 'C' && prcphistcd != 'L' && prcphistcd != 'E') && (prcpclscd == 'H2' || prcpclscd == 'H4')";
- //if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
- if(lf_bfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", "", "", ""))
- {
- //투약
- //var nodelistDrugPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[(prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E') and (prcpclscd = 'A2' or prcpclscd = 'A4' or prcpclscd = 'A6')]");
- //처치
- //var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[(prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E') and (prcpclscd = 'H2' or prcpclscd = 'H4')]");
- drugprcpCnt = ds_prcpsrch_prcplist.getCaseCount(expr);
- prcpCnt = ds_prcpsrch_prcplist.getCaseCount(expr2);
- }
-
- var prcpkind = ""; //처방종류
- var orgprcpnm = ""; //처방명
- var drugmthdspccdnm = ""; //용법
- var prcpdelivefact = ""; //전달사항
- var prcplist = "";
- var prcphistcd = ""; //임시,인증구분
- var prcpclscd = "";
-
- var tmpdrugmthdspccdnm = "";
- if(drugprcpCnt >= 1){
- ds_prcpsrch_prcplist.filter(expr);
- for(var i = 0; i < drugprcpCnt; i++)
- {
- tmpdrugmthdspccdnm = ds_prcpsrch_prcplist.getColumn(i, "drugmthdspccdnm");
- prcpkind = ds_prcpsrch_prcplist.getColumn(i, "tempcol13");
- orgprcpnm = ds_prcpsrch_prcplist.getColumn(i, "tempcol6");
- drugmthdspccdnm = utlf_transNullToEmpty(ds_prcpsrch_prcplist.getColumn(i, "tempcol7"));
- prcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
-
- drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
- prcpdelivefact = ds_prcpsrch_prcplist.getColumn(i, "prcpdelivefact");
- prcphistcd = ds_prcpsrch_prcplist.getColumn(i, "prcphistcd");
-
- if(prcphistcd == "T")
- {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += "[임] " + orgprcpnm + "\n"
- }
- }
- else
- {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += orgprcpnm + "\n"
- }
- }
- }
- }
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", itemCd);
- var prerec = ds_data_recitem.getValue(nFindRow, "reccnts");
- if (!utlf_isNull(prerec))
- {
- prerec = prerec + "\n" + prcplist + "\n";
- }
- else
- {
- prerec = prcplist + "\n"
- }
- if(!utlf_isNull(prerec))
- {
- var objTextArea = ComnFormObj.components["tar_" + itemCd];
- var objDivArea = ComnFormObj.components["ivw_" + itemCd];
-
- if(nFindRow == -1)
- {
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + itemCd + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- objTextArea.value = prerec;
- }
- //model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
-
- var prcpkind = ""; //처방종류
- var orgprcpnm = ""; //처방명
- var drugmthdspccdnm = ""; //용법
- var prcpdelivefact = ""; //전달사항
- var prcplist = "";
- var prcphistcd = ""; //임시,인증구분
- var prcpclscd = "";
-
- var tmpdrugmthdspccdnm = "";
- if(prcpCnt >= 1){
- ds_prcpsrch_prcplist.filter(expr2);
- for(var i = 0; i < prcpCnt; i++)
- {
- prcpkind = ds_prcpsrch_prcplist.getColumn(i, "tempcol13");
- orgprcpnm = ds_prcpsrch_prcplist.getColumn(i, "tempcol6");
- tmpdrugmthdspccdnm = ds_prcpsrch_prcplist.getColumn(i, "drugmthdspccdnm");
- drugmthdspccdnm = utlf_transNullToEmpty(ds_prcpsrch_prcplist.getColumn(i, "tempcol7"));
- prcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
-
- drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
- prcpdelivefact = ds_prcpsrch_prcplist.getColumn(i, "prcpdelivefact");
- prcphistcd = ds_prcpsrch_prcplist.getColumn(i, "prcphistcd");
-
- if(prcphistcd == "T")
- {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += "[임] " + orgprcpnm + "\n"
- }
- }
- else
- {
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += orgprcpnm + "\n"
- }
- }
- }
- }
-
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", itemCd1);
- var prerec = ds_data_recitem.getColumn(nFindRow, "reccnts");
- if (!utlf_isNull(prerec))
- {
- prerec = prerec + "\n" + prcplist + "\n";
- }
- else
- {
- prerec = prcplist + "\n"
- }
-
- if(!utlf_isNull(prerec))
- {
- var objTextArea = ComnFormObj.components["tar_" + itemCd1];
- var objDivArea = ComnFormObj.components["ivw_" + itemCd1];
-
- if(nFindRow == -1)
- {
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + itemCd1 + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- objTextArea.value = prerec;
- }
- //model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd1 + "']/reccnts", prerec);
- }
- /**
- * @desc :공통기록 디폴트 포커스처리(MTX)
- * @id :
- * @event : onclick
- * @return : void
- * @authur : 박종훈
- */
- function SetDefFocusMTX(itemArr)
- {
- utlf_addLog("***** SetDefFocusMTX("+itemArr+") MMRCommon *****");
- var ctrlTar;
- for (var i = 0; i < itemArr.length; i++)
- {
- ctrlTar = this.components["tar_" + itemArr[i]];
- if (ctrlTar != null && ctrlTar.visible)
- {
- ctrlTar.setFocus();
- frmf_inputEnterKey("tar_" + itemArr[i], "onkeyup", new KeyEventInfo);
- //ctrlTar.dispatch("onkeyup");
- break;
- }
- }
- }
- /**
- * @desc :공통기록 디폴트 포커스처리(IVW)
- * @id :
- * @event : onclick
- * @return : void
- * @authur : 박종훈
- */
- function SetDefFocusIVW(itemArr)
- {
- var ctrlIvw;
- var mtxNm = "MTX_1";
- var mtx
- for (var i = 0; i < itemArr.length; i++)
- {
- ctrlIvw = ComnFormObj.components["ivw_" + itemArr[i]];
- if (!utlf_isNull(ctrlIvw) && ctrlIvw.visible && !utlf_isNull(ctrlIvw.url))
- {
-
- var mtx = ctrlIvw.components[mtxNm];
-
- if (utlf_isNull(mtx))
- continue;
-
- mtx.setFocus();
-
- frmf_inputEnterKey("ComnFormObj.ivw_" + itemArr[i] + "." + mtxNm, "onkeyup", new KeyEventInfo);
- //mtx.dispatch("onkeyup");
- break;
- }
- }
- }
- /**
- * @desc : 부분서식 로딩 후 기록내용 셋팅(보완필요)
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function InitUnitFormDataBySupdegnitemcd(itemcd)
- {
- if (fGetFormRec("status") != "U")
- return;
-
- var ctrlIvw;
- var pageInfo = new PAGEINFO();
- //var degnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/degnitemcd");
- //var supdegnitemcdlist = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0']/supdegnitemcd");
- var node = model.instances(0).selectSingleNode(pageInfo.formdegnRef + "[degnitemkind = 'FRM' and itemuseflag='F0' and supdegnitemcd = '" + itemcd + "']");
-
- var degnitemcd = node.getXPathString("degnitemcd");
- var supdegnitemcd = node.getXPathString("supdegnitemcd");
- var degnitemlevlcd = node.getXPathString("degnitemlevlcd");
- ctrlIvw = document.controls("ivw_" + supdegnitemcd);
- if (ctrlIvw != null && ctrlIvw.visible && ctrlIvw.src != "")
- {
- ctrlIvw.window.javascript.clearData();
- var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
- var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
- setSrchData(pageInfo.recItemRef2 + "[fstlevlitemcd='" +fstlevlitemcd+ "' and formcd = '" + degnitemcd + "']", ctrlIvw);
- }
-
- model.removeNodeset(pageInfo.extnrecItemRef);
- var cnt = getNodesetCnt(model, pageInfo.forminfoRef + "/extnformlist");
- for (var i = 1; i <= cnt; i++)
- {
-
- // stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
- // "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
- //가계도는 확장서식에 붙으면 안되는 문제로 수정(박종훈/2008-09-29)
- stmt = pageInfo.recItemRef2 + "[degnitemkind != 'FDG' and fstlevlitemcd='" +model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/supdegnitemcd")+
- "' and formcd = '" + model.getValue(pageInfo.forminfoRef + "/extnformlist[" +i+ "]/formcd") + "']";
- copyNodeset(pageInfo.extnrecItemRef, stmt, "append", model, model);
- model.removeNodeset(stmt);
- }
- copyNodeset(pageInfo.imgerecItemRef, pageInfo.recItemRef2 + "[degnitemkind='IMG' and rowno != '']", "replace", model, model);
- copyNodeset(pageInfo.fmyrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemkind='FDG']", "replace", model, model);
- copyNodeset(pageInfo.etcrecItemRef + "/recitem", pageInfo.recItemRef2 + "[degnitemno='0']", "replace", model, model);
- copyNodeset(pageInfo.lastdiagItemRef + "/recitem", pageInfo.recItemRef2 + "[formcd = '1000007943']", "replace", model, model); //2010-03-31 오전 10:14:27 강지훈추가 : 최종진단명 요약지 추가
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Section영역 최대화 ( <-- SetMaxSizeSection)
- * @param : itemCds - 섹션 itemcd 배열
- * @return :
- * @---------------------------------------------------
- */
- function loadClickSection(itemCd)
- {
- // var ctrlID = event.target;
- // var itemcd = ctrlID.replace("lbl_", "");
- var ctrl = null;
- var prevItemCd = gMaxSectionID;
- var unitformcd = "";
-
-
- var secCtrl = ComnFormObj.components["lbl_" + itemCd];
- var fidx = ds_data_unitformmast.findRowExpr("orgsupdegnitemcd=='"+itemCd+"'");
- var formdegnseq = ds_data_unitformmast.getColumn(fidx, "formdegnseq");
- unitformcd = ds_data_unitformmast.getColumn(fidx, "formcd");
- if(utlf_isNull(formdegnseq))
- ctrl = ComnFormObj.components["tar_" + itemCd];
- else
- ctrl = ComnFormObj.components["ivw_" + itemCd];
-
- //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
- //로딩되어 있지 않으면 부분서식로딩
- var ivwObj = ComnFormObj.components["ivw_" + itemCd];
- if(utlf_isNull(ivwObj.url))
- {
- var unitformcd = ds_data_unitformmast.getColumn(fidx, "formcd");
-
- if (!utlf_isNull(unitformcd))
- {
- // ivwObj.supdegnitemcd = itemCd;
- // ivwObj.unitformcd = unitformcd;
- // trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
- lf_loadUnitForm(itemCd);
- lf_getComponentID(formdegnseq, itemCd);
- // trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
-
- }
- }
- }
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @id :
- * @event : 공통서식을 열었을때
- * @param : pViewObj - button을 가지고 있는 화면이 열린 view
- * pButtonIds - 확장버튼(이미지,가계도,추가기록)의 id 의 배열
- * @return : void
- * @authur : 안치원
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- function setButtonToggleAllByRecYn(pViewObj, pButtonIds)
- {
- utlf_addLog("***** setButtonToggleAllByRecYn("+pViewObj+", "+pButtonIds+") MMRCommon *****");
- if( pButtonIds == null ) return;
- for (var i = 0; i < pButtonIds.length; i++) {
- setButtonToggleByRecYn(pViewObj, pButtonIds[i]);
- }
- }
- /**
- * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @id :
- * @event : 확장버튼 클릭후에 열린 팝업창이 닫힐때,
- * setButtonToggleAllByRecYn 에 의한 호출일때
- * @param : pViewObj - button을 가지고 있는 화면이 열린 view
- * pButtonIds - 확장버튼(이미지,가계도,추가기록)의 id
- * @return : void
- * @authur : 안치원
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- function setButtonToggleByRecYn(pViewObj, pButtonId)
- {
- utlf_addLog("***** setButtonToggleByRecYn ("+pViewObj+", "+pButtonId+") MMRCommon *****");
- //alert("setButtonToggleByRecYn>>pButtonId::"+pButtonId);
- /**
- * pButtonId Example
- * btn_imge_0008224001 이미지
- * btn_fmy_0008224001 가계도
- * btn_etcrec_0008224001 추가기록
- */
- var buttonObj = null;
- if (utlf_isNull(pViewObj)) {
- pViewObj = this;
- }
- /// 컨설트 관련 수정
- var pButtonIdno = pButtonId.substr(pButtonId.length-10,pButtonId.length-1);
- if(pButtonIdno == "0011449001" || pButtonIdno == "0011529001") {
- buttonObj = pViewObj.grup_base.grup_cnts.components["grup_"+pButtonIdno].components[pButtonId];
- } else {
- buttonObj = pViewObj.grup_base.components[pButtonId];
- }
- var arr = pButtonId.split("_");
- var supperItemCd = arr[2];
- var nCnt = 0;
- if (arr[1] == "imge") {
- nCnt = pViewObj.ds_data_recitem.getCaseCount("fstlevlitemcd == '" + supperItemCd + "' && degnitemkind == 'IMG' && !utlf_isNull(recimge) && !utlf_isNull(rowno)");
- }
- else if (arr[1] == "fmy") {
- nCnt = pViewObj.ds_data_recitem.getCaseCount("fstlevlitemcd == '" + supperItemCd + "' && degnitemkind == 'FDG' && !utlf_isNull(recimge)");
- }
- else if (arr[1] == "etcrec") {
- nCnt = pViewObj.ds_data_recitem.getCaseCount("fstlevlitemcd == '" + supperItemCd + "' && degnitemkind == 'STX' && !utlf_isNull(reccnts) && degnitemno == '0' && degnitemcd == '0008458001'");
- }
- else if (arr[1] == "lastdiag") { //2010-02-16 오후 3:35:13 강지훈 추가
- nCnt = pViewObj.ds_data_recitem.getCaseCount("fstlevlitemcd == '" + supperItemCd + "' && formcd == '1000007943'");
- }
- else {
- return;
- }
-
- if (arr[1] == "imge") {
- if (nCnt > 0) {
- buttonObj.class = "btn_picture_s";
- } else {
- buttonObj.class = "btn_picture";
- }
- }
- else if (arr[1] == "fmy")
- {
- if (nCnt > 0) {
- buttonObj.class = "btn_Fmytree_s";
- } else {
- buttonObj.class = "btn_Fmytree";
- }
- }
- else if (arr[1] == "etcrec")
- {
- if (nCnt > 0) {
- buttonObj.class = "btn_Assrecord_s";
- } else {
- buttonObj.class = "btn_Assrecord";
- }
- } else {
- if (nCnt > 0) {
- buttonObj.class = "btn5";
- } else {
- buttonObj.class = "btn2";
- }
- }
-
-
- }
- /**
- * @desc : 사용자 답변 조회
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fGetUserEnvOcsOrdAnsw(oDsTarget, qestcd){
-
- var oDsEnvinfo = emr_getOrderBaseInfo("envinfo");
- if (oDsEnvinfo != null) {
- oDsTarget.copyRow(0, oDsEnvinfo, oDsEnvinfo.findRow("qestcd", sQestCd));
- return oDsTarget;
- }
- }
- /***************************************************************************************************
- * Function : emr_getOrderBaseInfo
- * Description : 아이디에 해당하는 기초정보를 리턴한다. (시스템메세지 정보 조회)
- * Argument : sID [String : 데이타셋명(ds_를 제외한)]
- * : objSrcDs [Dataset : 리턴 데이타를 받을 데이타셋]
- * return type : [Dataset : 기초정보를 리턴]
- * Creator :
- ***************************************************************************************************/
- function emr_getOrderBaseInfo(sID, objSrcDs)
- {
- var oDescDs = agv_objAppTopPath.form.dv_orderbasicinfo.lf_getOrderBaseInfo(sID);
- if (utlf_isNull(objSrcDs)) {
- return oDescDs
- }
- else {
- objSrcDs.copyData(oDescDs, true);
- }
- }
- /****************************************************************************************
- * Function : lf_setSrchData
- * Description : 단일 서식 연동 또는 기록 데이터를 서식 ds_data_itemvalue에 Set
- * Argument : 01. ivwObj : 대상이 되는 div
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setSrchData(ivwObj)
- {
- utlf_addLog("***** lf_setSrchData("+ivwObj+") *****");
- var Obj = lf_getObj(ivwObj);
- var ColId = "";
- var dsNm = "";
- var imgObj = "";
- var imgNo = "";
- var dsDegnNo = "";
- var sFormprogflag = fGetFormMast("formprogflag");
- var sCd = "";
- var sName = Obj.name;
- var sCnstFormYn = "N";
- var prntObj = "";
-
- if(Obj.name == "ivw_0000960003")// 진단명
- {
- prntObj = this;
- }
- else
- {
- prntObj = parent.parent;
- }
- /// 컨설트 관련 추가
- if(fGetFormRec("status") == "C" && sFormprogflag == "PROG" && (fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")) {
- sCd = "";
- sName = Obj.name;
- sCnstFormYn = "N";
-
- if(!utlf_isNull(sName))
- sCd = sName.replace("ivw_", "");
- if(sCd != "0000960001" && sCd != "0024140001" && sCd != "0005785001" && sCd != "0001019001") {
- if(sCd == "0011449001") // 진정의뢰 데이터 연동
- lf_setInitData();
- parent.parent.parent.parent.lf_setReqDefSyntex(ds_temp_diaglist.lookup("chkMain", "1", "rectermnm2"), sCd);
-
- }
- }
- //sysf_trace(fGetFormRec("status") + " || " + sFormprogflag + " || fGetFormMast(formcd) : " + fGetFormMast("formcd") + " || fGetFormMast(srcformcd) : " + fGetFormMast("srcformcd"));
- if(fGetFormRec("status") == "C" && sFormprogflag != "PROG")
- {
- // MSL Default Setting
- fnLoadDegnNewForm();
- // 공통서식내의 부분서식은 공통서식 로딩시 모든 연동데이터 조회함
- lf_initGrd(); // 서식내 그리드 초기화 및 이벤트 추가
- if(Obj.isValidObject("ds_data_itemvalue"))
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj, "genForm", "C"); // 특수서식 신규로딩시 초기값 세팅
- }
- }
- lf_getSyncData(); // 서식아이템에 세팅할 연동값 조회
- lf_setFormInitData(); // 연동값 이외에 특수서식 로딩 시 필요한 기초 정보 세팅
- lf_setSyncData(Obj); // 연동 데이터 세팅
- if(fGetFormMast("formprogflag") == "PROF")
- {
- var oMainFrame = null
- if( frmf_getCurrentFormKind() == "main" ){
- oMainFrame = frmf_getMainViewer();
- }else{
- oMainFrame = this.getOwnerFrame().form;
- }
- if( oMainFrame != null ){
- var sWorkScrnId = oMainFrame.frmf_getScreenID();
- var bExistFunc = frmf_findFuncFromForm(sysf_getScreenInfo(sWorkScrnId).scrnurlxp, "lf_setProfBaseInfo");
- if(bExistFunc){
- eval("oMainFrame.lf_setProfBaseInfo()");
- }
- }
- //parent.parent.parent.lf_setProfBaseInfo(); // 제증명 기초정보 세팅
- }
- }
- else if(fGetFormRec("status") == "C" && !utlf_isNull(prntObj) && prntObj.isValidObject("ds_main_extninfo_resultinfo") //ds_data_resultinfo
- && prntObj.ds_main_extninfo_resultinfo.rowcount > 0
- && (//fGetFormMast("formcd") == "0000003169" || fGetFormMast("formcd") == "0900007034" || fGetFormMast("formcd") == "1500016308")) BriefOpNote 제외
- fGetFormMast("srcformcd") == "0000000676" || fGetFormMast("srcformcd") == "1100010919" // 수술기록
- || fGetFormMast("srcformcd") == "1400016151" || fGetFormMast("srcformcd") == "1300014169" // PostOpNote
- || fGetFormMast("srcformcd") == "0000001596" // TrasferInNote
- || fGetFormMast("srcformcd") == "1500016528" // 수술및시술전기록
- ))
- {
- // 신규로딩 시 특정 서식 기록정보를 연동해오는 경우
- sCd = "";
- sName = Obj.name;
- sCnstFormYn = "N";
- if(!utlf_isNull(sName))
- sCd = sName.replace("ivw_", "");
- var subFormprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", sCd, "formprogflag");
- if(subFormprogflag == "PROG")
- {
- var infoflag = parent.parent.ds_main_extninfo_resultinfo.getColumn(0, "infoflag");
- if( !utlf_isNull(infoflag) ){
- if (infoflag.indexOf("recdata;") != -1) {
- Obj.lf_setGridModify(sCd, sCnstFormYn);
- }
- }else {
- Obj.lf_setGridModify(sCd, sCnstFormYn);
- }
- }
- else
- {
- if( Obj.isValidObject("ds_data_itemvalue") == true){
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj, "innerRec"); // 공통서식 내에서 recitem 정보를 갖고 있는 경우
- }
- }
- }
- }
- else if(fGetFormRec("status") == "C" && fGetFormMast("srcformcd") != "0000000677" && fGetFormMast("formprogflag") == "PROG")
- {
- // MSL Default Setting
- fnLoadDegnNewForm();
-
- lf_getSyncData(); // 서식아이템에 세팅할 연동값 조회
- lf_setSyncData(Obj); // 연동 데이터 세팅
- if(Obj.isValidObject("ds_data_itemvalue"))
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i); //recitem DS에 매핑된 기본값 세팅
- lf_setRecItemDS(ColId, Obj, "", "C");
- }
- }
-
-
- }
- if(fGetFormRec("status") != "C" && fGetFormMast("formprogflag") == "PROG") // 프로그램 서식 기록 데이터 세팅
- {
- sCd = "";
- sName = Obj.name;
- sCnstFormYn = "N";
-
- if(!utlf_isNull(sName))
- sCd = sName.replace("ivw_", "");
-
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y") // 컨설트 서식과 공통서식의 depth 차이로 인한 구분 파라미터 추가
- {
- sCnstFormYn = "Y";
- if(sCd == "0000960001" || sCd == "0024140001" || sCd == "0005785001") // 의뢰탭의 진단명, 약물복용력, 치료내용
- Obj.lf_setGridModify("0011449001", sCnstFormYn); // 의뢰내용
- else if(sCd == "0001019001") // 회신탭의 진단명
- Obj.lf_setGridModify("0011529001", sCnstFormYn); // 회신내용
- else
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj);
- }
- parent.parent.parent.parent.fGroupEnableSwitch(parent); // 컨설트 화면 enable 설정
- }
-
- if(sCd == "0011529001") {
- //TF : fLoadData, XP : cf_TRMMR00301_2
- if( parent.parent.parent.parent.objects["ds_data_cnstinfo"] != null ){
- var nShowflag = parent.parent.parent.parent.ds_data_cnstinfo.getColumn(0,"showflag");
- if( nShowflag == "req" ){
- Obj.notChkEssnYn = "Y";
- }else{
- Obj.notChkEssnYn = "N";
- }
- }
- //alert(this.name);
- parent.parent.parent.parent.lf_setRecvDefSyntex();
- }
- }
- else
- {
- sFormprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", sCd, "formprogflag");
- utlf_addLog(" sFormprogflag : " + sFormprogflag);
- if(sFormprogflag == "PROG")
- {
- Obj.lf_setGridModify(sCd, sCnstFormYn);
- }
- else
- {
- if(Obj.isValidObject("ds_data_itemvalue"))
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj);
- }
-
- var pntObj = parent.parent.parent;
- var imgRow = pntObj.ds_data_recitem.findRow("degnitemkind", "IMG");
- if(imgRow > -1)
- {
- for(var i = 0; i < ivwObj.all.length; i++)
- {
- if(ivwObj.all[i] instanceof ActiveX) // 이미지 Object를 비교하는 구문
- {
- imgObj = ivwObj.all[i];
- imgNo = imgObj.name;
- imgNo = imgNo.replace("IMG_", "");
- var nRow = pntObj.ds_data_recitem.findRowExpr("degnitemno == '"+imgNo+"' && fstlevlitemcd == '"+sCd+"' ");
-
- lf_setSizeImg(imgObj);
-
- if(nRow != -1)
- {
- var objImgRow = Obj.ds_data_recitem.findRow("degnitemno", imgNo);
- Obj.ds_data_recitem.setColumn(objImgRow, "reccnts", pntObj.ds_data_recitem.getColumn(nRow, "reccnts"));
- Obj.ds_data_recitem.setColumn(objImgRow, "recimge", pntObj.ds_data_recitem.getColumn(nRow, "recimge"));
- var imgBinary = objExt.encodeBase64(pntObj.ds_data_recitem.getColumn(nRow, "recimge"));
- imgObj.LoadImageBase64(imgBinary);
-
- lf_reSizeImg(imgObj);
- }
- }
- }
- }
- }
- Obj.lf_calculateInit(); //산술식 초기화
- }
- }
- }
- else if(fGetFormRec("status") != "C" && fGetFormMast("formprogflag") != "PROG") // 일반 서식기록 데이터 세팅
- {
- if(Obj.isValidObject("ds_data_itemvalue"))
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj, "genForm");
- }
- Obj.lf_calculateInit(); //산술식 초기화
- }
-
- for(var i = 0; i < Obj.all.length; i++)
- {
- if(Obj.all[i] instanceof Dataset) //Object를 비교하는 구문
- {
- dsNm = Obj.all[i].name;
- if(dsNm.indexOf("ds_data_grd_") != -1)
- {
- dsDegnNo = dsNm.replace("ds_data_grd_", "")
- Obj.fSetFormGridRec(dsNm, dsDegnNo); // 기록내용 그리드에 세팅
- }
- }
- if(Obj.all[i] instanceof ActiveX) //Object를 비교하는 구문
- {
- imgObj = Obj.all[i];
- imgNo = imgObj.name;
- imgNo = imgNo.replace("IMG_", "");
-
- lf_setSizeImg(imgObj);
-
- var nRow = parent.ds_data_recitem.findRow("degnitemno", imgNo);
- if(nRow != -1)
- {
- var imgBinary = objExt.encodeBase64(parent.ds_data_recitem.getColumn(nRow, "recimge"));
- imgObj.LoadImageBase64(imgBinary);
-
- imgObj.RestoreStatus();
-
- lf_reSizeImg(imgObj);
- }
- }
- }
- if(fGetFormMast("formprogflag") == "PROF")
- {
- var oMainFrame = null
- if( frmf_getCurrentFormKind() == "main" ){
- oMainFrame = frmf_getMainViewer();
- }else{
- oMainFrame = this.getOwnerFrame().form;
- }
- if( oMainFrame != null ){
- var sWorkScrnId = oMainFrame.frmf_getScreenID();
- var bExistFunc = frmf_findFuncFromForm(sysf_getScreenInfo(sWorkScrnId).scrnurlxp, "lf_setProfBaseInfo");
- utlf_addLog(" bExistFunc : " + bExistFunc);
- if(bExistFunc){
- eval("oMainFrame.lf_setProfBaseInfo()");
- }
- }
- //parent.parent.parent.lf_setProfBaseInfo(); // 제증명 기초정보 세팅
- }
- }
- /*
- utlf_addLog("@@@@@@@@@@ this.name : " + this.name + " obj.name : " + Obj.name);
- if( Obj.name != "ivw_base" && fGetFormMast("formprogflag") == "PROG" ){//fGetFormRec("status") == "C"
- //if( Obj.name != "ivw_base" && fGetFormMast("formprogflag") == "PROG" && ((isValidObject("ds_temp") == false) || (isValidObject("ds_temp") == true && ds_temp.getColumn(0, "loadcomplete") != "true")) ){//fGetFormRec("status") == "C"
- //frmf_getCurrentFormKind() != 'main' && ds_temp.getColumn(0, "formxrwyn") == "Y" && ds_temp.getColumn(0, "loadcomplete") != "true")
- var formcd = Obj.ds_data_recitem.getColumn(0, "formcd");
- utlf_addLog("@@@@@@@@@@@ ds_data_unitformmast loaded : " + ds_data_unitformmast.lookup("formcd", formcd, "loaded") );
- if( ds_data_unitformmast.lookup("formcd", formcd, "loaded") != "true" ){
- utlf_addLog("@@@@@@@@@@@ ds_data_unitformmast.lookup(formcd, formcd, loaded) != true");
- ds_data_unitformmast.setColumn(nRow, "loaded", "true");
- var loadStatus = "";
- var formkind = fGetFormMast("formkind");
- if(formkind == "C")
- loadStatus = UNIT_FORM;
-
- dispOnLoadComplete(loadStatus, Obj.ds_data_recitem.getColumn(0, "formcd"));
-
- // if( isValidObject("ds_temp") == false ){
- // dsf_createDsRow("ds_temp", [{col: "loadcomplete", type:"string", size:256, val:"true"}]);
- // }
- }
-
- }
-
- */
- lf_getImgData(); // 이미지정보 세팅
-
- fnSetFuncUse();//Function Libray 핸들러추가
- if(!utlf_isNull(parent.afterNewLoadFormFuncNm)) // 서식로드 후 실행할 콜백함수 호출
- {
- var objForm = this.getOwnerFrame().form;
- var funcnm = "objForm." + parent.afterNewLoadFormFuncNm + "()";
- eval(funcnm);
- }
- if( !utlf_isNull(Obj) && (fGetFormMast("srcformcd") != "0000000677" && fGetFormMast("cnstformyn") != "Y") && fGetFormRec("status") == "C" )
- {
- Obj.lf_calculateInit(); //산술식 초기화
- }
-
- if( fGetFormRec("status") == "C" ){
- lf_setInitHelpData(Obj);
- }
-
- /*
- if(fGetFormRec("chosflag") == "I" && fGetFormMast("srcformcd") != "0000000677" && fGetFormMast("srcformcd") != "0000000680" && fGetFormMast("srcformcd") != "0000001596") // 입원환자인 경우 임시저장 disable
- {
- if(fGetFormMast("formprogflag") == "PROG" || fGetFormMast("formprogflag") == "MAIN")
- {
- if(parent.parent.parent.isValidObject("btn_tmpsave"))
- {
- parent.parent.parent.btn_tmpsave.enable = false;
- }
- }
- else
- {
- parent.btn_tmpsave.enable = false;
- }
- }
-
- */
- //상용구 사용 추가
- if(!utlf_isNull(ivwObj))
- lf_addRightMenuMTX(ivwObj.objects["ds_data_recitem"]);
-
- gProfCal = true;
- }
- /****************************************************************************************
- * Function : lf_getImgData
- * Description : 이미지 세팅
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getImgData()
- {
- var arrTmp = new Array();
- var arrDegnTmp = new Array();
- var degnitemno = "";
- var degnitemcd = "";
- var degnitemlevlcd = "";
- var degnattrval = "";
- var ctrlwidth = "";
- var ctrlheight = "";
- var ctrlid = "";
- var strShape = "";
- var Viewmode = "";
-
- arrTmp = objExt.findRows(ds_data_recitem, "degnitemkind", "IMG");
- arrDegnTmp = objExt.findRows(ds_data_formdegn, "degnitemkind", "IMG");
- if(arrTmp.length > 0)
- {
- for(var i = 0; i < arrTmp.length; i++) // 이미지조회
- {
- degnitemno = ds_data_recitem.getColumn(arrTmp[i], "degnitemno");
- degnitemcd = ds_data_recitem.getColumn(arrTmp[i], "degnitemcd");
- degnitemlevlcd = ds_data_recitem.getColumn(arrTmp[i], "degnitemlevlcd");
- ctrlid = this.components["IMG_" + degnitemno]; // IMAGE 컨트롤 객체
- if( degnitemlevlcd == "0016651.0000446.0000983" || (ctrlid instanceof ActiveX && !utlf_isNull(ctrlid.SaveJpegBase64())) )
- continue;
- // 의사 서명이미지는 제증명 로직에서 호출, 저장된 이미지 기록정보는 조회없이 저장되있는 정보 세팅
-
- lf_setSizeImg(ctrlid);
-
- imgedit = lf_getStyleValue(ds_data_formdegn.lookupExpr("degnitemno=='"+degnitemno+"'", "itemattrval"), "imgedit");
- ds_data_imgelist.clearData();
- ds_data_imgelist.addRow();
-
- dsf_createDsRow("ds_cond_reqimgdata",
- [{col:"imgecd", val:degnitemcd}]);
-
- var oParam = new Object();
- oParam.id = "TRMRF01212";
- oParam.service = "formmngtapp.ImgMngt";
- oParam.method = "reqGetImageBinaryData";
- oParam.inds = "req=ds_cond_reqimgdata";
- oParam.outds ="ds_data_imgelist=img";
- oParam.async = false;
- oParam.progress = false;
-
- tranf_submit(oParam);
- if( !utlf_isNull(ds_data_imgelist.getColumn(0, "imgedata")) )
- {
- if(ctrlid instanceof ActiveX)
- {
- degnattrval = ds_data_formdegn.lookupExpr("degnitemno=='"+degnitemno+"'", "degnattrval");
- if(!utlf_isNull(degnattrval))
- {
- ctrlwidth = lf_getStyleValue(degnattrval, "ctrl.width");
- ctrlheight = lf_getStyleValue(degnattrval, "ctrl.height");
- if(!utlf_isNull(ctrlwidth))
- ctrlid.position.width = parseInt(ctrlwidth.replace("px",""));
- if(!utlf_isNull(ctrlheight))
- ctrlid.position.height = parseInt(ctrlheight.replace("px",""));
- }
- var objImgeData = objExt.encodeBase64(ds_data_imgelist.getColumn(0, "imgedata"));
- ctrlid.LoadImageBase64(objImgeData);
- }
- else if(!utlf_isNull(ctrlid))
- {
- ctrlid.image = ds_data_imgelist.getColumn(0, "imgedata");
- ctrlid.stretch = "fit"; //fixaspectratio
- }
- }
- }
- }
- }
-
-
- /****************************************************************************************
- * Function : lf_getStyleValue
- * Description : 컨트롤의 스타일 값 가져오기
- * Argument : 01. attrs : 속성
- * : 02. attrNm : 가저올 속성의 속성명
- * : 03. ctrltype : 컨트롤 타입
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getStyleValue(attrs, attrNm, ctrltype)
- {
- if(ctrltype != null)
- attrNm = ctrltype + "." + attrNm;
-
- var arrAttrs = "";
-
- if(!utlf_isNull(attrs))
- arrAttrs = attrs.split(";");
-
- for(var i = 0; i < arrAttrs.length; i++)
- {
- var arrAttr = arrAttrs[i].split(":");
- if(arrAttr.length == 0)
- continue;
- //앞뒤 공백제거후 문자열 비교
- if(arrAttr[0].toString().getTrim().toString() == attrNm.toString().getTrim().toString())
- {
- return arrAttr[1];
- }
- }
- return "";
- }
- /****************************************************************************************
- * Function : lf_getObj
- * Description : Obj형태 반환
- * Argument : 01. ivwObj : 대상이 오브젝트
- * retrun type : Obj : 오브젝트 형태
- * Creator :
- ****************************************************************************************/
- function lf_getObj(ivwObj)
- {
- if(utlf_isNull(ivwObj))
- Obj = ivw_base;
- else
- Obj = ivwObj;
- return Obj;
- }
- /****************************************************************************************
- * Function : lf_initGrd
- * Description : 서식 grid 초기화
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_initGrd()
- {
- utlf_addLog("***** lf_initGrd() *****");
- // 디자인정보에 그리드가 있으면 해당 그리드 초기화
- var grdItemRow = ds_data_formdegn.findRowExpr("degnitemkind == 'DGN' || degnitemkind == 'OPN' || degnitemkind == 'GRD' || degnitemkind == 'CCN'");
- var nRowno = "";
-
- if(grdItemRow != -1)
- {
- var arrGrdRows = new Array();
- var arrGrdKind = ["DGN", "OPN", "GRD", "CCN"];
-
- for(var i = 0; i < arrGrdKind.length; i++)
- {
- arrGrdRows = objExt.findRows(ds_data_formdegn, "degnitemkind", arrGrdKind[i]);
- utlf_addLog("arrGrdRows : " + arrGrdRows);
- if(arrGrdRows.length > 0)
- {
- for(var j = 0; j < arrGrdRows.length; j++)
- {
- var nRow = arrGrdRows[j];
- var nDegnItemNo = ds_data_formdegn.getColumn(nRow, "degnitemno");
- var nDegnItemLevlCd = ds_data_formdegn.getColumn(nRow, "degnitemlevlcd");
- var DsNm = "ds_data_grd_" + nDegnItemNo;
- utlf_addLog("DsNm : " + DsNm);
- if((arrGrdKind[i]!="DGN"&&arrGrdKind[i]!="OPN")||ds_data_formdegn.getRowCount()<1){
-
- //누적그리드의 경우 addRow를 실행하지 않는다.
- //gridtype="X"
- //GRD에 대해서만 test중
-
- var vGrdNm = "GRD_"+nDegnItemNo;
- utlf_addLog(" vGrdNm : " + vGrdNm + " || this.name : " + this.name + " || this.components[vGrdNm] " + this.components[vGrdNm] );
- if(arrGrdKind[i].indexOf("GRD") > -1 && !utlf_isNull(this.components[vGrdNm].gridtype) && this.components[vGrdNm].gridtype == "X")
- {
- //누적그리드
-
- }
- else if(arrGrdKind[i].indexOf("GRD") > -1 && !utlf_isNull(this.components[vGrdNm].gridtype) && this.components[vGrdNm].gridtype == "T")
- {
- //누적그리드
- }
- else
- {
- nRowno = eval(DsNm).addRow();
- eval(DsNm).rowposition = -1; //2017.04.14 초기화시 포지션 제거
- }
-
- //nRowno = eval(DsNm).addRow();
- continue;
- }
-
- var nRowCnt = ds_data_formrec.getRowCount();
- for(var j=0; j<nRowCnt; j++){
- var pid = ds_data_formrec.getColumn(j, "pid");
- var cretno = ds_data_formrec.getColumn(j, "cretno");
- var orddd = ds_data_formrec.getColumn(j, "orddd");
- var orddeptcd = ds_data_formrec.getColumn(j, "orddeptcd");
- var orddrid = ds_data_formrec.getColumn(j, "orddrid");
- var ioflag = ds_data_formrec.getColumn(j, "chosflag");
-
- utlf_addLog("pid : " + pid + " , cretno : " + cretno + " , orddd : " + orddd + " , orddeptcd : " + orddeptcd + " , orddrid : " + orddrid + " , ioflag : " + ioflag );
- if(arrGrdKind[i]=="DGN"){
- var rtnDiag = lf_setInitDiagComm(eval(arrGrdKind[i]+"_"+nDegnItemNo), pid, cretno, orddd, orddeptcd, orddrid, ioflag);
- }
- if(arrGrdKind[i]=="OPN"){
- var dschdd = "";
- if(ioflag=="I" || ioflag=="E"){
- dschdd = ds_data_paminfo.getColumn(0, "dschdd");
- }
- var rtnOp= lf_setInitOpComm(eval(arrGrdKind[i]+"_"+nDegnItemNo), pid, cretno, orddd, dschdd, orddeptcd, orddrid, ioflag);
- }
- }
-
- }
- }
- }//obj.onrbuttondown.addHandler(lf_compGrdMenuEvent);
- }
- }
- /****************************************************************************************
- * Argument : 1. objGrid - Grid Object
- * 2. sPid - 환자등록번호
- * 3. sCretno - 환자등록생성번호
- * 4. sOrddd - 진료일 (입원일)
- * 5. sOrddeptcd - 진료과
- * 6. sOrddrid - 진료의 ID
- * 7. sIoflag - 입원/외래 구분
- * 8. sDegnlvcd - 서식항목 식별 코드
- * Description : 초기 진단정보(OCS에 입력된)를 조회하여 세팅.
- ****************************************************************************************/
- function lf_setInitDiagComm(objGrid:Grid, sPid, sCretno, sOrddd, sOrddeptcd, sOrddrid, sIoflag, sDegnlvcd)
- {
- utlf_addLog("***** lf_setInitDiagComm *****");
- var objDS = eval(objGrid.binddataset);
- // 처방코드, 시행일자, 처방명, 처방일자, 상태, E:영상, F:내시경, G:기능, H:핵의학, 판독결과
- dsf_createDsRow("ds_cond_pid", [{col:"cond1", type:"string", size:256, val:sPid},
- {col:"cond2", type:"string", size:256, val:sOrddd},
- {col:"cond3", type:"string", size:256, val:sCretno},
- {col:"cond4", type:"string", size:256, val:sOrddeptcd},
- {col:"cond5", type:"string", size:256, val:sIoflag},
- {col:"cond6", type:"string", size:256, val:sOrddrid}]);
-
- dsf_createDsRow("ds_data_diagcdlist", [{col:"status" , type:"string", size:256, val:""}]);
-
- tranf_submit({
- id : "TRMMO00105"
- , service : "prcpmngtapp.PrcpMngt"
- , method : "reqGetPatDiagInfo"
- , inds : "req=ds_cond_pid"
- , outds : "ds_data_diagcdlist=diagcdlist"
- , async : false
- , callback : "cf_TRMMO00105"
- });
- if(arErrorCode.pop("TRMMO00105") > -1){
-
- // Grid 구성 Item
- var sLangFlag = fGetFormMast("langflag");
- var sFormProgFlag = fGetFormMast("formprogflag");
-
- var nDiagRowCnt = ds_data_diagcdlist.getRowCount();
- var rtnDiagNm = "";
-
- for(var i=0; i<nDiagRowCnt; i++)
- {
- var sDiagnm = "";
- if(sLangFlag=="EN"||sFormProgFlag!="PROF"){
- sDiagnm = ds_data_diagcdlist.getColumn(i, "diagengnm");
- }else{
- sDiagnm = ds_data_diagcdlist.getColumn(i, "diaghngnm");
- }
-
- if(utlf_isNull(sDiagnm)){
- sDiagnm = ds_data_diagcdlist.getColumn(i, "diagengnm");
- }
-
- var sDiagKindCdFlag = ds_data_diagcdlist.getColumn(i, "diagkindcdflag");
- if(sDiagKindCdFlag == "M"){
- rtnDiagNm = sDiagnm;
- }
- var sDiagcd = ds_data_diagcdlist.getColumn(i, "icd10cd");
- var nCaseExpr = "degnitemlevlcd.toString().indexOf('"+sDegnlvcd+"')>=0&°nitemcd.toString().indexOf('0000960')>=0&&rectermcd=='"+sDiagcd+"'";
- var nCaseCnt = ds_data_recitem.getCaseCount(nCaseExpr);
- if(nCaseCnt>0){
- continue;
- }
-
- var nRowno = objDS.addRow();
- // 주부유형
- if(sDiagKindCdFlag=="M"){
- objDS.setColumn(nRowno, "주", 1);
- }
- // R/O
- var sDiagkindcd = ds_data_diagcdlist.getColumn(i, "diagkindcd");
- if(sDiagkindcd=="R"){
- objDS.setColumn(nRowno, "R/O", 1);
- }
-
- // var sDiagetcflag = ds_data_diagcdlist.getColumn(i, "diagetcflag");
- // if(sDiagetcflag=="Y"){
- // objDS.setColumn(nRowno, "S/P", 1);
- // }
- var sDiagcmtcnts = ds_data_diagcdlist.getColumn(i, "diagcmtcnts");
- // 진단코드, 진단명
- objDS.setColumn(nRowno, "진단코드", sDiagcd);
- objDS.setColumn(nRowno, "진단명" , sDiagnm);
- objDS.setColumn(nRowno, "Comments" , sDiagcmtcnts);
- }
- lf_addRowComm(objGrid, objGrid.name);
- objDS.rowposition = 0;
- }
-
- var objDs = this.removeChild("ds_cond_pid");
- delete objDs;
- objDs = null;
-
- return rtnDiagNm;
- }
- function cf_TRMMR01105(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Argument : 1. objGrid - Grid Object
- * 2. sPid - 환자등록번호
- * 3. sCretno - 환자등록생성번호
- * 4. sOrddd - 진료일 (입원일)
- * 5. sOrddeptcd - 진료과
- * 6. sOrddrid - 진료의 ID
- * 7. sIoflag - 입원/외래 구분
- * 8. sDegnlvcd - 서식항목 식별 코드
- * Description : 초기 수술정보(OCS에 입력된)를 조회하여 세팅.
- ****************************************************************************************/
- function lf_setInitOpComm(objGrid:Grid, sPid, sCretno, sOrddd, sDschdd, sOrddeptcd, sOrddrid, sIoflag, sDegnlvcd)
- {
- var operation = sysf_getGlobalVariable("operation"); //수술정보 가져옴
-
- if(!utlf_isNull(operation)){
- dsf_createDs("ds_data_operation");
- //ds_data_operation.loadCSV(operation); //수술정보 가져옴
- dsf_setCSVToDs("ds_data_operation", operation);
- }
-
- var sOprsrvno = ""; //수술예약번호
- if(!utlf_isNull(operation)){
- sOprsrvno = ds_data_operation.getColumn(0, "oprsrvno");
- }
- var objDS = eval(objGrid.binddataset);
- // 처방코드, 시행일자, 처방명, 처방일자, 상태, E:영상, F:내시경, G:기능, H:핵의학, 판독결과
- dsf_createDsRow("ds_cond_pid", [{col:"pid", type:"string", size:256, val:sPid},
- {col:"orddd", type:"string", size:256, val:sOrddd},
- {col:"cretno", type:"string", size:256, val:sCretno},
- {col:"dschdd", type:"string", size:256, val:sDschdd},
- {col:"ordtype", type:"string", size:256, val:sIoflag},
- {col:"orddeptcd", type:"string", size:256, val:sOrddeptcd},
- {col:"srchmode", type:"string", size:256, val:""},
- {col:"oprsrvno", type:"string", size:256, val:""}]);
-
- var sFormProgFlag = fGetFormMast("formprogflag");
-
- //조회조건 opr : 환자 원무정보기준, dr : 수술예약번호 + pid
- if(!utlf_isNull(sOprsrvno)){
- ds_cond_pid.setColumn(0, "srchmode", "dr");
- ds_cond_pid.setColumn(0, "oprsrvno", utlf_transNullToEmpty(sOprsrvno)); //oprsevno
- } else {
- if(sFormProgFlag=="PROF"){
- ds_cond_pid.setColumn(0, "srchmode", "pat");
- } else {
- ds_cond_pid.setColumn(0, "srchmode", "opr");
- }
- }
-
-
-
- dsf_createDsRow("ds_data_opcdlist", [{col:"status" , type:"string", size:256, val:""}]);
-
- tranf_submit({
- id : "TRMRF04301"
- , service : "formmngtapp.FormIfMngt"
- , method : "reqGetOprList"
- , inds : "req=ds_cond_pid"
- , outds : "ds_data_opcdlist=selectoplist"
- , async : false
- });
-
- if(ErrorCode==0){
- // Grid 구성 Item
- var sLangFlag = fGetFormMast("langflag");
- var nOpRowCnt = ds_data_opcdlist.getRowCount();
- var rtnOpNm = "";
-
- for(var i=0; i<nOpRowCnt; i++)
- {
- var sOpnm = "";
- if(sLangFlag=="EN"||sFormProgFlag!="PROF"){
- sOpnm = ds_data_opcdlist.getColumn(i, "opengnm");
- }else{
- sOpnm = ds_data_opcdlist.getColumn(i, "ophngnm");
- }
-
- if(utlf_isNull(sOpnm)){
- sOpnm = ds_data_opcdlist.getColumn(i, "opengnm");
- }
-
- rtnOpNm = sOpnm;
-
- var sOpcd = ds_data_opcdlist.getColumn(i, "opcd");
- var nCaseExpr = "degnitemlevlcd.toString().indexOf('"+sDegnlvcd+"')>=0&°nitemcd.toString().indexOf('0000933')>=0&&rectermcd=='"+sOpcd+"'";
- var nCaseCnt = ds_data_recitem.getCaseCount(nCaseExpr);
- if(nCaseCnt>0){
- continue;
- }
-
- var nRowno = objDS.addRow();
-
- var sOpcmtcnts = ds_data_opcdlist.getColumn(i, "reccnts");
- // 진단코드, 진단명
- objDS.setColumn(nRowno, "수술코드", sOpcd);
- objDS.setColumn(nRowno, "수술명" , sOpnm);
- objDS.setColumn(nRowno, "Comments" , sOpcmtcnts);
- }
- lf_addRowComm(objGrid, objGrid.name);
- objDS.rowposition = 0;
- }
- return rtnOpNm;
- }
- /****************************************************************************************
- * Function : lf_setRecItemDS
- * Description : 기록 데이터를 itemvalue DS에 매핑한다. 단, GRD만 recitem에 곧바로 세팅
- * Argument : 01. ColId : itemvalue DS의 컬럼명(컨트롤명)
- * : 02. ivwObj : 대상이 되는 div
- * : 03. formType : 일반서식 여부
- * : 04. status : 신규/ 기록 오픈 여부
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setRecItemDS(ColId, ivwObj, formType, status)
- {
- utlf_addLog("***** lf_setRecItemDS("+ColId+", "+ivwObj.name+", "+formType+", "+status+") *****");
- var orgColId;
- var StrtIndx = ColId.indexOf("_");
- var ColNo = "";
- var ColDegnKind = "";
- var ColFstlevlitemcd = "";
- var nRow = "";
- var nVal = "";
- var nRectermnm = "";
- var sTermnmRow = "";
- var nTxt = "";
- var Colextn = "";
- var formcd = "";
- var arrTemp = new Array();
- var ObjRecDS = null; // 저장된 기록데이터가 있는 obj
- var Obj = lf_getObj(ivwObj); // 저장된 기록정보가 세팅될 div obj
- var comp;
- //utlf_addLog(" ColId : " + ColId + " || StrtIndx " + StrtIndx );
- if( formType == "acmlForm" ){
- ObjRecDS = parent.ds_data_acmldata;
- }
- else if( ivwObj.name != "ivw_base" && formType != "genForm" && status != "C")
- {
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")
- ObjRecDS = parent.parent.parent.parent.parent.ds_data_recitem;
- else if(formType == "innerRec") // 공통 서식내부에서 recitem을 가지고 있는 경우
- ObjRecDS = parent.parent.ds_main_extninfo_recitem;
- else
- ObjRecDS = parent.parent.parent.ds_data_recitem;
- }
- else if( (ivwObj.name == "ivw_base" || formType == "genForm") && status != "C")
- {
- ObjRecDS = parent.ds_data_recitem; //parent.parent
- }
- else if(status == "C") // 신규로딩시 데이터 세팅을 위한 recitem정보는 서식내에 있음
- ObjRecDS = this.ds_data_recitem;
-
- formcd = this.ds_data_recitem.getColumn(0, "formcd");
-
- // sysf_trace(" ColId : " + ColId + " || StrtIndx " + StrtIndx + " || ObjRecDS.name : " + ObjRecDS.name + " || formcd : " + formcd);
- if(StrtIndx != -1)
- {
- orgColId = ColId;
- if(ColId.indexOf("EXTN") == -1) // 확장아이템 컬럼이 아니면
- {
- ColNo = ColId.substr(StrtIndx + 1);
- ColDegnKind = ColId.substr(0, StrtIndx);
- /// 컨설트 관련 수정
- //if( ivwObj.name != "ivw_base" ){
- if( formcd == "0000000005" ){ // 자유서식 일경우 조건 변경
- ColFstlevlitemcd = (ivwObj.name).split("_")[1];
- }
- if( utlf_isNull(ColFstlevlitemcd) )
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"'");
- else
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"' && fstlevlitemcd == '"+ ColFstlevlitemcd +"'");
- // nRow = ObjRecDS.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"'");
-
- if(ColDegnKind == "MTX" || ColDegnKind == "STX" || ColDegnKind == "CAL" || ColDegnKind == "MSK")
- {
- nVal = utlf_transEmptyToNull(ObjRecDS.getColumn(nRow, "reccnts"));
- // Component 존재유무 체크
- // 20151014 Calendar Component Value Change! TF Val : "9999-01-01" XP Val : 99990101
- if( Obj.components[ColId] != null ){
- if( !utlf_isNull(eval(ColId).userMask) && eval(ColId).userMask == "include" && eval(ColId) instanceof Calendar && !utlf_isNull(nVal) ){
- if( nVal.indexOf("-") > -1 ){
- nVal = nVal.replace(/-/g,"");
- }
- }
- }else{
- utlf_addLog("기록 데이터를 itemvalue DS에 매핑 시 Component " + ColId + " 가 존재하지 않습니다.");
- }
-
- // sysf_trace("nRow : " + nRow + " || nVal : " + nVal);
- }
- else if(ColDegnKind == "CMB" || ColDegnKind == "CHK" || ColDegnKind == "RDO" || ColDegnKind == "BOL" || ColDegnKind == "SSL")
- {
- nVal = ObjRecDS.getColumn(nRow, "rectermcd");
- var degnitemno = ColId.replace(ColDegnKind,"");
-
- if(ColDegnKind == "CHK")
- {
- // 컴포짓에 value 세팅하는 함수, CHK는 내부적으로
- lf_setSelCtrl(ColId, "", ObjRecDS);
- }
- else if(!utlf_isNull(nVal))
- {
- nRectermnm = ObjRecDS.getColumn(nRow, "rectermnm");
-
-
- sTermnmRow = Obj.ds_data_recitem.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"'");
- // Recitem DS에 rectermnm 세팅
- Obj.ds_data_recitem.setColumn(sTermnmRow, "rectermnm", nRectermnm);
- if( (ColDegnKind == "RDO") && !utlf_isNull(nVal) )
- {
- // 컴포짓에 value 세팅하는 함수
- lf_setSelCtrl(ColDegnKind+degnitemno, nVal);
-
- var nDegnitempnt = ObjRecDS.getColumn(nRow, "rowno");
- if( !utlf_isNull(nDegnitempnt) ){
- Obj.ds_data_recitem.setColumn(sTermnmRow, "rowno", nDegnitempnt);
- }
-
- }
- }
- }
- else if(ColDegnKind == "SSU") // MSL의 sub SSU들
- {
- // Component 존재유무 체크
- if( Obj.components[ColId] != null ){
-
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ eval(ColId).supdegnitemno +"' && degnitemkind == 'MSL' && formcd == '"+ formcd +"' && colno == '"+ eval(ColId).colno +"'");
- nVal = ObjRecDS.getColumn(nRow, "rectermcd");
- if(!utlf_isNull(nVal))
- {
- eval(ColId).value = ObjRecDS.getColumn(nRow, "rectermcd");
- // nRectermnm = ObjRecDS.ds_data_recitem.getColumn(nRow, "rectermnm");
- //
- // Obj.ds_data_recitem.setColumn(nRow, "rectermnm", nRectermnm);
- }
- }else{
- utlf_addLog("기록 데이터를 itemvalue DS에 매핑 시 Component " + ColId + " 가 존재하지 않습니다.");
- }
- }
- else if(ColDegnKind == "GRD" || ColDegnKind == "GSU") // GRD는 itemvalue가 아닌 GRD에 매핑된 DS에 값 매핑
- {
- lf_setGrdDS(ColId, ObjRecDS, Obj);
- }
- else if(ColDegnKind == "IMG")
- {
- var recImge = new Buffer(ObjRecDS.getColumn(nRow, "recimge"));
- var srcImge = new Buffer(ObjRecDS.getColumn(nRow, "srcimge"));
- var nSrcImgeRow = Obj.ds_data_recitem.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"'");
- if( nSrcImgeRow > -1 && recImge.length > 0 && srcImge.length > 0 ){//srcImge.isEmpty()
- // Recitem DS에 srcimge 세팅
- Obj.ds_data_recitem.setColumn(nSrcImgeRow, "srcimge", ObjRecDS.getColumn(nRow, "srcimge"));
- }
- }
- }
- else if(ColId.indexOf("EXTN") != -1) // 확장 아이템 컬럼이면 select 컨트롤의 row에 reccnts 세팅
- {
- Colextn = ColId.replace("_EXTN", "");
- ColNo = Colextn.substr(StrtIndx + 1);
- ColDegnKind = Colextn.substr(0, StrtIndx);
-
- if(ColDegnKind == "SSU")
- {
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ eval(Colextn).supdegnitemno +"' && degnitemkind == 'MSL' && formcd == '"+ formcd +"' && colno == '"+ eval(Colextn).colno +"'");
- nVal = ObjRecDS.getColumn(nRow, "reccnts");
- }
- else if(ColDegnKind == "SSL")
- {
- if(utlf_getSearchStringRight(Colextn, "_") > 4) // 한 컴포짓에 두 개 이상의 확장컨트롤이 달린 경우
- {
- Colextn = Colextn.substr(0, utlf_getSearchStringRight(Colextn, "_"));
- ColNo = ColNo.substr(0, utlf_getSearchStringRight(ColNo, "_"));
- }
- var extnId = Obj.binds[orgColId].compid;
- var extnCtrl = Obj.components[extnId];
- var ssuCtrl = Obj.components[extnCtrl.ParentsNo];
- //utlf_addLog(" extnId : " + extnId + " || extnCtrl : " + extnCtrl + " ssuCtrl : " + ssuCtrl + " extnCtrl.ParentsNo : " + extnCtrl.ParentsNo );
- if(ssuCtrl.index != -1)
- {
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == 'SSL' && formcd == '"+ formcd +"'");
- nVal = ObjRecDS.getColumn(nRow, "reccnts");
- //utlf_addLog(" ColNo : " + ColNo + "|| formcd : " + formcd + " || nRow : " + nRow + " || nVal : " + nVal );
- extnCtrl.value = nVal;
- }
- return;
- }
- else
- {
- nRow = ObjRecDS.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"' && formcd == '"+ formcd +"'");
- }
-
- nVal = ObjRecDS.getColumn(nRow, "reccnts");
- }
- Obj.ds_data_itemvalue.setColumn(0, orgColId, nVal);
- }
- }
- /**
- * @desc : 기록아이템 값을 가져온다
- * @id :
- * @event :
- * @return :
- * @authur : 이상현
- */
- function getFormItemValue(degnitemlevlcd)
- {
- utlf_addLog("***** getFormItemValue("+degnitemlevlcd+") MMRCommon *****");
- var itemVal = new ITEMVAL();
- var nRow = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
-
- if( nRow != -1 ){
- itemVal.rectermcd = utlf_transNullToEmpty(ds_data_recitem.getColumn(nRow, "rectermcd"));
- itemVal.rectermnm = utlf_transNullToEmpty(ds_data_recitem.getColumn(nRow, "rectermnm"));
- itemVal.reccnts = utlf_transNullToEmpty(ds_data_recitem.getColumn(nRow, "reccnts"));
- itemVal.recimge = ds_data_recitem.getColumn(nRow, "recimge");
- }
-
- return itemVal;
- }
- /****************************************************************************************
- * Function : setFormItemValue
- * Description : 기록아이템 값을 셋팅
- * Argument : 01. degnitemlevlcd : 대상 컨트롤 계층코드
- * : 02. itemValvalue : 세팅 할 값 객체
- * : 03. colno
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function setFormItemValue(degnitemlevlcd, value, colno)
- {
- utlf_addLog("***** setFormItemValue("+degnitemlevlcd+", "+value+", "+colno+") EMRCommon *****");
-
- if( isValidObject("ds_data_itemvalue") ){
- var nRow = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
- var degnitemno = "";
- var degnitemkind = "";
- var colId = "";
-
- if(nRow != -1)
- {
- // 2016.03.23 초기화 수행
- var bRectermcd = false;
- var bReccnts = false;
-
- if( value.rectermcd == "INI" ){
- bRectermcd = true;
- value.rectermcd = "";
- }
- if( value.reccnts == "INI" ){
- bReccnts = true;
- value.reccnts = "";
- }
-
- degnitemno = ds_data_recitem.getColumn(nRow, "degnitemno");
- degnitemkind = ds_data_recitem.getColumn(nRow, "degnitemkind");
-
- if(degnitemkind != "IMG")
- {
- colId = degnitemkind + "_" + degnitemno;
-
- if(!utlf_isNull(colId))
- {
- if(!utlf_isNull(value.rectermcd) || bRectermcd == true)
- {
- if(colId.indexOf("MSL") == -1)
- {
- ds_data_itemvalue.setColumn(0, colId, value.rectermcd);
- ds_data_recitem.setColumn(nRow, "rectermnm", value.rectermnm);
- if(degnitemkind == "RDO" || degnitemkind == "CHK")
- {
- this.components[degnitemkind + "_" + degnitemno].setData(value.rectermcd);
- }
- if(!utlf_isNull(value.reccnts) || bReccnts == true) // 확장 컨트롤값 세팅
- {
- if( ds_data_itemvalue.getColumnInfo(colId+"_EXTN") != null )
- ds_data_itemvalue.setColumn(0, colId+"_EXTN", value.reccnts);
- else
- utlf_addLog( "setFormItemValue #1: " + colId+"_EXTN 이 존재하지 않습니다.");
- }
- }
- else
- {
- var sFilter = "";
- if( !utlf_isNull(colno) ){
- sFilter = "degnitemlevlcd == '" + degnitemlevlcd + "' && colno == '" + colno + "'";
- }else{
- sFilter = "degnitemlevlcd == '" + degnitemlevlcd + "'";
- }
-
-
- nRow = ds_data_recitem.findRowExpr(sFilter);
- degnitemno = ds_data_recitem.getColumn(nRow, "degnitemno");
- var arrTemp = new Array();
- for(var i = 0; i < this.components.length; i++)
- {
- var ctrl = this.components[i];
- var bCtrl = false;
- if( !utlf_isNull(colno) ){
- if( ctrl.colno == colno ){
- bCtrl = true;
- }
- }else{
- if( ctrl.truevalue == value.rectermcd ){
- bCtrl = true;
- }
- }
-
- if(bCtrl && ctrl.supdegnitemno == degnitemno)
- {
- ctrl.value = value.rectermcd;
- if(!utlf_isNull(value.reccnts) || bReccnts == true) // 확장 컨트롤값 세팅
- {
- ctrl.enable = true;
- if( ds_data_itemvalue.getColumnInfo(ctrl.name+"_EXTN") != null )
- ds_data_itemvalue.setColumn(0, ctrl.name+"_EXTN", value.reccnts);
- else
- utlf_addLog( "setFormItemValue #2: " + ctrl.name+"_EXTN 이 존재하지 않습니다.");
- }
- }
- }
-
- }
- }
- else if( (!utlf_isNull(value.reccnts) && utlf_isNull(colno) ) || bReccnts == true)
- {
- if( value.reccnts == "noneValue" ){ // reccnts 에 null 값을 넣어야 하는경우 추가
- value.reccnts = "";
- }
- ds_data_itemvalue.setColumn(0, colId, value.reccnts);
- }
- }
- }
- else if(degnitemkind == "IMG")
- ds_data_recitem.setColumn(0, "recimge", value.recimge);
- }
- }else if( isValidObject("ds_data_recitem") ){ // 공통서식 체크로직..
- sysf_trace("::::: setFormItemValue #3 ds_data_recitem 공통서식 값 설정 :::::");
- var nRow = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
- if( nRow != -1 ){
- ds_data_recitem.setColumn(nRow, "rectermcd", value.rectermcd);
- ds_data_recitem.setColumn(nRow, "rectermnm", value.rectermnm);
- ds_data_recitem.setColumn(nRow, "recimge", value.recimge);
- ds_data_recitem.setColumn(nRow, "reccnts", value.reccnts);
- }
- }
- }
- /****************************************************************************************
- * Function : lf_setFormItemValue
- * Description : 기록지에 값 세팅해주는 함수
- * Argument : 01. degnitemlevlcd : 대상 컨트롤 계층코드
- * : 02. value : 세팅 할 값 객체
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function lf_setFormItemValue(degnitemlevlcd, value, colno)
- {
- var nRow = ivw_base.ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
- var degnitemno = "";
- var degnitemkind = "";
- var colId = "";
-
- if(nRow != -1)
- {
- degnitemno = ivw_base.ds_data_recitem.getColumn(nRow, "degnitemno");
- degnitemkind = ivw_base.ds_data_recitem.getColumn(nRow, "degnitemkind");
-
- if(degnitemkind != "IMG")
- {
- colId = degnitemkind + "_" + degnitemno;
-
- if(!utlf_isNull(colId))
- {
- if(!utlf_isNull(value.rectermcd))
- {
- if(colId.indexOf("MSL") == -1)
- {
- ivw_base.ds_data_itemvalue.setColumn(0, colId, value.rectermcd);
- ivw_base.ds_data_recitem.setColumn(nRow, "rectermnm", value.rectermnm);
- if(degnitemkind == "RDO" || degnitemkind == "CHK")
- {
- ivw_base.components[degnitemkind + "_" + degnitemno].setData(value.rectermcd);
- }
- if(!utlf_isNull(value.reccnts)) // 확장 컨트롤값 세팅
- {
- if( ivw_base.ds_data_itemvalue.getColumnInfo(colId+"_EXTN") != null )
- ivw_base.ds_data_itemvalue.setColumn(0, colId+"_EXTN", value.reccnts);
- else
- utlf_addLog( "lf_setFormItemValue #1: " + colId+"_EXTN 이 존재하지 않습니다.");
- }
- }
- else // MSL 컨트롤은 itemvalue DS에 SSU_degnNo 형식으로 매핑돼있어 itemvalue 컬럼 찾아가는 추가로직
- {
- nRow = ivw_base.ds_data_recitem.findRowExpr("degnitemlevlcd == '" + degnitemlevlcd + "' && colno == '" + colno + "'");
- degnitemno = ivw_base.ds_data_recitem.getColumn(nRow, "degnitemno");
- var arrTemp = new Array();
- for(var i = 0; i < ivw_base.components.length; i++)
- {
- var ctrl = ivw_base.components[i];
- if(ctrl.colno == colno && ctrl.supdegnitemno == degnitemno)
- {
- ctrl.value = value.rectermcd;
- if(!utlf_isNull(value.reccnts)) // 확장 컨트롤값 세팅
- {
- ctrl.enable = true;
- if( ivw_base.ds_data_itemvalue.getColumnInfo(ctrl.name+"_EXTN") != null )
- ivw_base.ds_data_itemvalue.setColumn(0, ctrl.name+"_EXTN", value.reccnts);
- else
- utlf_addLog( "lf_setFormItemValue #2: " + ctrl.name+"_EXTN 이 존재하지 않습니다.");
- }
- }
- }
- }
- }
- else if(!utlf_isNull(value.reccnts) && utlf_isNull(colno))
- {
- if( value.reccnts == "noneValue" ){ // reccnts 에 null 값을 넣어야 하는경우 추가
- value.reccnts = "";
- }
-
- // CAL 연동 데이터 '-' 제거
- if( this.components[colId] != null ){
- if( !utlf_isNull(eval(colId).userMask) && eval(colId).userMask == "include" && eval(colId) instanceof Calendar ){
- if( value.reccnts.indexOf("-") > -1 ){
- value.reccnts = value.reccnts.replace(/-/g,"");
- }
- }
- }
-
- ivw_base.ds_data_itemvalue.setColumn(0, colId, value.reccnts);
- }
- }
- }
- else if(degnitemkind == "IMG")
- ivw_base.ds_data_recitem.setColumn(0, "recimge", value.recimge);
- }
- }
- /**
- * @desc : 노드셋을 맨위에 집어넣는다.
- strDest : 목적노드
- strSrc : 소스노드
- * @param :
- * @return :
- * @author : 2010.03.30 강지훈
- * @---------------------------------------------------
- */
- function fInsertNodes(strDest, strSrc){
- utlf_addLog("***** fInsertNodes("+strDest+", "+strSrc+") MMRCommon *****");
- // var srcNodeList = instance1.selectNodes(strSrc);
- if(strSrc != null && strSrc.rowcount > 0 ){
- // var destNodeList = instance1.selectNodes(strDest);
-
- if( strDest == null || strDest.rowcount == 0 ) {
- return false;
- }
- // var pDestNode = destNodeList(0).parentNode;
- // var destLastNodesetName = destNodeList(0).nodeName;
- // var tmpSrcNode;
- for( var a = strSrc.rowcount - 1; a >= 0; a-- ) {
- strDest.insertRow(0);
- strDest.copyRow(0, strSrc, a);
- // pDestNode = instance1.selectSingleNode(strDest).parentNode;
- // tmpSrcNode = srcNodeList.item(a).cloneNode(true);
- // tmpSrcNode.nodeName = destLastNodesetName;
- // model.duplicate(pDestNode, tmpSrcNode, "*[1]");
- }
- }
- }
- /**********************************************************************************
- * Method Name : chkEssentialitem
- * Description : 진료기록에서 서식 저장시 필수입력 아이템 입력 여부를 체크한다.
- * argument : 01. supdegnitemcd
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function chkEssentialitem(supdegnitemcd)
- {
- utlf_addLog("***** chkEssentialitem("+supdegnitemcd+") 필수입력 아이템 입력 여부 체트 EMRCommon -> MMRCommon *****");
-
- // formdegn 인스턴스에서 essential:true 속성 아이템리스트를 골라낸다.
- var esCnt = ds_data_formdegn.getCaseCount("essnrecyn == 'Y'");
- //2010.11.26 김달현 - 서식 구분
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
-
- if(esCnt > 0)
- {
- // degnitemlevlcd 를 찾는다.
- var filterStr = "essnrecyn == 'Y'";
- ds_data_formdegn.filter(filterStr);
-
- // sysf_trace(ds_data_formdegn.saveXML(ds_data_formdegn, "v"));
- // sysf_trace(ds_data_unitformmast.saveXML());
-
- for(var idx = 0; idx < ds_data_formdegn.getRowCount(); idx++)
- {
- var degnitemno = ds_data_formdegn.getColumn(idx, "degnitemno");
- var degnitemlevlcd = ds_data_formdegn.getColumn(idx, "degnitemlevlcd");
- var degnitemkind = ds_data_formdegn.getColumn(idx, "degnitemkind");
- var degnitemnm = ds_data_formdegn.getColumn(idx, "degnitemnm");
-
- // var nRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
- // unitformcd = ds_data_unitformmast.getColumn( nRow, "formcd");
- // formdegnseq = ds_data_unitformmast.getColumn( nRow, "formdegnseq");
- // ctrl = lf_getComponentID(formdegnseq, itemCds[i]);
-
- if ( fGetReadOnlyStat( degnitemno ) ) //현재 disable 상태이면 필수체크 안한다. 2010.04.15, 주희경
- {
- continue;
- }
- if(ds_data_formdegn.getColumnInfo("itemattrval") != null)
- {
- var attr = getStyleValue(ds_data_formdegn.getColumn(idx, "itemattrval"), "essential");
- var recitemNode = null;
-
- if(attr == "true")
- {
- if (!utlf_isNull(supdegnitemcd)) {
- recitemNode = ds_data_recitem.findRow("degnitemlevlcd", supdegnitemcd + "." + degnitemlevlcd);
- } else {
- //2010.01.17 안치원 - 진단명,수술명 필수입력체크 하지 못하는 오류 수정
- if (degnitemkind == "DGN" || degnitemkind == "OPN") {
- recitemNode = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
- } else {
- recitemNode = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
- }
- }
- if(recitemNode > -1)
- {
- //2010.01.16 안치원 - MSL 필수입력체크 오류수정
- if(degnitemkind == "MSL")
- {
- var cnt = ds_data_recitem.getCaseCount("degnitemlevlcd == '" + supdegnitemcd + "." + degnitemlevlcd+"' && !utlf_isNull(rectermcd)");
- if(cnt > 0)
- continue;
- }
- else if(degnitemkind == "RDO" || degnitemkind == "CMB" || degnitemkind == "CHK" || degnitemkind == "SSL")
- {
- var rectermcdNode = ds_data_recitem.getColumn(recitemNode, "rectermcd");
- if(!utlf_isNull(rectermcdNode))
- continue;
- }
- else if(degnitemkind == "FRM")
- {
- //2010.01.12 안치원 - MTX의 필수입력시 기본부분서식이 있으면 부분서식을, 없으면 MTX의 입력여부를 검사한다.
- continue;
- }
- //2010.11.26 김달현 - 제증명 서식의 진단필수체크
- else if(formprogflag == "PROF" && degnitemkind == "DGN"){
-
- var degnitemcd = ds_data_formdegn.getColumn(idx, "degnitemcd");
- var fstlevlitemcd = ds_data_recitem.lookup("degnitemcd", degnitemcd, "fstlevlitemcd");
- var nFindRow = ds_data_recitem.findRowExpr("fstlevlitemcd == '"+fstlevlitemcd+"' && colno = 2");
- var diagrectermcd = ds_data_recitem.getColumn(nFindRow, "rectermcd");//진단코드
- var diagrectermnm = ds_data_recitem.getColumn(nFindRow, "rectermnm");//진단명
- if(utlf_isNull(diagrectermnm)){
- degnitemnm = "진단명";
- }
-
- //진단코드가 입력된 경우는 진단명까지 입력여부 체크
- if(!utlf_isNull(diagrectermnm)){
- continue;
- }else{
- if(!utlf_isNull(diagrectermcd) && !utlf_isNull(diagrectermnm)){
- continue;
- }
- }
- }
-
- else if(degnitemkind == "MTX" || degnitemkind == "DGN" || degnitemkind == "OPN")//2010.01.17 안치원 - 진단명,수술명 필수입력체크 하지 못하는 오류 수정
- {
- //2010.01.12 안치원 - MTX의 필수입력시 기본부분서식이 있으면 부분서식을, 없으면 MTX의 입력여부를 검사한다.
-
- var baseFormCnt = ds_data_formdegn.getCaseCount("supdegnitemno == '"+degnitemno+"' && itemuseflag=='F0'");
- if (baseFormCnt == 0) {
- var recCntsNode = ds_data_recitem.getColumn(recitemNode, "reccnts");
- if(!utlf_isNull(recCntsNode))
- continue;
-
- } else {
- var degnitemcd = ds_data_formdegn.getColumn(idx, "degnitemcd");
- var recCnt = ds_data_recitem.getCaseCount("fstlevlitemcd=='"+degnitemcd+"'");
- if (recCnt != 0)
- continue;
- }
- }
- else
- {
- var reccntsNode = ds_data_recitem.getColumn(recitemNode, "reccnts");
- if(!utlf_isNull(reccntsNode))
- continue;
- }
-
- ds_data_formdegn.filter("");
- // 필수 입력 아이템에 포커스를 맞춰준다.
- sysf_messageBox("필수 입력항목(" + degnitemnm + ")이 입력되지", "E007");
-
- // var ctrlid = degnitemkind + "_" + degnitemno;
- // var ctrl = document.controls(degnitemkind + "_" + degnitemno);
- //
- // model.setFocus(ctrlid);
- return false;
- }
- }
- }
- }
- }
-
- ds_data_formdegn.filter("");
- return true;
- }
-
- function lf_chkEssential(ivwObj)
- {
- utlf_addLog("***** lf_chkEssential *****");
- var Obj = lf_getObj(ivwObj);
- var ctrlClass;
- var ctrlObj;
- var ctrlNm;
- var crtlValue = "";
- var degnitemnm;
- for(var i = 0; i < Obj.all.length; i++)
- {
- ctrlClass = Obj.all[i].class;
- if(Obj.all[i].enable == false || Obj.all[i].readonly == true) // 수정 가능 상태일 경우에만 필수 체크 로직 수행
- {
- continue;
- }
- else
- {
- if(!utlf_isNull(ctrlClass) && (ctrlClass.indexOf("_essential") > -1 || ctrlClass.indexOf("_est") > -1) )
- {
- ctrlNm = Obj.all[i].name;
- crtlValue = Obj.all[i].value;
- utlf_addLog("ctrlNm : " + ctrlNm + " || crtlValue : " + crtlValue + " || Obj.all[i].ctrltype : " + Obj.all[i].ctrltype);
- if(fGetFormMast("formprogflag") == "PROG" && Obj.all[i].ctrltype == "extn"){
- continue;
- }
- if(ctrlNm.indexOf("SSU_") == -1 && utlf_isNull(crtlValue))
- {
- var iteminfo = ctrlNm.split("_");
- if(fGetFormMast("formprogflag") == "PROG" ){
- degnitemnm = Obj.ds_data_recitem.lookupExpr("degnitemkind == '" + iteminfo[0] + "' && degnitemno == '" + iteminfo[1] + "'", "degnitemnm");
- }else if(fGetFormMast("formprogflag") != "PROG" && Obj.all[i].ctrltype == "extn" && !utlf_isNull(Obj.all[i].ParentsNo) ){ // BOL EXTN 필수체크
- iteminfo = (Obj.all[i].ParentsNo).split("_");
- degnitemnm = Obj.ds_data_recitem.lookupExpr("degnitemkind == '" + iteminfo[0] + "' && degnitemno == '" + iteminfo[1] + "'", "degnitemnm");
- }else{
- degnitemnm = ds_data_formdegn.lookupExpr("degnitemkind == '" + iteminfo[0] + "' && degnitemno == '" + iteminfo[1] + "'", "degnitemnm");
- }
- utlf_addLog("iteminfo[0] : " + iteminfo[0] + " || iteminfo[1] : " + iteminfo[1] + " || degnitemnm : " + degnitemnm);
- break;
-
- }
- else if( ctrlNm.indexOf("SSU_") > -1 && (crtlValue == "nonevalue" || utlf_isNull(crtlValue)) ) // SSU
- {
- var supdegnitemno = Obj.all[i].supdegnitemno;
- var mslRows = new Array();
- var degnitemkind = Obj.ds_data_recitem.getColumn( Obj.ds_data_recitem.findRow("degnitemno", supdegnitemno), "degnitemkind");
- if( utlf_isNull(degnitemkind) ) degnitemkind = "MSL";
-
- Obj.ds_data_recitem.filter("degnitemno == '" + supdegnitemno + "' && degnitemkind == '"+ degnitemkind +"' && (rectermcd != 'nonevalue' && !utlf_isNull(rectermcd)) ");
-
- if(Obj.ds_data_recitem.rowcount < 1)
- {
- Obj.ds_data_recitem.filter("");
- if(fGetFormMast("formprogflag") == "PROG" ){
- degnitemnm = Obj.ds_data_recitem.lookupExpr("degnitemkind == '"+ degnitemkind +"' && degnitemno == '" + supdegnitemno + "'", "degnitemnm");
- }else{
- degnitemnm = ds_data_formdegn.lookupExpr("degnitemkind == '"+ degnitemkind +"' && degnitemno == '" + supdegnitemno + "'", "degnitemnm");
- }
- // if(utlf_isNull(degnitemnm))
- // {
- // alert(degnitemnm + " 은(는) 필수 입력 입니다.!!");
- // }
- break;
- }
-
- Obj.ds_data_recitem.filter("");
- }
- }
- }
- }
- if(utlf_isNull(degnitemnm))
- {
- return true;
- }
- else
- {
- alert(degnitemnm + " 은(는) 필수 입력 입니다.");
- return false;
- }
- }
- function lf_getCompNm(columnid, tarObj, tarValue){
- //<BindItem id="CMB_22" compid="CMB_22" propid="value" datasetid="ds_data_itemvalue" columnid="CMB_22"/>
- if( utlf_isNull(tarObj) ) tarObj = this;
- var compNm = null;
- for(var i in tarObj.binds){
- var bindObj = tarObj.binds[i];
- if( bindObj.columnid == columnid ){
- compNm = bindObj.compid;
- if( !utlf_isNull(tarValue) ){
- var objComp = tarObj.components[compNm];
- if( objComp != null && !utlf_isNull(objComp.innerdataset) ){
- if(!((objComp.innerdataset).toString() == "[object Dataset]")){
- var objDs = eval(objComp.innerdataset);
- }else{
- var objDs = objComp.innerdataset;
- }
- var fRow = objDs.findRow(objComp.codecolumn, tarValue);
- if( fRow < 0 )
- continue;
- }
-
- }
- return compNm;
- }
- }
- return compNm;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 점수계산이 포함된 체크박스나 라디오버튼을 체크할 때 실행되는 이벤트
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- var valGrupArr = new Array();
- function lf_fSelectValList(comObj, degnitemno, type)
- {
- utlf_addLog( "lf_fSelectValList("+comObj.name+", "+degnitemno+", "+type+")");
- /*
- 기존 TF fSelectValList 에서의 degnitemno 는 Comonent에 적용되어있는 degnitemno 임.
- XP 에서는 Component이름을 degnitemno 로 생성하였으므로 Component 의 이름으로 확인
- */
- try
- {
- if(type == null)
- type = "RDO";
-
- var sCd = ds_data_recitem.lookup("degnitemno", degnitemno, "rectermcd");
-
- if( !utlf_isNull(sCd) && !utlf_isNull(comObj.innerdataset) ){
-
- if(!((comObj.innerdataset).toString() == "[object Dataset]")){
- var comObjDs = eval(objComp.innerdataset);
- }else{
- var comObjDs = objComp.innerdataset;
- }
-
- var fRow = comObjDs.findRow("termbasecd", sCd);
- var sNm = comObjDs.getColumn(fRow, "valitemnm");
- var sPnt = comObjDs.getColumn(fRow, "valitempnt");
- }
-
- if(type == "RDO" || type == "CMB")
- {
- var fRow = ds_data_recitem.findRow("degnitemno", degnitemno);
- utlf_addLog(" CMB fRow : " + fRow);
- ds_data_recitem.setColumn(fRow, "rectermnm", sNm);
- ds_data_recitem.setColumn(fRow, "rowno", sPnt);
- }
- else if(type == "CHK")
- {
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // CHK 아이템을 배열로 저장해둠.(체크한 순서에 상관없이 순서대로 저장하기 위함.)
- //
- // formdegn노드의 valgrupcd 를 구한다.
- var valgrupcd = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/valgrupcd");
- var Grupcdlist= "";
-
- if(valGrupArr[degnitemno] == null)
- {
- valGrupArr[degnitemno] = new Array();
-
- // 수정모드시 기존에 저장되었던 vallist 코드를 미리 대입해둠.
- if(model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm") != '')
- {
- sCdlist = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd").split(" ");
-
- Grupcdlist= findNodeset(model, pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']");
-
- for(var cdidx = 0; cdidx < sCdlist.length; cdidx++)
- {
- for(var setidx = 0; setidx < Grupcdlist.length; setidx++)
- {
- var valitemNode = Grupcdlist.item(setidx);
-
- if(sCdlist[cdidx] == valitemNode.selectSingleNode("valcd").text)
- {
- sNm = model.getValue(pageInfo.vallistRef + "[grupcd='" + valgrupcd + "' and valcd='" + valitemNode.selectSingleNode("valcd").text + "']/valitemnm");
- sPnt = model.getValue(pageInfo.vallistRef + "[grupcd='" + valgrupcd + "' and valcd='" + valitemNode.selectSingleNode("valcd").text + "']/valitempnt");
-
- valGrupArr[degnitemno][setidx] = valitemNode.selectSingleNode("valcd").text + "|" + sNm + "|" + sPnt;
-
- break;
- }
- }
- }
- }
- }
-
- // 가장 마지막에 체크된 value 코드를 얻어온다.
- sCdlist = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd").split(" ");
- sCd = sCdlist[sCdlist.length-1];
-
- sNm = model.getValue(pageInfo.vallistRef + "[grupcd='" + valgrupcd + "' and valcd='" + sCd + "']/valitemnm");
- sPnt = model.getValue(pageInfo.vallistRef + "[grupcd='" + valgrupcd + "' and valcd='" + sCd + "']/valitempnt");
- Grupcdlist= findNodeset(model, pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']");
-
- for(var grpidx = 0; grpidx < Grupcdlist.length; grpidx++)
- {
- var valitemNode = Grupcdlist.item(grpidx);
-
- if(valitemNode.selectSingleNode("valcd").text == sCd)
- {
- if(valGrupArr[degnitemno][grpidx] == null)
- {
- valGrupArr[degnitemno][grpidx] = sCd + "|" + sNm + "|" + sPnt;
- break;
- }
- }
- }
-
- var nms = "";
- var cds = "";
- var pnts = 0;
-
- for(var i = 0 ; i < valGrupArr[degnitemno].length; i++)
- {
- var sValue = valGrupArr[degnitemno][i];
-
- if(sValue != null)
- {
- var cd = sValue.split("|")[0];
- var nm = sValue.split("|")[1];
- var pnt = sValue.split("|")[2];
- if(pnt == "")
- pnt = "0";
-
- if(nms == "")
- {
- nms += nm;
- cds += cd;
- }
- else
- {
- nms += "▦" + nm;
- cds += " " + cd;
- }
-
- //pnts += parseInt(pnt);
- if(pnt.isNumber() == true || pnt.isFloat() == true)
- pnts += eval(pnt);
- }
- }
-
- // CHK 아이템 체크시 순서대로 정렬(백업)
- /*
- var arrCd = sCd.split(" ");
- for(var i = 0 ; i < arrCd.length; i++)
- {
- var cd = arrCd[i];
- var nm = model.getValue(pageInfo.vallistRef + "[valcd='" + cd + "']/valitemnm");
- var pnt = model.getValue(pageInfo.vallistRef + "[valcd='" + cd + "']/valitempnt");
- if(pnt == "")
- pnt = 0;
-
- if(i == 0)
- nms += nm;
- else
- nms += " " + nm;
-
- pnts += parseInt(pnt);
- }
- */
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd", cds);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", nms);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", pnts);
- }
- else if (type == "MSL")
- {
- var sItemNm = comObj.text
- var supdegnitemno =comObj.supdegnitemno;
- //var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
- var pnts = 0;
-
- // start for
- //ds_data_recitem.filter("degnitemno == '" + supdegnitemno + "' && degnitemkind == '" type + "'");
- //for( var i = 0; i < ds_data_recitem.rowcount; i++){
- var subdegnitemno = comObj.name.split("_")[1];
-
- var rectermcd = comObj.value;
- var extnCtrl = this.components["STX_" + subdegnitemno];
- utlf_addLog(" rectermcd : " + rectermcd );
- if( extnCtrl != null ){
- if(!utlf_isNull(rectermcd) && rectermcd != "nonevalue")
- {
- extnCtrl.enable = true;
- }
- else
- {
- extnCtrl.enable = false;
- }
- }
-
- var sDefltScr = comObj.degnitempnts
-
- if(utlf_isNull(sDefltScr))
- sDefltScr = "0";
-
- if(!utlf_isNull(rectermcd))
- {
- if(sDefltScr.isNumber() == true || sDefltScr.isFloat() == true)
- pnts += eval(sDefltScr);
- }
- utlf_addLog("jw.choe pnts 체크 필요...기존 for문 사라짐... 6681 MMRCommon ");
- if(subdegnitemno == degnitemno)
- {
- var oDs = this.objects["ds_data_recitem"];
-
- var fRow = oDs.findRowExpr("degnitemno == '" + supdegnitemno + "' && colno == '" + comObj.colno + "'");
- utlf_addLog(" fRow : " + fRow);
- ds_data_recitem.setColumn(fRow, "rectermnm", sItemNm);
- ds_data_recitem.setColumn(fRow, "rowno", sDefltScr);
- }
- // }
- // ds_data_recitem.filter("");
- // end for
- var fRow = ds_data_recitem.findRowExpr("degnitemno == '" + supdegnitemno +"' && and colno == '0'");
- ds_data_recitem.setColumn(fRow, "rowno", pnts);
- }
- else if (type == "IMG")
- {
- var sItemNm = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemnm");
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
- var degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemlevlcd");
- var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
-
- var pnts = 0;
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'ISU']/degnitemno");
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var rectermcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + subdegnitemno + "']/rectermcd");
-
- if(extn == "visible")
- {
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- if(extnCtrl == null)
- continue;
-
- if(rectermcd != "")
- {
- extnCtrl.disabled = false;
- }
- else
- {
- extnCtrl.disabled = true;
- }
- }
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- /*
- var sDefltVal = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitemdefltval");
- if(sDefltVal == "")
- sDefltVal = 0;
- */
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitempnts");
- if(sDefltScr == "")
- sDefltScr = "0";
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltScr);
- if(sDefltScr.isNumber() == true || sDefltScr.isFloat() == true)
- pnts += eval(sDefltScr);
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", sItemNm);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", pnts);
- }
- else if (type == "SSL")
- {
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- var sDefltScr = comObj.degnitempnts;
-
- var comObjDs = this.objects["ds_" + comObj.name];
-
- var sItemNm = comObjDs.getColumn(0, "valitemnm");
- var supdegnitemno = comObj.supdegnitemno;
-
-
- for( var i in components ){
- if( components[i].supdegnitemno == supdegnitemno ){
- var subdegnitemno = components[i].name.split("_")[1];
- utlf_addLog(" subdegnitemno : " + subdegnitemno ) ;
- var extnCtrl = this.components["STX_" + subdegnitemno];
- var unitCtrl = this.components["UNIT_" + subdegnitemno];
-
- if(extnCtrl == null)
- continue;
-
- if(degnitemno == subdegnitemno)
- {
- extnCtrl.enable = true;
- extnCtrl.visible = true;
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- else
- {
- extnCtrl.visible = false;
- extnCtrl.enable = false;
- //extnCtrl.value = "";
-
- if(unitCtrl != null)
- unitCtrl.visible = false;
- }
-
- }
-
- }
-
- var nIdx = ds_data_recitem.findRow("degnitemno", supdegnitemno);
- utlf_addLog(" nIdx : " + nIdx );
- ds_data_recitem.setColumn(nIdx, "rectermnm", sItemNm);
- ds_data_recitem.setColumn(nIdx, "rowno", sDefltScr);
- }
- else if (type == "BOL")
- {
- sCd = model.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/rectermcd");
- var nm = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemnm");
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- //var pnt = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemdefltval");
- var pnt = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitempnts");
-
- if(pnt == "")
- pnt = "0";
-
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", nm);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", pnt);
-
- var extnCtrl = document.controls("STX_" + degnitemno);
- if(extnCtrl != null)
- {
- extnCtrl.disabled = false;
- extnCtrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts";
- }
- }
-
- fReCalculate();
- }
- catch(e)
- {
- sysf_catchTrace(e);
- return;
- }
- }
- /****************************************************************************************
- * desc : 오른쪽 마우스 메뉴팝업
- * args : 01. obj menu 적용 object
- 02. formKind
- ****************************************************************************************/
- var lv_rObjId; //팝업 호출id
- var lv_rArrObjInfo;
- function fCompRightMenuInit(obj, formKind)
- {
- utlf_addLog("***** fCompRightMenuInit(obj, formKind) *****");
- if(obj == "[object Grid]")
- {
- obj.onrbuttondown.addHandler(fCompGrdMenuEvent);
- }
- else if(obj == "[object TextArea]")
- {
- obj.usecontextmenu = false;
- obj.onrbuttondown.addHandler(fCompTxtMenuEvent);
- }
- else sysf_trace("Grid,TextArea 만 적용됩니다. 확인바랍니다.");
- }
- /**********************************************************************************
- * Method Name : fCompTxtMenuEvent
- * Description : Text 마우스 메뉴 이벤트
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function fCompTxtMenuEvent(obj:TextArea, e:MouseEventInfo)
- {
- utlf_addLog("***** fCompTxtMenuEvent(obj:TextArea, e:MouseEventInfo) *****");
- lv_rObjId = obj;
- lv_rArrObjInfo = new Array();
-
- var objNm = obj.name;
- var sCode = objNm.split("_")[1].substr(0,7);
-
- this.frmf_setParameter("srcformcd", fGetFormRec("srcformcd"));
- // this.frmf_setParameter("comn_srcFormCd", fGetFormRec("srcformcd"));
- // this.frmf_setParameter("comn_degnitemno", sCode);
- // this.frmf_setParameter("comn_ctrlid", obj.name);
-
- fCompShowCntxMenu(sCode);
-
- var nX = system.clientToScreenX(obj, e.clientX);
- var nY = system.clientToScreenY(obj, e.clientY);
- lpopup_cntxnMenu.trackPopup(nX, nY);
- }
- /**********************************************************************************
- * Method Name : fCompGrdMenuEvent
- * Description : Grid 마우스 메뉴 이벤트
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function fCompGrdMenuEvent(obj:Grid, e:GridMouseEventInfo)
- {
- utlf_addLog("***** fCompGrdMenuEvent(obj:Grid, e:GridMouseEventInfo) *****");
- lv_rObjId = obj;
- lv_rArrObjInfo = new Array();
-
- var objNm = obj.parent.name;
- var sCode = objNm.split("_")[1].substr(0,7);
-
- if(e.cell < 0 || e.row < 0) return;
- var sColNm = obj.getCellProperty( "body",e.cell, "text").replace("bind:",""); //컬럼명
- var sDisplayType = obj.getCellProperty( "body",e.cell, "displaytype"); //Grid 출력type
-
- var objParent = obj.parent;
- var oDs = objParent.objects[lv_rObjId.binddataset];
-
- //CarePlan
- if(oDs.name == "ds_grid_grd_diaglist") sColNm = "reccnts4";
- //서식주호소
- if(oDs.name == "ds_grid_grd_cclist") sColNm = "rectermnm";
-
- lv_rArrObjInfo[0] = e.row;
- lv_rArrObjInfo[1] = sColNm;
- lv_rArrObjInfo[2] = oDs.name;
-
- this.frmf_setParameter("srcformcd", fGetFormRec("srcformcd"));
-
- this.frmf_setParameter("comn_srcFormCd", fGetFormRec("srcformcd"));
- this.frmf_setParameter("comn_degnitemno", sCode);
- this.frmf_setParameter("comn_ctrlid", obj.name);
-
- if(sDisplayType == "text" || sDisplayType == "normal")
- {
- if( e.row > -1 && obj.getEditCaret() == null){
- fCompShowCntxMenu(sCode);
-
- oDs.rowposition = e.row;
- lpopup_cntxnMenu.trackPopup(e.screenX, e.screenY);
- }
- }
- }
- /**********************************************************************************
- * Method Name : CompShowCntxMenu
- * Description : 우클릭 메뉴 설정
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function fCompShowCntxMenu(itembasecd)
- {
- utlf_addLog("***** fCompShowCntxMenu("+itembasecd+") *****");
- var sSrcFormcd = "";
-
- var arrMenuInfo = new Array();
- var sReprnm = "";
-
-
- if(this.isValidObject("lpopup_cntxnMenu") == true)
- {
- var oRemoveMenu = this.removeChild("lpopup_cntxnMenu");
- oRemoveMenu = null;
- }
-
- if(lv_rObjId == "[object Grid]")
- {
- //utlf_addLog("parent.parent.name : " + parent.parent.parent.name);
- //sSrcFormcd = parent.parent.fGetFormMast("srcformcd");
- //sSrcFormcd = parent.parent.parent.ds_data_formmast.getColumn(0, "srcformcd");
- //utlf_addLog( " sSrcFormcd : " + sSrcFormcd );
- if( lv_rArrObjInfo[2] == "ds_grid_grd_cclist" ){
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("100", "상용구 선택");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("0", "-");
- }
-
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("700", "행 삭제");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("800", "행 추가");
- }
- else if(lv_rObjId == "[object TextArea]")
- {
- //utlf_addLog("parent.parent.name : " + parent.parent.name);
- //sSrcFormcd = parent.parent.fGetFormMast("srcformcd");
- //utlf_addLog( " sSrcFormcd : " + sSrcFormcd );
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("100", "상용구 선택");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("0", "-");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("200", "잘라내기 Ctrl+X");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("300", "복사 Ctrl+C");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("400", "붙여넣기 Ctrl+V");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("500", "삭제 Del");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("0", "-");
- arrMenuInfo[arrMenuInfo.length] = fCompSetMenuInfo("600", "모두선택 Ctrl+A");
-
- }
-
- frmf_createPopupMenu("lpopup_cntxnMenu", "fCompCntxPopupMenu", arrMenuInfo);
-
- }
- function fCompSetMenuInfo(sId, sTitle, sComncnts)
- {
- var objColInfo = new Object();
- objColInfo.id = sId;
- objColInfo.level = "0";
- objColInfo.title = sTitle;
- objColInfo.comncnts = sComncnts;
- return objColInfo;
- }
- /****************************************************************************************
- * Components : PopupMenu
- * Components ID : popup_unprepdrlist
- * Event : onmenuclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Popup Menu Call
- ****************************************************************************************/
- function fCompCntxPopupMenu(obj:PopupMenu, e:MenuClickEventInfo)
- {
- utlf_addLog("***** fCompCntxPopupMenu() *****");
- var sEventID = e.id;
- var oDs;
- var vCD;
- var sData;
- if(lv_rObjId instanceof Grid)
- {
- var objParent = lv_rObjId.parent;
- oDs = objParent.objects[lv_rObjId.binddataset];
- }
-
- var sObjnm, sCode;
- if(lv_rObjId instanceof Grid||lv_rObjId instanceof Div){
- sObjnm = lv_rObjId.parent.name;
- vCD = sObjnm;
-
- sCode = sObjnm.split("_")[1];
- }else{
- sObjnm = lv_rObjId.name;
- vCD = sObjnm;
-
- sCode = sObjnm.split("_")[1];
- }
-
- //서식적용 팝업 사용시
- if(vCD.split("_")[0] == "tar")
- {
- sData =sCode;
- }
- else
- {
- var vItemNo = vCD.split("_")[1];
- var nRow = this.objects["ds_data_recitem"].findRowExpr("degnitemkind == 'MTX' && degnitemno == '"+vItemNo+"'");
- this.objects["ds_data_recitem"].filter("");
-
-
- if(nRow > -1)
- {
- var ItemdRec = this.objects["ds_data_recitem"] .getColumn(nRow, "degnitemlevlcd");
- sData = ItemdRec;
- }
- else
- {
- sData =sCode; //임시로 선언
- }
- }
-
- var lv_rObjIdName = lv_rObjId.name;
- var sFormProgFlag = fGetFormMast("formprogflag");
- if(lv_rObjIdName.indexOf("MTX") > -1 && sFormProgFlag == "PROG" )
- {
- var formdegnDs:Dataset = new Dataset;
- if( fGetFormRec("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y" ){
- formdegnDs = parent.parent.parent.parent.objects["ds_data_formdegn"];
- }else{
- formdegnDs = parent.parent.parent.objects["ds_data_formdegn"];
- }
- var degnitemcd = this.objects["ds_data_recitem"].getColumn(0, "formcd");
-
- var nDegnitemcdCnt = formdegnDs.getCaseCount("degnitemkind =='FRM' && degnitemcd=='"+degnitemcd+"'");
- var nDegnitemcdMo = formdegnDs.findRowExpr("degnitemkind =='FRM' && degnitemcd=='"+degnitemcd+"'");
- var Supdegnitemcd = formdegnDs.getColumn(nDegnitemcdMo, "supdegnitemcd");
- if( nDegnitemcdCnt < 2 ){
- sData = Supdegnitemcd.substring(0,7);
- }else{
- var tmpNm = (utlf_transNullToEmpty(lv_rObjId.parent.name)).split("_")[1];
- sData = tmpNm.substring(0, 7);
- }
- }
-
- utlf_addLog(" sCode : " + sCode + " || sData : " + sData);
-
- this.frmf_setParameter("comn_srcFormCd", fGetFormRec("srcformcd"));
- this.frmf_setParameter("comn_degnitemno", sData);
- this.frmf_setParameter("comn_ctrlid", vCD);
-
- switch(sEventID)
- {
- case "100": selectComnuseMenu(); break;
- case "200": selectCutMenu(); break;
- case "300": selectCopyMenu(); break;
- case "400": selectPasteMenu(); break;
- case "500": selectDeleteMenu(); break;
- case "600": selectSelAllMenu(); break;
- case "700": fCompGrdDelRow(oDs); break;
- case "800": fCompAddRow(oDs); break;
- }
- }
- /**********************************************************************************
- * Method Name : fCompAddRow
- * Description : 행추가
- * argument : 01. obj
- * return Type :
- * Creator :
- **********************************************************************************/
- function fCompAddRow(obj:Dataset)
- {
- utlf_addLog("***** fCompAddRow(obj:Dataset) ******");
- var row = 0;
- var bRtn = true;
- var objParent = lv_rObjId.parent;
- //CarePlan
- if(obj.name == "ds_grid_grd_diaglist")
- {
- if(utlf_isNull(objParent["fAddrow"])) bRtn == false;
- else objParent.fAddrow();
- }
- //서식주호소
- if(obj.name == "ds_grid_grd_cclist")
- {
- if(utlf_isNull(objParent["fAddrow"])) bRtn == false;
- else objParent.fAddrow();
- }
-
- if(bRtn == false)
- {
- row = obj.addRow();
- }
- }
- /**********************************************************************************
- * Method Name : fCompGrdDelRow
- * Description : 그리드 행삭제
- * argument : 01. obj
- * return Type :
- * Creator :
- **********************************************************************************/
- function fCompGrdDelRow(obj:Dataset)
- {
- utlf_addLog("***** fCompGrdDelRow(obj:Dataset) ******");
- var row = obj.rowposition;
- var bRtn = true;
- var objParent = lv_rObjId.parent;
- //CarePlan
- if(obj.name == "ds_grid_grd_diaglist")
- {
- if(utlf_isNull(objParent["fGrdDelRow"])) bRtn == false;
- else objParent.fGrdDelRow();
- }
- //서식주호소
- if(obj.name == "ds_grid_grd_cclist")
- {
- if(utlf_isNull(objParent["fGrdDelRow"])) bRtn == false;
- else objParent.fGrdDelRow();
- }
- if(bRtn == false)
- {
- obj.deleteRow(row);
- }
- }
- /**********************************************************************************
- * Method Name : fComnFormMtxChanged
- * Description : 공통서식의 MTX정보를 recitem DS에 값을 세팅한다.
- * argument : 01. obj : 대상 컨트롤
- * : 02. recmain
- * return Type :
- * Creator :
- **********************************************************************************/
- function fComnFormMtxChanged(obj, recmain)
- {
- utlf_addLog("***** fComnFormMtxChanged("+obj+", "+recmain+", " + this.name + ") 공통서식의 MTX정보를 recitem DS에 값을 세팅 ******");
- var objPos;
- if(this.name == "ivw_reccnts" && recmain == "Y")
- {
- objPos = parent.parent.parent.parent.ivw_loader.ivw_base;
- }
- else
- {
- objPos = this;
- }
-
- if(fGetFormMast("formprogflag") == "PROG" || recmain == "Y")
- {
- var objName = obj.name;
- objCd = objName.replace("tar_", "");
- var nRow = objPos.ds_data_recitem.findRowExpr("degnitemcd == '"+ objCd +"' && degnitemkind == 'MTX'");// && degnitemlevlno == '1'");
- if(nRow == -1)
- {
- nRow = ds_temp_mainrecitem.findRowExpr("degnitemcd == '"+ objCd +"' && degnitemkind == 'MTX'");// && degnitemlevlno == '1'");
- if(nRow != -1)
- {
- var indx = objPos.ds_data_recitem.addRow();
- objPos.ds_data_recitem.copyRow(indx, ds_temp_mainrecitem, nRow);
- objPos.ds_data_recitem.setColumn(indx, "reccnts", obj.text);
- }
- }
- else
- {
- objPos.ds_data_recitem.setColumn(nRow, "reccnts", obj.text);
- }
- }
- objPos.ds_data_recitem.filter("");
- }
- /****************************************************************************************
- * Function : lf_setRecData
- * Description : 공통 서식 연동 또는 기록 데이터 초기화
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setRecData(gItemCds)
- {
- utlf_addLog("***** lf_setRecData("+gItemCds+") ******");
- utlf_addLog(fGetFormRec("status"));
- // 신규 서식로딩이면 연동정보 세팅 및 기록데이터 초기화
- if(fGetFormRec("status") == "C")
- {
- parent.ds_data_recitem.copyData(ds_temp_mainrecitem); // 기록데이터 초기화
-
- parent.ds_data_recitem.filter("degnitemkind == 'MTX' && degnitemlevlno == '1'");
- var tmpItemCds = new Array();
- var tmpCnt = 0;
-
- for(var i = 0; i < parent.ds_data_recitem.rowcount; i++)
- {
- var sFstlevlitemcd = parent.ds_data_recitem.getColumn(i, "fstlevlitemcd");
- var tarObj = ComnFormObj.components["tar_" + sFstlevlitemcd];
- if(!utlf_isNull(tarObj))
- {
- var sValue = utlf_transEmptyToNull(parent.ds_data_recitem.getColumn(i, "reccnts"));
- var nRow = ds_data_recitem.findRowExpr("degnitemkind == 'MTX' && fstlevlitemcd == '"+sFstlevlitemcd+"' && degnitemlevlno == '1'");
- ds_data_recitem.setColumn(nRow, "reccnts", sValue);
- tarObj.value = sValue;
-
- tmpItemCds[tmpCnt] = sFstlevlitemcd;
- tmpCnt++;
- }
- }
- parent.ds_data_recitem.filter("");
- if( tmpCnt > 0 ){
- lf_setInitHelpData(null, tmpItemCds);
- }
- }
- if(fGetFormRec("status") != "C") // 신규 서식이 아니면 기록데이터 세팅
- {
- var degnitemlevlno = "";
- var fstlevlitemcd = "";
- var degnitemkind = "";
- var degnitemcd = "";
- var degnitemno = "";
- var reccnts = "";
- var recimge = "";
- var srcimge = "";
- var btnObj = "";
- var nRow = "";
- var rowno = "";
- utlf_addLog(fGetFormRec("status") + " || parent.ds_data_rectitem.rowcount : " + parent.ds_data_recitem.rowcount);
- // 1계층 MTX값 세팅, 조회해온 기록값 rowcount 만큼 루프
- for(var i = 0; i < parent.ds_data_recitem.rowcount; i++)
- {
- degnitemlevlno = parent.ds_data_recitem.getColumn(i, "degnitemlevlno");
- fstlevlitemcd = parent.ds_data_recitem.getColumn(i, "fstlevlitemcd");
- degnitemkind = parent.ds_data_recitem.getColumn(i, "degnitemkind");
- degnitemcd = parent.ds_data_recitem.getColumn(i, "degnitemcd");
- degnitemno = parent.ds_data_recitem.getColumn(i, "degnitemno");
- reccnts = parent.ds_data_recitem.getColumn(i, "reccnts");
- recimge = parent.ds_data_recitem.getColumn(i, "recimge");
- srcimge = parent.ds_data_recitem.getColumn(i, "srcimge");
- rowno = parent.ds_data_recitem.getColumn(i, "rowno");
-
- // 최상위 아이템이고 1계층 MTX 값이 있으면 세팅
- // 부분서식은 각자 onload 시 기록데이터 세팅
- utlf_addLog(" !!!!! degnitemkind : " + degnitemkind + " degnitemno : " + degnitemno + " degnitemcd : " + degnitemcd + " || fstlevlitemcd : " + fstlevlitemcd + " || reccnts : " + reccnts );
- if( (degnitemkind == "FDG" || degnitemkind == "IMG") && !utlf_isNull(recimge) )
- {
- if(degnitemkind == "FDG")
- btnObj = ComnFormObj.components["btn_fmy_" + fstlevlitemcd];
- //else if(degnitemkind == "IMG" && degnitemno >= "100001")
- else if(degnitemkind == "IMG" && !utlf_isNull(rowno))
- btnObj = ComnFormObj.components["btn_imge_" + fstlevlitemcd];
- if( fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y"){
- if(degnitemkind == "FDG")
- btnObj = frmf_getComponents("btn_fmy_" + fstlevlitemcd, ComnFormObj)
- else if(degnitemkind == "IMG" && !utlf_isNull(rowno))
- btnObj = frmf_getComponents("btn_imge_" + fstlevlitemcd, ComnFormObj)
- }
-
- if(!utlf_isNull(btnObj))
- {
- var imgRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(imgRow , parent.ds_data_recitem, i);
- lf_setButtonToggleByRecYn(null, btnObj);
- }
- }
- else if( degnitemkind == "STX" && !utlf_isNull(reccnts) && degnitemno == "0" && degnitemcd == "0008458001" ) // 추가기록
- {
- btnObj = ComnFormObj.components["btn_etcrec_" + fstlevlitemcd];
- if( fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y" ){
- btnObj = frmf_getComponents("btn_etcrec_" + fstlevlitemcd, ComnFormObj)
- }
-
- if(!utlf_isNull(btnObj))
- {
- var addRecRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(addRecRow , parent.ds_data_recitem, i);
- lf_setButtonToggleByRecYn(null, btnObj);
- }
- }
- else if( fGetFormMast("formcd") == '1000007943' ){ // 최종진단명 요약지 추가
-
- btnObj = ComnFormObj.components["btn_lastdiag_" + fstlevlitemcd];
- if(!utlf_isNull(btnObj))
- {
- var addRecRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(addRecRow , parent.ds_data_recitem, i);
- lf_setButtonToggleByRecYn(null, btnObj);
- }
- }
- else if( !utlf_isNull(reccnts) && degnitemlevlno == "1") //(fstlevlitemcd == degnitemcd) && degnitemlevlno == "1" &&
- {
- nRow = ds_data_recitem.findRowExpr("fstlevlitemcd == '"+ fstlevlitemcd +"' && degnitemcd == '"+ degnitemcd +"' && degnitemkind == 'MTX' && degnitemlevlno == '1'"); // && degnitemlevlno == '1'
- ds_data_recitem.setColumn(nRow, "reccnts", reccnts);
- var tarObj = ComnFormObj.components["tar_" + fstlevlitemcd];
- if(!utlf_isNull(tarObj))
- tarObj.value = reccnts;
- }
-
- }
- // 부분서식 로드
- //fSetAllLoadUnitForm(gItemCds);
- }
- /*
- if(fGetFormRec("chosflag") == "I" && fGetFormMast("srcformcd") != "0000000677" && fGetFormMast("srcformcd") != "0000000680" && lf_getFormMast("srcformcd") != "0000001596") // 입원환자인 경우 임시저장 disable
- {
- if(fGetFormMast("formprogflag") == "PROG" || fGetFormMast("formprogflag") == "MAIN")
- {
- if(parent.isValidObject("btn_tmpsave"))
- {
- parent.btn_tmpsave.enable = false;
- }
- }
- }
- */
- }
- /****************************************************************************************
- * Function : lf_setItemRecDS
- * Description : itemvalue -> recitem 으로 값 매핑
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setItemRecDS(obj:Dataset, e:DSColChangeEventInfo)
- {
- utlf_addLog("***** lf_setItemRecDS(obj:Dataset, e:DSColChangeEventInfo) ******");
- var ColId = obj.getColID(e.col);
- if(!utlf_isNull(ColId))
- {
- lf_setRecDS(ColId);
- }
- }
- /****************************************************************************************
- * Function : lf_setRecDS
- * Description : 기록데이터가 매핑된 itemvalue DS의 value값을 recitem DS에 매핑한다. GRD제외
- * Argument : 01. ColId : 대상 컨트롤
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setRecDS(ColId)
- {
- utlf_addLog("***** lf_setRecDS("+ColId+") ******");
- utlf_addLog("***** lf_setRecDS("+this.name+") ******");
- var objComp = getFocus(); // 포커스 아이템 obj 전달
- var orgColId = ColId;
- var StrtIndx = ColId.indexOf("_");
- var SecIndx = 0;
- var ColNo = "";
- var ColDegnKind = "";
- var nRow = "";
- var Obj = "";
- var dsNm = "";
- var maskComp;
- var formprogflag = fGetFormMast("formprogflag");
- var sDegnitempnts = "";
-
- if(StrtIndx != -1)
- {
- if(ColId.indexOf("_EXTN") == -1) // 확장아이템 컬럼이 아니면
- {
- ColNo = ColId.substr(StrtIndx + 1);
- ColDegnKind = ColId.substr(0, StrtIndx);
- nRow = ds_data_recitem.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"'");
- if(ColDegnKind == "MTX" || ColDegnKind == "STX" || ColDegnKind == "CAL" || ColDegnKind == "MSK")
- {
- maskComp = this.components[ColId];
-
-
- if(maskComp instanceof MaskEdit && formprogflag != "PROF")
- {
- // 2019.11.15 Readonly 계산식 적용 시 maskComp.value, maskComp.text 모두 구 값을 return 하는 문제로 recitem 값이 클리어 되지 않는 문제
- if(utlf_isNull(maskComp.value) || utlf_isNull(ds_data_itemvalue.getColumn(0, ColId)))
- {
- ds_data_recitem.setColumn(nRow, "reccnts", ds_data_itemvalue.getColumn(0, ColId));
- }
- else
- {
- ds_data_recitem.setColumn(nRow, "reccnts", maskComp.text);
- }
- // if(!utlf_isNull(maskComp.value))
- // ds_data_recitem.setColumn(nRow, "reccnts", maskComp.text);
- // else
- // ds_data_recitem.setColumn(nRow, "reccnts", ds_data_itemvalue.getColumn(0, ColId));
- }
- else
- {
- ds_data_recitem.setColumn(nRow, "reccnts", ds_data_itemvalue.getColumn(0, ColId));
- }
-
- //fValidDate()
- try{
- if(formprogflag == "PROF" && ColDegnKind == "CAL" && gProfCal == true){
- var calComp = this.components[ColId];
- if( calComp != null && calComp instanceof Calendar){
- if( calComp.dateformat == "yyyy-MM-dd" ){
- if( !utlf_isNull(ds_data_itemvalue.getColumn(0, ColId)) ){
- var sDiff = utlf_diffDate(ds_data_itemvalue.getColumn(0, ColId), utlf_getCurrentDate());
- //sysf_trace(" sDiff : " + sDiff );
- if( sDiff < 0 ){
- alert("발행일 보다 미래일자를 지정할 수 없습니다.");
- //ds_data_itemvalue.setColumn(0, ColId, utlf_getCurrentDate() );
- //ds_data_recitem.setColumn(nRow, "reccnts", ds_data_itemvalue.getColumn(0, ColId));
- }
- }
- }
- }
-
- var formcd = fGetFormMast("formcd");
- if(formcd == "0000001113" || formcd == "1100011102"){
- var nDaddyage = utlf_transNullToEmpty(ds_data_itemvalue.getColumn(0, "CAL_58"));
- if( !utlf_isNull(nDaddyage) ){
- var nAge = utlf_getFullAge(nDaddyage);
- //sysf_trace("nDaddyage : " + nDaddyage + " || nAge : " + nAge);
- if( !utlf_isNull(nAge) && nAge > -1 ){
- ds_data_itemvalue.setColumn(0, "STX_6", nAge);
- ds_data_recitem.setColumn(ds_data_recitem.findRowExpr("degnitemno == '6' && degnitemkind == 'STX'"), "reccnts", nAge);
- }
-
- }
- }
- }
- }catch(e){
- sysf_catchTrace(e);
- }
- }
- else if(ColDegnKind == "RDO")
- {
- ds_data_recitem.setColumn(nRow, "rectermcd", ds_data_itemvalue.getColumn(0, ColId));
- // Component 존재유무 체크
- /*
- if( this.components[ColId] != null ){
- sDegnitempnts = eval(ColId).degnitempnts;
- if( !utlf_isNull(sDegnitempnts) ){
- ds_data_recitem.setColumn(nRow, "rowno", sDegnitempnts);
- utlf_addLog("RDO sDegnitempnts : " + sDegnitempnts );
- }
- }
- */
- // rectermnm 세팅은 컴포짓내의 체크 이벤트에서 세팅 함. lf_setChkVal, lf_setRdoVal
- if( utlf_isNull(ds_data_recitem.getColumn(nRow, "rectermnm")) && !utlf_isNull(objComp) && objComp.name == "grd_medirec") //this.isValidObject("ds_grd_medirec")
- {
- try{
-
- var medirecDs = frmf_getMainViewer().grp_base.swt_left.case3.ivw_reccnts.objects[objComp.binddataset];
- if( medirecDs != null ){
-
- var rectermnmRow = medirecDs.findRow("rectermcd", ds_data_itemvalue.getColumn(0, ColId), medirecDs.rowposition);
- var rectermnm = medirecDs.getColumn(rectermnmRow, "rectermnm");
- ds_data_recitem.setColumn(nRow, "rectermnm", rectermnm);
- //ds_data_recitem.setColumn(nRow, "rectermnm", medirecDs.getColumn(medirecDs.rowposition, "rectermnm"));
-
- }
- }catch(e){}
- }
- }
- else if(ColDegnKind == "CMB" || ColDegnKind == "SSL" )
- {
- var sSSLNo = "";
- ds_data_recitem.setColumn(nRow, "rectermcd", ds_data_itemvalue.getColumn(0, ColId));
- if(!utlf_isNull(objComp) && objComp.name != "combo1" && (!utlf_isNull(objComp.parent) && objComp.parent.name != "rdo_lindx" )) // 기록메인 즐겨찾기 콤보로 서식 선택시 포커스가 콤보로 잡힘 cmb_favform
- {
- utlf_addLog("@@@@@ objComp : " + objComp.name);
- if(objComp.name == "grd_medirec") // 기록메인에서 더블클릭하여 데이터 복사 할 시
- {
- try{
- var medirecDs = frmf_getMainViewer().grp_base.swt_left.case3.ivw_reccnts.objects[objComp.binddataset];
- if( medirecDs != null ){
- // var degnno = ColId.replace(ColDegnKind+"_", ""); // 기록메인
- // ds_data_recitem.setColumn(nRow, "rectermnm", ds_data_medirecinfo.lookup("degnitemno", degnno, "rectermnm"));
- var rectermnm = medirecDs.lookup("rectermcd", ds_data_itemvalue.getColumn(0, ColId), "rectermnm");
- ds_data_recitem.setColumn(nRow, "rectermnm", rectermnm);
- }
- }catch(e){}
- }
- else if(!utlf_isNull(objComp.innerdataset)) // 컨트롤 선택하여 바로 값 반영 할 시
- {
- // 2019.09.24 CASE. 서식연동 할때 사용자가 타 컨트롤에 포커스를 가지고 갈경우 objComp 가 변경되어 SSL 설정로직을 타지 못함.
- // try catch 처리
- try{
- var tmpRectermnm = objComp.innerdataset.lookup("termbasecd", ds_data_itemvalue.getColumn(0, ColId) , "valitemnm");
-
- if( utlf_isNull(tmpRectermnm) && ColDegnKind == "CMB" && !utlf_isNull(eval(ColId).innerdataset)){
- tmpRectermnm = eval(ColId).innerdataset.lookup("termbasecd", ds_data_itemvalue.getColumn(0, ColId) , "valitemnm");
- sysf_trace("tmpRectermnm is Null : " + tmpRectermnm);
- }
- ds_data_recitem.setColumn(nRow, "rectermnm", tmpRectermnm);
- }catch(e){
- sysf_catchTrace(e);
- }
- }
-
- if( ColDegnKind == "SSL" ){
- for(var i = 0; i < this.components.length; i++)
- {
- var ctrl = this.components[i];
- if( !utlf_isNull(ctrl.supdegnitemno) && ctrl.supdegnitemno == ColId.replace("SSL_", "") )
- { // SSL의 degnitemno를 갖는 SSU 찾기위한 loop
- if( ctrl.innerdataset.getColumn(0, "termbasecd") == ds_data_itemvalue.getColumn(0, ColId) ){
- // 연동기능으로 인해 값 설정 시 rectermnm 설정되지 않음.
- try{
- if( utlf_isNull(ds_data_recitem.getColumn(nRow, "rectermnm")) || ds_data_recitem.getColumn(nRow, "rectermnm") == "빈이미지" || ds_data_recitem.getColumn(nRow, "rectermnm") == "*빈이미지" ){
- ds_data_recitem.setColumn(nRow, "rectermnm", ctrl.innerdataset.getColumn(0, "valitemnm"));
- }
- }catch(e){
- sysf_catchTrace(e);
- }
- if( !utlf_isNull(ctrl.degnitempnts) ){
- ds_data_recitem.setColumn(nRow, "rowno", ctrl.degnitempnts);
- }
- }
- }
- }
- }
-
- }
- else
- {
-
- if(ColDegnKind == "CMB" && !utlf_isNull(eval(ColId).innerdataset))
- {
- ds_data_recitem.setColumn(nRow, "rectermnm", eval(ColId).innerdataset.lookup("termbasecd", ds_data_itemvalue.getColumn(0, ColId) , "valitemnm"));
- }
- else if(ColDegnKind == "SSL")
- {
- for(var i = 0; i < this.components.length; i++)
- {
- var ctrl = this.components[i];
- if( !utlf_isNull(ctrl.supdegnitemno) && ctrl.supdegnitemno == ColId.replace("SSL_", "") )
- { // SSL의 degnitemno를 갖는 SSU 찾기위한 loop
- if( ctrl.innerdataset.getColumn(0, "termbasecd") == ds_data_itemvalue.getColumn(0, ColId) ){
- ds_data_recitem.setColumn(nRow, "rectermnm", ctrl.innerdataset.getColumn(0, "valitemnm"));
- //ds_data_recitem.setColumn(nRow, "rectermnm", ds_data_itemvalue.getColumn(0, ColId));
- if( !utlf_isNull(ctrl.degnitempnts) ){
- ds_data_recitem.setColumn(nRow, "rowno", ctrl.degnitempnts);
- }
- }
- }
- }
- }
- }
- }
- else if(ColDegnKind == "SSU" || ColDegnKind == "BOL")
- {
- // Component 존재유무 체크
- if( this.components[ColId] != null ){
- if(ColDegnKind == "SSU"){
- nRow = ds_data_recitem.findRowExpr("degnitemno == '"+ eval(ColId).supdegnitemno +"' && degnitemkind == 'MSL' && colno == '"+ eval(ColId).colno +"'");
- }
- sDegnitempnts = eval(ColId).degnitempnts;
- if( utlf_isNull(sDegnitempnts) ){
- sDegnitempnts = "0";
- }
- }else{
- if(ColDegnKind == "SSU"){
- nRow = -1;
- }
- utlf_addLog(" lf_setRecDS 기록 데이터를 itemvalue DS에 매핑 시 Component " + ColId + " 가 존재하지 않습니다.");
- }
- var sVal = ds_data_itemvalue.getColumn(0, ColId);
- if(!utlf_isNull(sVal) && sVal != "nonevalue")
- {
- ds_data_recitem.setColumn(nRow, "rectermcd", ds_data_itemvalue.getColumn(0, ColId));
- ds_data_recitem.setColumn(nRow, "rectermnm", eval(ColId).text);
- if( !utlf_isNull(sDegnitempnts) ){
- ds_data_recitem.setColumn(nRow, "rowno", sDegnitempnts);
- utlf_addLog("SSU sDegnitempnts : " + sDegnitempnts );
- }
- }
- else
- {
- ds_data_recitem.setColumn(nRow, "rectermcd", "");
- ds_data_recitem.setColumn(nRow, "rectermnm", "");
- ds_data_recitem.setColumn(nRow, "rowno", "");
- }
-
- // 전체 SSU 체크하여 0번째 추가
- try{
- if( ColDegnKind == "SSU" && nRow > -1 ){
- var nSupdegnitemno = eval(ColId).supdegnitemno;
- var sDegnitempntsAll = 0;
- var nExistsCnt = ds_data_recitem.getCaseCount("degnitemno == '"+ eval(ColId).supdegnitemno +"' && degnitemkind == 'MSL'");
- if( nExistsCnt > 1 ){
- for(var k = 0; k < this.all.length; k++){
- if(this.all[k] instanceof CheckBox){
- var obj_Chk = this.all[k];
- var obj_supdegnitemno = this.all[k].supdegnitemno;
- if( obj_supdegnitemno == nSupdegnitemno && !utlf_isNull(obj_Chk.value) && obj_Chk.value != "nonevalue"){
- var obj_degnitempnts = this.all[k].degnitempnts;
- if( utlf_isNull(obj_degnitempnts) ) obj_degnitempnts = 0;
- sDegnitempntsAll += parseInt(obj_degnitempnts);
- }
- }
- }
-
- var nFindRow = ds_data_recitem.findRowExpr("degnitemno == '"+ eval(ColId).supdegnitemno +"' && degnitemkind == 'MSL' && colno == 0");
- ds_data_recitem.setColumn(nFindRow, "rowno", sDegnitempntsAll);
- }
- }
- }catch(e){
- sysf_trace(" SSU 산술식 오류입니다!!!!!!!! ")
- sysf_catchTrace(e);
- }
- }
- else if(ColDegnKind == "CHK")
- {
-
- }
- }
- else if(ColId.indexOf("_EXTN") != -1) // 확장 아이템 컬럼이있으면 select 컨트롤의 row에 reccnts 세팅
- {
- ColId = ColId.replace("_EXTN", "");
-
- if(utlf_getSearchStringRight(ColId, "_") > 4) // 한 컴포짓에 두 개 이상의 확장컨트롤이 달린 경우
- {
- ColId = ColId.substr(0, utlf_getSearchStringRight(ColId, "_"));
- }
-
- ColNo = ColId.substr(StrtIndx + 1);
- ColDegnKind = ColId.substr(0, StrtIndx);
- if(ColDegnKind == "SSU")
- {
- nRow = ds_data_recitem.findRowExpr("colno == '"+ eval(ColId).colno +"' && degnitemno == '"+ eval(ColId).supdegnitemno +"' && degnitemkind == 'MSL'");
- }
- else
- {
- nRow = ds_data_recitem.findRowExpr("degnitemno == '"+ ColNo +"' && degnitemkind == '"+ ColDegnKind +"'");
- }
- if(ds_data_itemvalue.getColumnInfo(ColId) != null)
- {
- ds_data_recitem.setColumn(nRow, "reccnts", ds_data_itemvalue.getColumn(0, orgColId));
- }
- }
- }
- }
- /****************************************************************************************
- * Function : fSetAllLoadUnitForm
- * Description : 전체 또는 저장된 기록값이 있는 부분서식 로드
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * : 02. AllYn : 전체 또는 기록된 서식만 오픈여부
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function fSetAllLoadUnitForm(itemCds, AllYn)
- {
- utlf_addLog("***** fSetAllLoadUnitForm("+itemCds+", "+AllYn+") ******");
- var nCompCnt = itemCds.length;
- if(AllYn != "ALL")
- {
- for(var i=0; i < ds_data_unitformmast.rowcount; i++)
- {
- var formcd = ds_data_unitformmast.getColumn(i, "formcd");
- var nRow = parent.ds_data_recitem.findRow("formcd", formcd); // 기록데이터가 있는 부분서식들만 펼치기
- if(nRow != -1)
- {
- var formdegnseq = ds_data_unitformmast.getColumn(i, "formdegnseq");
- var mainItemCd = ds_data_unitformmast.getColumn(i, "orgsupdegnitemcd");
- var ivwObj = ComnFormObj.components["ivw_" + mainItemCd];
- loadUnitForm(ivwObj, mainItemCd);
- lf_getComponentID(formdegnseq, mainItemCd);
- }
- else
- {
- continue;
- }
- }
- }
- else // 모든 부분서식 펼치기
- {
- for(var i=0; i < nCompCnt; i++)
- {
- var ivwObj = ComnFormObj.components["ivw_" + itemCds[i]];
- loadUnitForm(ivwObj, itemCds[i]);
- }
- }
- }
- /****************************************************************************************
- * Function : lf_deselectRDO
- * Description : RDO deselet 기능함수 서브 확장 컨트롤 처리
- * Argument : N/A
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function lf_deselectRDO(obj:Radio, e:RadioMouseEventInfo)
- {
- utlf_addLog("***** lf_deselectRDO() *****");
- if(e.itemvalue == obj.value)
- {
- obj.value = ""; // 라디오 체크해제
-
- //extn 컨트롤 처리
- var vObjName = new String(obj.name);
- var vObjNameSplit = vObjName.split("_");
- var vExtnSTX = "STX_" + vObjNameSplit[1];
-
- if(this.components[vExtnSTX] !=null && this.components[vExtnSTX]["ctrltype"] !=null && this.components[vExtnSTX]["ctrltype"] == "extn" )
- {
- this.components[vExtnSTX].value = "";
- this.components[vExtnSTX].enable = false;
- }
-
- //onitemchanged
- //산술식 이벤트가 있을 경우 산술식 실행
- if(obj.onitemchanged != null)
- {
- lf_dsBind(obj);
- }
- }
-
- }
- /****************************************************************************************
- * Function : lf_dsBind
- * Description : 포커스아이템에 바인드 식 적용
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_dsBind(obj, e)
- {
- utlf_addLog("***** lf_dsBind ("+obj.name+", "+e+") *****");
- var objComp = obj; // 포커스 아이템 obj 전달
- objComp.updateToDataset();
- fReCalculate(obj);
- }
- /****************************************************************************************
- * Function : lf_getRecDS
- * Description : 공통 서식내의 부분서식 recDS 취합
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getRecDS(itemCds, mode, tmp)
- {
- utlf_addLog("***** lf_getRecDS("+itemCds+", "+mode+", "+tmp+") *****");
- var savedInfo = new SAVED_INFO();
-
- var mainItemCd = "";
- var nRow = "";
- var ivwObj;
- var grdRowYn = "";
- var imgRowYn = "";
- var degnitemlevlcd = "";
- var formdegnseq = "";
- var duplRow = "";
- var nPrntRow = "";
- var FDGRowYn = "";
- var calRowYn = "";
-
- if(utlf_isNull(itemCds))
- return;
-
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- if( !ivw_base.isValidObject(["ds_hidden_recitem"]) ){
- dsf_copyDsList(["ds_hidden_recitem"], ["ds_hidden_recitem"], "replace", ivw_base, ivw_base );
- }
-
- ivw_base.ds_hidden_recitem.assign(ivw_base.ds_data_recitem);
- recitemDs = ivw_base.objects["ds_hidden_recitem"];
- }else{
- recitemDs = ivw_base.objects["ds_data_recitem"];
- }
-
-
- //공통서식의 메인 섹션 아이템을 순회하면서 부분서식을 비교
- for(var i = 0; i < itemCds.length; i++)
- {
- // 메인섹션 아이템을 구한다.
- mainItemCd = itemCds[i];
- nRow = ds_data_unitformmast.findRowExpr("orgsupdegnitemcd == '" + mainItemCd + "'");
- if(nRow != -1)
- {
- // if(utlf_isNull(ComnFormObj))
- // {
- // ComnFormObj = ivw_base.grup_base;
- // }
- // ivwObj = ComnFormObj.components["ivw_" + mainItemCd];
-
- //////////////////// 컨설트 부분 추가 /////////////////////
- var ivwObj = null;
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")
- {
- var objGrp;
- var mainItemCdTemp = mainItemCd;
- if(mainItemCd == "0000960001") {
- objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001.grup_extn0011449001;
- mainItemCdTemp = "0011449001";
- } else if(mainItemCd == "0011449001") {
- objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001;
- mainItemCdTemp = "0011449001";
- } else if(mainItemCd == "0001019001") {
- objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001.grup_extn0011529001;
- mainItemCdTemp = "0011529001";
- } else if(mainItemCd == "0011529001") {
- objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001;
- mainItemCdTemp = "0011529001";
- } else objGrp = ivw_base.grup_base;
- ivwObj = objGrp.components["ivw_" + mainItemCd]; // 컨설트
- mainItemCd = mainItemCdTemp;
- } else {
- if(utlf_isNull(ComnFormObj))
- {
- ComnFormObj = ivw_base.grup_base;
- }
- ivwObj = ComnFormObj.components["ivw_" + mainItemCd];
- }
- //////////////////// 컨설트 부분 추가 /////////////////////
- //열려있는 부분서식
- if(!utlf_isNull(ivwObj) && !utlf_isNull(ivwObj.url))
- {
-
- if (utlf_isNull(tmp))
- {
- //2010-07-27 김달현
- //의뢰상태의 격리병실신청 수정시 보이지 않는 회신내역 필수체크때문에 수정안되는 오류발생(요청번호:9731)
- //HIT강지훈사원이 MMR04900에 ivw.src공백처리로 수정했으나(2010-04-06) 이 부분으로 인해 컨설트 회신시 입력한 내용이 공백으로 저장된 오류발생해 다시 주석처리함.
- //notChkEssnYn 플래그를 추가함.(ivw.attribute)값이 Y일 경우는 필수체크 안함. N으로 설정한 경우만 필수체크함.
-
- if(ivwObj.notChkEssnYn != "Y" && lf_chkEssential(ivwObj) == false)//필수 입력항목 체크(특수서식)
- {
- return false;
- }
-
- }
-
- // 2018.07.10 (#89) 기록 저장시 부분서식 lf_ComnSetItemVal 함수 실행
- try{
- if( utlf_isNull(mode) && utlf_isNull(tmp)){
- var bExistFunc = frmf_findFuncFromForm(ivwObj.url, "lf_ComnSetItemVal");
- if(bExistFunc){
- eval("ivwObj.lf_ComnSetItemVal()");
- }
- }
- }catch(e){ sysf_catchTrace(e); }
-
- nPrntRow = recitemDs.findRowExpr("fstlevlitemcd == '" + mainItemCd + "' && degnitemlevlno == '1'");
- if(nPrntRow == -1) // 항목 타이틀 세팅.
- {
- var nTmpPrntRow = ivw_base.ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + mainItemCd + "' && degnitemlevlno == '1'");
- if(nTmpPrntRow != -1)
- {
- recitemDs.addRow();
- recitemDs.copyRow(recitemDs.rowcount - 1, ivw_base.ds_temp_mainrecitem, nTmpPrntRow);
- }
- }
-
- //부분서식이 로딩이 되지 않은 시점.
- // if(!ivwObj.isValidObject("ds_temp_recitem"))
- // {
- // continue;
- // }
- try{
- imgRowYn = ivwObj.ds_data_recitem.findRow("degnitemkind", "IMG");
- }catch(e){
- sysf_catchTrace(e);
- imgRowYn = -1;
- }
-
- /*
- try{
- calRowYn = ivwObj.ds_data_recitem.findRow("degnitemkind", "CAL");
- }catch(e){
- sysf_catchTrace(e);
- calRowYn = -1;
- }
- */
- for(var k = 0; k < ivwObj.all.length; k++)
- {
- if(imgRowYn > -1 && ivwObj.all[k] instanceof ActiveX) // 이미지 정보 취합
- {
- var obj_Image = ivwObj.all[k];
- var obj_ImageNm = ivwObj.all[k].name;
- var imgDegnNo = obj_ImageNm.replace("IMG_", "");
- var imgShape = obj_Image.GetShapeString();
- var objBlob = "";
- var nRow = ivwObj.ds_data_recitem.findRow("degnitemno", imgDegnNo);
- if( utlf_getStrCount(imgShape,"<") > 2 && utlf_getStrCount(imgShape,">") > 2 ) // 태그
- { // shape정보가 들어가 있으면 변경내용 저장
- ivwObj.ds_data_recitem.setColumn(nRow, "reccnts", obj_Image.GetShapeString());
- objBlob = objExt.decodeBase64(obj_Image.SaveJpegBase64(), "BIN");
- ivwObj.ds_data_recitem.setColumn(nRow, "recimge", objBlob);
- }
- }
-
- // CAL userMask include, MaskEdit
- if(ivwObj.all[k] instanceof Calendar || ivwObj.all[k] instanceof MaskEdit)
- {
- var calDegnNo;
- var obj_Cal = ivwObj.all[k];
- var obj_CalNm = ivwObj.all[k].name;
-
- //if(obj_CalNm.indexOf("CAL_") > -1){
-
- if( !utlf_isNull(obj_Cal.userMask) && obj_Cal.userMask == "include" && !utlf_isNull(obj_Cal.text) ){
- utlf_addLog( obj_CalNm + " 의 현재 Text는 " + obj_Cal.text );
-
- //calDegnNo = obj_CalNm.replace("CAL_", "");
- calDegnNo = obj_CalNm.split("_")[1];
-
- var nRow = ivwObj.ds_data_recitem.findRow("degnitemno", calDegnNo);
- var nReccnts = ivwObj.ds_data_recitem.getColumn(nRow, "reccnts");
- if( !utlf_isNull(nReccnts) ){
- utlf_addLog( obj_CalNm + " 의 recitem의 reccnts 값은 " + nReccnts );
- ivwObj.ds_data_recitem.setColumn(nRow, "reccnts", obj_Cal.text);
- }
-
- }
-
- //}
- }
- }
-
-
-
- if(ivwObj.isValidObject("ds_temp_recitem"))
- {
- grdRowYn = ivwObj.ds_temp_recitem.findRow("degnitemkind", "GRD");
- if(grdRowYn > -1) // GRD에 매핑된 DS을 recitem DS 세팅(프로그램 서식그리드)
- {
-
- // 2016.10.04 GRD에 매핑된 recitem 정보 삭제 후 셋팅
- var nDelRows = new Array();
- nDelRows = objExt.findRows(recitemDs, "fstlevlitemcd", mainItemCd);
- for(var m = nDelRows.length-1; m >= 0; m--)
- {
- nPrntRow = recitemDs.findRowExpr("fstlevlitemcd == '" + mainItemCd + "' && degnitemlevlno != '1' && (degnitemkind == 'DGN' || degnitemkind == 'OPN' || degnitemkind == 'GSU')", nDelRows[m]);
- // trace("::::: nDelRows["+ m + "] : " + nDelRows[m] + " || nPrntRow : " + nPrntRow );
- if(nPrntRow != -1){
- recitemDs.deleteRow(nDelRows[m]);
- }
- }
-
- ivwObj.lf_setGrdRec();
- }
-
-
- ivw_base.ds_temp_unitrecitem.clearData();
- ivw_base.ds_temp_unitrecitem.copyData(ivwObj.ds_data_recitem);
-
- //부분서식 ds에 상위아이템 정보 세팅
- for(var j = (ivw_base.ds_temp_unitrecitem.rowcount-1); j >= 0; j--)
- {
- ivw_base.ds_temp_unitrecitem.setColumn(j, "fstlevlitemcd", mainItemCd);
- ivw_base.ds_temp_unitrecitem.setColumn(j, "degnitemlevlno", parseInt(ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlno")) + 1);
- degnitemlevlcd = mainItemCd.substr(0, 7)+ '.'+ ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlcd");
- ivw_base.ds_temp_unitrecitem.setColumn(j, "degnitemlevlcd", degnitemlevlcd);
- duplRow = recitemDs.findRow("degnitemlevlcd", degnitemlevlcd);
- if(duplRow != -1)
- {
- recitemDs.deleteRow(duplRow);
- }
- }
- var nDelRows = new Array();
- nDelRows = objExt.findRows(recitemDs, "fstlevlitemcd", mainItemCd);
- for(var m = nDelRows.length-1; m >= 0; m--)
- {
- nPrntRow = recitemDs.findRowExpr("fstlevlitemcd == '" + mainItemCd + "' && degnitemlevlno == '1'");
- if(nPrntRow != -1)
- {
- continue;
- }
- else
- {
- recitemDs.deleteRow(nDelRows[m]);
- }
- }
- }
- else
- {
- ivw_base.ds_temp_unitrecitem.clearData();
- ivw_base.ds_temp_unitrecitem.copyData(ivwObj.ds_data_recitem);
- formdegnseq = recitemDs.getColumn(nPrntRow, "formdegnseq");
-
- if(utlf_isNull(formdegnseq))
- {
- formdegnseq = ivw_base.ds_temp_mainrecitem.getColumn(nTmpPrntRow, "formdegnseq");
- }
-
- //부분서식 ds에 상위아이템 정보 세팅
- for(var j = (ivw_base.ds_temp_unitrecitem.rowcount-1); j >= 0; j--)
- {
- ivw_base.ds_temp_unitrecitem.setColumn(j, "fstlevlitemcd", mainItemCd);
- ivw_base.ds_temp_unitrecitem.setColumn(j, "formdegnseq", formdegnseq);
- ivw_base.ds_temp_unitrecitem.setColumn(j, "degnitemlevlno", parseInt(ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlno")) + 1);
- degnitemlevlcd = mainItemCd.substr(0, 7)+ '.'+ ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlcd");
- ivw_base.ds_temp_unitrecitem.setColumn(j, "degnitemlevlcd", degnitemlevlcd);
- duplRow = recitemDs.findRow("degnitemlevlcd", degnitemlevlcd);
- if(duplRow != -1)
- {
- recitemDs.deleteRow(duplRow);
- }
- }
- }
-
- recitemDs.appendData(ivw_base.ds_temp_unitrecitem, true, false);
- //utlf_addLog(ivw_base.ds_temp_unitrecitem.saveXML());
- }
- }
- }
-
- utlf_addLog(" :::::::::: lf_getRecDS ::::::::::: ");
- utlf_addLog(recitemDs.saveXML());
- utlf_addLog(" :::::::::: lf_getRecDS ::::::::::: ");
- // 기록정보 없는 row 삭제
- var rtn = lf_delNullRecDS(itemCds, mode, tmp);
-
- utlf_addLog(" :::::::::: lf_delNullRecDS ::::::::::: ");
- utlf_addLog(recitemDs.saveXML());
- utlf_addLog(" :::::::::: lf_delNullRecDS ::::::::::: ");
-
- // recitem Head Info Add
- lf_addHeadInfo(itemCds, mode, tmp);
- utlf_addLog(" :::::::::: lf_addHeadInfo ::::::::::: ");
- utlf_addLog(recitemDs.saveXML());
- utlf_addLog(" :::::::::: lf_addHeadInfo ::::::::::: ");
-
- // row순서 정렬
- lf_sortRow(itemCds, mode);
-
- utlf_addLog(" :::::::::: lf_sortRow ::::::::::: ");
- utlf_addLog(recitemDs.saveXML());
- utlf_addLog(" :::::::::: lf_sortRow ::::::::::: ");
- return rtn;
-
- // if (utlf_isNull(tmp))
- // {
- // //필수 입력항목 체크(특수서식)
- // if(chkEssentialitem(itemCds) == false)
- // {
- // return savedInfo;
- // }
- // }
- }
- /****************************************************************************************
- * Function : lf_delNullRecDS
- * Description : 저장될 정보가 없는 DS row는 제외한다.
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_delNullRecDS(itemCds, mode, tmp)
- {
- utlf_addLog("***** lf_dellNullRecDs 저장될 정보가 없는 DS row는 제외 ***");
-
- var degnitemkind = "";
- var degnitemlevlcd = "";
- var degnitemcd = "";
- var recCol = "";
- var recVal = "";
- var fstlevlitemcd = "";
- var arrTemp = new Array();
- var reccnts = "";
- var rectermcd = "";
- var itemnm = "";
- var itemattrval = "";
- var ivwObj = ivw_base;
-
- var recitemDs:Dataset = new Dataset;
-
- if( !utlf_isNull( mode ) ){
- recitemDs = ivw_base.objects["ds_hidden_recitem"];
- }else{
- recitemDs = ivw_base.objects["ds_data_recitem"];
- }
- for(var i = (recitemDs.rowcount-1); i >= 0; i--)
- {
- //최상위 recitem을 제외한 기록정보 없는 row 삭제
- degnitemlevlcd = recitemDs.getColumn(i, "degnitemlevlcd");
- fstlevlitemcd = recitemDs.getColumn(i, "fstlevlitemcd");
- degnitemkind = recitemDs.getColumn(i, "degnitemkind");
- degnitemcd = recitemDs.getColumn(i, "degnitemcd");
- if( (fstlevlitemcd.substring(0, 7) == degnitemlevlcd) && (fstlevlitemcd == degnitemcd) ) // 최상위 아이템은 현재 formcd 세팅 및 pass
- {
- if(degnitemkind == "MTX" || degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "GSU" || degnitemkind == "STX") // stx 임시 추가
- {
- recitemDs.setColumn(i, "formcd", fGetFormMast("formcd"));
- continue;
- }
- else
- {
- reccnts = recitemDs.getColumn(i, "reccnts");
- rectermcd = recitemDs.getColumn(i, "rectermcd");
- if(utlf_isNull(reccnts) && utlf_isNull(rectermcd))
- {
- recitemDs.deleteRow(i);
- continue;
- }
- }
- }
-
- // 2019.12.01 공통기록 저장 시 BTN, IBT, FBT, ABT, HLP, URL 아이템 항목 저장되지 않도록 처리
- var flag = false;
- if(degnitemkind == "MTX" || degnitemkind == "STX" || degnitemkind == "CAL" || degnitemkind == "MSK")
- recCol = "reccnts";
- else if(degnitemkind == "CMB" || degnitemkind == "CHK" || degnitemkind == "RDO" || degnitemkind == "SSL" || degnitemkind == "MSL" || degnitemkind == "BOL")
- recCol = "rectermcd";
- else if(degnitemkind == "IMG" || degnitemkind == "FDG")
- recCol = "recimge";
- else if(degnitemkind == "LBL" || degnitemkind == "RCT" || degnitemkind == "FRM"
- || degnitemkind == "BTN" || degnitemkind == "IBT" || degnitemkind == "FBT" || degnitemkind == "ABT" || degnitemkind == "HLP" || degnitemkind == "URL")
- {
- recitemDs.deleteRow(i);
- continue;
- }
- else
- {
- continue;
- }
- recVal = recitemDs.getColumn(i, recCol);
- if(utlf_isNull(recVal))
- {
- if( degnitemkind == "STX"){ // refitem check
- recVal = recitemDs.getColumn(i, "rectermnm");
- if( !utlf_isNull(recVal) )
- continue;
- }
- var childRow = recitemDs.findRowAs("degnitemlevlcd", degnitemlevlcd, i+1);
- if(childRow != -1)
- {
- // 2016.03.16 CHK 추가
- if((degnitemkind == "MSL" || degnitemkind == "CHK") && (recitemDs.getColumn(childRow, "degnitemlevlcd") == degnitemlevlcd) )
- recitemDs.deleteRow(i);
- else
- continue;
- }
- else
- {
- recitemDs.deleteRow(i);
- }
- }
- }
-
- // 하위 아이템 기록값, 1계층 1값이 없는 recitem row 삭제
- for(var i = 0; i < itemCds.length; i++)
- {
- recitemDs.filter("degnitemkind != 'FRM'");
- arrTemp = objExt.findRows(recitemDs, "fstlevlitemcd", itemCds[i]);
- reccnts = recitemDs.getColumn(arrTemp[0], "reccnts");
- rectermcd = recitemDs.getColumn(arrTemp[0], "rectermcd");
- if( utlf_isNull(arrTemp) || (arrTemp.length < 2 && (utlf_isNull(reccnts) && utlf_isNull(rectermcd)))
- || ((fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y") && arrTemp.length < 3 && (utlf_isNull(reccnts) && utlf_isNull(rectermcd))) // 2016.03.11 Consult 불필요 내용 삭제
- )
- {
- recitemDs.deleteRow(arrTemp[0]);
- i = i-1;
- }
- }
-
- recitemDs.filter("");
-
- if(utlf_isNull(tmp))
- {
- for(var i = 0; i < itemCds.length; i++) // 필수 체크
- {
- itemattrval = ds_data_formdegn.lookup("degnitemcd", itemCds[i], "itemattrval");
- if(!utlf_isNull(itemattrval) && itemattrval.indexOf("essential:true") > -1)
- {
- if(recitemDs.findRow("fstlevlitemcd", itemCds[i]) == -1)
- {
- if(recitemDs.findRow("degnitemcd", itemCds[i]) != -1){
- continue;
- }else{
- itemnm = ds_data_formdegn.lookup("degnitemcd", itemCds[i], "degnitemnm");
- alert(itemnm + "은(는) 필수 입력 항목입니다.");
- break;
- }
- }
- else
- {
- // 부분서식내의 필수 체크 컨트롤 체크
- if(ivw_base.grup_base.isValidObject("ivw_" + itemCds[i]))
- {
- var divObj = ivw_base.grup_base.components["ivw_" + itemCds[i]];
- if( lf_chkEssential(divObj) == false ){
- return false;
- }
- }
-
- }
- }
- }
- }
-
- if(utlf_isNull(itemnm))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- /****************************************************************************************
- * Function : lf_addHeadInfo
- * Description : recitem Head Info Add
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_addHeadInfo(itemCds, mode, tmp){
-
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y"){ return; }
-
- var recitemDs:Dataset = new Dataset;
-
- if( !utlf_isNull( mode ) ){
- recitemDs = ivw_base.objects["ds_hidden_recitem"];
- }else{
- recitemDs = ivw_base.objects["ds_data_recitem"];
- }
-
- var mainItemCd = "";
- for(var k = 0; k < itemCds.length; k++)
- {
- // 메인섹션 아이템을 구한다.
- mainItemCd = itemCds[k];
-
- if( recitemDs.findRow("fstlevlitemcd", mainItemCd) < 0 ) continue;
-
- var nRow = ds_data_unitformmast.findRowExpr("orgsupdegnitemcd == '" + mainItemCd + "'");
- if(nRow != -1)
- {
- var ivwObj = null;
- if(utlf_isNull(ComnFormObj))
- {
- ComnFormObj = ivw_base.grup_base;
- }
- ivwObj = ComnFormObj.components["ivw_" + mainItemCd];
- if(!utlf_isNull(ivwObj) && !utlf_isNull(ivwObj.url))
- {
- var nPrntRow = recitemDs.findRowExpr("fstlevlitemcd == '" + mainItemCd + "' && degnitemlevlno == '1'");
-
- if(ivwObj.isValidObject("ds_temp_recitem")){ // prog 제외
- continue;
- }else{
- var formdegnseq = recitemDs.getColumn(nPrntRow, "formdegnseq");
- if(utlf_isNull(formdegnseq))
- {
- formdegnseq = ivw_base.ds_temp_mainrecitem.getColumn(nTmpPrntRow, "formdegnseq");
- }
- ivw_base.ds_temp_unitrecitem.clearData();
- ivw_base.ds_temp_unitrecitem.copyData(ivwObj.ds_data_recitem);
-
- /*
- 1. 수정일시 : 2019-08-29
- 2. 발생현상 : 화면을 갱신하지 않는 화면의 기록 최초저장 후 수정할때 발생
- 계층레벨이 2이상 단독으로 저장데이터가 존재할때 상위정보를 설정못하는 현상
- 3. 수정사항 : lf_ivw_getParent 함수에서 filterStr 정보를 정상적으로 설정하도록 처리
- sFilterStrAll 초기화 로직 추가
- */
- sFilterStrAll = "";
-
- for( var i = 0; i < recitemDs.rowcount; i++)
- {
- var nFstlevlitemcd = recitemDs.getColumn(i, "fstlevlitemcd");
- if( nFstlevlitemcd != mainItemCd ) continue;
-
- var nDegnitemkind = recitemDs.getColumn(i, "degnitemkind");
- var nDegnitemno = recitemDs.getColumn(i, "degnitemno");
- var supdegnitemno = recitemDs.getColumn(i, "supdegnitemno");
- if(nDegnitemkind == "GRD" || nDegnitemkind == "GSU" || nDegnitemkind == "GSL")
- {
- continue;
- }
-
- var filterStr = "";
- if( !utlf_isNull(supdegnitemno) && supdegnitemno != "0" ){
- filterStr = ivwObj.lf_ivw_getParent(supdegnitemno, filterStr);
- }
-
- if( !utlf_isNull(filterStr) ){
- ivw_base.ds_temp_unitrecitem.filter(filterStr);
- var nTempCnt = ivw_base.ds_temp_unitrecitem.rowcount;
- for( var j = ivw_base.ds_temp_unitrecitem.rowcount-1; j >= 0; j--){
- nDegnitemno = ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemno");
-
- if( recitemDs.findRowExpr("fstlevlitemcd == '"+nFstlevlitemcd+"' &°nitemno == '"+nDegnitemno+"'") > -1 ){
- continue;
- }
- if( ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemkind") == "MSL" ){
- if( utlf_isNull(ivw_base.ds_temp_unitrecitem.getColumn(j, "rectermcd"))
- && utlf_isNull(ivw_base.ds_temp_unitrecitem.getColumn(j, "reccnts")) ){
- continue;
- }
- }
-
- var nInRow = recitemDs.insertRow(i);
- recitemDs.copyRow(nInRow, ivw_base.ds_temp_unitrecitem, j);
-
- recitemDs.setColumn(nInRow, "fstlevlitemcd", mainItemCd);
- recitemDs.setColumn(nInRow, "formdegnseq", formdegnseq);
- recitemDs.setColumn(nInRow, "degnitemlevlno", parseInt(ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlno")) + 1);
- degnitemlevlcd = mainItemCd.substr(0, 7)+ '.'+ ivw_base.ds_temp_unitrecitem.getColumn(j, "degnitemlevlcd");
- recitemDs.setColumn(nInRow, "degnitemlevlcd", degnitemlevlcd);
-
- }
- ivw_base.ds_temp_unitrecitem.filter("");
- }
- }// for recitem
- }// if else
- }// ivw obj
- }
- }// for itemCds
- }
- var sFilterStrAll = "";
- /****************************************************************************************
- * Description : 저장할 항목의 상위정보를 가지고 오기위함
- * Argument : 01. degnitemno
- * : 02. filterStr
- * retrun type : string
- * Creator :
- ****************************************************************************************/
- function lf_ivw_getParent(degnitemno, filterStr){
- var srchno = "'" + degnitemno + "'";
- if(!utlf_isSearchString(filterStr, srchno) && !utlf_isSearchString(sFilterStrAll, srchno))
- {
- if(utlf_isNull(filterStr))
- filterStr = "degnitemno == '" + degnitemno + "'";
- else
- filterStr += " || degnitemno == '" + degnitemno + "'";
- }
- var nFindRow = ds_data_recitem.findRow("degnitemno", degnitemno);
- var supdegnitemno = ds_data_recitem.getColumn(nFindRow, "supdegnitemno");
- if(!utlf_isNull(supdegnitemno) && supdegnitemno != "0")
- {
- filterStr = lf_ivw_getParent(supdegnitemno, filterStr);
- if(utlf_isNull(sFilterStrAll))
- sFilterStrAll = filterStr;
- else
- sFilterStrAll += " || " + filterStr;
- }
- return filterStr;
-
- }
- /****************************************************************************************
- * Function : lf_sortRow
- * Description : 공통서식의 row 순서 정렬
- * Argument : 01. obj : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_sortRow(itemCds, mode)
- {
- utlf_addLog("***** lf_sortRow 공통서식의 row 순서 정렬 ******");
- if(!utlf_isNull(itemCds))
- {
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- recitemDs = ivw_base.objects["ds_hidden_recitem"];
- }else{
- recitemDs = ivw_base.objects["ds_data_recitem"];
- }
-
- dsf_createDsRow("ds_temp_sortrecitem",
- [{col:"instcd", val:""}]);
- ds_temp_sortrecitem.assign(recitemDs);
- ds_temp_sortrecitem.clearData();
-
- var fstlevlitemcd = "";
- /*
- var arrDegnitemcd = objExt.findRows(ds_data_formdegn, "degnitemlevlno", "1");
- for(var i = 0; i < arrDegnitemcd.length; i++) // 공통서식 섹션 코드 순
- {
- var degnitemcd = ds_data_formdegn.getColumn(arrDegnitemcd[i], "degnitemcd");
- for(var j = 0; j < recitemDs.rowcount; j++) // 섹션코드 기준 fstlevlitemcd값을 가지는 row 임시 DS로 복사
- {
- fstlevlitemcd = recitemDs.getColumn(j, "fstlevlitemcd");
- if(fstlevlitemcd == degnitemcd)
- {
- ds_temp_sortrecitem.addRow();
- ds_temp_sortrecitem.copyRow(ds_temp_sortrecitem.rowcount - 1, recitemDs, j);
- }
- }
- }
- */
- for(var i = 0; i < itemCds.length; i++) // 공통서식 섹션 코드 순
- {
- for(var j = 0; j < recitemDs.rowcount; j++) // 섹션코드 기준 fstlevlitemcd값을 가지는 row 임시 DS로 복사
- {
- fstlevlitemcd = recitemDs.getColumn(j, "fstlevlitemcd");
- if(fstlevlitemcd == itemCds[i])
- {
- ds_temp_sortrecitem.addRow();
- ds_temp_sortrecitem.copyRow(ds_temp_sortrecitem.rowcount - 1, recitemDs, j);
- }
- }
- }
- recitemDs.copyData(ds_temp_sortrecitem);
- var objDs = this.removeChild("ds_temp_sortrecitem");
- delete objDs;
- objDs = null;
- }
-
- }
- /****************************************************************************************
- * Function : fSetFormGridRec
- * Description : 기록정보를 grid에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * : 03. formType : 기록 구분
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetFormGridRec(dsNm, degnno, formType)
- {
- utlf_addLog("***** fSetFormGridRec("+dsNm+", "+degnno+") *****");
- var degnitemkind = parent.ds_data_formdegn.lookup("degnitemno", degnno, "degnitemkind");
- if(degnitemkind == "DGN") // DGN
- fSetDGNGridRec(dsNm, degnno, formType);
- else if(degnitemkind == "GRD") // GRD
- fSetGRDGridRec(dsNm, degnno, formType);
- else if(degnitemkind == "OPN") // OPN
- fSetOPNGridRec(dsNm, degnno, formType);
- else if(degnitemkind == "CCN") // CCN
- fSetCCNGridRec(dsNm, degnno, formType);
- }
-
- /****************************************************************************************
- * Function : fSetGRDGridRec
- * Description : 기록정보를 grid에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetGRDGridRec(dsNm, degnno, formType)
- {
- utlf_addLog("***** fSetGRDGridRec *****");
-
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( formType ) && formType == "acmlForm" ){
- recitemDs = parent.objects["ds_data_acmldata"];
- }else{
- recitemDs = parent.objects["ds_data_recitem"];
- }
-
- var nAddRow;
- var nAddCol;
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", degnno, "degnitemlevlcd");
- var levLen = degnitemlevlcd.length;
- //var filterStr ="degnitemlevlcd.toString().indexOf('" + degnitemlevlcd + "') >= 0";
- //var filterStr ="degnitemlevlcd.toString().substr(0, "+levLen+") == '" + degnitemlevlcd + "'";
- //이윤주 수정( 칠곡 7180541 C-진정회복기록-공통(성인) 2019-06-28 오류로 인해)
- var filterStr ="degnitemlevlcd.toString().substr(0, "+levLen+") == '" + degnitemlevlcd + "' && rowno > '-1'";
-
- recitemDs.filter(filterStr);
- var nRowCnt = recitemDs.getMax('parseInt(rowno)');
- var nColCnt = eval(dsNm).colcount;
- var sValue;
- var nColCntX = recitemDs.getMax('parseInt(colno)');
- var nRowCntX = eval(dsNm).rowcount;
-
- var vGrdNm = "GRD_"+degnno;
- var vGridType = this.components[vGrdNm].gridtype;
- if( utlf_isNull(nRowCnt) ) nRowCnt = 0;
- if(!utlf_isNull(vGridType) && vGridType == "X" )
- {
- //누적 그리드
- for(var i=1; i<=nColCntX; i++) // 열
- {
- var vCol = eval(dsNm).colcount;
- var vColNm = "Column"+vCol;
-
- if(i !=1)
- {
- nAddCol = eval(dsNm).addColumn(vColNm, "string");
-
- lf_addRecItemOne2(dsNm, nAddCol, degnno);
-
- var vAddafterColCount = eval(dsNm).colcount-1;
-
- vColNm = "bind:"+ vColNm;
- this.components[vGrdNm].insertContentsCol(vAddafterColCount);
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "text", vColNm);
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "edittype", "normal");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "displaytype", "normal");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "class", "cell_nopadding");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "wordwrap", "word");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "tooltiptype", "bottom");
- //Grid.setFormatColProperty(nColIdx,strPropID,nValue);
- //tooltiptype="bottom"
- this.components[vGrdNm].setFormatColProperty(vAddafterColCount, "size", 100);
- }
-
-
- for(var j=0; j<nRowCntX; j++) // 행
- {
- sValue = recitemDs.lookupExpr("degnitemkind == 'GSU' && colno=='"+i+"' && rowno=='"+j+"'", "reccnts");
- eval(dsNm).setColumn(j, i, sValue);
- }
- }
-
- }
- else if(!utlf_isNull(vGridType) && vGridType == "T" )
- {
- //누적 그리드
- for(var i=1; i<=nColCntX; i++) // 열
- {
- var vCol = eval(dsNm).colcount;
- var vColNm = "Column"+vCol;
-
- // if(i !=1)
- // {
- // nAddCol = eval(dsNm).addColumn(vColNm, "string");
- //
- // lf_addRecItemOne2(dsNm, nAddCol, degnno);
- //
- // var vAddafterColCount = eval(dsNm).colcount-1;
- //
- // vColNm = "bind:"+ vColNm;
- // this.components[vGrdNm].insertContentsCol(vAddafterColCount);
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "text", vColNm);
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "edittype", "normal");
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "displaytype", "normal");
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "class", "cell_nopadding");
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "wordwrap", "word");
- // this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "tooltiptype", "bottom");
- // //Grid.setFormatColProperty(nColIdx,strPropID,nValue);
- // //tooltiptype="bottom"
- // this.components[vGrdNm].setFormatColProperty(vAddafterColCount, "size", 100);
- // }
-
-
- for(var j=0; j<nRowCntX; j++) // 행
- {
- sValue = recitemDs.lookupExpr("degnitemkind == 'GSU' && colno=='"+i+"' && rowno=='"+j+"'", "reccnts");
- eval(dsNm).setColumn(j, i, sValue);
- }
- }
- }
- else
- {
- //0. 그리드 데이터셋 value입력
- for(var i=0; i<=nRowCnt; i++) // 행
- {
- nAddRow = eval(dsNm).addRow();
- for(var j=0; j<nColCnt; j++) // 열
- {
- sValue = recitemDs.lookupExpr("rowno=='"+i+"' && colno=='"+j+"'", "reccnts");
- eval(dsNm).setColumn(i, j, sValue);
- }
- }
-
- //1. 빈 row 정리
-
- var nRowArrange = eval(dsNm).getRowCount();
- var nColArrange = eval(dsNm).colcount;
- //그리드 정리!! - 빈 row 삭제
- for(var a=0; a < nRowArrange; a++)
- {
- var bBool = false;
- for(var b=0; b < nColArrange; b++)
- {
-
- var sValueNull = eval(dsNm).getColumn(a, b);
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- break;
-
- }
- }
-
- if(bBool == false)
- {
-
- eval(dsNm).deleteRow(a);
-
- ds_data_recitem.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnitemlevlcd+"' && rowno == '" + a + "' ");
- for(var k = ds_data_recitem.rowcount-1; k >= 0; k--)
- {
- ds_data_recitem.deleteRow(k);
- }
- ds_data_recitem.filter("");
- }
-
- }
-
- if( eval(dsNm).rowcount == 0 ){
- eval(dsNm).addRow();
- eval(dsNm).rowposition = -1;
- }
- }
- recitemDs.filter("");
- }
-
-
- /****************************************************************************************
- * Function : fSetDGNGridRec
- * Description : 기록정보를 진단grid에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetDGNGridRec(dsNm, degnno, formType)
- {
- utlf_addLog("***** fSetDGNGridRec *****");
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( formType ) && formType == "acmlForm" ){
- recitemDs = parent.objects["ds_data_acmldata"];
- }else{
- recitemDs = parent.objects["ds_data_recitem"];
- }
-
- var nAddRow;
- var sRectermcd, sRectermnm, sReccnts;
- var sChkMain, sChkRO, sChkSP;
- var arrColID = ["R/O", "주", "진단명"];
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", degnno, "degnitemlevlcd");
- var levLen = degnitemlevlcd.length;
- //var filterStr ="degnitemlevlcd.toString().indexOf('" + degnitemlevlcd + "') >= 0";
- var filterStr ="degnitemlevlcd.toString().substr(0, "+levLen+") == '" + degnitemlevlcd + "'";
- recitemDs.filter(filterStr);
- var nRowCnt = recitemDs.getMax('parseInt(rowno)');
- var nColCnt = arrColID.length;
- for(var i=0; i<=nRowCnt; i++)
- {
- nAddRow = eval(dsNm).addRow();
- for(var j=0; j<nColCnt; j++)
- {
- if(arrColID[j]=="R/O")
- {
- sChkRO = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "reccnts"); //parent.ds_data_recitem.lookupExpr("rowno=='"+i+"'&&colno=='0'", "rectermcd");
- sRectermcd = sChkRO;
- sChkRO = sChkRO=="R"?1:0;
- eval(dsNm).setColumn(nAddRow, arrColID[j], sChkRO);
-
- }
- else if(arrColID[j]=="주")
- {
- sChkMain = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='1'", "reccnts"); //parent.ds_data_recitem.lookupExpr("rowno=='"+i+"'&&colno=='1'", "rectermcd");
- sRectermcd = sChkMain;
- sChkMain = sChkMain=="M"?1:0;
- eval(dsNm).setColumn(nAddRow, arrColID[j], sChkMain);
-
- }
- else if(arrColID[j]=="진단명")
- {
- sRectermcd = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='2'", "rectermcd");
- sRectermnm = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='2'", "rectermnm");
- sReccnts = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='2'", "reccnts");
- eval(dsNm).setColumn(nAddRow, arrColID[j], sRectermnm);
- eval(dsNm).setColumn(nAddRow, "진단코드", sRectermcd);
- eval(dsNm).setColumn(nAddRow, "Comments", sReccnts);
- }
- }
- }
-
- //1. 빈 row 정리
- var nRowArrange = eval(dsNm).getRowCount();
- var nColArrange = eval(dsNm).colcount;
- //그리드 정리!! - 빈 row 삭제
- for(var a=0; a < nRowArrange; a++)
- {
- var bBool = false;
- for(var b=0; b < nColArrange; b++)
- {
- var strColID = eval(dsNm).getColID(b);
- var sValueNull = eval(dsNm).getColumn(a, b);
- if( strColID == "R/O" || strColID == "주" ){
- if( sValueNull == 0 ){
- sValueNull = null;
- }
- }
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- break;
-
- }
- }
-
- if(bBool == false)
- {
-
- eval(dsNm).deleteRow(a);
-
- ds_data_recitem.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnitemlevlcd+"' && rowno == '" + a + "' ");
- for(var k = ds_data_recitem.rowcount-1; k >= 0; k--)
- {
- ds_data_recitem.deleteRow(k);
- }
- ds_data_recitem.filter("");
- }
- }
-
- recitemDs.filter("");
- }
-
- /****************************************************************************************
- * Function : fSetOPNGridRec
- * Description : 기록정보를 수술grid에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetOPNGridRec(dsNm, degnno, formType)
- {
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( formType ) && formType == "acmlForm" ){
- recitemDs = parent.objects["ds_data_acmldata"];
- }else{
- recitemDs = parent.objects["ds_data_recitem"];
- }
-
- var nAddRow;
- var sRectermcd, sRectermnm, sReccnts;
- var sChkMain, sChkRO, sChkSP;
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", degnno, "degnitemlevlcd");
- var levLen = degnitemlevlcd.length;
- //var filterStr ="degnitemlevlcd.toString().indexOf('" + degnitemlevlcd + "') >= 0";
- var filterStr ="degnitemlevlcd.toString().substr(0, "+levLen+") == '" + degnitemlevlcd + "'";
- recitemDs.filter(filterStr);
- var nRowCnt = recitemDs.getMax('parseInt(rowno)');
- for(var i=0; i<=nRowCnt; i++)
- {
- nAddRow = eval(dsNm).addRow();
- sRectermcd = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "rectermcd");
- sRectermnm = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "rectermnm");
- sReccnts = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "reccnts");
- eval(dsNm).setColumn(nAddRow, "수술명", sRectermnm);
- eval(dsNm).setColumn(nAddRow, "수술코드", sRectermcd);
- eval(dsNm).setColumn(nAddRow, "Comments", sReccnts);
- }
- recitemDs.filter("");
- }
-
- /****************************************************************************************
- * Function : fSetCCNGridRec
- * Description : 기록정보를 주호소grid에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetCCNGridRec(dsNm, degnno, formType)
- {
- utlf_addLog("***** fSetCCNGridRec *****");
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( formType ) && formType == "acmlForm" ){
- recitemDs = parent.objects["ds_data_acmldata"];
- }else{
- recitemDs = parent.objects["ds_data_recitem"];
- }
-
- var nAddRow;
- var sRectermcd, sRectermnm, sReccnts;
- var sChkMain, sChkRO, sChkSP;
- var arrColID = ["주호소명", "발생일"];
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", degnno, "degnitemlevlcd");
- var levLen = degnitemlevlcd.length;
- //var filterStr ="degnitemlevlcd.toString().indexOf('" + degnitemlevlcd + "') >= 0";
- var filterStr ="degnitemlevlcd.toString().substr(0, "+levLen+") == '" + degnitemlevlcd + "'";
- recitemDs.filter(filterStr);
- var nRowCnt = recitemDs.getMax('parseInt(rowno)');
- var nColCnt = arrColID.length;
- for(var i=0; i<=nRowCnt; i++)
- {
- nAddRow = eval(dsNm).addRow();
- for(var j=0; j<nColCnt; j++)
- {
- if(arrColID[j]=="주호소명")
- {
- sRectermcd = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "rectermcd");
- sRectermnm = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "rectermnm");
- sReccnts = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='0'", "reccnts");
- eval(dsNm).setColumn(nAddRow, arrColID[j], sRectermnm);
- eval(dsNm).setColumn(nAddRow, "주호소코드", sRectermcd);
- eval(dsNm).setColumn(nAddRow, "Comments", sReccnts);
- }
- else if(arrColID[j]=="발생일")
- {
- sReccnts = recitemDs.lookupExpr("rowno=='"+i+"'&&colno=='1'", "reccnts");
- eval(dsNm).setColumn(nAddRow, arrColID[j], sReccnts);
-
- }
- }
- }
- recitemDs.filter("");
- }
- /****************************************************************************************
- * Function : lf_sortGenForm
- * Description : 일반서식 row 순서 정렬
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_sortGenForm(mode)
- {
- utlf_addLog("***** lf_sortGenForm("+mode+") 일반서식 row 순서 정렬 *****");
- dsf_createDsRow("ds_temp_sortrecitem",
- [{col:"instcd", val:""}]);
- ds_temp_sortrecitem.assign(ds_data_recitem);
- ds_temp_sortrecitem.clearData();
- var degnitemcd = "";
- var fstlevlitemcd = "";
- var degnitemlevlno = "";
- var nDegnCnt = ds_data_formdegn.rowcount;
- var nRow;
-
- var recitemDs:Dataset = new Dataset;
-
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
-
- for(var i = 0; i < nDegnCnt; i++) // 공통서식 섹션 코드 순
- {
- degnitemcd = ds_data_formdegn.getColumn(i, "degnitemcd");
- nRow = -1;
-
- if( fGetFormMast("formprogflag") == "-" ){
- degnitemlevlno = ds_data_formdegn.getColumn(i, "degnitemlevlno");
- nRow = ds_temp_sortrecitem.findRow("fstlevlitemcd", degnitemcd);
- if( degnitemlevlno != 1 )
- continue;
- }
-
- if(nRow == -1)
- {
- for(var j = 0; j < recitemDs.rowcount; j++) // 섹션코드 기준 fstlevlitemcd값을 가지는 row 임시 DS로 복사
- {
- fstlevlitemcd = recitemDs.getColumn(j, "fstlevlitemcd");
- if(fstlevlitemcd == degnitemcd)
- {
- ds_temp_sortrecitem.addRow();
- ds_temp_sortrecitem.copyRow(ds_temp_sortrecitem.rowcount - 1, recitemDs, j);
- }
- }
- }
- }
- recitemDs.copyData(ds_temp_sortrecitem);
- var objDs = this.removeChild("ds_temp_sortrecitem");
- delete objDs;
- objDs = null;
- }
- /****************************************************************************************
- * Function : lf_addRecItemOne
- * Description : 특수서식내 GRD 행추가시 recitem template 정보 추가
- * Argument : 01. dsNm : DS 명
- * : 02. nRowno : grid에 추가된 rowno
- * : 03. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_addRecItemOne(dsNm, nRowno, degnno, mode)
- {
- var gridTempNm = dsNm.replace("data", "temp");
- var degnitemkind = parent.ds_data_formdegn.lookup("degnitemno", degnno, "degnitemkind");
- var nAddRow, nCellPos;
- var nTempCnt = eval(gridTempNm).getRowCount();
-
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
- for(var i=0; i<nTempCnt; i++)
- {
- nAddRow = recitemDs.addRow();
- recitemDs.copyRow(nAddRow, eval(gridTempNm), i);
- recitemDs.setColumn(nAddRow, "rowno", nRowno);
- var nColno = recitemDs.getColumn(nAddRow, "colno");
- }
- }
- /****************************************************************************************
- * Function : lf_addRecItemOne2
- * Description : RecItem 그리드 row 추가 함수
- * retrun type : none
- * Creator :
- ****************************************************************************************/
- function lf_addRecItemOne2(dsNm, nColno, degnno)
- {
- var gridTempNm = dsNm.replace("data", "temp");
- var degnitemkind = parent.ds_data_formdegn.lookup("degnitemno", degnno, "degnitemkind");
- var nAddRow, nCellPos;
- var nTempCnt = eval(gridTempNm).getRowCount();
- for(var i=0; i<nTempCnt; i++)
- {
- nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, eval(gridTempNm), i);
- ds_data_recitem.setColumn(nAddRow, "colno", nColno);
- //var nColno = ds_data_recitem.getColumn(nAddRow, "colno");
- }
- }
- /****************************************************************************************
- * Function : fGetFormGridRec
- * Description : 서식저장 시 grid 정보를 recitem에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetFormGridRec(dsNm, degnno, mode)
- {
- utlf_addLog("***** fGetFormGridRec("+dsNm+", "+degnno+", "+mode+") *****");
-
- if( !utlf_isNull( mode ) )
- ds_hidden_recitem.filter("");
- else
- ds_data_recitem.filter("");
-
- var degnitemkind = parent.ds_data_formdegn.lookup("degnitemno", degnno, "degnitemkind");
- if(degnitemkind == "DGN") // DGN
- fGetDGNGridRec(dsNm, degnno, mode);
- else if(degnitemkind == "GRD") // GRD
- fGetGRDGridRec(dsNm, degnno, mode);
- else if(degnitemkind == "OPN") // OPN
- fGetOPNGridRec(dsNm, degnno, mode);
- else if(degnitemkind == "CCN") // CCN
- fGetCCNGridRec(dsNm, degnno, mode);
- }
- /****************************************************************************************
- * Function : fGetDGNGridRec
- * Description : 진단명 grid 정보를 recitem에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetDGNGridRec(dsNm, degnno, mode)
- {
- var LevRow = ds_data_formdegn.findRowExpr("degnitemno =="+degnno + "&& degnitemkind == 'DGN'");
- var degnLev = ds_data_formdegn.getColumn(LevRow, "degnitemlevlcd");
- var levLen = degnLev.length;
- var nFindRow;
- var sRectermcd, sRectermnm, sReccnts;
- var sChkMain, sChkRO, sChkSP;
- var arrColID = ["주", "R/O", "진단명"];
- var nRowCnt = eval(dsNm).getRowCount();
- var nColCnt = arrColID.length;
-
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
-
- //그리드 정리!! - 빈 row 삭제
- if( nRowCnt == 0 ){
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + nRowCnt + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
- for(var a=0; a < nRowCnt; a++)
- {
- var bBool = false;
- for(var b=0; b < nColCnt; b++)
- {
- var sValueNull = eval(dsNm).getColumn(a, arrColID[b]);
- if( arrColID[b] == "R/O" || arrColID[b] == "주" ){
- if( sValueNull == 0 ){
- sValueNull = null;
- }
- }
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- break;
- }
- }
-
- if(bBool == false)
- {
- if(utlf_isNull(mode)){
- eval(dsNm).deleteRow(a);
- }
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + a + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
- }
-
- nRowCnt = eval(dsNm).getRowCount();
- for(var i=0; i<nRowCnt; i++)
- {
- if(i > 0)
- {
- recitemDs.filter("");
- nFindRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"' && colno == '-1'");
-
- if(nFindRow >= 0)
- recitemDs.deleteRow(nFindRow);
- }
-
- //var nExistRow = recitemDs.findRow("rowno", i);
- var nExistRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"'");
- recitemDs.filter("");
-
- if(nExistRow < 0)
- {
- lf_addRecItemOne(dsNm, i, degnno, mode);
- }
-
- for(var j=0; j<nColCnt; j++)
- {
- if(arrColID[j]=="R/O")
- {
- nFindRow = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno=='"+i+"'&&colno=='0'");
- sChkRO = eval(dsNm).getColumn(i, arrColID[j]);
- if(sChkRO == 1 || sChkRO == "R")
- {
- sRectermcd = "";
- sRectermnm = "";
- sReccnts = "R";
- }
- else
- {
- sRectermcd = "";
- sRectermnm = "";
- sReccnts = "C";
- }
- recitemDs.setColumn(nFindRow, "reccnts", sReccnts);
- }
- else if(arrColID[j]=="주")
- {
- nFindRow = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno=='"+i+"'&&colno=='1'");
- sChkMain = eval(dsNm).getColumn(i, arrColID[j]);
- if(sChkMain == 1 || sChkMain == "M")
- {
- sRectermcd = "";
- sRectermnm = "";
- sReccnts = "M";
- }
- else
- {
- sRectermcd = "";
- sRectermnm = "";
- sReccnts = "S";
- }
- recitemDs.setColumn(nFindRow, "reccnts", sReccnts);
- }
- else if(arrColID[j]=="진단명")
- {
- nFindRow = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno=='"+i+"'&&colno=='2'");
- sRectermcd = eval(dsNm).getColumn(i, "진단코드");
- sRectermnm = eval(dsNm).getColumn(i, "진단명");
- sReccnts = eval(dsNm).getColumn(i, "Comments");
- recitemDs.setColumn(nFindRow, "reccnts", sReccnts);
- }
- else
- continue;
-
- recitemDs.setColumn(nFindRow, "rectermcd", sRectermcd);
- recitemDs.setColumn(nFindRow, "rectermnm", sRectermnm);
-
- if(utlf_isNull(sRectermcd) && utlf_isNull(sRectermnm) && utlf_isNull(sReccnts))
- {
- //recitemDs.deleteRow(nFindRow);
-
- //2016.03.16 초기 데이터가 진단명 정보 없이 R/O, 주만 있는 경우가 없다고 판단
- if(!utlf_isNull(mode) && arrColID[j]=="진단명"){
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + i + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }else{
- recitemDs.deleteRow(nFindRow);
- }
-
-
- }
- }
- var sRowno = recitemDs.findRowExpr("degnitemno == '" +degnno+ "' && rowno > 0 && rowno == '" + i + "' && degnitemkind == 'GRD'");
- if(sRowno != -1) // GRD헤더 삭제
- {
- recitemDs.deleteRow(sRowno);
- }
- }
-
- dsf_setTypeFormat(recitemDs, "degnitemno:BIGDECIMAL^rowno:BIGDECIMAL^colno:BIGDECIMAL");
- recitemDs.keystring = "";
- recitemDs.keystring = "S:+degnitemno+rowno+colno";
- recitemDs.loadCSV(recitemDs.saveCSV());
-
- }
- /****************************************************************************************
- * Function : fGetOPNGridRec
- * Description : 수술명 grid 정보를 recitem에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetOPNGridRec(dsNm, degnno, mode)
- {
- var LevRow = ds_data_formdegn.findRowExpr("degnitemno =="+degnno + "&& degnitemkind == 'OPN'");
- var degnLev = ds_data_formdegn.getColumn(LevRow, "degnitemlevlcd");
- var levLen = degnLev.length;
- var nFindRow;
- var sOptermcd, sOptermnm;
- var nRowCnt = eval(dsNm).getRowCount();
- var nColCnt = eval(dsNm).colcount;
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
-
- //그리드 정리!! - 빈 row 삭제
- if( nRowCnt == 0 ){
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + nRowCnt + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
-
- for(var i=0; i<nRowCnt; i++)
- {
- if(i > 0)
- {
- recitemDs.filter("");
- nFindRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"' && colno == '-1'");
-
- if(nFindRow >= 0)
- recitemDs.deleteRow(nFindRow);
- }
-
- // var nExistRow = ds_data_recitem.findRow("rowno", i);
- var nExistRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"'");
- if(nExistRow < 0)
- {
- lf_addRecItemOne(dsNm, i, degnno);
- }
-
- nFindRow = recitemDs.findRowExpr("degnitemno == '" +degnno+ "' && rowno=='"+i+"'&& colno=='0'");
- sOptermcd = eval(dsNm).getColumn(i, "수술코드");
- sOptermnm = eval(dsNm).getColumn(i, "수술명");
- recitemDs.setColumn(nFindRow, "reccnts", eval(dsNm).getColumn(i, "Comments"));
- recitemDs.setColumn(nFindRow, "rectermcd", sOptermcd);
- recitemDs.setColumn(nFindRow, "rectermnm", sOptermnm);
-
- if(utlf_isNull(sOptermcd) && utlf_isNull(sOptermnm))
- {
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + i + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
-
- var sRowno = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno > 0 && rowno =='" + i + "' && degnitemkind=='GRD'");
- if(sRowno != -1) // GRD헤더 삭제
- {
- recitemDs.deleteRow(sRowno);
- }
- }
- }
- /****************************************************************************************
- * Function : fGetGRDGridRec
- * Description : 진단명 grid 정보를 recitem에 세팅
- * Argument : 01. gridNm : grid 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetGRDGridRec(dsNm, degnno, mode)
- {
-
- var LevRow = ds_data_formdegn.findRowExpr("degnitemno =="+degnno + "&& degnitemkind == 'GRD'");
- var degnLev = ds_data_formdegn.getColumn(LevRow, "degnitemlevlcd");
- var sFstlevlcd = ds_data_formdegn.getColumn(LevRow, "degnitemcd");
-
-
- var levLen = degnLev.length;
- var grdObj;
- var nFindRow;
- var nFindRow1;
- var nFindRow2;
- var sCellType;
- var sValue;
- var sValue1;
- var sValue2;
- var sText;
- var nRowCnt = eval(dsNm).getRowCount();
- var nColCnt = eval(dsNm).colcount;
-
-
- var vGrdNm = "GRD_"+degnno;
- var vGridType = this.components[vGrdNm].gridtype;
-
- var recitemDs:Dataset = new Dataset;
-
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
-
- recitemDs.filter("");
-
- if(!utlf_isNull(vGridType) && vGridType == "X")//누적 그리드
- {
-
- //0. 그리드 데이터셋 미리 정리
- for(var a=nColCnt-1; a> 0; a--)
- {
- var vBoolGrid1 = false;
- var vBoolGrid2 = false;
- for(var b=1; b<nRowCnt; b++)
- {
- var sVal = eval(dsNm).getColumn(b, a);
-
- if(!utlf_isNull(sVal))
- {
- vBoolGrid1 = true;
- }
- else
- {
- }
- }
-
- var c = a+1;
- //삭제하려는 column의 오른쪽에 column이 존재하는 경우 break;
- if(!utlf_isNull(eval(dsNm).getConstColumn(c)))
- {
- break;
- }
- if(vBoolGrid1 == false)
- {
- if(utlf_isNull(mode)){
- eval(dsNm).deleteColumn(a);
- }
- var nRowno = a;
- var sFstlevlcd = recitemDs.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+degnno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
- recitemDs.filter("colno=='"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
- var nRowCnt = recitemDs.getRowCount();
-
- for(var i=(nRowCnt-1);i>=0; i--)
- {
- recitemDs.deleteRow(i);
- }
- recitemDs.filter("");
- }
- }
- //1. ds_data_recitem 정리 시작
- var nRowCnt = eval(dsNm).rowcount;
- var nColCnt = eval(dsNm).colcount;
-
- for(var j=0; j<nColCnt; j++)
- {
- // var nExistRow = ds_data_recitem.findRow("rowno", i);
- // if(nExistRow < 0)
- // {
- // lf_addRecItemOne2(dsNm, i, degnno);
- // }
-
- for(var i=0; i<nRowCnt; i++)
- {
-
- recitemDs.filter("");
- var sExpr = "degnitemkind== 'GSU' && rowno=='"+i+"' && colno=='"+j+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";;
-
- nFindRow = recitemDs.findRowExpr(sExpr);
- sValue = eval(dsNm).getColumn(i, j);
- if(!utlf_isNull(sValue))
- {
- //ds_data_recitem.setColumn(nFindRow1, "reccnts", sValue1);
- //rectermnm
- recitemDs.setColumn(nFindRow, "reccnts", sValue);
- /*
- recitemDs.setColumn(nFindRow, "recitemnm", sValue);
- recitemDs.setColumn(nFindRow, "rectermnm", sValue);
- */
- }
- else
- {
- //ds_data_recitem.deleteRow(nFindRow1);
- //ds_data_recitem.deleteRow(nFindRow2);
- }
-
- /*
- if(i>1 && j>1)
- {
- var sExprGSL = "degnitemkind== 'GSL' && rowno=='"+i+"' && colno=='"+j+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";
- var sExprGRD = "degnitemkind== 'GRD' && rowno=='"+i+"' && colno=='"+j+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";
- var nFindRowGSL = recitemDs.findRowExpr(sExprGSL);
- var nFindRowGRD = recitemDs.findRowExpr(sExprGRD);
- if(!utlf_isNull(nFindRowGSL) && sExprGSL !=-1)
- {
-
- recitemDs.deleteRow(nFindRowGSL)
- }
-
- if(!utlf_isNull(nFindRowGRD) && sExprGRD !=-1)
- {
- recitemDs.deleteRow(nFindRowGRD)
- }
- }
- */
- }
- }
-
-
- //2. 불필요 Row 제거
- //그리드 정리!! - 빈 row 삭제
- for(var a=0; a < nRowCnt; a++)
- {
- var bBool = false;
- for(var b=1; b < nColCnt; b++)
- {
- var sValueNull = eval(dsNm).getColumn(a, b);
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- //break;
- }
- if( b>1 ){
- var sExprGSL = "degnitemkind== 'GSL' && rowno=='"+a+"' && colno=='"+b+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";
- var sExprGRD = "degnitemkind== 'GRD' && rowno=='"+a+"' && colno=='"+b+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";
- var nFindRowGSL = recitemDs.findRowExpr(sExprGSL);
- var nFindRowGRD = recitemDs.findRowExpr(sExprGRD);
- if(!utlf_isNull(nFindRowGSL) && sExprGSL !=-1)
- {
-
- recitemDs.deleteRow(nFindRowGSL)
- }
-
- if(!utlf_isNull(nFindRowGRD) && sExprGRD !=-1)
- {
- recitemDs.deleteRow(nFindRowGRD)
- }
- }
-
- }
-
- if(bBool == false)
- {
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno=='"+a+"'");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
- }
-
- //20170630 x009 추가 - x축그리드에 대한 max열갯수 및 그리드 열갯수 Set(xml가라 node을 만들기 위한 set - 통합기록조회 및 사본에서 max열갯수에 따른 표를 그리기 위해)
- if(fGetFormMast("formxfdluseyn")=="Y"){
- //trace("========================= x축그리드 x009 타냐!!!!!! ================================================== ");
- fnSetXgridTableInfo(eval(vGrdNm), eval(dsNm), degnLev, degnno);
- }
-
- recitemDs.filter("");
- }
- else if(!utlf_isNull(vGridType) && vGridType == "T")//누적 그리드
- {
-
- //1. ds_data_recitem 정리 시작
- var nRowCnt = eval(dsNm).rowcount;
- var nColCnt = eval(dsNm).colcount;
-
- for(var j=0; j<nColCnt; j++)
- {
- for(var i=0; i<nRowCnt; i++)
- {
-
- recitemDs.filter("");
- var sExpr = "degnitemkind== 'GSU' && rowno=='"+i+"' && colno=='"+j+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'";;
-
- nFindRow = recitemDs.findRowExpr(sExpr);
- sValue = eval(dsNm).getColumn(i, j);
- if(!utlf_isNull(sValue))
- {
- recitemDs.setColumn(nFindRow, "reccnts", sValue);
- }
- }
- }
-
-
- //2. 불필요 Row 제거
- //그리드 정리!! - 빈 row 삭제
- for(var a=0; a < nRowCnt; a++)
- {
- var bBool = false;
- for(var b=1; b < nColCnt; b++)
- {
- var sValueNull = eval(dsNm).getColumn(a, b);
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- break;
- }
- }
-
- if(bBool == false)
- {
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno=='"+a+"'");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
- }
- }
-
- recitemDs.filter("");
-
- }
- else //일반 그리드
- {
-
- nRowCnt = eval(dsNm).getRowCount();
- nColCnt = eval(dsNm).colcount;
- //그리드 정리!! - 빈 row 삭제
- for(var a=0; a < nRowCnt; a++)
- {
- var bBool = false;
- for(var b=0; b < nColCnt; b++)
- {
-
- var sValueNull = eval(dsNm).getColumn(a, b);
- if(!utlf_isNull(sValueNull))
- {
- bBool= true;
- break;
-
- }
- }
-
- if(bBool == false)
- {
- if(utlf_isNull(mode)){
- eval(dsNm).deleteRow(a);
- }
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + a + "' ");
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- recitemDs.deleteRow(k);
- }
- recitemDs.filter("");
-
- }
-
- }
-
- // 위치 이동
- nRowCnt = eval(dsNm).getRowCount();
- nColCnt = eval(dsNm).colcount;
- // 1. recitem에 부족한 row 추가
- for(var c=0; c < nRowCnt; c++)
- {
- var nExistRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+c+"'");
-
- if(nExistRow < 0)
- {
-
- lf_addRecItemOne(dsNm, c, degnno, mode);
- }
- else
- {
-
- }
- }
-
- //2. recitem에 data set
- for(var i=0; i < nRowCnt; i++) // 행
- {
- if(i > 0)
- {
- recitemDs.filter(""); // GRD 헤더 삭제
- nFindRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"' && colno == '-1'");
-
- if(nFindRow >= 0)
- recitemDs.deleteRow(nFindRow);
- }
-
- for(var j=0; j<nColCnt; j++) // 열
- {
- ds_data_recitem.filter("");
- nFindRow = recitemDs.findRowExpr("rowno=='"+i+"' && colno=='"+j+"' && degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'");
-
- sValue = eval(dsNm).getColumn(i, j);
- if(!utlf_isNull(sValue))
- {
- recitemDs.setColumn(nFindRow, "reccnts", sValue);
- }
- else
- {
- recitemDs.deleteRow(nFindRow);
- }
- }
- }
-
- }
-
- recitemDs.keystring = "";
- //if( !utlf_isNull(vGridType) && (vGridType == "X" || vGridType == "T") ){
- // saveCSV 오류로 인해 특수그리드와 일반그리드 소팅 조건 변경.
- dsf_setTypeFormat(recitemDs, "degnitemno:BIGDECIMAL^rowno:BIGDECIMAL^colno:BIGDECIMAL");
- recitemDs.keystring = "S:+degnitemno+rowno+colno";
- //recitemDs.keystring = "S:+degnitemno";
- //}else{
- //dsf_setTypeFormat(recitemDs, "degnitemno:INT^rowno:INT^colno:INT");
- //recitemDs.keystring = "S:+degnitemno+rowno+colno";
- // recitemDs.keystring = "S:+degnitemno";
- //}
- recitemDs.loadCSV(recitemDs.saveCSV());
- }
-
- /****************************************************************************************
- * Function : fGetCCNGridRec
- * Description : 주호소 grid 정보를 recitem에 세팅
- * Argument : 01. dsNm : DS 명
- * : 02. degnno : grid degnitemno
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetCCNGridRec(dsNm, degnno, mode)
- {
- var LevRow = ds_data_formdegn.findRowExpr("degnitemno =="+degnno + "&& degnitemkind == 'CCN'");
- var degnLev = ds_data_formdegn.getColumn(LevRow, "degnitemlevlcd");
- var levLen = degnLev.length;
- var nFindRow;
- var sRectermcd, sRectermnm;
- var sChkMain, sChkRO, sChkSP;
- var arrColID = ["주호소명", "발생일"];
- var nRowCnt = eval(dsNm).getRowCount();
- var nColCnt = arrColID.length;
-
- var recitemDs:Dataset = new Dataset;
- if( !utlf_isNull( mode ) ){
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- recitemDs = this.objects["ds_data_recitem"];
- }
-
- for(var i=0; i<nRowCnt; i++)
- {
- if(i > 0)
- {
- recitemDs.filter("");
- nFindRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"' && colno == '-1'");
-
- if(nFindRow >= 0)
- recitemDs.deleteRow(nFindRow);
- }
-
- //var nExistRow = recitemDs.findRow("rowno", i);
- var nExistRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '"+i+"'");
- recitemDs.filter("");
-
- if(nExistRow < 0)
- {
- lf_addRecItemOne(dsNm, i, degnno, mode);
- }
-
- for(var j=0; j<nColCnt; j++)
- {
- if(arrColID[j]=="주호소명")
- {
- nFindRow = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno=='"+i+"'&&colno=='0'");
- sRectermcd = eval(dsNm).getColumn(i, "주호소코드");
- sRectermnm = eval(dsNm).getColumn(i, "주호소명");
- recitemDs.setColumn(nFindRow, "reccnts", eval(dsNm).getColumn(i, "Comments"));
- }
- else if(arrColID[j]=="발생일")
- {
- nFindRow = recitemDs.findRowExpr("degnitemno=='" +degnno+ "' && rowno=='"+i+"'&&colno=='1'");
- sRectermcd = "";
- sRectermnm = "";
- recitemDs.setColumn(nFindRow, "reccnts", eval(dsNm).getColumn(i, arrColID[j]) );
- }
- else
- continue;
-
- recitemDs.setColumn(nFindRow, "rectermcd", sRectermcd);
- recitemDs.setColumn(nFindRow, "rectermnm", sRectermnm);
-
- if(utlf_isNull(sRectermcd) && utlf_isNull(sRectermnm))
- {
- // var rNum = recitemDs.getColumn(nFindRow, "rowno");
- // var nDelRows = new Array();
- // nDelRows = objExt.findRows(ds_data_recitem, "rowno", rNum);
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '" + nFindRow + "' ");
- //for(var k = nDelRows.length-1; k >= 0; k--)
- for(var k = recitemDs.rowcount-1; k >= 0; k--)
- {
- //20150223 - 주석처리 테스트
- //ds_data_recitem.deleteRow(nDelRows[k]);
- }
- recitemDs.filter("");
- }
- }
- var sRowno = recitemDs.findRowExpr("degnitemno == '" +degnno+ "' && rowno > 0 && rowno == '" + i + "' && degnitemkind == 'GRD'");
- if(sRowno != -1) // GRD헤더 삭제
- {
- recitemDs.deleteRow(sRowno);
- }
- }
-
- //NULL data정리 -1
- recitemDs.filter("");
- recitemDs.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"'");
- var nRecRowCount = recitemDs.getRowCount();
-
- for(var a=nRecRowCount -1; a>=0; a--)
- {
- var sRectermcd = recitemDs.getColumn(a, "rectermcd");
- var sRectermnm = recitemDs.getColumn(a, "rectermnm");
- var sReccnts = recitemDs.getColumn(a, "reccnts");
-
- var sDegnitemnm = recitemDs.getColumn(a, "degnitemnm");
- var sColno = recitemDs.getColumn(a, "colno");
-
-
- if((utlf_isNull(sRectermcd) && utlf_isNull(sRectermnm) && utlf_isNull(sReccnts)) && ( sDegnitemnm != "C/C" ) && (!utlf_isNull(sColno) && sColno != -1))
- {
- recitemDs.deleteRow(a);
- }
- }
- recitemDs.filter("");
- var nCaseCount = recitemDs.getCaseCount("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '0' ");
- if( nCaseCount == 1 ){
- var nFindRow = recitemDs.findRowExpr("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnLev+"' && rowno == '0' && colno == '-1'");
- if(nFindRow >= 0)
- recitemDs.deleteRow(nFindRow);
- }
- }
-
- /****************************************************************************************
- * Function : lf_setButtonToggleByRecYn
- * Description : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * Argument : 01. pViewObj : button을 가지고 있는 화면이 열린 view
- * Argument : 02. obj : 확장버튼(이미지,가계도,추가기록)의 id
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function lf_setButtonToggleByRecYn(pViewObj, obj:Button)
- {
- utlf_addLog("***** lf_setButtonToggleByRecYn("+pViewObj+", "+obj+") *****");
- var buttonObj = null;
- if (utlf_isNull(pViewObj))
- pViewObj = this;
- var btnName = obj.name;
- var arr = btnName.split("_");
- var supperItemCd = arr[2];
- var recPath = "";
- if (arr[1] == "imge")
- {
- obj.class = "btn_picture_s";
- }
- /*
- else if (arr[1] == "fmy" || arr[1] == "etcrec" || arr[1] == "lastdiag")
- {
- obj.class = "btn5";
- }
- */
- else if (arr[1] == "fmy")
- {
- obj.class = "btn_Fmytree_s";
- }
- else if (arr[1] == "etcrec")
- {
- obj.class = "btn_Assrecord_s";
- }
- else if (arr[1] == "lastdiag")
- {
- obj.class = "btn5";
- }
- else
- return;
- }
- /****************************************************************************************
- * Function : lf_getComponentID
- * Description : 컴포넌트 Object를 설정한다.
- * Argument : 01. formdegnseq : form seq
- * : 02. sName : 대상이 되는 섹션의 아이템 코드
- * retrun type : Component object
- * Creator :
- ****************************************************************************************/
- function lf_getComponentID(formdegnseq, sName)
- {
- utlf_addLog("***** lf_getComponentID("+formdegnseq+", "+sName+") *****");
- var objComp;
- if(utlf_isNull(formdegnseq)){
- objComp = ComnFormObj.components["ivw_"+sName];
- if(!utlf_isNull(objComp)){
- objComp.visible = false;
- }
-
- objComp = ComnFormObj.components["cap_"+sName];
- if(!utlf_isNull(objComp)){
- objComp.visible = false;
- }
-
- objComp = ComnFormObj.components["tar_"+sName];
- if(!utlf_isNull(objComp)){
- objComp.visible = true;
- objComp.wordwrap = "word";
- }
- }else{
- objComp = ComnFormObj.components["tar_"+sName];
- if(!utlf_isNull(objComp)){
- objComp.visible = false;
- objComp.wordwrap = "word";
- }
-
- var sUrl;
- objComp = ComnFormObj.components["ivw_"+sName];
- if(!utlf_isNull(objComp)){
- sUrl = objComp.url;
- }
-
- if(utlf_isNull(sUrl)){
- if(!utlf_isNull(objComp)){
- objComp.visible = false;
- }
- objComp = ComnFormObj.components["cap_"+sName];
- }else{
- objComp = ComnFormObj.components["cap_"+sName];
- if(!utlf_isNull(objComp)){
- objComp.visible = false;
- }
- objComp = ComnFormObj.components["ivw_"+sName];
- }
-
- if(!utlf_isNull(objComp)){
- objComp.visible = true;
- }
- }
-
- // if(sName=="0001013001"&&utlf_isNull(objComp)){
- // objComp = ComnFormObj.components["cap_"+sName];
- // if(!utlf_isNull(objComp)){
- // objComp.visible = true;
- // }
- // }
- return objComp;
- }
- /****************************************************************************************
- * Function : lf_addGridRow
- * Description : Grid 행추가 이벤트
- * Argument : 01. obj
- * : 02. e
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_addGridRow(obj:Button, e:ClickEventInfo)
- {
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
- nRowno = eval(dsNm).addRow();
-
- if(nRowno > -1)
- lf_addRecItemOne(dsNm, nRowno, degnno);
- }
- /****************************************************************************************
- * Function : lf_removeGridRow
- * Description : Grid 행삭제 이벤트
- * Argument : 01. obj
- * : 02. e
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_removeGridRow(obj:Button, e:ClickEventInfo)
- {
- var degnno, grdNm, nRowno, sFstlevlcd, nRecRow;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
- nRowno = eval(dsNm).rowposition;
-
- if( eval(dsNm).deleteRow(nRowno) )
- {
- sFstlevlcd = ds_data_recitem.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+degnno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
-
- ds_data_recitem.filter("rowno=='"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--)
- {
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
-
- // rowno 재정렬
- ds_data_recitem.filter("rowno > '"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
- nRowCnt = ds_data_recitem.getRowCount();
- for(var j=0; j < nRowCnt; j++)
- {
- var nSelfRowno = ds_data_recitem.getColumn(j, "rowno");
- ds_data_recitem.setColumn(j, "rowno", nSelfRowno - 1);
- }
- ds_data_recitem.filter("");
- }
- }
- /****************************************************************************************
- * Function : lf_setGrdRecToDS
- * Description : 서식내의 grid값 변경시 recitem DS 값 세팅
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setGrdRecToDS(obj:Dataset, e:DSColChangeEventInfo)
- {
- utlf_addLog("***** if_setGrdRecToDS *****");
- var objName = obj.name;
- var objDegnNo = "";
-
- if(obj != undefined)
- {
- objDegnNo = objName.replace("ds_data_grd_", "");
- var nRow = ds_data_recitem.findRowExpr("degnitemkind == 'GSU' && degnitemno == '"+ objDegnNo +"' && rowno == '"+ e.row +"' && colno == '"+ e.col +"'");
- if(obj.getColID(e.col) == "code" || obj.getColID(e.col) == "status")
- ds_data_recitem.setColumn(nRow, "rectermcd", e.newvalue);
- else
- ds_data_recitem.setColumn(nRow, "rectermnm", e.newvalue);
- }
- }
- /****************************************************************************************
- * Function : if_setGrdRecToDS
- * Description : 서식내의 grid값 변경시 DGN의 경우 fCheckDiagMsKindFlag() 로직 동작 처리
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function if_setGrdRecToDS(obj:Dataset, e:DSColChangeEventInfo)
- {
- //utlf_addLog("***** if_setGrdRecToDS *****");
- var objName = obj.name;
- var objDegnNo = "";
- var objDGN = "";
- try{
- if(obj != undefined)
- {
- objDegnNo = objName.replace("ds_data_grd_", "");
- objDGN = this.components["DGN_"+objDegnNo];
-
- if( !utlf_isNull(objDGN) ){
- var nCnt = obj.rowcount;
- if( nCnt == 1 ) return;
-
- var nRowno = e.row;
- var nDiagmskindflag = obj.getColumn(nRowno, e.col);
- if( obj.getColID(e.col)== "주" && nDiagmskindflag == 1 ){
- obj.enableevent = false;
-
- var nDiagcd = obj.getColumn(nRowno, "진단코드");
- var nDiagnm = obj.getColumn(nRowno, "진단명");
- if( utlf_isNull(nDiagcd) || utlf_isNull(nDiagnm) ){
- obj.setColumn(nRowno, e.col, 0);
- obj.enableevent = true;
- return
- }
-
- for(var i=0; i<nCnt; i++)
- {
- var sChkMainFor = obj.getColumn(i, "주");
- if(sChkMainFor==1 && i!=nRowno)
- {
- obj.setColumn(i, "주" , 0);
- }
- }
-
- if(e.row != 0)
- {
- // 첫번째 행의 rowno를 선택된 행의 rowno로 바꾼다
- obj.moveRow(nRowno, 0);
- }
-
- obj.enableevent = true;
- }
-
- }
- }
- }catch(e){
- sysf_catchTrace(e);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 행추가.
- ****************************************************************************************/
- function lf_compAddRow(obj:Dataset)
- {
- var row = 0;
- var bRtn = true;
- var objParent = lv_rObjId.parent;
- //CarePlan
- if(obj.name == "ds_grid_grd_diaglist")
- {
- if(utlf_isNull(objParent["fAddRow"])) bRtn == false;
- else objParent.fAddRow();
- }
- //서식주호소
- if(obj.name == "ds_grid_grd_cclist")
- {
- if(utlf_isNull(objParent["fAddRow"])) bRtn == false;
- else objParent.fAddRow();
- }
-
- if(bRtn == false)
- {
- row = obj.addRow();
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 그리드 행삭제.
- ****************************************************************************************/
- function lf_compGrdDelRow(obj:Dataset)
- {
- var row = obj.rowposition;
- var bRtn = true;
- var objParent = lv_rObjId.parent;
- //CarePlan
- if(obj.name == "ds_grid_grd_diaglist")
- {
- if(utlf_isNull(objParent["fGrdDelRow"])) bRtn == false;
- else objParent.fGrdDelRow();
- }
- //서식주호소
- if(obj.name == "ds_grid_grd_cclist")
- {
- if(utlf_isNull(objParent["fGrdDelRow"])) bRtn == false;
- else objParent.fGrdDelRow();
- }
- if(bRtn == false)
- {
- obj.deleteRow(row);
- }
- }
- function fSetMtxSize(degnitemno, left, top, width, height)
- {
- utlf_addLog("***** MRF01200 fSetMtxSize("+degnitemno+", "+left+", "+top+", "+width+", "+height+") *****");
- //var grp = document.controls("grp_" + degnitemno);
- var grp = eval("grp_" + degnitemno);
- if(!utlf_isNull(grp))
- {
- grp.position2.left = left;
- grp.position2.top = top;
- grp.position2.width = width;
- grp.position2.height = height;
- }
- //var mtx = document.controls("MTX_" + degnitemno);
- var mtx = eval("MTX_" + degnitemno);
- if(!utlf_isNull(mtx))
- {
- mtx.position2.left = 0;
- mtx.position2.top = 0;
- mtx.position2.width = parseInt(width) - 5;
- mtx.position2.height = parseInt(height) - 2;
- mtx.style.border = "none";
-
- }
- }
- /****************************************************************************************
- * Function : lf_setChkVal
- * Description : checkbox 값 조합 및 itemvalue DS 매핑
- * Argument : 01. cmpInfo : checkboxList 컴포짓 ID, valuelist 그룹코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setChkVal(cmpInfo)
- {
- utlf_addLog("****** lf_setChkVal( " + cmpInfo + " ) *****");
- var chktext = "";
- var chkval = "";
- var chklabel = "";
- var arrTemp = new Array();
- arrTemp = cmpInfo.split(", ");
-
- var dsNM = "ds_data_V_"+arrTemp[1];
- var degnitemno = arrTemp[0].replace("CHK_","");
- // arrTemp[0] : 컴포짓 ID
- // arrTemp[1] : 벨류리스트 코드
- // eval : 스트링을 Object 형태로 만들어줌
- var objComp = getFocus(); // 포커스 아이템 obj 전달
-
- utlf_addLog("arrTemp[0] : " + arrTemp[0]);
- utlf_addLog("arrTemp[0] : " + eval(arrTemp[0]));
- for(var i = 0; i < eval(arrTemp[0]).components.length; i++)
- {
- var chkbox = eval(arrTemp[0]).components[i];
- var nRow = ds_data_recitem.findRowExpr("degnitemno == '"+ degnitemno +"' && colno == '"+ chkbox.colno +"' && degnitemkind == 'CHK'");
- if(utlf_isNull(chkval))
- {
- chkval = chkbox.value;
- }
- else
- {
- chkval += " " + chkbox.value;
- }
- if(nRow > -1)
- {
- chklabel = lf_getValist(dsNM, chkbox.value);
- ds_data_recitem.setColumn(nRow, "rectermcd", chkbox.value);
- ds_data_recitem.setColumn(nRow, "rectermnm", chklabel); // valuelist에서 해당 값에 해당하는 label 리턴
- }
- }
- ds_data_itemvalue.setColumn(0, arrTemp[0], chkval);
-
- if(!utlf_isNull(objComp) && objComp instanceof cp_reccheckList )
- lf_dsBind(objComp);
- }
- /****************************************************************************************
- * Function : lf_getValist
- * Description : composite 라벨 리턴
- * Argument : 01. dsNM : 대상 valuelist DS
- * : 01. chkval : checkboxList 컴포짓 ID, valueliat 그룹코드
- * retrun type : Obj : 오브젝트 형태
- * Creator :
- ****************************************************************************************/
- function lf_getValist(dsNM, chkval)
- {
- var label = "";
- if(chkval != "" && dsNM != "")
- {
- var nRow = eval(dsNM).findRowExpr("termbasecd == '"+ chkval +"'");
- label = eval(dsNM).getColumn(nRow, "valitemnm");
- }
-
- return label;
- }
- /****************************************************************************************
- * Function : lf_getValitempnt
- * Description : composite Valitempnt 리턴
- * Argument : 01. dsNM : 대상 valuelist DS
- * : 01. chkval : checkboxList 컴포짓 ID, valueliat 그룹코드
- * retrun type : Obj : 오브젝트 형태
- * Creator :
- ****************************************************************************************/
- function lf_getValitempnt(dsNM, chkval)
- {
- var valitempnt = "";
- if(chkval != "" && dsNM != "")
- {
- if(eval(dsNM).getColumnInfo("valitempnt") != null){
- var nRow = eval(dsNM).findRowExpr("termbasecd == '"+ chkval +"'");
- valitempnt = eval(dsNM).getColumn(nRow, "valitempnt");
- }
- }
-
- return valitempnt;
- }
- /****************************************************************************************
- * Function : lf_setRdoVal
- * Description : radio 값 조합 및 itemvalue DS 매핑
- * Argument : 01. cmpInfo : checkboxList 컴포짓 ID, valueliat 그룹코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setRdoVal(cmpInfo)
- {
- utlf_addLog("***** lf_setRdoVal("+cmpInfo+") *****");
- var arrTemp = new Array();
- arrTemp = cmpInfo.split(", ");
- var dsNM = "ds_data_V_"+arrTemp[1];
- var objComp = getFocus(); // 포커스 아이템 obj 전달
- var orgValue = ds_data_itemvalue.getColumn(0, arrTemp[0]);
- var degnitemno = arrTemp[0].replace("RDO_","");
- var nRow = ds_data_recitem.findRowExpr("degnitemno == '"+ degnitemno +"' && degnitemkind == 'RDO'");
-
- if(orgValue == getData())
- {
- setData("");
- ds_data_itemvalue.setColumn(0, arrTemp[0], "");
- ds_data_recitem.setColumn(nRow, "rectermnm", rdolabel);
- ds_data_recitem.setColumn(nRow, "rowno", "");
- }
- else
- {
- var rdolabel = lf_getValist(dsNM, getData());
- var nDegnitempnts = lf_getValitempnt(dsNM, getData());
- ds_data_itemvalue.setColumn(0, arrTemp[0], getData());
- ds_data_recitem.setColumn(nRow, "rectermnm", rdolabel);
-
- utlf_addLog("nRow : " + nRow + " || rectermnm : " + rdolabel);
- if( !utlf_isNull(nDegnitempnts) ){
- ds_data_recitem.setColumn(nRow, "rowno", nDegnitempnts);
- }
- }
- if(!utlf_isNull(objComp))
- lf_dsBind(objComp);
- }
- /****************************************************************************************
- * Function : lf_setSelCtrl
- * Description : RDO, CHK 컨트롤에 값 반영
- * Argument : 01. itemName : 컨트롤ID 명
- * Argument : 02. nVal : 세팅될 값
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setSelCtrl(itemName, nVal, objRecDS)
- {
- if(itemName.indexOf("EXTN") == -1)
- {
- for(var i = 0; i < eval(itemName).components.length; i++)
- {
- var ctrl = eval(itemName).components[i];
- var ctrlNm = ctrl.name;
- if(ctrlNm.indexOf("CHK") != -1)
- {
- var cnrlColno = ctrl.colno;
- var cnrlTrueValue = ctrl.truevalue;
- var degnitemno = itemName.replace("CHK_","");
- var arrTemp = new Array();
- var strtIndx = 0;
- if(!utlf_isNull(objRecDS)){
- var nRow = objRecDS.findRowExpr("degnitemno == '"+ degnitemno +"' && colno == '"+ ctrl.colno +"' && degnitemkind == 'CHK'", strtIndx);
- if(nRow != -1)
- {
- strtIndx = nRow;
- nVal = objRecDS.getColumn(nRow, "rectermcd");
- // 2017.07.20 CHK OBJECT CHECK
- if( nVal != cnrlTrueValue ){
- if( eval(itemName).objects["ds_checkList"] != null ){
- var nFindRow = eval(itemName).ds_checkList.findRow("val", nVal);
- if( nFindRow > -1 ){
- ctrl = eval(itemName).components[nFindRow];
- }
- }
- }
-
- ctrl.value = nVal;
- }
- }
- ctrl.value = nVal;
- }
- else
- {
- ctrl.value = nVal;
- }
- }
- if(fGetFormRec("status") == "C")
- //fReCalculate(eval(itemName)); // 산술식 적용
- }
- }
- /****************************************************************************************
- * Function : lf_setGrdDS
- * Description : GRD에 바인딩된 DS에 기록값 세팅
- * Argument : 01. GrdNm : 그리드 ID
- * : 02. ObjRecDS : 기록데이터가 있는 div
- * : 02. Obj : 해당 Obj
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setGrdDS(GrdNm, ObjRecDS, Obj:Div)
- {
- // degnitemkind == 'GSU' ADD
- ObjRecDS.ds_data_recitem.filter("degnitemkind == 'GRD' || degnitemkind == 'GSU'");
- var nRow = "";
- var nCol = "";
- var nReccnts = "";
- var nRectermcd = "";
- var dsNm = "ds_data_"+GrdNm.toLowerCase();
- // eval(Obj.name +"."+ dsNm).clearData();
- // if(eval(Obj.name +"."+ dsNm).addRow();
- for(i = 0; i < ObjRecDS.ds_data_recitem.rowcount; i++)
- {
- nRow = ObjRecDS.ds_data_recitem.getColumn(i, "rowno");
- nCol = ObjRecDS.ds_data_recitem.getColumn(i, "colno");
- nReccnts = ObjRecDS.ds_data_recitem.getColumn(i, "reccnts");
- nRectermcd = ObjRecDS.ds_data_recitem.getColumn(i, "rectermcd");
-
- if(nCol < 0 || nRow < 0)
- continue;
- if(nReccnts != "" && nReccnts != undefined)
- eval(Obj.name +"."+ dsNm).setColumn(toNumber(nRow), toNumber(nCol), nReccnts);
- else if(nRectermcd != "" && nRectermcd != undefined)
- eval(Obj.name +"."+ dsNm).setColumn(toNumber(nRow), toNumber(nCol), nRectermcd);
- }
- ObjRecDS.ds_data_recitem.filter("");
- }
- /////////////////////////////////////////////////////////
- //////////////////// EMRCommon ///////////////////////
- /////////////////////////////////////////////////////////
- /**********************************************************************************
- * Method Name : ITEMVAL
- * Description : 아이템 value 변수 초기화
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function ITEMVAL()
- {
- this.rectermcd = "";
- this.rectermnm = "";
- this.reccnts = "";
- this.recimge = "";
- }
- /**********************************************************************************
- * Method Name : PARAM
- * Description :
- * argument : 01. name
- * : 02. value
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function PARAM(name, value)
- {
- this.name = name;
- this.value = value;
- }
- /**********************************************************************************
- * Method Name : getStyleValue
- * Description : 컨트롤의 스타일 값 가져오기
- * argument : 01. attrs :
- * : 02. attrNm :
- * : 03. ctrltype:
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function getStyleValue(attrs, attrNm, ctrltype)
- {
- utlf_addLog("***** getStyleValue("+attrs+", "+attrNm+", "+ctrltype+") EMRCommon -> MMRCommon *****");
- if(!utlf_isNull(ctrltype))
- attrNm = ctrltype + "." + attrNm;
- var arrAttrs = attrs.split(";");
- for(var i = 0; i < arrAttrs.length; i++)
- {
- var arrAttr = arrAttrs[i].split(":");
- if(arrAttr.length == 0)
- continue;
- if(arrAttr[0] == attrNm)
- {
- return arrAttr[1];
- }
- }
- return "";
- }
- /**********************************************************************************
- * Method Name : clearData
- * Description : Data Clear
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 (lf_clearFormRec 로 통합 사용안함)
- **********************************************************************************/
- function lf_clearData()
- {
- utlf_addLog("***** lf_clearData() EMRCommon -> MMRCommon *****");
- // 특수서식은 temp recitem 이 없다.
- dsf_copyDsList(arrDsRecinfo, arrDsTempRecinfo, "replace", this, this);
- lf_setItemValueDS();
-
- // ds_data_itemvalue.clearData();
- // ds_data_itemvalue.addRow();
- dsf_clearDsList(arrDsExtnRecinfo, this);
- dsf_clearDsList(["ds_hidden_recitem"], this);
- clearImgeData();
- }
- /**********************************************************************************
- * Method Name : clearImgeData
- * Description : 이미지데이터를 clear한다
- * argument : 01. targetPath
- * : 02. appendMode
- * : 03. pmodel
- * : 04. pageInfo
- * : 05. mode
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 (lf_clearFormRec 로 통합 사용안함)
- **********************************************************************************/
- function clearImgeData()
- {
- utlf_addLog("***** clearImgeData() EMRCommon -> MMRCommon *****");
- var pageInfo = new PAGEINFO();
- var nodeListDs = this.objects["ds_data_recitem"];
-
- var nodeListDsCnt = nodeListDs == null ? 0 : nodeListDs.getCaseCount("degnitemkind == 'IMG'");
-
- // 공통서식인지 과별서식인지 구분
- var FormInfoNodeDs = this.objects["ds_data_formmast"];//instance1.selectNodes(pageInfo.formmastRef);
- var FormInfoNodeDsCnt = FormInfoNodeDs == null ? 0 : FormInfoNodeDs.rowcount;
-
- var isFormMain = "";
-
- if(FormInfoNodeDsCnt > 0)
- {
- //var formmastInfoNode = FormInfoNode.item(0);
-
- var formprogflag = FormInfoNodeDs.getColumn(i, "formprogflag");
- var formprognm = FormInfoNodeDs.getColumn(i, "formprognm");
- var formkind = FormInfoNodeDs.getColumn(i, "formkind");
-
- if(formprognm != "-" && formkind == "C" && formprogflag != "-")
- {
- isFormMain = true;
- }
- else
- {
- isFormMain = false;
- }
- }
-
- if( nodeListDsCnt > 0 )
- nodeListDs.filter("degnitemkind == 'IMG'");
- for(var i = 0; i < nodeListDsCnt; i++)
- {
- //var itemNode = nodeList.item(i);
- var degnitemno = nodeListDs.getColumn(i, "degnitemno");
- var degnitemcd = nodeListDs.getColumn(i, "degnitemcd");
- var degnitemlevlcd = nodeListDs.getColumn(i, "degnitemlevlcd");
-
- var formdegnRefDs = this.objects["ds_data_formdegn"];
- utlf_addLog(" @@@@@ formdegnRefDs : " + formdegnRefDs + " MMRCommon clearImageData @@@@@");
- var itemattrval = formdegnRefDs == null ? "" : formdegnRefDs.lookup("degnitemno", degnitemno, "itemattrval");
- var imgedit = getStyleValue(itemattrval, "imgedit");
-
- if(imgedit != "Y")
- continue;
-
- var degnattrval = formdegnRefDs.lookup("degnitemno", degnitemno, "degnattrval");
-
- var ctrlwidth = getStyleValue(degnattrval, "ctrl.width");
- var ctrlheight = getStyleValue(degnattrval, "ctrl.height");
-
- var ctrlid = "IMG_" + degnitemno;
- var ctrlObj = this.components["IMG_" + degnitemno];
- var strShape = ctrlObj.DeleteAllShape();
-
- var Viewmode = ctrlObj.GetViewMode();
-
- if(Viewmode != "1")
- {
- ctrlObj.SetViewMode(1);
- }
-
- if (!utlf_isNull(ctrlwidth)) // 2011-01-17 경북대 최원돈 예외사항 오류수정
- {
- ctrlObj.width = ctrlwidth;
- }
-
- if (!urlf_isNull(ctrlheight)) // 2011-01-17 경북대 최원돈 예외사항 오류수정
- {
- ctrlObj.height = ctrlheight;
- }
-
- var domain = sysf_getURLprefix();
-
- var imgurl = GetImgUrl(degnitemcd);
-
- var imgsrc = domain + imgurl;
-
- ctrlObj.LoadImage(imgsrc);
-
- }
-
- if( nodeListDsCnt > 0 )
- nodeListDs.filter("");
- }
- /**********************************************************************************
- * Method Name : getSaveData
- * Description : 저장할 기록정보를 가져온다
- * argument : 01. targetPath
- * : 02. appendMode
- * : 03. pmodel
- * : 04. pageInfo
- * : 05. mode
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
- **********************************************************************************/
- function getSaveData(targetPath, appendMode, pmodel, pageInfo, mode)
- {
- utlf_addLog("***** getSaveData("+targetPath+", "+appendMode+", "+pmodel+", "+pageInfo+", "+mode+") EMRCommon *****");
- if(utlf_isNull(mode))
- mode = "";
- if(mode == "all")
- getSaveDataAll(targetPath, appendMode, pmodel, pageInfo);
- else
- getSaveDataVal(targetPath, appendMode, pmodel, pageInfo);
- }
- /**********************************************************************************
- * Method Name : getSaveDataVal
- * Description : 저장할 기록정보를 모두 가져온다
- * argument : 01. targetPath
- * : 02. appendMode
- * : 03. pmodel
- * : 04. pageInfo
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
- **********************************************************************************/
- function getSaveDataAll(targetPath, appendMode, pmodel, pageInfo)
- {
- utlf_addLog("***** MMRCommon getSaveDataAll("+targetPath+", "+appendMode+", "+pmodel+", "+pageInfo+") EMRCommon*****");
- if(utlf_isNull(pageInfo))
- pageInfo = new PAGEINFO();
- if(utlf_isNull(pmodel))
- pmodel == this;
- dsf_clearDsList( pageInfo.savedInfoRef2 );
- utlf_addLog("model.makeValue(pageInfo.savedInfoRef2... 체크필요");
- // model.removeNodeset(pageInfo.savedInfoRef2);
- // model.makeValue(pageInfo.savedInfoRef2, "");
- var recItemRefDs = this.objects[pageInfo.recItemRef];
- var nodeListCnt = 0;
- if( !utlf_isNull(recItemRefDs) ){
- recItemRefDs.filter("degnitemkind != 'GRD' && degnitemkind != 'IMG'");
- nodeListCnt = recItemRefDs.rowcount;
- //temp
- dsf_create("tmp_recItemRefDs");
- tmp_recItemRefDs.copyDs(recItemRefDs, true);
- recItemRefDs.filter("");
- }
-
- //var nodeList = model.instances(0).selectNodes(pageInfo.recItemRef + "[degnitemkind != 'GRD' and degnitemkind != 'IMG']");
- for(var i = 0; i < nodeListCnt; i++)
- {
- var condition = "";
- //var itemsNode = nodeList.item(i);
- var degnitemnoNode = tmp_recItemRefDs.getColumn(i, "degnitemno");
- if(utlf_isNull(degnitemnoNode))
- continue;
- var rowCondition = "";
- if(utlf_isNull(condition))
- condition = "degnitemno == '" + degnitemnoNode + "'" + rowCondition;
- else
- condition += " || degnitemno == '" + degnitemnoNode + "'" + rowCondition;
- var supdegnitemno = (this.objects[gPrePath_formdegnRef]).lookup("degnitemno", degnitemnoNode, "supdegnitemno");
- if(!utlf_isNull(supdegnitemno))
- condition = getSaveDataParent(supdegnitemno, condition);
-
- if(!utlf_isNull(condition)){
- //copyNodeset(pageInfo.savedInfoItemRef2, gPrePath_recItemRef + condition + "]", "append", model, model);
- var savedInfoItemRef2Ds = this.objects[pageInfo.savedInfoItemRef2];
- var recItemRefDs = this.objects[gPrePath_recItemRef];
-
- if( utlf_isNull(savedInfoItemRef2Ds) ){
- dsf_createDs( pageInfo.savedInfoItemRef2 );
- dsf_copyColInfo( savedInfoItemRef2Ds, recItemRefDs );
- }
-
- recItemRefDs.filter( condition );
- savedInfoItemRef2Ds.appendData( recItemRefDs );
- recItemRefDs.filter( "" );
- }
- condAll += condition;
- }
- getCheckSaveData(pageInfo);
- if(!utlf_isNull(this.objects[pageInfo.savedInfoItemRef2]) && (this.objects[pageInfo.savedInfoItemRef2]).rowcount > 0)
- {
- if(!utlf_isNull(pageInfo.formCd))
- {
- var idx = getNodesetCnt(pmodel, targetPath) + 1;
- pmodel.makeValue(targetPath + "[" + idx + "]/instcd", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/rechistseq", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/recitemno", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/fstlevlitemcd", pageInfo.fstLevlItemCd);
- pmodel.makeValue(targetPath + "[" + idx + "]/formcd", pageInfo.formCd);
- pmodel.makeValue(targetPath + "[" + idx + "]/formdegnseq", pageInfo.formDegnSeq);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemno", pageInfo.degnItemNo);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemcd", pageInfo.degnItemCd);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemkind", pageInfo.degnitemkind);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemlevlno", pageInfo.degnitemlevlno);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemnm", pageInfo.degnitemnm);
- pmodel.makeValue(targetPath + "[" + idx + "]/rectermnm", pageInfo.rectermnm);
- pmodel.makeValue(targetPath + "[" + idx + "]/degnitemlevlcd", pageInfo.degnItemLevlCd);
- pmodel.makeValue(targetPath + "[" + idx + "]/rectermcd", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/recrefcd", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/recitemnm", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/reccnts", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/recimge", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/srcimge", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/rowno", "");
- pmodel.makeValue(targetPath + "[" + idx + "]/colno", "");
- }
- copyNodeset(targetPath, pageInfo.savedInfoItemRef2, appendMode, pmodel, model);
- }
- }
- /**********************************************************************************
- * Method Name : getSaveDataVal
- * Description : 저장할 기록정보 값을 가져온다
- * argument : 01. targetPath
- * : 02. appendMode
- * : 03. pmodel
- * : 04. pageInfo
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
- **********************************************************************************/
- function getSaveDataVal(targetPath, appendMode, pmodel, pageInfo)
- {
- utlf_addLog("***** getSaveDataVal("+targetPath+", "+appendMode+", "+pmodel.name+", "+pageInfo+") EMRCommon -> MMRCommon *****");
- utlf_addLog("***** 저장할 기록정보 값을 가져온다 ****");
- if(utlf_isNull(pageInfo))
- pageInfo = new PAGEINFO();
-
- if(utlf_isNull(pmodel))
- pmodel == this;
-
- //이미지ocx에 있는 annotation 정보 grep
- getImgeData();
-
- //그리드 데이타를 변형하기 위해 일단 main에서 hidden으로 옮긴다.
- utlf_addLog(" jw.choe 그리드 데이타셋 추가 체크 필요 MMRCommon ");
- dsf_clearDsList(["ds_hidden_savedinfo_recitem"], this); //
- // model.removeNodeset(pageInfo.savedInfoRef2);
- // model.makeValue(pageInfo.savedInfoRef2, "");
-
- if( pmodel.objects[targetPath] == null ){
- var objDs = new Dataset(targetPath);
- pmodel.addChild(targetPath, objDs);
- objDs.name = targetPath;
- }
-
-
- getGridSaveData(pageInfo);
-
- /////////////////////////////
- // 2010.02.08, 주희경 수정
- // 기본서식 기록 데이터가 없고 [추가기록, 이미지, 가계도, 확장서식]의 데이터가 있는경우 부분서식 타이틀 저장을 위해 체크 및 데이터 셋팅
- var expr = "!utlf_isNull(rectermcd) || !utlf_isNull(reccnts)";
- var etcrecItemRefDs = this.objects["ds_temp_etcrec_recitem"];
- var etcrecItemRefCnt = etcrecItemRefDs == null ? 0 : etcrecItemRefDs.getCaseCount(expr);
- //추가기록이 존재하면 기본서식 노드리스트의 헤더에 값을 셋팅
- if ( etcrecItemRefCnt > 0 )
- {
- etcrecItemRefDs.filter(expr);
- fSetFormRecItemHeader(pageInfo, etcrecItemRefDs, false);
- etcrecItemRefDs.filter("");
- //fSetFormRecItemHeader(pageInfo, etcrecNodeList, false);
- }
-
- var imgerecItemRefDs = this.objects["ds_temp_imgerec_recitem"];
- var imgerecItemRefCnt = imgerecItemRefDs == null ? 0 : imgerecItemRefDs.getCaseCount(expr);
- //이미지가 존재하면 기본서식 노드리스트의 헤더에 값을 셋팅
- if ( imgerecItemRefCnt > 0 )
- {
- imgerecItemRefDs.filter(expr);
- fSetFormRecItemHeader(pageInfo, imgerecItemRefDs, false);
- imgerecItemRefDs.filter("");
- //fSetFormRecItemHeader(pageInfo, imgrecNodeList, false);
- }
-
- var fmyrecItemRefDs = this.objects["ds_temp_fmyrec_recitem"];
- var fmyrecItemRefCnt = fmyrecItemRefDs == null ? 0 : fmyrecItemRefDs.getCaseCount(expr);
- //가계도가 존재하면 기본서식 노드리스트의 헤더에 값을 셋팅
- if ( fmyrecItemRefCnt > 0 )
- {
- fmyrecItemRefDs.filter(expr);
- fSetFormRecItemHeader(pageInfo, fmyrecItemRefDs, false);
- fmyrecItemRefDs.filter("");
- //fSetFormRecItemHeader(pageInfo, fmyrecNodeList, false);
- }
-
- var extnrecRefDs = this.objects["ds_hidden_extnformrec_recitem"];//pageInfo.extnrecRef
- var extnrecRefCnt = extnrecRefDs == null ? 0 : extnrecRefDs.getCaseCount(expr);
- //확장서식 데이터가 존재하면 기본서식 노드리스트의 헤더에 값을 셋팅
- if ( extnrecRefCnt > 0 )
- {
- extnrecRefDs.filter(expr);
- fSetFormRecItemHeader(pageInfo, extnrecRefDs, false);
- extnrecRefDs.filter("");
- //fSetFormRecItemHeader(pageInfo, extnecNodeList, false);
- }
- //
- /////////////////////////////////////////////
- // 그리드 이외의 아이템 노드리스트를 가져온다.
- //var nodeList = model.instances(0).selectNodes(pageInfo.recItemRef + "[(rectermcd != '' or reccnts != '') and degnitemkind != 'GRD' and degnitemkind != 'GSU']");
- ds_data_recitem.filter("(!utlf_isNull(rectermcd) || !utlf_isNull(reccnts)) && degnitemkind != 'GRD' && degnitemkind != 'GSU'");
- var nodeListCnt = ds_data_recitem.rowcount;
- if( nodeListCnt > 0 ){
- dsf_createDs("tmp_ds_data_recitem");
- tmp_ds_data_recitem.copyData(ds_data_recitem, true);
- }
- ds_data_recitem.filter("");
-
- //////////////////////////
- // 2010.02.08, 주희경 수정
- // 기본 서식의 타이틀에 셋팅한 데이터 원복
-
- //추가기록, 기본 서식의 타이틀에 셋팅한 데이터 원복
- if ( etcrecItemRefCnt > 0 )
- fSetFormRecItemHeader(pageInfo, etcrecItemRefDs, true);
-
- //이미지, 기본 서식의 타이틀에 셋팅한 데이터 원복
- if ( imgerecItemRefCnt > 0 )
- fSetFormRecItemHeader(pageInfo, imgerecItemRefDs, true);
-
- //가계도, 기본 서식의 타이틀에 셋팅한 데이터 원복
- if ( fmyrecItemRefCnt > 0 )
- fSetFormRecItemHeader(pageInfo, fmyrecItemRefDs, true);
-
- //확장서식, 기본 서식의 타이틀에 셋팅한 데이터 원복
- if ( extnrecRefCnt > 0 )
- fSetFormRecItemHeader(pageInfo, extnrecRefDs, true);
- //
- //////////////////////////////
- // grdClone은 <grid> 의 row 하나를 뜻함.
- for(var i = 0; i < nodeListCnt; i++)
- {
- var condition = "";
- var itemsNode = tmp_ds_data_recitem; //nodeList.item(i); // 값이 있는 단일 노드
- var degnitemnoNode = itemsNode.getColumn(i, "degnitemno"); // itemsNode의 degnitemno값
- var degnitemnmNode = itemsNode.getColumn(i, "degnitemnm"); // itemsNode의 degnitemnm값
- var degnitemkindNode = itemsNode.getColumn(i, "degnitemkind"); // itemsNode의 degnitemkind값
-
- var RecCntsNode = itemsNode.getColumn(i, "reccnts"); // itemsNode의 reccnts값
- var recimgeNode = itemsNode.getColumn(i, "recimge"); // itemsNode의 reccnts값
-
- var subrecrefcdNode = itemsNode.getColumn(i, "recrefcd");
- var subrecitemnmNode = itemsNode.getColumn(i, "recitemnm");
- var subtermcdNode = itemsNode.getColumn(i, "rectermcd");
- var subfstlevlcdNode = itemsNode.getColumn(i, "fstlevlitemcd");
- var sublevlcdNode = itemsNode.getColumn(i, "degnitemlevlcd");
- var sublevlnoNode = itemsNode.getColumn(i, "degnitemlevlno");
- utlf_addLog("@@@@@ reccnts : " + RecCntsNode + " MMRCommon " );
-
- if(itemsNode.getColumnInfo("degnitemno") == null)
- continue;
-
- if(degnitemkindNode == "IMG" && degnitemnmNode == "빈이미지" && !utlf_isNull(RecCntsNode))
- {
- var tmpMeta = removeXvgTag(RecCntsNode);
- if( utlf_isNull(tmpMeta))
- continue;
- }
-
- var rowCondition = "";
- var srchno = "'" + degnitemnoNode + "'";
- if(!utlf_isSearchString(condition, srchno) && !utlf_isSearchString(condAll, srchno))
- {
- if(utlf_isNull(condition))
- condition = "degnitemno == '" + degnitemnoNode + "'" + rowCondition;
- else
- condition += " || degnitemno == '" + degnitemnoNode + "'" + rowCondition;
- }
-
- var supdegnitemno = ds_data_formdegn.lookup("degnitemno", degnitemnoNode, "supdegnitemno");
- if(!utlf_isNull(supdegnitemno) && supdegnitemno != "0")
- condition = getSaveDataParent(supdegnitemno, condition);
-
- if(!utlf_isNull(condition))
- {
- //copyNodeset(pageInfo.savedInfoItemRef2, gPrePath_recItemRef + condition + "]", "append", model, model);
- ds_data_recitem.filter(condition);
- dsf_copyDsList(["ds_hidden_savedinfo_recitem"], ["ds_data_recitem"], "append", this, this);
- ds_data_recitem.filter("");
-
- // MSL-SSU 데이터 체크
- //var nodelist = model.instances(0).selectNodes(pageInfo.savedInfoItemRef2 + "[degnitemkind = 'MSL']");
- ds_hidden_savedinfo_recitem.filter("degnitemkind == 'MSL'");
- var oDs = ds_hidden_savedinfo_recitem;
- for(var idx = oDs.rowcount-1; idx > -1; idx--) // jw.choe 삭제는 뒷부분부터 처리되도록 수정.
- {
- //var recitemNode = nodelist.item(idx);
- var degnitemnm = oDs.getColumn(idx, "degnitemnm");
- var degnitemno = oDs.getColumn(idx, "degnitemno");
- var degnitemkind = oDs.getColumn(idx, "degnitemkind");
- var degnitemlevlcd = oDs.getColumn(idx, "degnitemlevlcd");
-
- var rectermcd = oDs.getColumn(idx, "rectermcd");
- var rectermnm = oDs.getColumn(idx, "rectermnm");
- var reccnts = oDs.getColumn(idx, "reccnts");
-
- var rowno = oDs.getColumn(idx, "rowno");
- var colno = oDs.getColumn(idx, "colno");
- if( !utlf_isNull(rectermcd))
- continue;
- else if(!utlf_isNull(reccnts))
- continue;
-
- oDs.deleteRow(idx);
- }
-
- ds_hidden_savedinfo_recitem.filter("");
- }
-
- if(utlf_isNull(condAll))
- condAll = condition;
- else
- {
- if(!utlf_isNull(condition))
- condAll += " || " + condition;
- }
- }
-
- if( nodeListCnt > 0 ){
- dsf_deleteDs("tmp_ds_data_recitem");
- }
-
- condAll = "";
- getCheckSaveData(pageInfo);
-
- var savedInfoItemRef2Ds = this.objects["ds_hidden_savedinfo_recitem"];
- var savedInfoItemRef2Cnt = savedInfoItemRef2Ds == null ? 0 : savedInfoItemRef2Ds.rowcount;
- if(savedInfoItemRef2Cnt > 0)
- {
- if(!utlf_isNull(pageInfo.formCd))
- {
- // pmodel : this, targetPath : ds_temp_sort_recitem
- var targetPathDs = pmodel.objects[targetPath];
- var idx = targetPathDs.rowcount;//getNodesetCnt(pmodel, targetPath) + 1;
-
- dsf_makeValue(targetPathDs, "instcd", "string", "", idx);
- dsf_makeValue(targetPathDs, "rechistseq", "BIGDECIMAL", "", idx);
- dsf_makeValue(targetPathDs, "recitemno", "INT", "", idx);
- dsf_makeValue(targetPathDs, "fstlevlitemcd", "string", pageInfo.fstLevlItemCd, idx);
- dsf_makeValue(targetPathDs, "formcd", "string", pageInfo.formCd, idx);
- dsf_makeValue(targetPathDs, "formdegnseq", "BIGDECIMAL", pageInfo.formDegnSeq, idx);
- dsf_makeValue(targetPathDs, "degnitemno", "INT", pageInfo.degnItemNo, idx);
- dsf_makeValue(targetPathDs, "degnitemcd", "string", pageInfo.degnItemCd, idx);
- dsf_makeValue(targetPathDs, "degnitemkind", "string", pageInfo.degnitemkind, idx);
- dsf_makeValue(targetPathDs, "degnitemlevlno", "string", pageInfo.degnitemlevlno, idx);
- dsf_makeValue(targetPathDs, "degnitemnm", "string", pageInfo.degnitemnm, idx);
- dsf_makeValue(targetPathDs, "rectermnm", "string", pageInfo.rectermnm, idx);
- dsf_makeValue(targetPathDs, "degnitemlevlcd", "string", pageInfo.degnItemLevlCd, idx);
- dsf_makeValue(targetPathDs, "rectermcd", "string", "", idx);
- dsf_makeValue(targetPathDs, "recrefcd", "string", "", idx);
- dsf_makeValue(targetPathDs, "recitemnm", "string", "", idx);
- dsf_makeValue(targetPathDs, "reccnts", "string", "", idx);
- dsf_makeValue(targetPathDs, "recimge", "BLOB", "", idx);
- dsf_makeValue(targetPathDs, "srcimge", "BLOB", "", idx);
- dsf_makeValue(targetPathDs, "rowno", "string", "", idx);
- dsf_makeValue(targetPathDs, "colno", "string", "", idx);
- dsf_makeValue(targetPathDs, "degnunitcd", "string", "", idx);
- }
-
- dsf_copyDsList([targetPath], ["ds_hidden_savedinfo_recitem"], appendMode, pmodel, this);
- }
- }
- /**********************************************************************************
- * Method Name : fSetFormRecItemHeader
- * Description : 기본서식 기록 데이터가 없고 [추가기록, 이미지, 가계도, 확장서식]의 데이터가 있는경우 부분서식 타이틀 저장을 위해 체크 및 데이터 셋팅
- * argument : 01. pageInfo
- * : 02. etcNodeList
- * : 03. resetDataFlag
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동 ( 추가기록, 이미지, 가계도, 확장서식 노드 삭제 및 lf_getRecDS 로 통합)
- **********************************************************************************/
- function fSetFormRecItemHeader(pageInfo, etcNodeList, resetDataFlag)
- {
- utlf_addLog("***** fSetFormRecItemHeader("+pageInfo+", "+etcNodeList+", "+resetDataFlag+") EMRCommon -> MMRCommon*****");
- var tmpivwObj = "";
- for(var i = 0; i < etcNodeList.rowcount; i++)
- {
- var etcfstlevlitemcd = etcNodeList.getColumn(i, "fstlevlitemcd");
- var etcreccnts = etcNodeList.getColumn(i, "reccnts").text;
- var fRow = ds_data_recitem.findRow("fstlevlitemcd", etcfstlevlitemcd);
- var orgreccnts = ds_data_recitem.getColumn(fRow, "reccnts");
- if (utlf_isNull(etcreccnts))
- etcreccnts = etcNodeList.getColumn(i, "rectermcd");
-
- tmpivwObj = this.components["ivw_" + etcfstlevlitemcd];
- if (!resetDataFlag)
- {
- if(!utlf_isNull(tmpivwObj) && !utlf_isNull(tmpivwObj.url))
- {
- var cnt = tmpivwObj.getFormRecItemExist();
-
- if (cnt < 1 && utlf_isNull(orgreccnts) && !utlf_isNull(etcreccnts))
- {
- ds_data_recitem.setColumn(fRow, "reccnts", etcreccnts);
- }
- }
- else
- {
- if (utlf_isNull(orgreccnts))
- {
- ds_data_recitem.setColumn(fRow, "reccnts", etcreccnts);
- }
- }
- }
- else
- {
- if(!utlf_isNull(tmpivwObj) && !utlf_isNull(tmpivwObj.url))
- {
- var cnt = tmpivwObj.getFormRecItemExist();
-
- if (cnt < 1 && orgreccnts == etcreccnts && !utlf_isNull(etcreccnts))
- {
- ds_data_recitem.setColumn(fRow, "reccnts", "");
- }
-
- }
- else
- {
- if (orgreccnts == etcreccnts)
- {
- ds_data_recitem.setColumn(fRow, "reccnts", "");
- }
- }
- }
- }
- }
- /**********************************************************************************
- * Method Name : selectComnuseMenu
- * Description : 상용구메뉴선택
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectComnuseMenu()
- {
- selectComnuse(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectCopyMenu
- * Description : 복사하기(메뉴)
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectCopyMenu()
- {
- selectCopy(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectCutMenu
- * Description : 잘라내기(메뉴)
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectCutMenu()
- {
- selectCut(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectSelAllMenu
- * Description : 모두선택(메뉴)
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectSelAllMenu()
- {
- selectSelAll(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectPasteMenu
- * Description : 붙여넣기(메뉴)
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectPasteMenu()
- {
- selectPaste(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectDeleteMenu
- * Description : 삭제(메뉴)
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectDeleteMenu()
- {
- selectDelete(this.frmf_getParameter("comn_srcFormCd"), this.frmf_getParameter("comn_degnitemno"), "C", this.frmf_getParameter("comn_ctrlid"));
- }
- /**********************************************************************************
- * Method Name : selectComnuse
- * Description : 상용구 선택
- * argument :
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectComnuse(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectComnuse("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
-
- // 타과인지 본인과인지 확인
- var deptcd = sysf_getUserInfo("dutplcecd");
-
- var obj = "";
- var popYn = lf_isPopForm();
- if( popYn )
- obj = opener;
- else
- obj = parent;
-
-
- var formmastDs = obj.objects["ds_data_formmast"];
- var supformcd = "";
- var supformkind = "";
-
- if(!utlf_isNull(formmastDs))
- {
- var formcdNode = formmastDs.getColumn(0, "formcd");
- var formprogflagNode = formmastDs.getColumn(0, "formprogflag");
- var formprognmNode = formmastDs.getColumn(0, "formprognm");
- var formdeptcdNode = formmastDs.getColumn(0, "formdeptcd");
- var srcformcdNode = formmastDs.getColumn(0, "srcformcd");
- var formkindNode = formmastDs.getColumn(0, "formkind");
-
-
- supformcd = formcdNode;
- supformkind = formkindNode;
- // formcd로 변경
- this.frmf_setParameter("comn_formprogflag", formprogflagNode);
-
- // 공통서식인지 확인
- if((formprogflagNode == "PROG" || formprogflagNode == "MAIN")
- && formkindNode == "C" && !utlf_isNull(formprognmNode))
- {
- srcFormCd = srcformcdNode;
- this.frmf_setParameter("deptflag", "U");
- }
- else if(formprogflagNode == "PROF") // 제증명
- {
- srcFormCd = srcformcdNode;
- this.frmf_setParameter("deptflag", "U");
- }
- else // 특수서식이면
- {
- // 특수 서식중에 타과 서식인지 사용자부서 서식인지 확인
- if(deptcd == formdeptcdNode)
- {
- this.frmf_setParameter("deptflag", "U");
- }
- else
- {
- this.frmf_setParameter("deptflag", "E");
- this.frmf_setParameter("otherdeptcd", formdeptcdNode);
- }
- }
- }
- //var fstlevlitemcd = ds_data_recitem.lookup("degnitemno", degnitemno, "fstlevlitemcd");
- this.frmf_setParameter("openmode", "select");
- this.frmf_setParameter("comn_chosflag", chosflag);
- //this.frmf_setParameter("comn_degnitemcd", fstlevlitemcd);
- this.frmf_setParameter("comn_degnitemcd", degnitemno);
- this.frmf_setParameter("comn_srcformcd", srcFormCd);
- //modalForComnUse("SPMRF04900",1 ,50, 50);
- frmf_modal("SPMRF04900", "SPMRF04900", "","","","","","","","","","","M");
-
- var comnuse = this.frmf_getParameter("comncnts"); //내용
- if(utlf_isNull(comnuse))
- return;
-
- //입력받은 내용 기입
- fSetComnUse(comnuse, degnitemno);
- this.frmf_setParameter("comncnts", ""); //내용
- this.frmf_setParameter("deptflag", "");
- this.frmf_setParameter("otherdeptcd", "");
- }
- /**********************************************************************************
- * Method Name : fSetComnUse
- * Description :
- * argument : 01. rtn : 상용구 data
- * return Type :
- * Creator :
- **********************************************************************************/
- function fSetComnUse(rtn, degnitemno)
- {
- utlf_addLog("***** fSetComnUse("+rtn+") ******");
- var obj = lv_rObjId;
-
-
- if(lv_rArrObjInfo.length > 0){
- var objParent = obj.parent;
- var objDs = objParent.objects[obj.binddataset];
-
- var nRow = lv_rArrObjInfo[0];
- var arrRtn = rtn.split("▩");
- var arrComnuse = arrRtn[0].split("▦");
- var nRtnCnt = arrComnuse.length;
- for(var i=0; i<nRtnCnt; i++){
- if(!utlf_isNull(arrComnuse[i])){
- objDs.setColumn(nRow, lv_rArrObjInfo[1], arrComnuse[i]);
- if((nRow+1)==objDs.getRowCount()){
- nRow = objDs.addRow();
- }
- }
- }
- }else{
- var arrRtn = rtn.split("▩");
-
- var selidx = obj.getSelect();
- var txtSelPos = selidx[0];
- var SetEndCursorPos = txtSelPos;
- var curText = utlf_transNullToEmpty(obj.value);
- var curTextBefore = curText.substr(0, txtSelPos).setReplaceWord("\r\n", "\n");
- curTextBefore = curTextBefore.setReplaceWord("\n", "\r\n");
- var curTextAfter = curText.substr(txtSelPos, curText.length).setReplaceWord("\r\n", "\n");
- curTextAfter = curTextAfter.setReplaceWord("\n", "\r\n");
- arrComnObj = new Array();
-
- var tarObj = null;
- var tarRecitemDs = this.objects["ds_data_recitem"];
- if( this.name == "ivw_base"){
- tarObj = parent;
- }else{
- tarObj = parent.parent.parent;
- }
-
- var formprogflag = this.frmf_getParameter("comn_formprogflag");
- //var formprogflag = tarObj.ds_data_formmast.getColumn(0, "formprogflag");
- utlf_addLog("curTextBefore : " + curTextBefore + " || curTextAfter : " + curTextAfter );
- utlf_addLog("this.name : " + this.name + " || obj.name : " + obj.name + " || formprogflag : " + formprogflag );
- utlf_addLog("rtn : " + rtn);
- frmf_getComnUse(tarObj, 0);
-
- for(var i=0; i<arrRtn.length -1; i++){
- //obj 초기화
- obj = lv_rObjId;
- tarRecitemDs = this.objects["ds_data_recitem"];
-
- var arrComnuse = arrRtn[i].split("▦");
- var nCnt = arrComnuse.length;
- //var sComnuse = arrComnuse[1]+"\n";
- var sComnuse = utlf_transNullToEmpty(arrComnuse[1]).setReplaceWord("\r\n", "\n");
- sComnuse = sComnuse.setReplaceWord("\n", "\r\n");
- var sDegnitemcd = arrComnuse[0];
- var sFstlevlitemcd = degnitemno;
- //sysf_trace("degnitemno : " + degnitemno + " || sDegnitemcd : " + sDegnitemcd + " || sFstlevlitemcd : " + sFstlevlitemcd);
- var objNm = obj.name;
-
- if( formprogflag == "PROG" || formprogflag == "MAIN" ){
- if( objNm.indexOf(sDegnitemcd) == -1 ){
- for(var j=0; j<arrComnObj.length; j++){
- var tmpComnuse = arrComnObj[j][1];
- if( tmpComnuse.indexOf("tar_") > -1
- && tmpComnuse.indexOf(sDegnitemcd) > -1
- && (!utlf_isNull(gMaxSectionID) || arrComnObj[j][0].visible == true)
- && arrComnObj[j][0].enable == true ){
- obj = arrComnObj[j][0];
- break;
- }
- }
- }
- }else{
- if( tarObj.isValidObject("ds_data_unitformmast") == true ){
- var nFindRow = tarObj.ds_data_unitformmast.findRow("orgsupdegnitemcd", sDegnitemcd);
- if( nFindRow > -1 ){
- // 부모 찾기
- for(var j=0; j<arrComnObj.length; j++){
- var sTmpIvwNm = "ivw_"+sDegnitemcd;
- //var sTmpTarNm = "tar_"+sDegnitemcd;//|| tmpComnuse == sTmpTarNm
- var tmpComnuse = arrComnObj[j][1];
- if( tmpComnuse == sTmpIvwNm && arrComnObj[j][0].visible == true && arrComnObj[j][0].enable == true ){
- var ivwRecitemDs = arrComnObj[j][0].objects["ds_data_recitem"];
- if( ivwRecitemDs != null ){
- var nFormcd = ivwRecitemDs.getColumn(0, "formcd");
- if( nFormcd == "0000000005" || ivwRecitemDs.findRowExpr("fstlevlitemcd == '"+sDegnitemcd+"' && degnitemkind == 'MTX'") > -1 ){
- tarRecitemDs = arrComnObj[j][0].objects["ds_data_recitem"];
- }
- }
- }
- }
- }
- }
- var nFindRow = tarRecitemDs.findRowExpr("fstlevlitemcd == '"+sDegnitemcd+"' && degnitemkind == 'MTX'");
- var nFormcd = tarRecitemDs.getColumn(0, "formcd");
- var sTmpDegnitemno = tarRecitemDs.getColumn(nFindRow, "degnitemno");
- if( nFormcd == "0000000005" ) sTmpDegnitemno = "1";
- utlf_addLog("sTmpDegnitemno : " + sTmpDegnitemno);
- if( !utlf_isNull(sTmpDegnitemno) ){
- var sTmpNm = "MTX_" + sTmpDegnitemno;
- // if( objNm != sTmpNm ){
- for(var j=0; j<arrComnObj.length; j++){
- var tmpComnuse = arrComnObj[j][1];
- utlf_addLog("arrComnObj[j][2] : " + arrComnObj[j][2] + " || tarObj.name : " + tarObj.name);
- if( tmpComnuse == sTmpNm
- && !utlf_isNull(arrComnObj[j][2])
- && (arrComnObj[j][2].indexOf(sDegnitemcd) > -1 || arrComnObj[j][2] == "ivw_base")
- && arrComnObj[j][0].visible == true && arrComnObj[j][0].enable == true ){
- obj = arrComnObj[j][0];
- break;
- }
- }
- // }
- }
-
- }
-
- if(utlf_isNull(obj.value)){
- obj.value = sComnuse;
- }else{
- if( sFstlevlitemcd == sDegnitemcd ){
- obj.value = curTextBefore + sComnuse + curTextAfter;
- SetEndCursorPos += sComnuse.length;
- }else{
- obj.value += "\n" + sComnuse;
- }
- }
- obj.setCaretPos(SetEndCursorPos);
-
- fComnFormMtxChanged(obj);
-
-
- }
- }
- }
- var arrComnObj;
- function frmf_getComnUse(obj, seq)
- {
- var sType;
- for(var i = 0 ; i < obj.components.length; i++ )
- {
- sType = obj.components[i].toString().toUpperCase();
-
- switch(sType) {
- case "[OBJECT TEXTAREA]":
- case "[OBJECT MASKEDIT]":
- case "[OBJECT TABPAGE]":
- case "[OBJECT DIV]":
- break;
- default:
- continue;
- break;
- }
-
- arrComnObj[seq] = new Array(3);
- arrComnObj[seq][0] = obj.components[i];
- arrComnObj[seq][1] = obj.components[i].name;
- if( !utlf_isNull(obj.components[i].parent) )
- arrComnObj[seq][2] = obj.components[i].parent.name;
- utlf_addLog("obj.components[i].name : " + obj.components[i].name );
- ++seq;
- if (obj.components[i].components)
- {
- switch(sType) {
- case "[OBJECT TABPAGE]":
- case "[OBJECT DIV]":
- //if(utlf_isNull(obj.components[i].url == true)) seq = frmf_getComnUse(obj.components[i], seq);
- seq = frmf_getComnUse(obj.components[i], seq);
- break;
- }
- }
- }
-
- return seq;
- }
- /**********************************************************************************
- * Method Name : selectCopy
- * Description : 복사하기
- * argument : 01. srcFormcd
- * : 02. degnitemnm
- * : 03. chosflag
- * : 04. ctrlid
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectCopy(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectCopy("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
- var obj = lv_rObjId;
- system.setClipboard("CF_TEXT", obj.getSelectedText());
- }
- /**********************************************************************************
- * Method Name : selectCut
- * Description : 잘라내기
- * argument : 01. srcFormcd
- * : 02. degnitemnm
- * : 03. chosflag
- * : 04. ctrlid
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectCut(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectCut("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
- var obj = lv_rObjId;
- system.setClipboard("CF_TEXT", obj.getSelectedText());
- obj.setSelectedText("");
- fComnFormMtxChanged(obj);
- }
- /**********************************************************************************
- * Method Name : selectDelete
- * Description : 삭제
- * argument : 01. srcFormcd
- * : 02. degnitemnm
- * : 03. chosflag
- * : 04. ctrlid
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectDelete(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectDelete("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
- var obj = lv_rObjId;
- obj.setSelectedText("");
- fComnFormMtxChanged(obj);
- }
- /**********************************************************************************
- * Method Name : selectSelAll
- * Description : 모두선택
- * argument : 01. srcFormcd
- * : 02. degnitemnm
- * : 03. chosflag
- * : 04. ctrlid
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectSelAll(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectSelAll("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
- var obj = lv_rObjId;
- obj.setSelect(0, -1);
- /*
- if(ctrlid == null)
- ctrlid = "MTX_" + degnitemno;
- var ctrl = document.controls(ctrlid);
- ctrl.selBegin = 0;
- ctrl.selEnd = (ctrl.currentText).length;
- */
- }
- /**********************************************************************************
- * Method Name : selectPaste
- * Description : 붙여넣기
- * argument : 01. srcFormcd
- * : 02. degnitemnm
- * : 03. chosflag
- * : 04. ctrlid
- * return Type :
- * Creator : 서식관련 MMRCommon으로 이동
- **********************************************************************************/
- function selectPaste(srcFormCd, degnitemno, chosflag, ctrlid)
- {
- utlf_addLog("***** selectPaste("+srcFormCd+", "+degnitemno+", "+chosflag+", "+ctrlid+") *****");
- var obj = lv_rObjId;
-
- var selidx = obj.getSelect();
- var curText = utlf_transNullToEmpty(obj.value);
- var curTextBefore = curText.substr(0, selidx[0]);
- var curTextAfter = curText.substr(selidx[1], curText.length);
- var comncnts = escape(system.getClipboard("CF_TEXT"));
- if( !utlf_isNull(comncnts) ){
- comncnts = comncnts.setReplaceWord("%0D%0A", "%0A");
- var tmpVal = curTextBefore.setReplaceWord("\r\n", "\n") + unescape(comncnts) + curTextAfter.setReplaceWord("\r\n", "\n");
- tmpVal = tmpVal.setReplaceWord("\n", "\r\n");
- obj.value = tmpVal;
- obj.setCaretPos(selidx[0]);
- fComnFormMtxChanged(obj);
- }
- }
- /****************************************************************************************
- * Function : getFormRecItemExist
- * Description : 기록아이템 값을 가져온다
- * Argument : 01. :
- * retrun type :
- * Creator : 서식관련 MMRCommon으로 이동
- ****************************************************************************************/
- function getFormRecItemExist()
- {
- utlf_addLog("***** getFormRecItemExist() 기록아이템값 조회 EMRCommon -> MMRCommon *****")
- var iNodeCnt = 0;
-
- var iNodeCnt = ds_data_recitem.getCaseCount("!utlf_isNull(reccnts) || !utlf_isNull(rectermcd) || !utlf_isNull(rectermnm)");
-
- return iNodeCnt;
- }
- /****************************************************************************************
- * Function : dispOnLoadComplete
- * Description : 부모 화면으로 onloadcomplete 이벤트를 dispatch
- * Argument : 01. curformtype : 로딩이 완료된 서식의 종류 (COMN_FORM/UNIT_FORM/GENL_FORM)
- * 02. formcd : iviewer에 로딩된 서식의 코드
- * retrun type :
- * Creator : 서식관련 MMRCommon으로 이동
- ****************************************************************************************/
- function dispOnLoadComplete(curformtype, formcd)
- {
- utlf_addLog("***** dispOnLoadComplete("+curformtype+", "+formcd+") EMRCommon -> MMRCommon*****");
- var oParent = null;
- var Obj = lf_getObj(this);
- if( Obj.name == "ivw_base" ){
- oParent = parent;
- }else if( Obj.name == "ivw_loader" ){
- oParent = parent;
- }else{
- oParent = parent.parent;
- }
-
- if(utlf_isNull(oParent))
- return;
- oParent.frmf_setParameter("loadstatus", curformtype);
- oParent.frmf_setParameter("loadformcd", formcd);
- oParent.lf_onloadcomplete();
-
- }
- /****************************************************************************************
- * Function : setFstLevlItemCd
- * Description : 부분서식의 아이템에 부분서식 상위코드를 세팅
- * Argument : 01. ivwObj : 최상위 아이템 코드를 세팅할 iviewer 객체
- * 02. formcd : iviewer에 로딩된 서식의 코드
- * retrun type :
- * Creator : 서식관련 MMRCommon으로 이동(사용안함)
- ****************************************************************************************/
- function setFstLevlItemCd(ivwObj, formcd)
- {
- utlf_addLog("***** setFstLevlItemCd("+ivwObj+", "+formcd+") *****");
- var fRow = ds_data_unitformmast.findRowExpr("formcd=='" + formcd + "' && loaded != 'true'");
- var orgsupdegnitemno = ds_data_unitformmast.getColumn(fRow, "orgsupdegnitemno");
-
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", orgsupdegnitemno, "degnitemlevlcd");
- var fstLevlBaseItemCd = degnitemlevlcd.substr(0, degnitemlevlcd.indexOf(".") >= 0 ? degnitemlevlcd.indexOf(".") : degnitemlevlcd.length);
- var fstLevlItemCd = ds_data_formdegn.lookup("degnitemlevlcd", fstLevlBaseItemCd, "degnitemcd");
-
- if( ivwObj.isValidObject("ds_data_recitem") ){
- var nodeList = ivwObj.ds_data_recitem;
- for(var i = 0; i < nodeList.rowcount; i++)
- {
- var recitemNode = nodeList;
-
- if(recitemNode.getColumnInfo("fstlevlitemcd") == null)
- continue;
-
- if(recitemNode.getColumnInfo("degnunitcd") == null)
- {
- recitemNode.addColumn("degnunitcd", "string");
- }
-
- recitemNode.setColumn(i, "fstlevlitemcd", fstLevlItemCd);
- recitemNode.setColumn(i, "degnitemlevlcd", fstLevlItemCd.substr(0, 7) + "." + recitemNode.getColumn(i, "degnitemlevlcd"));
- recitemNode.setColumn(i, "degnitemlevlno", parseInt(recitemNode.getColumn(i, "degnitemlevlno")) + 1)
-
- }
- }
-
- var tempnodeList = ivwObj.objects["ds_temp_recitem"];
- var tempnodeListCnt = 0;
- if( tempnodeList != null ) tempnodeListCnt = tempnodeList.rowcount;
- if( ivwObj.isValidObject("ds_temp_recitem") ){
- var tempnodeList = ivwObj.ds_temp_recitem;
- for(var i = 0; i < tempnodeListCnt; i++)
- {
- var recitemNode = tempnodeList;
- //var fstlevlitemcdNode = recitemNode.selectSingleNode("fstlevlitemcd");
-
- if(recitemNode.getColumnInfo("fstlevlitemcd") == null)
- continue;
-
- if(recitemNode.getColumnInfo("degnunitcd") == null)
- {
- recitemNode.addColumn("degnunitcd", "string");
- }
-
- recitemNode.setColumn(i, "fstlevlitemcd", fstLevlItemCd);
- recitemNode.setColumn(i, "degnitemlevlcd", fstLevlItemCd.substr(0, 7) + "." + recitemNode.getColumn(i, "degnitemlevlcd"));
- recitemNode.setColumn(i, "degnitemlevlno", parseInt(recitemNode.getColumn(i, "degnitemlevlno")) + 1);
- }
- }
- }
- /****************************************************************************************
- * Function : setFstLevlItemCdOnUnitForm
- * Description : 부분서식의 아이템에 부분서식 상위코드를 세팅
- * 동일한 부분서식이 두개이상일때 문제점이 발견되어 보완함.
- * Argument : 01. ivwObj : 최상위 아이템 코드를 세팅할 iviewer 객체
- * 02. orgSupDegnItemNo
- * retrun type :
- * Creator : 서식관련 MMRCommon으로 이동(사용안함)
- ****************************************************************************************/
- function setFstLevlItemCdOnUnitForm(ivwObj, orgSupDegnItemNo)
- {
- utlf_addLog("***** setFstLevlItemCdOnUnitForm("+ivwObj+", "+orgSupDegnItemNo+") EMRCommon -> MMRCommon 부분서식의 아이템에 부분서식 상위코드를 세팅*****");
- //var EMR_formdegnRefDs = this.objects[gPageInfo_EMR.formdegnRef];
- var degnitemlevlcd = ds_data_formdegn.lookup("degnitemno", orgSupDegnItemNo, "degnitemlevlcd");
- var fstLevlBaseItemCd = degnitemlevlcd.substr(0, degnitemlevlcd.indexOf(".") >= 0 ? degnitemlevlcd.indexOf(".") : degnitemlevlcd.length);
- var fstLevlItemCd = ds_data_formdegn.lookup("degnitemlevlcd", fstLevlBaseItemCd, "degnitemcd");
-
- var nodeList = ivwObj.objects["ds_data_recitem"];
- var nodeListCnt = 0;
- if( nodeList != null ) nodeListCnt = nodeList.rowcount;
-
- for(var i = 0; i < nodeListCnt; i++)
- {
- var recitemNode = nodeList;
-
- if(recitemNode.getColumnInfo("fstlevlitemcd") == null)
- continue;
-
- if(recitemNode.getColumnInfo("degnunitcd") == null)
- {
- recitemNode.addColumn("degnunitcd", "string");
- }
-
- recitemNode.setColumn(i, "fstlevlitemcd", fstLevlItemCd);
- recitemNode.setColumn(i, "degnitemlevlcd", fstLevlItemCd.substr(0, 7) + "." + recitemNode.getColumn(i, "degnitemlevlcd"));
- recitemNode.setColumn(i, "degnitemlevlno", parseInt(recitemNode.getColumn(i, "degnitemlevlno")) + 1)
- }
-
- var tempnodeList = ivwObj.objects["ds_temp_recitem"];//ivwObj.objects[gPageInfo_EMR.initrecItemRef];
- var tempnodeListCnt = 0;
- if( tempnodeList != null ) tempnodeListCnt = tempnodeList.rowcount;
-
- for(var i = 0; i < tempnodeListCnt; i++)
- {
- var recitemNode = tempnodeList;
- //var fstlevlitemcdNode = recitemNode.selectSingleNode("fstlevlitemcd");
-
- if(recitemNode.getColumnInfo("fstlevlitemcd") == null)
- continue;
-
- if(recitemNode.getColumnInfo("degnunitcd") == null)
- {
- recitemNode.addColumn("degnunitcd", "string");
- }
-
- recitemNode.setColumn(i, "fstlevlitemcd", fstLevlItemCd);
- recitemNode.setColumn(i, "degnitemlevlcd", fstLevlItemCd.substr(0, 7) + "." + recitemNode.getColumn(i, "degnitemlevlcd"));
- recitemNode.setColumn(i, "degnitemlevlno", parseInt(recitemNode.getColumn(i, "degnitemlevlno")) + 1);
- }
- }
- /****************************************************************************************
- * Function : lf_AllLoadUnitFormExpand
- * Description : 부분 서식 전체 로드, 펼치기.
- * Argument : 01. gItemCds : 대상이 되는 섹션의 아이템 코드
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- var gAllTimer = true;
- function lf_AllLoadUnitFormExpand(gItemCds)
- {
- var objForm = this.getOwnerFrame();
-
- // 부분서식을 불러온다.
- lf_setAllLoadUnitForm(gItemCds, "ALL");
- // lf_expandAllSection(gItemCds, true);
- if(gAllTimer){
- var nEvent = objForm.form.ontimer.addHandler(UnitForm_ontimer);
- objForm.form.setTimer(1, 500);
- }else{
- // 불러온 부분서식으로 Div Max Resize
- lf_expandAllSection(gItemCds, true);
- }
-
- }
- /****************************************************************************************
- * Function : UnitForm_ontimer
- * Description : Div에 Url을 로딩한후 Div Expand
- * Argument : 01. obj : 이벤트 발생 컨트롤
- * : 02. e : TimerEventInfo
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function UnitForm_ontimer(obj:Form, e:TimerEventInfo)
- {
- try {
- var objForm = this.getOwnerFrame();
- var sEventId = e.timerid;
- switch(sEventId)
- {
- case 1: // All Expand
- if(!utlf_isNull(objForm)){
- objForm.form.killTimer(1);
- }
- lf_expandAllSection(gItemCds, true);
- gAllTimer = false;
- break;
-
- case 2: // Single Expand
- if(!utlf_isNull(objForm)){
- objForm.form.killTimer(2);
- }
- lf_expandSection(gItemCds, gObjItem);
- break;
- }
-
- if(!utlf_isNull(objForm)){
- objForm.form.ontimer.removeHandler(UnitForm_ontimer);
- }
- }catch(e){
- return;
- }
- }
- /****************************************************************************************
- * Function : lf_expandAllSection
- * Description : Section영역 최대화 ( <-- SetMaxSizeSection)
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * : 02. bMaxSize : 부분서식 최대화 여부.
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function lf_expandAllSection(itemCds, bMaxSize)
- {
- ComnFormObj.enableredraw = false;
-
- var ctrl;
- var nBottomSize, nToggleSize, sAnchor;
- var formdegnseq, unitformcd, nRow;
- var nCompCnt = itemCds.length;
- for(var i=0; i<nCompCnt; i++){
- nRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
- unitformcd = ds_data_unitformmast.getColumn( nRow, "formcd");
- formdegnseq = ds_data_unitformmast.getColumn( nRow, "formdegnseq");
- ctrl = lf_getComponentID(formdegnseq, itemCds[i]);
- /*
- // 부분서식 기본 사이즈
- gMinBottomSize = gItemSize[i];
-
- // 해당 섹션 이벤트
- nBottomSize = bMaxSize?lf_getBottomSize(ctrl):gMinBottomSize;
-
- if(!utlf_isNull(ctrl))
- {
- ctrl.anchor = "";
- lf_setComponentResize(itemCds, i, nBottomSize);
- ctrl.anchor = "left top right";
- }
- */
- if(ctrl instanceof Div){
- ctrl.resetScroll();
- }
- }
- ComnFormObj.vscrollbar.pos = 0;
- ComnFormObj.resetScroll();
- ComnFormObj.enableredraw = true;
- }
- /****************************************************************************************
- * Function : lf_expandSection
- * Description : Section영역 최대화 ( <-- SetMaxSizeSection)
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * : 02. obj : 이벤트 발생 컨트롤
- * retrun type :
- * Creator :
- ****************************************************************************************/
- // Div, TextArea Min Size
- var gMinBottomSize;
- function lf_expandSection(itemCds, obj:Static)
- {
- this.enableredraw = false;
-
- var ctrlID = obj;
- var nVscrollPos = ctrlID.position.top;
- var itemcd = ctrlID.name.replace("lbl_", "");
-
- var ctrl;
- var nBottomSize, nToggleSize, sAnchor;
- var formdegnseq, unitformcd, nRow;
- var nCompCnt = itemCds.length;
- for(var i=0; i<nCompCnt; i++)
- {
- nRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
- unitformcd = ds_data_unitformmast.getColumn( nRow, "formcd");
- formdegnseq = ds_data_unitformmast.getColumn( nRow, "formdegnseq");
- ctrl = lf_getComponentID(formdegnseq, itemCds[i]);
-
- /*
- // 부분서식 기본 사이즈
- gMinBottomSize = gItemSize[i];
-
- // 해당 섹션 이벤트
- nBottomSize = lf_getBottomSize(ctrl);
- nToggleSize = lf_getToggleSize(ctrl);
- if(itemcd==itemCds[i])
- {
- if(!g_nBtn)
- {
- if(nBottomSize==nToggleSize||gMinBottomSize==nBottomSize){
- nBottomSize = gMinBottomSize;
- }
- }
- g_nBtn = false;
- }
- else
- {
- nBottomSize = nToggleSize;
- }
-
- if(!utlf_isNull(ctrl))
- {
- ctrl.anchor = "";
- lf_setComponentResize(itemCds, i, nBottomSize);
- ctrl.anchor = "left top right";
- }
- */
- if(ctrl instanceof Div)
- {
- ctrl.resetScroll();
- // ctrl.position.botton += 5;
- }
-
- }
- ComnFormObj.resetScroll();
-
- this.enableredraw = true;
- }
- /****************************************************************************************
- * Function : lf_setAllLoadUnitForm
- * Description : 전체 또는 저장된 기록값이 있는 부분서식 로드
- * Argument : 01. itemCds : 대상이 되는 섹션의 아이템 코드
- * : 02. AllYn : 전체 또는 기록된 서식만 오픈여부
- * retrun type : N/A
- * Creator :
- ****************************************************************************************/
- function lf_setAllLoadUnitForm(itemCds, AllYn)
- {
- var nCompCnt = itemCds.length;
- if(AllYn != "ALL")
- {
- for(var i=0; i < ds_data_unitformmast.rowcount; i++)
- {
- var formcd = ds_data_unitformmast.getColumn(i, "formcd");
- var nRow = parent.ds_data_recitem.findRow("formcd", formcd); // 기록데이터가 있는 부분서식들만 펼치기
- if(nRow != -1)
- {
- var formdegnseq = ds_data_unitformmast.getColumn(i, "formdegnseq");
- var mainItemCd = ds_data_unitformmast.getColumn(i, "orgsupdegnitemcd");
- lf_loadUnitForm(mainItemCd);
- lf_getComponentID(formdegnseq, mainItemCd);
- }
- else
- {
- continue;
- }
- }
- }
- else // 모든 부분서식 펼치기
- {
- for(var i=0; i < nCompCnt; i++)
- {
- lf_loadUnitForm(itemCds[i]);
- }
- }
- }
- /****************************************************************************************
- * Function : lf_loadUnitForm
- * Description : 섹션 오픈 시 부분서식 로드
- * Argument : 01. itemCd : 대상이 되는 섹션의 아이템 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadUnitForm(itemCd)
- {
- //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
- //로딩되어 있지 않으면 부분서식로딩
- var ivwObj = ComnFormObj.components["ivw_" + itemCd];
- if(!utlf_isNull(ivwObj))
- {
- if(utlf_isNull(ivwObj.url))
- {
- var nRow = ds_data_unitformmast.findRowExpr("orgsupdegnitemcd == '" + itemCd + "'");
- var unitformcd = ds_data_unitformmast.getColumn(nRow, "formcd");
- var formdegnseq = "";
- var formprogflag = "";
- var formprognm = "";
-
- if (!utlf_isNull(unitformcd))
- {
- formdegnseq = ds_data_unitformmast.getColumn(nRow, "formdegnseq");
- formprogflag = ds_data_unitformmast.getColumn(nRow, "formprogflag");
- formprognm = ds_data_unitformmast.getColumn(nRow, "formprognm");
- var UnitFormXfdlUseYn = ds_data_unitformmast.getColumn(nRow, "formxfdluseyn");
- if(formprogflag == "PROG")
- {
- var obj = sysf_getScreenInfo(formprognm.split("_")[0]);
- ivwObj.url = obj.scrnurlxp;
- //ivwObj.url = "emr_formmngtxp::" + ds_data_unitformmast.getColumn(nRow, "formprognm") +".xfdl";
- }
- else
- fGetFormDegn(formdegnseq, itemCd, ComnFormObj, UnitFormXfdlUseYn);
- }
- }
- }
- }
- /****************************************************************************************
- * Function : lf_getSyncData
- * Description : 연동정보 조회 및 세팅
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getSyncData()
- {
- lf_setInitData();
-
- ds_cond_syncreq.clearData();
- ds_cond_syncreq.addRow();
- ds_cond_syncreq.setColumn(0, "pid", fGetFormRec("pid"));
- ds_cond_syncreq.setColumn(0, "orddd", fGetFormRec("orddd"));
- ds_cond_syncreq.setColumn(0, "orddrid", fGetFormRec("orddrid"));
- ds_cond_syncreq.setColumn(0, "orddeptcd", fGetFormRec("orddeptcd"));
- ds_cond_syncreq.setColumn(0, "chosflag", fGetFormRec("chosflag"));
- ds_cond_syncreq.setColumn(0, "cretno", fGetFormRec("cretno"));
- ds_cond_syncreq.setColumn(0, "formcd", fGetFormRec("formcd"));
- ds_cond_syncreq.setColumn(0, "formdegnseq", fGetFormRec("formdegnseq"));
- ds_cond_syncreq.setColumn(0, "merecyn", "N");
- ds_cond_syncreq.setColumn(0, "formcd", fGetFormRec("formcd"));
- ds_cond_syncreq.setColumn(0, "srcformcd", fGetFormRec("srcformcd"));
- var nFormcd = ds_data_recitem.getColumn(0, "formcd");
-
- // 2016.10.26 PROG 부분서식이 많을 경우 트렌적션 중복 오류
- var submitID = "TRMMR01102";
- if( !utlf_isNull(nFormcd) ){
- submitID = submitID + nFormcd;
- }
- var objParam = new Object();
- objParam.id = submitID;
- objParam.service = "medirecapp.ComnMediRec";
- objParam.method = "reqGetRecAcmlData";
- objParam.inds = "req=ds_cond_syncreq";
- objParam.outds ="ds_data_acmldata=recitem";
- // objParam.callback = "cbf_TRMMR01102";
- objParam.async = false;
- objParam.progress = false;
-
- tranf_submit(objParam);
- }
- function lf_setSyncData(Obj)
- {
- var sFormprogflag = fGetFormMast("formprogflag");
-
- var acmlCnt = ds_data_acmldata.getRowCount();
-
- if( acmlCnt > 0 && sFormprogflag != "PROG" ){
-
- if(Obj.isValidObject("ds_data_itemvalue"))
- {
- for(var i = 0; i < Obj.ds_data_itemvalue.colcount; i++)
- {
- ColId = Obj.ds_data_itemvalue.getColID(i);
- lf_setRecItemDS(ColId, Obj, "acmlForm");
- }
- Obj.lf_calculateInit(); //산술식 초기화
- }
-
- for(var i = 0; i < Obj.all.length; i++)
- {
- if(Obj.all[i] instanceof Dataset) //Object를 비교하는 구문
- {
- dsNm = Obj.all[i].name;
- if(dsNm.indexOf("ds_data_grd_") != -1)
- {
- dsDegnNo = dsNm.replace("ds_data_grd_", "")
- Obj.fSetFormGridRec(dsNm, dsDegnNo, "acmlForm"); // 기록내용 그리드에 세팅
- }
- }
- if(Obj.all[i] instanceof ActiveX) //Object를 비교하는 구문
- {
- imgObj = Obj.all[i];
- imgNo = imgObj.name;
- imgNo = imgNo.replace("IMG_", "");
- var nRow = parent.ds_data_acmldata.findRow("degnitemno", imgNo);
- if(nRow != -1)
- {
- var imgBinary = objExt.encodeBase64(parent.ds_data_acmldata.getColumn(nRow, "recimge"));
- imgObj.LoadImageBase64(imgBinary);
-
- lf_reSizeImg(imgObj);
- }
- }
- }
-
- }
- }
- /****************************************************************************************
- * Function : lf_setFormInitData
- * Description : 연동값 이외에 특수서식 로딩 시 필요한 기초 정보 세팅
- * MRRDegnForm.js initFormAtLast_MMRDegnForm 로직 부분
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setFormInitData()
- {
- var formcd = fGetFormMast("formcd");
- if(formcd == "0900005261"){ // 마취전 평가 및 협진서
- //lf_setFormInitData_0900005261();
- //이윤주 수정
- }else if(formcd == "0000000615") { //Delivery Note
- lf_setFormInitData_0000000615();
- }else if(formcd == "1600018197") {
- lf_setFormInitData_1600018197(); // 마취유도직전평가서
- }
- }
- function lf_setFormInitData_0900005261()
- {
- var opcnfmdd, oprsrvno;
- dsf_createDsRow("ds_cond_operationinfo",
- [{col:"opcnfmdd", val:""}]);
- dsf_createDsRow("ds_data_operationinfo",
- [{col:"opcnfmdd", val:""}]);
-
- var operation = sysf_getGlobalVariable("operation");
- if( !utlf_isNull(operation) ){
- dsf_setCSVToDs("ds_cond_operationinfo", operation);
- }
- if(ds_cond_operationinfo.rowcount > 0)
- {
- opcnfmdd = ds_cond_operationinfo.getColumn(0, "opcnfmdd");
- oprsrvno = ds_cond_operationinfo.getColumn(0, "oprsrvno");
- }
-
- // 2016.05.09 상단 미연동시 처리
- if( gTopYn == false ){
- opcnfmdd = oOpener.frmf_getParameter("opcnfmdd");
- oprsrvno = oOpener.frmf_getParameter("oprsrvno");
- }
-
- if( !utlf_isNull(oprsrvno) ){
- dsf_createDsRow("ds_cond_operationinfo",
- [{col:"opcnfmdd", val:opcnfmdd}
- ,{col:"pid", val:fGetFormRec("pid")}
- ,{col:"oprsrvno", val:oprsrvno}]);
-
- dsf_createDsRow("ds_data_operrecitem",
- [{col:"opcnfmdd", val:opcnfmdd}
- ,{col:"oprsrvno", val:oprsrvno}]);
-
- var objParam = new Object();
- objParam.id = "TRMMR01103";
- objParam.service = "medirecapp.ComnMediRec";
- objParam.method = "reqGetOpTestData";
- objParam.inds = "req=ds_cond_operationinfo";
- objParam.outds ="ds_data_operrecitem=recitem";
- objParam.callback = "cbf_TRMMR01103";
- tranf_submit(objParam);
- }
-
-
- //MRF01200.js ready part
- var objForm = this.getOwnerFrame().form;
- if (!utlf_isNull(objForm) && objForm.frmf_getScreenID() == "SSMMR01100")
- {
- var nFindRow = ivw_base.ds_data_recitem.findRow("degnitemno", "181");
- var atdoctnm = ivw_base.ds_data_recitem.getColumn(nFindRow, "reccnts");
- nFindRow = ivw_base.ds_data_recitem.findRow("degnitemno", "208");
- var staffname = ivw_base.ds_data_recitem.getColumn(nFindRow, "rectermcd");
- var itemVal = new ITEMVAL();
-
- if( utlf_isNull(atdoctnm) ){
- itemVal.reccnts = sysf_getUserInfo("usernm");
- ivw_base.lf_setFormItemValue("0017137", itemVal);
- }
-
- if( utlf_isNull(staffname) ){
- if( !utlf_isNull(parent.opener.opener) && parent.opener.opener.name == "iv_anstinfo" ){
-
- var usernm = parent.opener.opener.cmb_anstdrid1.text;
- var usercd = parent.opener.opener.cmb_anstdrid1.value;
- if( !utlf_isNull(usernm) && usernm != "-" ){
- dsf_createDsRow("ds_cond_TRMRF00307", [{col:"valitemnm", type:"string", size:256, val:usernm}
- , {col:"grupcd", type:"string", size:256, val:"0003106006"}]);
- dsf_createDs("ds_data_TRMRF00307");
-
- var oParam = {};
- oParam.id = "TRMRF00302";
- oParam.service = "formmngtapp.ValListMngt";
- oParam.method = "reqGetValListValue";
- oParam.inds = "req=ds_cond_TRMRF00307";
- oParam.outds = "ds_data_TRMRF00307=item";
- oParam.async = false;
- oParam.progress = false;
- //oParam.callback = "cf_TRMRF00302";
- tranf_submit(oParam);
-
- if( ds_data_TRMRF00307.rowcount > 0 ){
- var valcd = ds_data_TRMRF00307.getColumn(0, "valcd");
- if( !utlf_isNull(valcd) ){
- itemVal.rectermcd = valcd;
- itemVal.rectermnm = utlf_transNullToEmpty(ds_data_TRMRF00307.getColumn(0, "valnm"));
- ivw_base.lf_setFormItemValue("0035977", itemVal);
- }
- }
- }
- }
- }
-
- //20131104 Start 마취전 평가서를 오픈시 마취 일반정보의 수술 구분이 응급이라면 마취전 평가서에 'E'로 체크 되도록 기능 추가
- if( !utlf_isNull(parent.opener.opener) && parent.opener.opener.name == "iv_anstinfo" ){
- var opflag = parent.opener.opener.rdo_opflag.value;
- if(opflag == "2"){//degnitemno = 146
- itemVal.rectermcd = "0031829001";
- itemVal.rectermnm = "E";
- ivw_base.lf_setFormItemValue("0000153", itemVal);
- }
- }
-
- }
-
- }
- function cbf_TRMMR01103(strSvcID, nErrorCode, strErrorMsg)
- {
- if(ds_data_operrecitem.rowcount > 0)
- {
- var itemVal = new ITEMVAL();
-
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"hb");
- ivw_base.lf_setFormItemValue("0005344.0001179", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"hct");
- ivw_base.lf_setFormItemValue("0005344.0001276", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"platelet");
- ivw_base.lf_setFormItemValue("0005344.0002551", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"bt");
- ivw_base.lf_setFormItemValue("0005344.0005327", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"pt");
- ivw_base.lf_setFormItemValue("0005344.0002243", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ptinr");
- ivw_base.lf_setFormItemValue("0005344.0008378", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"aptt");
- ivw_base.lf_setFormItemValue("0005344.0006147", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"fbs");
- ivw_base.lf_setFormItemValue("0005344.0001267", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"sgot");
- ivw_base.lf_setFormItemValue("0005344.0002885", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"sgpt");
- ivw_base.lf_setFormItemValue("0005344.0002886", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"na");
- ivw_base.lf_setFormItemValue("0005344.0002901", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"k");
- ivw_base.lf_setFormItemValue("0005344.0002902", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"bun");
- ivw_base.lf_setFormItemValue("0005344.0002881", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"cr");
- ivw_base.lf_setFormItemValue("0005344.0002882", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ca");
- ivw_base.lf_setFormItemValue("0005344.0002904", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"mg");
- ivw_base.lf_setFormItemValue("0005344.0006138", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"hbsag");
- ivw_base.lf_setFormItemValue("0005344.0003046", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"hiv");
- ivw_base.lf_setFormItemValue("0005344.0000800", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"bilirubin");
- ivw_base.lf_setFormItemValue("0005344.0000476.0008021", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ph");
- ivw_base.lf_setFormItemValue("0005344.0000476.0006334", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"glucose");
- ivw_base.lf_setFormItemValue("0005344.0000476.0006142", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ketonebody");
- ivw_base.lf_setFormItemValue("0005344.0000476.0016878", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"protein");
- ivw_base.lf_setFormItemValue("0005344.0000476.0000184", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"color");
- ivw_base.lf_setFormItemValue("0005344.0000476.0002872", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"sg");
- ivw_base.lf_setFormItemValue("0005344.0000476.0005947", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"uro");
- ivw_base.lf_setFormItemValue("0005344.0000476.0016879", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"leuk");
- ivw_base.lf_setFormItemValue("0005344.0000476.0016880", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ob");
- ivw_base.lf_setFormItemValue("0005344.0000476.0005976", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"nitrate");
- ivw_base.lf_setFormItemValue("0005344.0000476.0016881", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ph2");
- ivw_base.lf_setFormItemValue("0005344.0005956.0006334", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"pao");
- ivw_base.lf_setFormItemValue("0005344.0005956.0007043", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"paco");
- ivw_base.lf_setFormItemValue("0005344.0005956.0005958", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"hc");
- ivw_base.lf_setFormItemValue("0005344.0005956.0005959", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"be");
- ivw_base.lf_setFormItemValue("0005344.0005956.0002584", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"sao");
- ivw_base.lf_setFormItemValue("0005344.0005956.0005957", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"blood");
- ivw_base.lf_setFormItemValue("0005344.0001184", itemVal);
-
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"wt");
- ivw_base.lf_setFormItemValue("0000570.0000268", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"ht");
- ivw_base.lf_setFormItemValue("0000570.0000566", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"bp1");
- ivw_base.lf_setFormItemValue("0000570.0001180.0000525", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"bp2");
- ivw_base.lf_setFormItemValue("0000570.0001180.0000791", itemVal);
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"pr");
- ivw_base.lf_setFormItemValue("0000570.0000258", itemVal);
-
- itemVal.reccnts = ds_data_operrecitem.getColumn(0,"opnm");
- ivw_base.lf_setFormItemValue("0000665", itemVal);
-
- var nRow = ds_data_formdegn.findRow("degnitemlevlcd", "0000960");
- var nDegnItemNo = ds_data_formdegn.getColumn(nRow, "degnitemno");
- var grdDsNm = "ds_data_grd_" + nDegnItemNo;
- var grdDs = ivw_base.objects["ds_data_grd_" + nDegnItemNo];
- var grdObj = ivw_base.components["DGN_"+nDegnItemNo];
- if( utlf_isNull(grdObj ) || utlf_isNull(grdDs) )
- return;
-
- if( grdDs.rowcount > 0 ){
- for(var i=grdDs.rowcount-1;i>=1;i--){
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+i+"' && degnitemno == '"+nDegnItemNo+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var j=(nRowCnt-1);j>=0; j--){
- ds_data_recitem.deleteRow(j);
- }
- ds_data_recitem.filter("");
- }
- // Grid DeleteRow
- grdDs.clearData();
- }
-
-
- for (var i = 0; i < ds_data_operrecitem.rowcount; i++)
- {
- var diagcd = "";
- var diagnm = "";
-
- diagnm = ds_data_operrecitem.getColumn(i, "diagnm");
- diagcd = ds_data_operrecitem.getColumn(i, "diagcd");
-
- if( grdDs.getCaseCount("진단코드 == '" + diagcd + "'") > 0 ){
- continue;
- }
-
- var nRowno = grdDs.addRow();
- // 진단코드, 진단명
- grdDs.setColumn(nRowno, "진단코드", diagcd);
- grdDs.setColumn(nRowno, "진단명" , diagnm);
-
- }// end of for (var i = 0; i < nodeList.length; i++)
- lf_addRowComm(grdObj, grdObj.name);
- grdDs.rowposition = 0;
- }
- }
- function lf_setFormInitData_0000000615(){
- dsf_createDsRow("ds_cond_TRMMR01302", [{col:"infoflag", type:"string", size:256, val:"etc_deliverynote"}
- , {col:"pid", type:"string", size:256, val:fGetFormRec("pid")}
- , {col:"orddd", type:"string", size:256, val:fGetFormRec("orddd")}
- , {col:"cretno", type:"string", size:256, val:fGetFormRec("cretno")}]);
- dsf_createDs("ds_data_TRMMR01302");
-
- var oParam = {};
- oParam.id = "TRMMR01302";
- oParam.service = "medirecapp.RecIf";
- oParam.method = "reqGetFormRecExtnInfo";
- oParam.inds = "req=ds_cond_TRMMR01302";
- oParam.outds = "ds_data_TRMMR01302=etcinfo";
- oParam.async = false;
- oParam.progress = false;
- //oParam.callback = "cf_TRMMR01302";
- tranf_submit(oParam);
-
- if( ds_data_TRMMR01302.rowcount == 0 ) return;
-
- var cnt = ds_data_TRMMR01302.rowcount;
-
- var pre_levlcd = "0000363.";
- var mid_levlcd = new Array("0000988", "0000218", "0000471", "0002692"); //1st,2nd,3rd,4th
- //"bthdd", "bthtm", "liveyn", "gndr", "weig", "apgarscore1", "apgarscore5"
- var post_levlcd = new Array(".0000160", ".0000538", ".0009800", ".0000458", ".0000268", ".0010920.0010922", ".0010920.0006010");
- var dest_path = "";
- var src_val = "";
- var buf = "";
- for (var i=0; i<cnt; i++) {
- for (var j=0; j<post_levlcd.length; j++) {
- dest_path = pre_levlcd + mid_levlcd[i] + post_levlcd[j];
- src_val = ds_data_TRMMR01302.getColumn(i, "col" + j);
- var itemVal = new ITEMVAL();
- if (post_levlcd[j] == ".0009800") {
- //liveyn - Y:0028890001, N:0003918001
- if (src_val == "Y") {
- itemVal.rectermcd = "0028890001";
- itemVal.rectermnm = "Living";
- }
- else if (src_val == "N") {
- itemVal.rectermcd = "0003918001";
- itemVal.rectermnm = "Dead";
- }
- else continue;
- }
- else if (post_levlcd[j] == ".0000458") {
- //gndr - M:0003466001, F:0003399001
- if (src_val == "M") {
- itemVal.rectermcd = "0003466001";
- itemVal.rectermnm = "M";
- }
- else if (src_val == "F") {
- itemVal.rectermcd = "0003399001";
- itemVal.rectermnm = "F";
- }
- else continue;
- }
- else {
- itemVal.reccnts = src_val;
- }
- ivw_base.lf_setFormItemValue(dest_path, itemVal);
- }
- }
-
- }
- function lf_setFormInitData_1600018197(){
-
- var objForm = this.getOwnerFrame().form;
- if (!utlf_isNull(objForm) && objForm.frmf_getScreenID() == "SSMMR01100")
- {
- if( !utlf_isNull(parent.opener.opener) && parent.opener.opener.name == "tabpage4" ){
- var nEspiseq = parent.opener.opener.frmf_getParameter("SMMMO04500_espiseq");
- var nFormcd = parent.opener.opener.frmf_getParameter("SMMMO04500_formcd");
- if( !utlf_isNull(nEspiseq) ){
- frmf_setParameter("SPMRI02400_prtrecinfo", "E" + "▦" + nEspiseq + "▦" + nFormcd + "▩");
- frmf_setParameter("SPMRI02400_prtyn", "N");
- frmf_setParameter("SPMRI02400_defaultvw", "ChartView");
-
- var curVIEWobj = frmf_findPopup("SPMRI02400");
- if( !utlf_isNull(curVIEWobj) ){
- //curVIEWobj.close();
- curVIEWobj.fInitalize();
- }else{
- frmf_open("SPMRI02400", "SPMRI02400", null, null, null, null, null, null, null, null, null, null, "M");
-
- objForm.onclose.addHandler(lf_FormClose_1600018197);
- }
- }
- }
- }
- }
- function lf_FormClose_1600018197(){
- var curVIEWobj = frmf_findPopup("SPMRI02400");
- if( !utlf_isNull(curVIEWobj) ){
- curVIEWobj.close();
- }
- }
- function lf_makeRecitem(){
- utlf_addLog("***** MMRCommon lf_makerecitem() 인스턴스 생성 *****");
- g_maxdegnitemno = parent.ds_data_formdegn.getCaseMax("degnitemno > 0", "degnitemno");
- utlf_addLog("@@@@ g_maxdegnitemno : " + g_maxdegnitemno );
-
- var itemcnt = parent.ds_data_formdegn.rowcount;
- var reccnt = parent.ds_data_recitem.rowcount;
- var diff = 0;
-
- var idxdiff = 0;
- var selIdx = 0;
-
- for(var idx = 0; idx < itemcnt; idx++)
- {
- var recMastRefDs = parent.ds_data_formrec;
- var formmastRefDs = parent.ds_data_formmast;
- var formdegnRefDs = parent.ds_data_formdegn;
-
- //var rechistseq = recMastRefDs.getColumn(0, "rechistseq");
- var formcd = formmastRefDs.getColumn(0, "formcd");
- var formdegnseq = formmastRefDs.getColumn(0, "formdegnseq");
-
- var degnitemno = formdegnRefDs.getColumn(idx, "degnitemno");
- var degnitemkind = formdegnRefDs.getColumn(idx, "degnitemkind");
- var degnitemcd = formdegnRefDs.getColumn(idx, "degnitemcd");
-
- var supdegnitemno = formdegnRefDs.getColumn(idx, "supdegnitemno");
-
- var supdegnitemkind = formdegnRefDs.lookup("degnitemno", supdegnitemno, "degnitemkind");
- var degnitemlevlno = formdegnRefDs.getColumn(idx, "degnitemlevlno");
- var degnitemnm = formdegnRefDs.getColumn(idx, "degnitemnm");
- var degnitemdefltval = formdegnRefDs.getColumn(idx, "degnitemdefltval");
- var unitcd = formdegnRefDs.getColumn(idx, "unitcd");
- var unitnm = formdegnRefDs.getColumn(idx, "unitnm");
- var valgrupcd = formdegnRefDs.getColumn(idx, "valgrupcd");
-
- /*
- // MSL, IMG의 경우 아이템기본값 처리 루틴 추가
- // 수정자: 이경희
- // 수정일: 2008.04.18
- */
- if(degnitemkind == "MSL" && !utlf_isNull(degnitemdefltval)) //0000903001 0000985001
- {
- g_arrMslDefVal = degnitemdefltval.split(" ");
- }
-
- if(degnitemkind == "IMG" && !utlf_isNull(degnitemdefltval)) //0012574001 0012679001
- {
- g_arrImgDefVal = degnitemdefltval.split(" ");
- }
-
- if(degnitemkind == "MSL" || supdegnitemkind == "SSL" && degnitemkind == "SSU")
- {
- if(degnitemkind == "MSL")
- selIdx = 0;
-
- diff++;
- continue;
- }
- if(supdegnitemkind == "MSL" && degnitemkind == "SSU")
- {
- var MslDefVal = "";
- var termcd = formdegnRefDs.getColumn(idx, "termcd");
-
- var i = 0;
- var DataSet = 0; // 아이템 기본값 설정 여부 확인 변수
- while(i < g_arrMslDefVal.length)
- {
- // 전역 변수(g_MslDefVal) 의 값을 비교
- MslDefVal = g_arrMslDefVal[i];
-
- if(MslDefVal == termcd)
- {
- //alert("g_arrMslDefVal[" + i + "]: " + MslDefVal);
- //alert("rectermnm:" + degnitemnm);
- // makeSubSelectInstance(pageInfo, supdegnitemno, selIdx++, degnitemnm, MslDefVal);
- DataSet = 1;
- break;
- }
- i++;
- }
-
- if(DataSet == 0) // 아이템 기본값 설정이 안되었을 경우
- {
- // makeSelectInstance(pageInfo, supdegnitemno, selIdx++);
- }
- continue;
- }
- //selIdx = 0;
- if(supdegnitemkind == "IMG" && degnitemkind == "ISU")
- {
- var ImgDefVal = "";
- var termcd = formdegnRefDs.getColumn(idx, "termcd");
-
- var i = 0;
- var DataSet = 0; // 아이템 기본값 설정 여부 확인 변수
- while(i < g_arrImgDefVal.length)
- {
- // 전역 변수(g_MslDefVal) 의 값을 비교
- ImgDefVal = g_arrImgDefVal[i];
-
- if(ImgDefVal == termcd)
- {
- //alert("g_arrImgDefVal[" + i+ "]: " + MslDefVal);
- //alert("rectermnm:" + degnitemnm);
- // makeSubSelectInstance(pageInfo, degnitemno, selIdx++, degnitemnm, ImgDefVal);
- DataSet = 1;
- break;
- }
- i++;
- }
-
- if(DataSet == 0) // 아이템 기본값 설정이 안되었을 경우
- {
- // makeSelectInstance(pageInfo, degnitemno, selIdx++);
- }
- continue;
- }
- if(degnitemkind == "GRD" || degnitemkind == "GSU")
- {
- // makeGridInstance(pageInfo, degnitemno);
- // continue;
- }
-
- if(degnitemkind == "DGN")
- {
- // makeDGNInstance(pageInfo, degnitemno);
- // continue;
- }
-
- if(degnitemkind == "OPN")
- {
- // makeOPNInstance(pageInfo, degnitemno);
- // continue;
- }
-
- if(degnitemkind == "CCN")
- {
- // makeCCNInstance(pageInfo, degnitemno);
- // continue;
- }
-
- if(degnitemkind == "BTN")
- // continue;
- var degnitemlevlcd = "";
- // if(!utlf_isNull(pageInfo.fstLevlItemCd))
- // degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + formdegnRefDs.getColumn(idx, "degnitemlevlcd");
- // else
- degnitemlevlcd = formdegnRefDs.getColumn(idx, "degnitemlevlcd");
-
- var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
- var fstlevlitemcd = formdegnRefDs.lookup("degnitemlevlcd", fstlevlitembasecd, "degnitemcd");
- // if(!utlf_isNull(pageInfo.fstLevlItemCd))
- // fstlevlitemcd = pageInfo.fstLevlItemCd;
-
- idxdiff = idx - diff;
- utlf_addLog("idx : " + idx + " diff : " + diff + " idxdiff : " + idxdiff ) ;
- var recItemRefDs = this.objects["ds_data_recitem"];
- dsf_makeValue(recItemRefDs, "instcd", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "rechistseq", "BIGDECIMAL", "", idxdiff);
- dsf_makeValue(recItemRefDs, "recitemno", "INT", "", idxdiff);
- dsf_makeValue(recItemRefDs, "fstlevlitemcd", "string", fstlevlitemcd, idxdiff);
- dsf_makeValue(recItemRefDs, "formcd", "string", formcd, idxdiff);
- dsf_makeValue(recItemRefDs, "formdegnseq", "BIGDECIMAL", formdegnseq, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemno", "INT", degnitemno, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemcd", "string", degnitemcd, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemkind", "string", degnitemkind, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemlevlno", "string", degnitemlevlno, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemnm", "string", degnitemnm, idxdiff);
- dsf_makeValue(recItemRefDs, "degnitemlevlcd", "string", degnitemlevlcd, idxdiff);
- dsf_makeValue(recItemRefDs, "rectermcd", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "rectermnm", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "recrefcd", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "recitemnm", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "reccnts", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "unitnm", "string", unitnm, idxdiff);
- dsf_makeValue(recItemRefDs, "recimge", "BLOB", "", idxdiff);
- dsf_makeValue(recItemRefDs, "srcimge", "BLOB", "", idxdiff);
- dsf_makeValue(recItemRefDs, "rowno", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "colno", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "supdegnitemno", "INT", supdegnitemno, idxdiff);
- dsf_makeValue(recItemRefDs, "extdegnitemlevlcd", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "rectermflag", "string", "", idxdiff);
- dsf_makeValue(recItemRefDs, "degnunitcd", "string", unitcd, idxdiff);
-
- if(degnitemkind == "CHK" || degnitemkind == "RDO" || degnitemkind == "CMB" ||
- degnitemkind == "SSL" || degnitemkind == "MSL" || degnitemkind == "BOL")
- {
- recItemRefDs.setColumn(idxdiff, "rectermcd", degnitemdefltval);
-
- // BOL 기본값 처리
- if(degnitemkind == "BOL")
- {
- if(!utlf_isNull(degnitemdefltval))
- recItemRefDs.setColumn(idxdiff, "rectermnm", degnitemnm);
- }
-
- // SSL 기본값 처리
- if(degnitemkind == "SSL")
- {
- var defltvalnm = formdegnRefDs.lookup("termcd", degnitemdefltval, "degnitemnm");
- var tmpdefltvalnm = formdegnRefDs.lookup("termcd", degnitemdefltval, "itemnm");
- if(utlf_isNull(defltvalnm))
- defltvalnm = tmpdefltvalnm;
-
- recItemRefDs.setColumn(idxdiff, "rectermnm", defltvalnm);
- }
-
- /*
- // 추가 내용: 아이템 기본값으로 기록내용 저장 시 rectermnm이 없이 저장이 되어 통합기록조회에서 보이지 않음.
- */
-
- // 1. vallist 노드를 찾는다.
- /*
- if(!utlf_isNull(valgrupcd))
- {
- var vallistRefDs = this.objects["ds_data_vallist"];
-
- var cnt = vallistRefDs.getCaseCount("grupcd=='" + valgrupcd + "'");
- var sLabel = "";
- var sValue = "";
-
- if(!utlf_isNull(degnitemdefltval))
- {
- var g_vallistRefDs = this.objects["ds_data_vallist"];
- g_vallistRefDs.filter("grupcd=='" + valgrupcd + "'");
- for(var i=0; i<cnt; i++)
- {
- sLabel = g_vallistRefDs.getColumn(i, "valitemnm");
- sValue = g_vallistRefDs.getColumn(i, "valcd");
-
- // 2. 아이템 기본값과 같은 값인 경우 rectermnm을 추가
- if(sValue == degnitemdefltval)
- {
- recItemRefDs.setColumn(idxdiff, "rectermnm", sLabel);
- break;
- }
- }
- g_vallistRefDs.filter("");
- }
- }
- */
- }
- else if(degnitemkind == "STX" || degnitemkind == "MTX" || degnitemkind == "CAL")
- {
- recItemRefDs.setColumn(idxdiff, "reccnts", degnitemdefltval);
- }
- }
-
- //utlf_addLog(ds_data_recitem.saveXML());
- /*
- if(bInit){
- utlf_addLog("bInit : " + bInit);
- dsf_copyDsList(arrDsTempRecinfo, arrDsRecinfo, "replace", this, this);
- }
- */
- }
- /****************************************************************************************
- * Function : InitBtnImge
- * Description : 이미지 버튼 함수 설정
- * Argument : 01. itemCds
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnImge_CS(itemCds)
- {
- utlf_addLog("***** InitBtnImge("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ComnFormObj = grup_base.grup_cnts.components["grup_" + itemCds[i]];
- ctrl = ComnFormObj.components["btn_imge_" + itemCds[i]];
- if (!utlf_isNull(ctrl)){
- ctrl.onclick.addHandler(OpenUnitFormImge);
- }
- ComnFormObj = this.grup_base;
- }
- }
- /****************************************************************************************
- * Function : InitBtnEtcRec_CS
- * Description : 추가기록 버튼 함수 설정
- * Argument : 01. itemCds
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function InitBtnEtcRec_CS(itemCds)
- {
- utlf_addLog("***** InitBtnEtcRec("+itemCds+") MMRCommon *****");
- for (var i = 0; i < itemCds.length; i++)
- {
- ComnFormObj = grup_base.grup_cnts.components["grup_" + itemCds[i]];
- ctrl =ComnFormObj.components["btn_etcrec_" + itemCds[i]];
- if (!utlf_isNull(ctrl))
- ctrl.onclick.addHandler(openEtcRec);
- ComnFormObj = this.grup_base;
- }
- }
- /****************************************************************************************
- * Function : lf_setProfIssUsge
- * Description : 제증명 용도 팝업
- * Argument :
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setProfIssUsge(obj:Button, e:ClickEventInfo)
- {
-
- var left = e.screenX + 100;
- var top = e.screenY - 300;
-
- var prstusgenm = gPrstusge;
- frmf_setParameter("SPMMR02200_flag", "REC");
-
- utlf_addLog("prstusgenm : " + prstusgenm);
-
- frmf_setParameter("SPMMR02200_usage", prstusgenm);
- frmf_setParameter("SPMMR02200_multichkyn", "N");
-
- var rtObj = frmf_modal("SPMMR02200", "SPMMR02200", null, null, null, left, top, null, null, null, null, null, "M");
-
- var jeissgoalcd = "noneValue";
- var reqdata = "";
-
- if(frmf_getParameter("rsltYN")=="Y"){
- var nRow = rtObj.copyInfoDs.rowposition;
- jeissgoalcd = getArrayData ( rtObj.copyInfoDs.getColumn(nRow, "reqdata"), 1, 1, "▩", "▦" );;
- reqdata = rtObj.copyInfoDs.getColumn(nRow, "reqdata");
- }
-
- //if(!utlf_isNull(jeissgoalcd)){
- var itemVal = new ITEMVAL();
- itemVal.reccnts = jeissgoalcd;
- grp_base.ivw_loader.lf_setFormItemValue("0013100", itemVal);
- gPrstusge = jeissgoalcd;
- //}
-
- var objForm = this.getOwnerFrame().form;
-
- if( !utlf_isNull(objForm) && objForm.isValidObject("ds_main") == true ){
- objForm.ds_main.setColumn(0, "issusge", reqdata);
- }
-
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : (제증명) 그리드 keydown 이벤트 : insert, delete, 진단조회.
- ****************************************************************************************/
- function lf_procGrdFunc(obj:Grid, e:KeyEventInfo)
- {
- var objDS = eval(obj.binddataset);
- var nRow = objDS.rowposition;
- var nCell = obj.getCellPos();
- var nKeyCode = e.keycode;
- var grdNm = obj.name;
- if(nRow > -1)
- {
- var nCell = obj.getCellPos();
-
- if(nKeyCode == 46)
- {
- // delete
- lf_grdCommDelRow(objDS, obj.name);
- }
- else if(nKeyCode == 45)
- {
- // insert
- lf_addRowComm(obj, obj.name);
- }
- else if(grdNm.indexOf("DGN") > -1 && nKeyCode == 13 && (nCell == 3 ||nCell == 4))
- {
- obj.updateToDataset();
-
- // 진단코드, 진단명 조회 //fFindDiagInfo
- lf_diagSrch(obj, objDS);
- }
- }
- else
- {
- if(nKeyCode == 45)
- {
- // insert
- lf_addRowComm(obj, obj.name);
- }
- }
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object, objDS - Grid Mapping Dataset
- * Description : 진단코드, 진단코드 조회
- ****************************************************************************************/
- var ErrorCode;
- function lf_diagSrch(objGrid:Grid, objDS:Dataset)
- {
- // 선택된 행
- var nRow = objDS.rowposition;
- // 선택된 열
- var curcol = objGrid.getCellPos();
- var sCond1 = "";
- var sCond2 = "";
- var sCond5 = "";
-
- if( curcol == 3 ){
- sCond5 = objDS.getColumn(nRow, "진단코드");
- objDS.setColumn(nRow, "진단코드", "");
- sCond1 = "1";
- sCond2 = "1";
- }else if( curcol == 4 ){
- sCond5 = objDS.getColumn(nRow, "진단명");
- objDS.setColumn(nRow, "진단명", "");
- sCond1 = "2";
- sCond2 = "4";
- }
- // 검색어를 입력하지 않은 경우
- if(utlf_isNull(sCond5)){
- sysf_messageBox("검색어를 ", "C001");
- return;
- }
-
- // 한글, 영문구분
- var sCond3 = utlf_isHangul(sCond5);
- if ( sCond3 == "E" ){
- //영문,숫자일때는 3글자 넣어야 검색가능
- if (sCond5.length < 2){
- sysf_messageBox ( "2글자 이상", "C001" );
- return;
- }
- }
-
- // 기준일자
- var sCond4 = utlf_getCurrentDate();
- frmf_setParameter ( "SPMMO00800_cond1", sCond1 );
- frmf_setParameter ( "SPMMO00800_cond2", sCond2 );
- frmf_setParameter ( "SPMMO00800_cond3", sCond3 );
- frmf_setParameter ( "SPMMO00800_cond4", sCond4 );
- frmf_setParameter ( "SPMMO00800_cond5", sCond5 );
- frmf_modal ("SPMMO00800", "SPMMO00800", null, 1, 10, 10, null, null, null, null, null, null, "M");
- if (frmf_getParameter( "SPMMO00800_rtn_useyn" ) == "Y" ) {
- //sysf_trace( frmf_getParameter( "SPMMO00800_rtn" ) );
- //fAddDiagInfo (frmf_getParameter( "SPMMO00800_rtn" ), degnitemno, row);
-
- var diagInfo = frmf_getParameter( "SPMMO00800_rtn" );
- if(utlf_isNull(diagInfo)){
- return;
- }
-
- frmf_setParameter( "SPMMO00800_rtn_useyn", "" );
-
- //var objGrdDS = eval(objGrid.binddataset);
- var objTempDS = this.objects[objDS.name.replace("ds_data", "ds_temp")];
-
-
-
- var nRowno = objDS.rowposition;
- var nRowCnt = objDS.getRowCount();
- var sRectermnm = "";
- var sNo = objGrid.name.replace("DGN_", "");
- var sTmpdiagcd = "";
- var sTmpdiagengnm = "";
- var nDiagListCnt = diagInfo.split("▩").length;//▩
-
- var formprogflag = fGetFormMast("formprogflag");
- var langflag = fGetFormMast("langflag");
-
- if(nDiagListCnt > 0)
- {
- objDS.enableevent = false;
- // Grid 구성 Item
-
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0 ; i<nDiagListCnt -1; i++){
- var tmpcopy = false;
-
- sTmpdiagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- sTmpdiagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
-
- if(formprogflag == "PROF")
- {
- sTmpdiagcd = getArrayData ( diagInfo, i, 8, "▩", "▦" );;
- if(langflag != "EN")
- sTmpdiagengnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );;
- }
-
- // var nFindRow = objDS.findRow("진단코드", sTmpdiagcd);
- // if(nFindRow>-1){
- // continue;
- // }
-
- if( parseInt(nRowno) >= parseInt(nRowCnt) ){
- nRowno = objDS.addRow();
- tempcopy = true;
- }
- /*
- // <!--주부유형-->
- objDS.setColumn(nRowno, "주" , 0);
- objDS.setColumn(nRowno, "진단코드", "S");
- objDS.setColumn(nRowno, "진단명", "부");
- // <!--R/O-->
- objDS.setColumn(nRowno, "R/O" , 0);
- objDS.setColumn(nRowno, "진단코드", "C");
- objDS.setColumn(nRowno, "진단명", "");
- */
- // <!--진단코드, 진단명-->
- objDS.setColumn(nRowno, "진단코드", sTmpdiagcd);
- objDS.setColumn(nRowno, "진단명" , sTmpdiagengnm);
- if( tmpcopy == true ){
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- }
-
- nRowno++;
- }
- objDS.enableevent = true;
- }
- lf_addRowComm(objGrid, objGrid.name);
-
- }
-
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 행추가.
- ****************************************************************************************/
- function lf_addRowComm(objGrid:Grid, objNm)
- {
- var objGrdDS = eval(objGrid.binddataset);
- var nRowCnt = objGrdDS.getRowCount();
- var dsNm = objGrdDS.name;
- var degnno = dsNm.replace("ds_data_grd_", "");
- var nRow = objGrdDS.rowposition;
- var sSmmCnts = "";
- var sSmmCntCd = "";
- if(nRowCnt<1){
- objGrdDS.clearData();
- objGrdDS.addRow();
- }else{
- objGrid.updateToDataset();
-
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- if(objNm.indexOf("DGN") > -1)
- {
- sSmmCnts = objGrdDS.getColumn(nRow, "진단명");
- sSmmCntCd = objGrdDS.getColumn(nRow, "진단코드");
- } else if(objNm.indexOf("OPN") > -1) {
- sSmmCnts = objGrdDS.getColumn(nRow, "수술명");
- sSmmCntCd = objGrdDS.getColumn(nRow, "수술코드");
- } else if(objNm.indexOf("CCN") > -1) {
- sSmmCnts = objGrdDS.getColumn(nRow, "주호소명");
- sSmmCntCd = objGrdDS.getColumn(nRow, "주호소코드");
- }
- if(nRow>-1 && !utlf_isNull(sSmmCnts)||!utlf_isNull(sSmmCntCd)){
- if(nRow==(nRowCnt-1)){
- var nRowno = objGrdDS.addRow();
-
- var nAddRow, nCellPos;
- var nTempCnt = objTempDS.getRowCount();
-
- for(var i=0; i<nTempCnt; i++)
- {
- nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, i);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- var nColno = ds_data_recitem.getColumn(nAddRow, "colno");
-
- if(nColno==3)
- {
- ds_data_recitem.setColumn(nAddRow, "rectermcd" , "-");
- ds_data_recitem.setColumn(nAddRow, "rectermflag", "002");
- }
- }
- ds_data_recitem.filter("");
- ds_data_recitem.filter("rowno > '"+nRow+"' && degnitemno == '"+degnno+"'");
- var nMaxRow = ds_data_recitem.getMax('parseInt(rowno)');
- ds_data_recitem.setColumn(nMaxRow, "rectermcd", "");
- }
- }
- ds_data_recitem.filter("");
- }
- }
- /****************************************************************************************
- * Argument : objDS - Grid Mapping Dataset
- * Description : 그리드 행삭제.
- ****************************************************************************************/
- function lf_grdCommDelRow(objDS:Dataset, objNm)
- {
- utlf_addLog("***** lf_grdCommDelRow " + objNm + " ****");
- var dsNm = objDS.name;
- var degnno = dsNm.replace("ds_data_grd_", "");
- var nRow = objDS.rowposition;
- var sSmmCnts = "";
- var sSmmCntCd = "";
-
- if(objNm.indexOf("DGN") > -1)
- {
- var sChkMain = objDS.getColumn(nRow, "주");
- if(sChkMain=="M"){
- sysf_messageBox("주진단은 삭제", "E001");
- return;
- }
- sSmmCnts = objDS.getColumn(nRow, "진단명");
- sSmmCntCd = objDS.getColumn(nRow, "진단코드");
- }
- else if(objNm.indexOf("OPN") > -1)
- {
- sSmmCnts = objDS.getColumn(nRow, "수술명");
- sSmmCntCd = objDS.getColumn(nRow, "수술코드");
- }
- else if(objNm.indexOf("CCN") > -1)
- {
- sSmmCnts = objDS.getColumn(nRow, "주호소명");
- sSmmCntCd = objDS.getColumn(nRow, "주호소코드");
- }
-
- if(nRow>-1&&(!utlf_isNull(sSmmCnts)||!utlf_isNull(sSmmCntCd)))
- {
- // Grid DeleteRow
- objDS.deleteRow(nRow);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+nRow+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--)
- {
- ds_data_recitem.deleteRow(i);
- }
-
- ds_data_recitem.filter("");
- ds_data_recitem.filter("rowno > '"+nRow+"' && degnitemno == '"+degnno+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var j=0; j < nRowCnt; j++)
- {
- var nSelfRowno = ds_data_recitem.getColumn(j, "rowno");
- ds_data_recitem.setColumn(j, "rowno", nSelfRowno - 1);
- }
- }
- ds_data_recitem.filter("");
- }
- function lf_compGrdRightMenuInit(obj:Grid, e)//GridMouseEventInfo
- {
- if(this.isValidObject("popup_Menu") == true)
- {
- var oRemoveMenu = this.removeChild("popup_Menu");
- oRemoveMenu = null;
- }
-
- var arrMenuInfo = new Array();
- arrMenuInfo[arrMenuInfo.length] = lf_getCommPopupMenu("100", "행 추가");
- arrMenuInfo[arrMenuInfo.length] = lf_getCommPopupMenu("200", "행 삭제");
- frmf_createPopupMenu("popup_Menu", "lf_commPopupMenu", arrMenuInfo, "frmfds_init_mouserght");
-
-
- var objGrid = this.components[obj.name];
- var objDS = eval(objGrid.binddataset);
- var nRow = e.row;
- if(nRow>-1){
- obj.setFocus();
- //grdf_setSelectedCell(obj, e);
- objDS.rowposition = nRow;
- popup_Menu.trackPopup(e.screenX, e.screenY);
- }
- }
- /****************************************************************************************
- * Argument : sId - popupmenu Click Event ID, sTitle - popupmenu Title
- * Description : 미리보기에서 데이터복사하기
- ****************************************************************************************/
- function lf_getCommPopupMenu(sId, sTitle)
- {
- var objColInfo = new Object();
- objColInfo.id = sId;
- objColInfo.level = "0";
- objColInfo.title = sTitle;
- return objColInfo;
- }
-
- /****************************************************************************************
- * Components : PopupMenu
- * Components ID : popup_Menu
- * Event : onmenuclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Popup Menu Call
- ****************************************************************************************/
- function lf_commPopupMenu(obj:PopupMenu, e:MenuClickEventInfo)
- {
- var objGrid = this.components[this.getFocus().name];
- var objDS = eval(objGrid.binddataset);
- var sEventID = e.id;
- switch(sEventID)
- {
- case "100": lf_addRowComm(objGrid, objGrid.name); break;
- case "200": lf_grdCommDelRow(objDS, objGrid.name); break;
- }
- }
- function lf_getDiagInfoEx(obj:Button, e:ClickEventInfo)
- {
- sPopUpRectermnm = "";
- var btnNm = obj.name;
- btnNm = btnNm.replace("BTN_","");
- var btnCd = btnNm.replace("_EXT1","");
- var objGrid = this.components["DGN_"+btnCd];
- lf_clickCommOpenPopUp(objGrid);
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 진단 검색 및 설정 (SPMMO03100_진단.xfdl) - 처방사용 진단팝업과 통일
- ****************************************************************************************/
- function lf_clickCommOpenPopUp(objGrid:Grid)
- {
- var langflag = fGetFormMast("langflag");
- var objPop = new Object();
-
- var pid = parent.ds_data_paminfo.getColumn(0, "pid");
- var orddd = parent.ds_data_paminfo.getColumn(0, "orddd");
-
- var cond = pid + "▦" + orddd;
- frmf_setParameter("SPMMO03100_patinfo", cond);
-
- var objRtnParam = frmf_modal("SPMMO03100", "SPMMO03100", objPop, null, null, null, null, null, null, null, null, null, "M");
-
- var objGrdDS = eval(objGrid.binddataset);
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- var diagInfo = frmf_getParameter( "SPMMO03100_rtn" );
- if(utlf_isNull(diagInfo)){
- return;
- }
-
- var nRowno = objGrdDS.rowposition;
- var nRowCnt = objGrdDS.getRowCount();
- var sRectermnm = "";
- var sNo = objGrid.name.replace("DGN_", "");
- sRectermnm = objGrdDS.getColumn((nRowCnt-1), "진단명");
- if(utlf_isNull(sRectermnm))
- {
- // Grid DeleteRow
- objGrdDS.deleteRow(nRowCnt-1);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--){
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
- }
-
- var sTmpdiagcd = "";
- var sTmpdiagengnm = "";
- var nDiagListCnt = diagInfo.split ( "▩" ).length;
-
- if(nDiagListCnt>0)
- {
- objGrdDS.enableevent = false;
- // Grid 구성 Item
-
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0 ; i<nDiagListCnt -1; i++){
- sTmpdiagcd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
-
- if(langflag == "KO")
- {
- sTmpdiagengnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- }
- else
- {
- sTmpdiagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- }
-
- var nFindRow = objGrdDS.findRow("진단코드", sTmpdiagcd);
- if(nFindRow>-1){
- continue;
- }
-
- nRowno = objGrdDS.addRow();
- // <!--주부유형-->
- objGrdDS.setColumn(nRowno, "주" , 0);
- objGrdDS.setColumn(nRowno, "진단코드", "S");
- objGrdDS.setColumn(nRowno, "진단명", "부");
- // <!--R/O-->
- objGrdDS.setColumn(nRowno, "R/O" , 0);
- objGrdDS.setColumn(nRowno, "진단코드", "C");
- objGrdDS.setColumn(nRowno, "진단명", "");
- // <!--진단코드, 진단명-->
- objGrdDS.setColumn(nRowno, "진단코드", sTmpdiagcd);
- objGrdDS.setColumn(nRowno, "진단명" , sTmpdiagengnm);
-
- var nExistRow = ds_data_recitem.findRowExpr("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- if( nExistRow < 0 ){
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- }
- }
- objGrdDS.enableevent = true;
- }
- lf_addRowComm(objGrid, objGrid.name);
- }
- //상용구 관련 추가
- function lf_addRightMenuMTX(ds)
- {
-
- var vFilter = "degnitemkind == 'MTX'";
- ds.filter(vFilter);
-
- for(var i=0; i< ds.getRowCount(); i++)
- {
- var vMTXno = ds.getColumn(i, "degnitemno");
- var vMTX = "MTX_" + vMTXno;
-
- lf_compRightMenuInit2(this.components[vMTX]);
-
- }
-
- ds.filter("");
- }
- function lf_compRightMenuInit2(obj, formKind)
- {
- if(obj == "[object Grid]")
- {
- //obj.onrbuttondown.addHandler(lf_compGrdMenuEvent);
- }
- else if(obj == "[object TextArea]")
- {
- obj.usecontextmenu = false;
- obj.onrbuttondown.addHandler(lf_compTxtMenuEvent2);
- }
- else
- {
- //trace("Grid,TextArea 만 적용됩니다.");
- }
- }
- var lv_rObjId; //팝업 호출id
- var lv_rArrObjInfo;
- function lf_compTxtMenuEvent2(obj:TextArea, e:MouseEventInfo)
- {
- lv_rObjId = obj;
- lv_rArrObjInfo = new Array();
-
- var objNm = obj.name;
- var objNoSplit;
- objNoSplit = objNm.split("_");
- var objNo = objNoSplit[1];
-
- var oDs = this.objects["ds_data_recitem"];
- var vFilter = "degnitemkind == 'MTX' && degnitemno == '"+objNo+"'";
- oDs.filter(vFilter);
-
- if(oDs.getRowCount() >1 || oDs.getRowCount() ==0|| oDs.getRowCount() == -1)
- {
- oDs.filter("");
- return;
- }
-
- var sCode = oDs.getColumn(0,"degnitemlevlcd");
- //sCode = sCode.substr(0,7);
- var vFormcd = oDs.getColumn(0,"formcd");
- this.frmf_setParameter("srcformcd", fGetFormRec("srcformcd"));
-
-
- if(utlf_isNull(sCode)|| utlf_isNull(vFormcd))
- {
- oDs.filter("");
- return;
- }
-
- //sCode = sCode.substr(0,7);
- fCompShowCntxMenu(sCode);
-
- var nX = system.clientToScreenX(obj, e.clientX);
- var nY = system.clientToScreenY(obj, e.clientY);
- lpopup_cntxnMenu.trackPopup(nX, nY);
- oDs.filter("");
-
- }
- /****************************************************************************************
- * Function : lf_getOrdSpec
- * Description : 방사선치료기록지 조회 formcd : 1200013062
- * Argument : 01.
- * retrun type :
- * Creator : MRF01200 함수 이동
- ****************************************************************************************/
- function lf_getOrdSpec() {
- dsf_createDsRow("ds_cond_ordspec", [{col:"pid", type:"string", size:256, val:parent.ds_data_paminfo.getColumn(0, "pid")}
- , {col:"orddd", type:"string", size:256, val:parent.ds_data_paminfo.getColumn(0, "orddd")}
- , {col:"ordddfrom", type:"string", size:256, val:ipt_fromdd.value}
- , {col:"ordddto", type:"string", size:256, val:ipt_todd.value}
- , {col:"orddrid", type:"string", size:256, val:sysf_getUserId()}
- , {col:"orddeptcd", type:"string", size:256, val:parent.ds_data_paminfo.getColumn(0, "orddeptcd")}
- ]);
-
- dsf_createDs("ds_data_ordspecinfo");
-
- var oParam = {};
- oParam.id = "TRMRF01221";
- oParam.service = "formmngtapp.FormIfMngt";
- oParam.method = "reqGetOrdSpecInfo";
- oParam.inds = "req=ds_cond_ordspec";
- oParam.outds = "ds_data_ordspecinfo=ordspecinfo";
- oParam.async = true;
- oParam.callback = "cf_TRMRF01221";
- tranf_submit(oParam);
-
- return;
- }
- function cf_TRMRF01221(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- var iCnt = ds_data_ordspecinfo.rowcount;
- var iRow = ds_data_grd_1.getCaseCount("!utlf_isNull(치료일)");
- for (var i = 0; i < iCnt; i++) {
- if( ds_data_grd_1.getCaseCount("치료일 == '" + ds_data_ordspecinfo.getColumn(i, "orddd") + "'" ) == 0 ){//같은 일자가 존재하지 않는 일자만
- BTN_1_EXT2.click();
- ds_data_grd_1.setColumn(iRow, "치료일", ds_data_ordspecinfo.getColumn(i, "orddd"));
- ds_data_grd_1.setColumn(iRow, "치료관찰기록", "치료실 선량 확인하였음(이상무)" );
- ds_data_grd_1.setColumn(iRow, "진료의사", sysf_getUserName());
- iRow++;
- }
- }
-
- dsf_deleteDs("ds_cond_ordspec");
- dsf_deleteDs("ds_data_ordspecinfo");
- }
- /****************************************************************************************
- * Function : lf_setInitData
- * Description : 2012.10.25 신규서식 작성시 각종 데이터 당겨오기 (이윤주)
-
- * Argument : 01.
- * retrun type : 종양치료반응 및 부작용 formcd : 1300014511 경과기록-호흡기내과
- * Creator : MRF01200 함수 이동
- ****************************************************************************************/
- function lf_setInitData()
- {
- utlf_addLog(":::::::: lf_setInitData Start :::::::");
-
- //var formcd = fGetFormMast("formcd");
- var formcd = ds_data_recitem.getColumn(0, "formcd");
-
- // 2016.10.26 PROG 부분서식이 많을 경우 트렌적션 중복 오류
- var submitID = "TRMRF01220";
- if( !utlf_isNull(formcd) ){
- submitID = submitID + formcd;
- }
-
- dsf_createDsRow("ds_cond_TRMRF01220", [{col:"hardcdno", type:"string", size:256, val:5622}
- , {col:"trgtcd", type:"string", size:256, val:formcd}
- ]);
- dsf_createDs("ds_data_TRMRF01220", [{col:"trgtcdnm", type:"string", size:256}
- , {col:"condqry", type:"string", size:256}
- ], true);
-
- var oParam = {};
- oParam.id = submitID;
- oParam.service = "formmngtapp.FormIfMngt";
- oParam.method = "reqGetRecInfo";
- oParam.inds = "req=ds_cond_TRMRF01220";
- oParam.outds = "ds_data_TRMRF01220=recinfo";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMRF01220";
- tranf_submit(oParam);
- }
- function cf_TRMRF01220(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- if( ds_data_TRMRF01220.rowcount < 1 ){
- utlf_addLog(":::::::: lf_setInitData End(Not Empty) :::::::");
- dsf_deleteDs("ds_cond_TRMRF01220");
- dsf_deleteDs("ds_data_TRMRF01220");
- return;
- }
-
- var formcd = ds_data_recitem.getColumn(0, "formcd");
- var tarPaminfo;
- if( this.name == "ivw_base" ){
- tarPaminfo = parent;
- }else if ( this.name == "ivw_0011449001" ){
- tarPaminfo = parent.parent.parent.parent.parent;
- }else{
- tarPaminfo = parent.parent.parent;
- }
- var pid = tarPaminfo.ds_data_paminfo.getColumn(0, "pid");
- var orddd = tarPaminfo.ds_data_paminfo.getColumn(0, "orddd");
- var indd = tarPaminfo.ds_data_paminfo.getColumn(0, "indd");
- var ioflag = tarPaminfo.ds_data_paminfo.getColumn(0, "ioflag");
- var cretno = tarPaminfo.ds_data_paminfo.getColumn(0, "cretno");
- var wardcd = tarPaminfo.ds_data_paminfo.getColumn(0, "wardcd");
- var oprsrvno = tarPaminfo.ds_data_formrec.getColumn(0, "oprsrvno");
- var formrecdd = tarPaminfo.ds_data_formrec.getColumn(0, "formrecdd");
-
- dsf_createDsRow("ds_cond_operationinfo",
- [{col:"opcnfmdd", val:""}]);
- var operation = sysf_getGlobalVariable("operation");
- if( !utlf_isNull(operation) ){
- dsf_setCSVToDs("ds_cond_operationinfo", operation);
- }
- if( ds_cond_operationinfo.rowcount > 0 ){
- oprsrvno = utlf_transNullToEmpty(ds_cond_operationinfo.getColumn(0, "oprsrvno"));
- }
-
- dsf_deleteDs("ds_cond_operationinfo");
- // 2016.05.09 상단 미연동시 처리
- if( gTopYn == false ){
- pid = tarPaminfo.ds_data_formrec.getColumn(0, "pid");
- orddd = tarPaminfo.ds_data_formrec.getColumn(0, "orddd");
- indd = tarPaminfo.ds_data_formrec.getColumn(0, "orddd");
- ioflag = tarPaminfo.ds_data_formrec.getColumn(0, "ioflag");
- cretno = tarPaminfo.ds_data_formrec.getColumn(0, "cretno");
- oprsrvno = tarPaminfo.ds_data_formrec.getColumn(0, "oprsrvno");
- wardcd = tarPaminfo.ds_data_formrec.getColumn(0, "wardcd");
-
-
- }
-
- if (ioflag !="O"){
- if (ioflag !="S"){
- orddd = indd;
- }
- }
-
- var loopcnt = ds_data_TRMRF01220.rowcount;
- for (var i=0; i<loopcnt; i++)
- {
- var recinfo = utlf_transNullToEmpty(ds_data_TRMRF01220.getColumn(i, "trgtcdnm"));
- var condqry = utlf_transNullToEmpty(ds_data_TRMRF01220.getColumn(i, "condqry"));
-
- dsf_createDsRow("ds_cond_TRMRF01219", [{col:"pid", type:"string", size:256, val:pid}
- , {col:"cretno", type:"string", size:256, val:cretno}
- , {col:"orddd", type:"string", size:256, val:orddd}
- , {col:"formcd", type:"string", size:256, val:formcd}
- , {col:"recinfo", type:"string", size:256, val:recinfo}
- , {col:"oprsrvno", type:"string", size:256, val:oprsrvno}
- , {col:"formrecdd", type:"string", size:256, val:formrecdd}
- , {col:"condqry", type:"string", size:256, val:condqry}
- , {col:"dutplcecd", type:"string", size:256, val:sysf_getUserInfo("dutplcecd")}
- , {col:"userid", type:"string", size:256, val:sysf_getUserInfo("userid")}
- , {col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
- , {col:"wardcd", type:"string", size:256, val:wardcd}
-
- ]);
-
- dsf_createDs("ds_data_TRMRF01219");
- var oParam = {};
- oParam.id = "TRMRF01219";
- oParam.service = "formmngtapp.FormIfMngt";
- oParam.method = "reqGetDataInfo";
- oParam.inds = "req=ds_cond_TRMRF01219";
- oParam.outds = "ds_data_TRMRF01219=datainfo";
- oParam.async = false;
- oParam.progress = false;
- // oParam.callback = "cf_TRMRF01219";
- tranf_submit(oParam);
-
- utlf_addLog(ds_data_TRMRF01219.saveXML());
- utlf_addLog("recinfo : " + recinfo );
- recinfo = recinfo.split("|");
-
- var levelcd = recinfo[0];
- var basecd = recinfo[1];
- var targetRef = recinfo[2];
- var colno = recinfo[3];
- var extnflag = recinfo[4];
-
- // 0008224.0005540.0000053|0000053001|reccnts
- if( !utlf_isNull(levelcd) ){
- var startIdx = levelcd.indexOf(".");
- var endIdx = levelcd.length;
- levelcd = levelcd.substr(startIdx + 1, endIdx);
- }
-
- var itemval = ds_data_TRMRF01219.getColumn(0, "itemval");
- //fSetItemDataByItemBaseCd(levelcd, basecd, itemval, targetRef);
- utlf_addLog("itemval : " + itemval);
- if( utlf_isNull(colno) ){
- ds_data_recitem.filter("String(degnitemlevlcd).indexOf('" + levelcd + "') >= 0 && String(degnitemcd).indexOf('" + basecd + "') >= 0");
- }else{
- ds_data_recitem.filter("String(degnitemlevlcd).indexOf('" + levelcd + "') >= 0 && String(colno).indexOf('" + colno + "') >= 0 && String(degnitemcd).indexOf('" + basecd + "') >= 0");
- }
- for(var j = 0; j < ds_data_recitem.getRowCount(); j++){
- var degnitemno = ds_data_recitem.getColumn(j, "degnitemno");
- var degnitemkind = ds_data_recitem.getColumn(j, "degnitemkind");
-
- var colId = degnitemkind + "_" + degnitemno;
- utlf_addLog("colId : " + colId );
- if(!utlf_isNull(colId))
- {
- if(!utlf_isNull(itemval)){
- if( this.components[colId] != null ){
- if( !utlf_isNull(eval(colId).userMask) && eval(colId).userMask == "include" && eval(colId) instanceof Calendar && !utlf_isNull(itemval) ){
- if( itemval.indexOf("-") > -1 ){
- itemval = itemval.replace(/-/g,"");
- }
- }
- }
- if(colId.indexOf("MSL") == -1)
- {
- if(!utlf_isNull(extnflag) && extnflag == "Y"){ // 확장 컨트롤값 세팅
- if( ds_data_itemvalue.getColumnInfo(colId+"_EXTN") != null )
- ds_data_itemvalue.setColumn(0, colId+"_EXTN", itemval);
- else
- utlf_addLog( "lf_setFormItemValue #1: " + colId+"_EXTN 이 존재하지 않습니다.");
- }else{
- ds_data_itemvalue.setColumn(0, colId, itemval);
-
- try{
- if( (degnitemkind == "RDO" || degnitemkind == "CHK") && !utlf_isNull(itemval) )
- {
- // 컴포짓에 value 세팅하는 함수
- lf_setSelCtrl(colId, itemval);
- }
- // lf_setRecDS이벤트에서 값이 셋팅되어야 하나 objComp 가 btn_signsave 로 인식되어 정상적으로 데이터가 셋팅되지 않음.
- else if(degnitemkind == "CMB" && !utlf_isNull(itemval) && !utlf_isNull(eval(colId).innerdataset))
- {
- ds_data_recitem.setColumn(j, "rectermnm", eval(colId).innerdataset.lookup("termbasecd", ds_data_itemvalue.getColumn(0, colId) , "valitemnm"));
- }
- }catch(e){
- sysf_catchTrace(e);
- alert("연동데이터 설정 시 오류가 발생하였습니다. 전산실로 문의바랍니다.");
- }
- }
- }
- else
- {
- var arrTemp = new Array();
- for(var k = 0; k < this.components.length; k++)
- {
- var ctrl = this.components[k];
- var bCtrl = false;
- if( !utlf_isNull(colno) ){
- if( ctrl.colno == colno ){
- bCtrl = true;
- }
- }else{
- if( ctrl.truevalue == itemval ){
- bCtrl = true;
- }
- }
-
- if(bCtrl && ctrl.supdegnitemno == degnitemno)
- {
- if( !utlf_isNull(extnflag) && extnflag == "Y"){ // 확장 컨트롤값 세팅
- //ctrl.enable = true;
- if( ds_data_itemvalue.getColumnInfo(ctrl.name+"_EXTN") != null )
- ds_data_itemvalue.setColumn(0, ctrl.name+"_EXTN", itemval);
- else
- sysf_trace( "setFormItemValue #2: " + ctrl.name+"_EXTN 이 존재하지 않습니다.");
- }else{
- ctrl.value = itemval;
- }
- }
- }
- }
-
- }
- }
- }
- ds_data_recitem.filter("");
-
- }
- // 산술식 적용
- lf_calculateInit();
-
- dsf_deleteDs("ds_cond_TRMRF01219");
- dsf_deleteDs("ds_data_TRMRF01219");
- dsf_deleteDs("ds_cond_TRMRF01220");
- dsf_deleteDs("ds_data_TRMRF01220");
- utlf_addLog(":::::::: lf_setInitData End :::::::");
- }
- function lf_showImgeEdit(obj:Button, e:ClickEventInfo)
- {
- var fstitemlevlcd = "";
- var openmode = "";
- var ctrlNm = obj.name;
- ctrlNm = ctrlNm.replace("BTN_", "");
- var degnitemno = ctrlNm.replace("_EXT1", "");
- var obj_Image = this.components["IMG_"+degnitemno];
- var obj_Btn = obj;
- var objImgedit = this.components["ivw_imgedit_"+degnitemno];
-
- if(utlf_isNull(objImgedit))
- {
- var nLeft = obj_Image.position.left;
- var nTop = obj_Image.position.bottom;
- var nRight = nLeft + 205;
- var nBottom = nTop + 155;
-
- for(var k = 0; k < this.all.length; k++)
- {
- if(this.all[k] instanceof ActiveX) // 이미지 정보 취합
- {
- var objActiveX = this.all[k];
-
- // Log Add
- utlf_addLog(nBottom + " >= " + objActiveX.position.top + " || " + nTop + " <= " + objActiveX.position.top);
- utlf_addLog(this.position.right + " < " + (nRight+205) + " || " + (this.position.bottom + this.vscrollbar.max) + " < " + (nTop + 55));
-
- //if( ((nBottom >= objActiveX.position.top) && (nTop <= objActiveX.position.top)) || (parent.position.bottom < nTop) )
- if( (((nBottom-100) >= objActiveX.position.top) && (nTop <= objActiveX.position.top ))
- || (this.position.right < (nRight+205) || (this.position.bottom + this.vscrollbar.max) < (nTop + 55)) )
- { // 팔레트 영역이 다른 ActiveX에 겹치거나 로더 bottom보다 아래로 그려질 시 버튼 밑으로 display
- nLeft = obj_Image.position.right + 1;
- nRight = nLeft + 205;
- nTop = obj_Btn.position.top + 20;
- nBottom = nTop + 155;
-
- break;
- }
- }
- }
-
- objImgedit = new Div("ivw_imgedit_"+degnitemno, nLeft, nTop, nRight, nBottom);
- this.addChild("ivw_imgedit_"+degnitemno, objImgedit);
- objImgedit.url = "emr_formmngtxp::SSMRF04600.xfdl";
- objImgedit.visible = false;
- objImgedit.class = "div_DA";
-
- objImgedit.show();
- objImgedit.ondrag.addHandler(lf_ivw_imgedit_ondrag);
- objImgedit.ondragmove.addHandler(lf_ivw_imgedit_ondragmove);
- //objImgedit.bringToFront();
- }
- if(objImgedit.visible)
- {
- objImgedit.visible = false;
- if( obj_Btn.class == "bn_block_max" )
- obj_Btn.class = "bn_block_min";
- else
- obj_Btn.class = "icon_top";
-
- obj_Image.SetDrawMode(false);
- obj_Image.SelectDrawType(0, false);
- }
- else
- {
- var objFormDegnDS = "";
- var objFormMastDS = "";
-
- if(frmf_isPopup())
- {
- objFormDegnDS = this.parent.objects["ds_data_formdegn"];
- objFormMastDS = this.parent.objects["ds_data_formmast"];
- }
-
- if(utlf_isNull(objFormDegnDS)) // 프로그램 서식
- {
- for(var i = 0; i < parent.parent.all.length; i++)
- {
- if(parent.parent.parent.all[i] instanceof Dataset) //Object를 비교하는 구문
- {
- dsNm = parent.parent.parent.all[i].name;
- if(dsNm.indexOf("ds_data_formmast") != -1)
- {
- objFormMastDS = parent.parent.parent.all[i];
- }
- }
- }
- objFormDegnDS = this.objects["ds_data_recitem"];
- }
- var recitemNode = "";
- var degnitemcd = "";
- var degnitemlevlcd = "";
- var degnitemnm = "";
- // 이미지의 디자인 정보를 확인한다.
- var imgNode = objFormDegnDS.findRow("degnitemno", degnitemno);
- utlf_addLog("degnitemno : " + degnitemno);
- var isCommonForm = false;
- var supformkindNode = "";
- var supformprogflagNode = "";
- var supformcdNode = "";
- var supsrcformcdNode = "";
- var supformprognmNode = "";
-
- var nRow = objFormMastDS.rowposition;
- if(nRow>-1)
- {
- supformcdNode = objFormMastDS.getColumn(nRow, "formcd");
- supsrcformcdNode = objFormMastDS.getColumn(nRow, "srcformcd");
- supformkindNode = objFormMastDS.getColumn(nRow, "formkind");
- supformprogflagNode = objFormMastDS.getColumn(nRow, "formprogflag");
- supformprognmNode = objFormMastDS.getColumn(nRow, "formprognm");
- if(supformkindNode == "C" && supformprogflagNode == "PROG" && supformprognmNode != "-"){
- isCommonForm = true;
- }
- }
- var objRecItemDS = this.objects["ds_data_recitem"];
- if(isCommonForm)
- {
- // 공통서식
- fstitemlevlcd = this.name.replace("ivw_", "");
- fstitemlevlcd = fstitemlevlcd.substr(0, 7);
- nRow = imgNode.rowposition;
- if(nRow>-1)
- {
- degnitemlevlcd = imgNode.getColumn(nRow, "degnitemlevlcd");
- recitemNode = objRecItemDS.findRowExpr("degnitemlevlcd=='"+fstitemlevlcd+"."+degnitemlevlcd+"'");
- }
- }
- else
- {
- // 특수서식
- nRow = imgNode;
- if(nRow>-1)
- {
- degnitemlevlcd = objFormDegnDS.getColumn(nRow, "degnitemlevlcd");
- openmode = frmf_getParameter("openmode");
- // 확장서식을 기록화면에서 기본서식의 팝업으로 띄울경우 기본서식과 동일하게 처리
- if(openmode=="extnunitform")
- {
- fstitemlevlcd = objRecItemDS.lookup("degnitemno", degnitemno, "fstlevlitemcd");
- fstitemlevlcd = fstitemlevlcd.substr(0, 7);
- recitemNode = objRecItemDS.findRowExpr("degnitemlevlcd=='"+fstitemlevlcd+"."+degnitemlevlcd+"'");
- }
- else
- {
- recitemNode = objRecItemDS.findRowExpr("degnitemlevlcd=='"+degnitemlevlcd+"'");
- }
- }
- }
- if(recitemNode != -1)
- {
- degnitemcd = objRecItemDS.getColumn(recitemNode, "degnitemcd");
- degnitemno = objRecItemDS.getColumn(recitemNode, "degnitemno");
- degnitemlevlcd = objRecItemDS.getColumn(recitemNode, "degnitemlevlcd");
- degnitemnm = objRecItemDS.getColumn(recitemNode, "degnitemnm");
- }
- // SSMRF04600 인스턴스 설정
- var objImgeinfoDS = objImgedit.objects["ds_data_imgeInfo"];
- nRow = objImgeinfoDS.rowposition;
- if(nRow>-1)
- {
- objImgeinfoDS.setColumn(nRow, "degnitemcd", degnitemcd);
- objImgeinfoDS.setColumn(nRow, "degnitemno", degnitemno);
- objImgeinfoDS.setColumn(nRow, "degnitemlevlcd", degnitemlevlcd);
- objImgeinfoDS.setColumn(nRow, "degnitemnm", degnitemnm);
- }
- objImgedit.visible = true;
-
- if( obj_Btn.class == "bn_block_min" )
- obj_Btn.class = "bn_block_max";
- else
- obj_Btn.class = "icon_bottom";
-
- obj_Image.SetDrawMode(true);
- }
- }
- var xss;
- var yss;
- function lf_ivw_imgedit_ondrag(obj:Div, e:DragEventInfo)
- {
- xss = obj.position.left - e.screenX;
- yss = obj.position.top - e.screenY;
- return true;
- }
- function lf_ivw_imgedit_ondragmove(obj:Div, e:DragEventInfo)
- {
- obj.move(e.screenX + xss, e.screenY + yss);
- }
- function lf_clearExtninfo(ds:Form){
- var arrDataset = new Array("ds_main_extninfo_resultinfo", "ds_main_extninfo_staffauthinfo", "ds_main_extninfo_oprinfo"
- , "ds_main_extninfo_oplistinfo", "ds_main_extninfo_recitem", "ds_main_extninfo_drlistinfo"
- , "ds_data_diagcdlist", "ds_main_extninfo_selectoplist", "ds_main_extninfo_dscinoutinfo"
- , "ds_main_extninfo_rectextinfo", "ds_main_extninfo_anstdrlistinfo", "ds_main_extninfo_oproomlistinfo"
- , "ds_main_extninfo_recseqinfo", "ds_main_extninfo_etcinfo");
-
- for(var i=0; i<arrDataset.length; i++){
- if( this.isValidObject(arrDataset[i]) == true ){
- var objDs = this.objects[arrDataset[i]];
- objDs.clearData();
- }
- }
- }
- /****************************************************************************************
- * Function : lf_getCCInfo
- * Description : 주호소 팝업
- * Creator :
- ****************************************************************************************/
- function lf_getCCInfo(obj:Button, e:ClickEventInfo)
- {
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
- //GRD_212
-
- var vGrdNm = "CCN_" + +degnno;
-
- frmf_setParameter("SPMRF04200_param_nodepath", "ds_temp_ccinfo");
- frmf_modal("SPMRF04200", "SPMRF04200", null, 1, 0, 0, null, null, null, null, null, null, "M");
-
-
- var dataYn = frmf_getParameter("MRF04200_DataYn");
- if(dataYn == "Y")
- {
- var grdDs = this.objects[dsNm];
- var objTempDS = this.objects[dsNm.replace("ds_data", "ds_temp")];
-
- var nRow = grdDs.rowposition;
- var nLastRow = grdDs.getRowCount() - 1;
- var smmcnts = grdDs.getColumn(nLastRow, "주호소명");
-
- grdDs.enableevent = false;
- if( utlf_isNull(grdDs.getColumn(nLastRow, "주호소명")) && utlf_isNull(grdDs.getColumn(nLastRow, "주호소코드")) ){
-
- // Grid DeleteRow
- grdDs.deleteRow(nLastRow);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+nRow+"' && degnitemno == '"+degnno+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--){
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
- }
-
- // add Row
- if( isValidObject("ds_temp_ccinfo") && ds_temp_ccinfo.getRowCount() > 0 ){
- for(var k=0; k<ds_temp_ccinfo.getRowCount(); k++){
-
- var rectermcd = ds_temp_ccinfo.getColumn(k, "termcd");
- var rectermnm = ds_temp_ccinfo.getColumn(k, "termengnm");
- var reccnts = ds_temp_ccinfo.getColumn(k, "comments");
- var reccnts2 = ds_temp_ccinfo.getColumn(k, "happendd");
- var nDupRow = grdDs.findRow("주호소코드", rectermcd);
- if( nDupRow < 0 ){
- nRowno = grdDs.addRow();
- grdDs.setColumn(nRowno, "주호소코드", rectermcd);
- grdDs.setColumn(nRowno, "주호소명", rectermnm);
- grdDs.setColumn(nRowno, "Comments", reccnts);
- grdDs.setColumn(nRowno, "발생일", reccnts2);
- }
-
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- }
- }
- grdDs.enableevent = true;
-
- }
- }
- /****************************************************************************************
- * Function : lf_addGridCol
- * Description : 누적 그리드 열추가 버튼 이벤트
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_addGridCol(obj:Button, e:ClickEventInfo)
- {
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
- //GRD_212
-
- var vGrdNm = "GRD_" + +degnno;
-
-
- var vColNm = this.objects[dsNm].getColCount();
- vColNm = "Column"+vColNm;
- nColno = eval(dsNm).addColumn(vColNm, "string");
-
- if(nColno > -1)
- {
- for(var i=0; i < eval(dsNm).rowcount; i++ )
- {
- this.objects[dsNm].setColumn(i, vColNm, "");
- }
-
-
- //this.components[vGrdNm]
- var vAddafterColCount = this.objects[dsNm].getColCount() -1;
- vColNm = "bind:"+ vColNm;
- this.components[vGrdNm].insertContentsCol(vAddafterColCount);
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "text", vColNm);
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "edittype", "normal");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "displaytype", "normal");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "class", "cell_nopadding");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "wordwrap", "word");
- this.components[vGrdNm].setCellProperty("Body", vAddafterColCount, "tooltiptype", "bottom");
- //Grid.setFormatColProperty(nColIdx,strPropID,nValue);
- this.components[vGrdNm].setFormatColProperty(vAddafterColCount, "size", 100);
-
-
-
- lf_addRecItemOne2(dsNm, nColno, degnno);
- }
-
- // Grid Row Size 보정
- lf_setRealRowSize(this.components[vGrdNm]);
- }
- /****************************************************************************************
- * Function : lf_removeGridCol
- * Description : 누적 그리드 열삭제 버튼 이벤트
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_removeGridCol(obj:Button, e:ClickEventInfo)
- {
- //선택한 column을 삭제하는 것이 아니라 마지막 column을 삭제한다.
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
-
- var vGrdNm = "GRD_" + +degnno;
- var vCount = this.objects[dsNm].getColCount() -1;
-
-
- if(vCount < 1)
- {
- //더 이상 삭제 할 수 없음
- return;
- }
- else
- {
- //이벤트 중지
- this.objects[dsNm].updatecontrol = false;
-
- //그리드 데이터셋 column삭제
-
- for(var i=0; i < this.objects[dsNm].rowcount; i++ )
- {
- this.objects[dsNm].setColumn(i, vCount, "");
- }
-
- //this.objects[dsNm].setColumn(vCount);
-
-
- this.objects[dsNm].deleteColumn(vCount);
- this.objects[dsNm].updatecontrol = true;
-
- //rec 데이터셋 관련 row삭제
- var nRowno = vCount;
- var sFstlevlcd = ds_data_recitem.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+degnno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
- ds_data_recitem.filter("colno=='"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
-
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--)
- {
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
-
-
- //이벤트 재가동
- //this.objects[dsNm].updatecontrol = true;
-
- //그리드(화면) 삭제
- var vCountGrdCol = this.components[vGrdNm].getFormatColCount() -1;
- this.components[vGrdNm].deleteContentsCol(vCount);
-
- }
-
- // Grid Row Size 보정
- lf_setRealRowSize(this.components[vGrdNm]);
- }
- /****************************************************************************************
- * Function : lf_getOpInfo
- * Description : 수술그리드 팝업 버튼 클릭 시
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getOpInfo(obj:Button, e:ClickEventInfo)
- {
- sPopUpRectermnm = "";
- var btnNm = obj.name;
- btnNm = btnNm.replace("BTN_","");
- var btnCd = btnNm.replace("_EXT1","");
- var objGrid = this.components["OPN_"+btnCd];
- lf_clickOpOpenPopUp(objGrid);
- }
-
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 수술 검색 및 설정 (SPMMO03300_수술팝업.xfdl)
- ****************************************************************************************/
- function lf_clickOpOpenPopUp(objGrid:Grid)
- {
- var langflag = fGetFormMast("langflag");
-
-
- frmf_setParameter("SPMMO3300_param_nodepath", "ds_temp_opinfo");
-
- var objPop = new Object();
- objPop.plgv_opParam = "N";
- objPop.plgv_searchdata = "";
-
- var objRtnParam = frmf_modal("SPMMO03300", "SPMMO03300", objPop, null, null, null, null, null, null, null, null, null, "M");
- var objGrdDS = eval(objGrid.binddataset);
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- var rtnValue = frmf_getParameter("SPMMO03300_rtn_useyn");
- if(rtnValue=="N"){
- return;
- }
- var objOpInfoDS:Dataset = new Dataset;
- //objOpInfoDS = objRtnParam.prds_selOpDs;
- objOpInfoDS = this.objects["ds_temp_opinfo"];
-
- var nRowno = objGrdDS.rowposition;
- var nRowCnt = objGrdDS.getRowCount();
- var sRectermnm = "";
- var sNo = objGrid.name.replace("OPN_", "");
- // sRectermnm = objGrdDS.getColumn((nRowCnt-1), "수술명");
- // if(utlf_isNull(sRectermnm))
- // {
- for(var i=0; i<nRowCnt; i++){
- // Grid DeleteRow
- objGrdDS.deleteRow(i);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+i+"' && degnitemno == '"+sNo+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--){
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
- }
- var sTmpopcd = "";
- var sTmpopengnm = "";
- var nOpListCnt = objOpInfoDS.getRowCount();
- if(nOpListCnt>0)
- {
- objGrdDS.enableevent = false;
- // Grid 구성 Item
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0; i<nOpListCnt; i++)
- {
- sTmpOpcd = objOpInfoDS.getColumn(i, "opcd");
- // if(langflag == "KO")
- // {
- // sTmpOphngnm = objOpInfoDS.getColumn(i, "ophngnm");
- // }
- // else
- // {
- sTmpOphngnm = objOpInfoDS.getColumn(i, "opengnm");
- // }
-
- var nFindRow = objGrdDS.findRow("수술코드", sTmpOpcd);
- if(nFindRow>-1)
- {
- continue;
- }
-
- nRowno = objGrdDS.addRow();
-
- // <!--수술코드, 수술명-->
- objGrdDS.setColumn(nRowno, "수술코드", sTmpOpcd);
- objGrdDS.setColumn(nRowno, "수술명" , sTmpOphngnm);
-
- var degnitemno, nInitRow, nAddRow;
-
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- /*
- for(var j=0; j<nTempCnt; j++)
- {
- if(i==0)
- {
- degnitemno = objTempDS.getColumn(0, "degnitemno");
- nInitRow = ds_data_recitem.findRowExpr("degnitemno=='" + degnitemno + "' && rowno=='0' && colno=='0'");
-
- if(nInitRow > -1 && !utlf_isNull(ds_data_recitem.getColumn(nInitRow, "rectermcd")))
- {
- nAddRow = nInitRow;
- }
- }
- else
- {
- nAddRow = ds_data_recitem.addRow();
- }
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- */
- }
- objGrdDS.enableevent = true;
- }
- lf_addRowOp(objGrid);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 수술그리드 행추가.
- ****************************************************************************************/
- function lf_addRowOp(objGrid:Grid)
- {
- var objGrdDS = eval(objGrid.binddataset);
- var nRowCnt = objGrdDS.getRowCount();
- if(nRowCnt<1){
- objGrdDS.clearData();
- objGrdDS.addRow();
- }else{
- objGrid.updateToDataset();
-
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- var nRow = objGrdDS.rowposition;
- var sSmmCnts = objGrdDS.getColumn(nRow, "수술명");
- if(!utlf_isNull(sSmmCnts)){
- if(nRow==(nRowCnt-1)){
- var nRowno = objGrdDS.addRow();
-
- var nAddRow, nCellPos;
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0; i<nTempCnt; i++){
- nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, i);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- var nColno = ds_data_recitem.getColumn(nAddRow, "colno");
- }
- var nMaxRow = ds_data_recitem.getMax('parseInt(rowno)');
- ds_data_recitem.setColumn(nMaxRow, "rectermcd", "");
- }
- }
- }
- }
- /****************************************************************************************
- * Function : lf_editFdg
- * Description : 가계도 편집 버튼 이벤트
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_editFdg(obj, e)
- {
- var vObj = obj.name;
- var vNos = vObj.split("_");//vNos[1]
- var vNo = "FDG_"+vNos[1];
- var vFDG = this.components[vNo];
- var vDs = this.objects["ds_data_recitem"];
- var nFindRow;
-
- if(!utlf_isNull(vFDG))
- {
- this.frmf_clearParameter("SPMMR04711_shape");
- this.frmf_clearParameter("SPMMR04711_base64");
-
- var sFdgInfo;
- var sFdgImg;
-
- frmf_modal("SPMMR04700", "SPMMR04700", null, null, null, null, null, null, null, null, null, null, "M");
- sFdgInfo = this.frmf_getParameter("SPMMR04711_shape");
- sFdgImg = this.frmf_getParameter("SPMMR04711_base64");
- nFindRow = vDs.findRowExpr("degnitemkind == 'FDG' && degnitemno == '"+vNos[1]+"'");
-
- if(!utlf_isNull(sFdgInfo) && !utlf_isNull(nFindRow) && nFindRow > -1)
- {
- //이미지 세팅
- vFDG.RemoveAll();
- vFDG.LoadMetaData("");
- vFDG.LoadMetaData(sFdgInfo);
-
- var objImgeData = objExt.decodeBase64(sFdgImg, "BIN");
-
- vDs.setColumn(nFindRow, "reccnts", sFdgInfo);
- vDs.setColumn(nFindRow, "recimge", objImgeData);
- }
- }
- }
- /****************************************************************************************
- * Function : lf_setRealRowSize
- * Description : 그리드 row size 보정 ( Gridtype : T, X )
- * retrun type :
- * Creator :
- ****************************************************************************************/
- //GRD만 해당으로 처리, DGN,DGN2 등 다른 그리드는 처리되지 않음
- function lf_setRealRowSize(obj:Grid)
- {
- var rowcount = obj.rowcount; //row개수
- var rowheights = ""; //rowheight 속성값
- var rowheightArray = null; //rowheights값을 통해 row별로 size를 배열에 담는다.
-
- if(obj.rowheight !=null || obj.rowheight != undefined)
- {
- rowheights = obj.rowheight;
- rowheightArray = rowheights.split(",");
- }
-
- if(rowcount > 0 && rowheights !="")
- {
- //row 사이즈 조정가능
- }
- else
- {
- //row 사이즈 조정불가 return
- return;
- }
-
- if(rowcount+1 == rowheightArray.length) //rowcount (head부분 제외)
- {
- for(var i=0; i <rowcount; i++)
- {
- //row별 사이즈 조정
- obj.setRealRowSize(i, rowheightArray[i+1]);
- }
- }
-
- }
- /****************************************************************************************
- * Function : lf_setCurrentDateCal
- * Description : Calendar 현재일자 설정
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_setCurrentDateCal(objCal){
-
- if( !utlf_isNull(objCal) && objCal instanceof Calendar && !utlf_isNull(objCal.curDate) ){
- objCal.value = utlf_getCurrentDate();
- }
- }
- /****************************************************************************************
- * Function : lf_setDiagNmbyDegnItemLevlCd_prof
- * Description : 서식 아이템의 값 반환
- * Argument : pid - 환자등록번호
- * cretno - 환자등록생성번호
- * orddd - 진료일 (입원일)
- * orddeptcd - 진료과
- * ioflag - 입원/외래 구분
- * degnlvcd - 서식항목 식별 코드
- * retrun type :
- * Creator : 서식관련 MMRCommon으로 이동(MMR01200)
- ****************************************************************************************/
- function lf_setDiagNmbyDegnItemLevlCd_prof(pid, cretno, orddd, orddeptcd, ioflag, degnlvcd, mediflag, srcformcd)
- {
-
- //진단명 그리드 찾기
- var dgnDs = lf_getDGN("DGN");
- var DGN = true;
- if(utlf_isNull(dgnDs))
- {
- DGN = false;
- }
-
- if( DGN == false ) return;
-
- var sOutDs = dsf_createDsRow("ds_data_diaginfo_prop", [{col:"diagdd", type:"string", size:256, val:""},
- {col:"diagcd", type:"string", size:256, val:""},
- {col:"icd10cd", type:"string", size:256, val:""},
- {col:"dispdiagcd", type:"string", size:256, val:""},
- {col:"diagengnm", type:"string", size:256, val:""},
- {col:"diaghngnm", type:"string", size:256, val:""},
- {col:"diagkindcd" , type:"string", size:256, val:""},
- {col:"diagkindcdflag" , type:"string", size:256, val:""}
- ]);
-
- var objOutDs:Dataset = new Dataset;
- objOutDs = this.objects[sOutDs];
-
- //20100719-kys-발행된 제증명 존재시 제증명 진단명연동건으로 분기
- var sSendDs;
- var objSendDs:Dataset = new Dataset;
- if(utlf_isNull(mediflag)){
-
- sSendDs = dsf_createDsRow("ds_cond_diaginfo_prop", [{col:"pid", type:"string", size:256, val:pid},
- {col:"orddd", type:"string", size:256, val:""},
- {col:"cretno", type:"string", size:256, val:""},
- {col:"mskind", type:"string", size:256, val:"Y"},
- {col:"histflag", type:"string", size:256, val:"Y"},
- {col:"grupflag", type:"string", size:256, val:"Y"},
- {col:"orddeptcd", type:"string", size:256, val:orddeptcd},
- {col:"fromdd", type:"string", size:256, val:""},
- {col:"todd", type:"string", size:256, val:""},
- {col:"ioflag", type:"string", size:256, val:ioflag},
- {col:"srcformcd", type:"string", size:256, val:srcformcd}
- ]);
-
- objSendDs = this.objects[sSendDs];
-
- var oParam = {};
- oParam.id = "TRMMR02908";
- oParam.service = "medirecapp.ExtnMediRec";
- oParam.method = "reqGetPatDiagInfo";
- oParam.inds = "req="+sSendDs;
- oParam.outds = sOutDs+"=diagcdlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMMR02908";
- tranf_submit(oParam);
- }else if(!utlf_isNull(mediflag)){
-
- var arrMediflag = mediflag.split(",");
-
- sSendDs = dsf_createDsRow("ds_cond_diaginfo_prop", [{col:"formrecseq", type:"string", size:256, val:arrMediflag[0]},
- {col:"langflag", type:"string", size:256, val:arrMediflag[1]}
- ]);
-
- objSendDs = this.objects[sSendDs];
- var oParam = {};
- oParam.id = "TRMMR02915";
- oParam.service = "medirecapp.ExtnMediRec";
- oParam.method = "reqGetPatIssDiagInfo";
- oParam.inds = "req="+sSendDs;
- oParam.outds = sOutDs+"=diagcdlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMMR02915";
- tranf_submit(oParam);
- }
-
-
- var sLangFlag = grp_base.ivw_loader.fGetFormMast("langflag");
- var nDelRow = dgnDs.clearData();
- if( nDelRow > 1 ){
- var dsNm = dgnDs.name
- var degnno = dsNm.replace("ds_data_grd_", "");
- var degnitemlevlcd = grp_base.ivw_loader.ds_data_formdegn.lookup("degnitemno", degnno, "degnitemlevlcd");
- var levLen = degnitemlevlcd.length;
- for( var a=1; a< nDelRow; a++){
- grp_base.ivw_loader.ivw_base.ds_data_recitem.filter("degnitemlevlcd.toString().substr(0, "+levLen+") =='"+degnitemlevlcd+"' && rowno == '" + a + "' ");
- for(var k = grp_base.ivw_loader.ivw_base.ds_data_recitem.rowcount-1; k >= 0; k--)
- {
- grp_base.ivw_loader.ivw_base.ds_data_recitem.deleteRow(k);
- }
- grp_base.ivw_loader.ivw_base.ds_data_recitem.filter("");
- }
- }
-
-
-
- var RowCount = objOutDs.getRowCount();
-
- for(var d=0; d< RowCount; d++)
- {
- var diagcd = objOutDs.getColumn(d, "icd10cd");
- // if( dgnDs.getCaseCount("진단코드 == '"+ diagcd +"'") > 0 )
- // continue;
-
- dgnDs.addRow();
-
- var diagnm = "";
- if( sLangFlag == "EN" ){
- diagnm = objOutDs.getColumn(d, "diagengnm");
- }else{
- diagnm = objOutDs.getColumn(d, "diaghngnm");
- }
- if( utlf_isNull(diagnm) ){
- diagnm = objOutDs.getColumn(d, "diagengnm");
- }
-
- if(objOutDs.getColumn(d, "diagkindcdflag") == "M")
- {
- dgnDs.setColumn(d, "주", 1);
- this.getOwnerFrame().form.frmf_setParameter("SSMRF04000_diagnm", diagnm);
- }
-
-
-
-
- if(objOutDs.getColumn(d, "diagkindcd") == "R")
- {
- dgnDs.setColumn(d, "R/O", 1);
- }
-
- if(!utlf_isNull(objOutDs.getColumn(d, "icd10cd")))
- {
- dgnDs.setColumn(d, "진단코드", objOutDs.getColumn(d, "icd10cd"));
- }
-
- if(!utlf_isNull(diagnm))
- {
- dgnDs.setColumn(d, "진단명", diagnm);
- }
-
- // if(!utlf_isNull(objOutDs.getColumn(d, "diagcmtcnts")))
- // {
- // dgnDs.setColumn(d, "Comments", objOutDs.getColumn(d, "diagcmtcnts"));
- // }
-
- }
- dgnDs.addRow();
- }
- /****************************************************************************************
- * Description : 서식내 그리드 존재유무
- * retrun type : Dataset Object
- * Creator :
- ****************************************************************************************/
- function lf_getDGN(gridName)
- {
- var length = grp_base.ivw_loader.ivw_base.all.length;
-
- if(utlf_isNull(length))
- {
- return;
- }
-
- for(var c=0; c<length; c++)
- {
- var Name = grp_base.ivw_loader.ivw_base.all[c].name;
-
- if(Name.indexOf(gridName) > -1)
- {
- var underBar = gridName+"_"
- var nDegnItemNo = Name.replace(underBar, "");
- var DsNm = "ds_data_grd_" + nDegnItemNo;
- var Ds = grp_base.ivw_loader.ivw_base.objects[DsNm];
-
- return Ds;
- break;
- }
- }
-
- return;
-
- }
- /****************************************************************************************
- * Function : lf_addRow
- * Description : Grid 행추가 이벤트
- * Argument : 01. obj
- * : 02. e
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_addRow(obj:Button, e:ClickEventInfo){
-
- BTN_1_EXT2.click();
-
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT3", "");
- degnno = degnno.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
- dsNm = "ds_data_grd_"+degnno;
- nRowno = eval(dsNm).rowcount - 1;
-
- var formrecdd = parent.ds_data_formrec.getColumn(0, "formrecdd");
- var formrechm = parent.ds_data_formrec.getColumn(0, "formrechm");
- eval(dsNm).setColumn(nRowno, 0, formrecdd);
- eval(dsNm).setColumn(nRowno, 1, formrechm);
-
- return;
- }
- function lf_setSizeImg(obj_imge){
-
- if( utlf_isNull(obj_imge) || (!utlf_isNull(obj_imge) && !(obj_imge instanceof ActiveX)) ){
- return;
- }
-
- if( utlf_isNull(obj_imge.orgHeight) ){
- obj_imge.orgHeight = obj_imge.position.height;
- }
- if( utlf_isNull(obj_imge.orgWidth) ){
- obj_imge.orgWidth = obj_imge.position.width;
- }
-
- if( !utlf_isNull(obj_imge.style.backgroundRepeat) ){
- obj_imge.style.backgroundRepeat = "";
- }
-
- // 2018.05.24 [요청번호:20180402024] [치과병원]서식자료(디자인) 작성 시, 오류에 따른 전산 요청
- utlf_addLog("lf_setSizeImg >> " + obj_imge.GetViewMode());
- if( obj_imge.GetViewMode() != 4 && !utlf_isNull(obj_imge.name) && obj_imge.name != "IMG_98"){
- utlf_addLog("obj_imge.SetViewMode(4) >> ");
- obj_imge.SetViewMode(4);
- }
- }
- function lf_reSizeImg(obj_imge){
-
- if( !utlf_isNull(obj_imge) && !(obj_imge instanceof ActiveX) && utlf_isNull(obj_imge.orgHeight) && utlf_isNull(obj_imge.orgWidth) ){
- return;
- }
-
- var sz = obj_imge.GetImageSizeEx(false);
- var arrSz = sz.split("|");
-
- if(obj_imge.position.width > arrSz[0]){
- obj_imge.position.width = arrSz[0];
- }else if(obj_imge.position.width <= arrSz[0]){
- obj_imge.position.width = obj_imge.orgWidth;
- }
-
- if(obj_imge.position.height > arrSz[1]){
- obj_imge.position.height = arrSz[1];
- }else if(obj_imge.position.height <= arrSz[1]){
- obj_imge.position.height = obj_imge.orgHeight;
- }
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 협력회신용 처방 검색 및 설정
- - 전원소견서 및 C진료의뢰서(칠곡) 제증명 투약정보에서 사용
- ****************************************************************************************/
- function lf_getPrcpInfoEx(obj:Button, e:ClickEventInfo)
- {
- sPopUpRectermnm = "";
- var btnNm = obj.name;
- btnNm = btnNm.replace("BTN_","");
- var btnCd = btnNm.replace("_EXT","");
- var objGrid = this.components["GRD_"+btnCd];
- lf_clickCommOpenPopUp_Prcp(objGrid);
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 협력회신용 처방 검색 및 설정
- ****************************************************************************************/
- function lf_clickCommOpenPopUp_Prcp(objGrid:Grid)
- {
- var langflag = fGetFormMast("langflag");
- var objPop = new Object();
-
- var pid = parent.fGetFormRec("pid");
- var orddeptcd = parent.fGetFormRec("orddeptcd");
- var orddd = parent.fGetFormRec("orddd");
- var ioflag = parent.fGetFormRec("chosflag");
-
- var cond = pid + "▦" + orddeptcd + "▦" + orddd + "▦" + ioflag;
- frmf_setParameter("SPARC00200_patinfo", cond);
- frmf_setParameter( "SPARC00200_rtn", "");
-
- var objRtnParam = frmf_modal("SPARC00200", "SPARC00200", objPop, null, null, null, null, null, null, null, null, null, "M");
- var objGrdDS = eval(objGrid.binddataset);
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- var prcpInfo = frmf_getParameter( "SPARC00200_rtn" );
-
- if(utlf_isNull(prcpInfo)){
- return;
- }
- var nRowno = objGrdDS.rowposition;
- var nRowCnt = objGrdDS.getRowCount();
- var sRectermnm = "";
- var sNo = objGrid.name.replace("GRD_", "");
- sRectermnm = objGrdDS.getColumn((nRowCnt-1), "처방명");
- if(utlf_isNull(sRectermnm))
- {
- // Grid DeleteRow
- objGrdDS.deleteRow(nRowCnt-1);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--){
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
- }
-
- var sTmpprcpdd = "";
- var sTmpprcpcd = "";
- var sTmpprcpnm = "";
- var nPrcpListCnt = prcpInfo.split ( "▩" ).length;
-
- if(nPrcpListCnt>0)
- {
- objGrdDS.enableevent = false;
- // Grid 구성 Item
-
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0 ; i<nPrcpListCnt -1; i++){
- sTmpprcpdd = getArrayData ( prcpInfo, i, 0, "▩", "▦" );
- sTmpprcpcd = getArrayData ( prcpInfo, i, 1, "▩", "▦" );
- sTmpprcpnm = getArrayData ( prcpInfo, i, 2, "▩", "▦" );
-
- var nFindRow = objGrdDS.findRowExpr("처방코드=='"+sTmpprcpcd+"' && 처방일자=='"+sTmpprcpdd+"'");
- if(nFindRow>-1){
- continue;
- }
-
- nRowno = objGrdDS.addRow();
-
- objGrdDS.setColumn(nRowno, "처방일자" , sTmpprcpdd);
- objGrdDS.setColumn(nRowno, "처방코드" , sTmpprcpcd);
- objGrdDS.setColumn(nRowno, "처방명" , sTmpprcpnm);
- objGrdDS.setColumn(nRowno, "1회수량" , getArrayData ( prcpInfo, i, 11, "▩", "▦" ));
- objGrdDS.setColumn(nRowno, "단위" , getArrayData ( prcpInfo, i, 4, "▩", "▦" ));
- objGrdDS.setColumn(nRowno, "횟수" , getArrayData ( prcpInfo, i, 5, "▩", "▦" ));
- objGrdDS.setColumn(nRowno, "일수" , getArrayData ( prcpInfo, i, 6, "▩", "▦" ));
- objGrdDS.setColumn(nRowno, "용법" , getArrayData ( prcpInfo, i, 12, "▩", "▦" ));
-
- var nExistRow = ds_data_recitem.findRowExpr("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- if( nExistRow < 0 ){
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- }
- }
- objGrdDS.enableevent = true;
- }
- lf_addRowComm(objGrid, objGrid.name);
- }
- /****************************************************************************************
- * Function : lf_initDGNGrd
- * Description : 제증명 서식 DGN grid 초기화
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_initDGNGrd()
- {
- utlf_addLog("***** lf_initDGNGrd() *****");
- var grdItemRow = ds_data_formdegn.findRow("degnitemkind", "DGN");
- var nRowno = "";
-
- if(grdItemRow != -1)
- {
- var arrGrdRows = new Array();
- arrGrdRows = objExt.findRows(ds_data_formdegn, "degnitemkind", "DGN");
- if(arrGrdRows.length > 0)
- {
- for(var j = 0; j < arrGrdRows.length; j++)
- {
- var nRow = arrGrdRows[j];
- var nDegnItemNo = ds_data_formdegn.getColumn(nRow, "degnitemno");
- var DsNm = "ds_data_grd_" + nDegnItemNo;
-
- var vGrdNm = "GRD_"+nDegnItemNo;
-
- try{
- var vGrdObj = eval(vGrdNm);
-
- if( vGrdObj.autoenter == "select" ){
- vGrdObj.autoenter = "key";
- }
- }catch(e){}
-
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 협력회신용 수술정보 검색 및 설정
- - 전원소견서 및 C진료의뢰서(칠곡) 제증명 수술정보에서 사용
- ****************************************************************************************/
- function lf_getOpInfoEx(obj:Button, e:ClickEventInfo)
- {
- sPopUpRectermnm = "";
- var btnNm = obj.name;
- btnNm = btnNm.replace("BTN_","");
- var btnCd = btnNm.replace("_EXT","");
- var objGrid = this.components["GRD_"+btnCd];
- lf_clickCommOpenPopUp_Op(objGrid);
- }
- /****************************************************************************************
- * Argument : objGrid - Grid Object
- * Description : 협력회신용 수술 검색 및 설정
- ****************************************************************************************/
- function lf_clickCommOpenPopUp_Op(objGrid:Grid)
- {
- var langflag = fGetFormMast("langflag");
- var objPop = new Object();
-
- var pid = parent.fGetFormRec("pid");
- var orddeptcd = parent.fGetFormRec("orddeptcd");
- var orddd = parent.fGetFormRec("orddd");
- var ioflag = parent.fGetFormRec("chosflag");
-
- var cond = pid + "▦" + orddeptcd + "▦" + orddd + "▦" + ioflag;
- frmf_setParameter("SPARC00210_patinfo", cond);
- frmf_setParameter( "SPARC00210_rtn", "");
-
- var objRtnParam = frmf_modal("SPARC00210", "SPARC00210", objPop, null, null, null, null, null, null, null, null, null, "M");
- var objGrdDS = eval(objGrid.binddataset);
- var objTempDS = this.objects[objGrdDS.name.replace("ds_data", "ds_temp")];
-
- var prcpInfo = frmf_getParameter( "SPARC00210_rtn" );
-
- if(utlf_isNull(prcpInfo)){
- return;
- }
-
- var nRowno = objGrdDS.rowposition;
- var nRowCnt = objGrdDS.getRowCount();
- var sRectermnm = "";
- var sNo = objGrid.name.replace("GRD_", "");
-
- sRectermnm = objGrdDS.getColumn((nRowCnt-1), "수술명");
- if(utlf_isNull(sRectermnm))
- {
- // Grid DeleteRow
- objGrdDS.deleteRow(nRowCnt-1);
-
- // recitem Delete rowno
- ds_data_recitem.filter("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- var nRowCnt = ds_data_recitem.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--){
- ds_data_recitem.deleteRow(i);
- }
- ds_data_recitem.filter("");
- }
-
- var sTmpprcpdd = "";
- var sTmpprcpcd = "";
- var sTmpprcpnm = "";
- var nPrcpListCnt = prcpInfo.split ( "▩" ).length;
-
- if(nPrcpListCnt>0)
- {
- objGrdDS.enableevent = false;
- // Grid 구성 Item
-
- var nTempCnt = objTempDS.getRowCount();
- for(var i=0 ; i<nPrcpListCnt -1; i++){
- sTmpopdd = getArrayData ( prcpInfo, i, 0, "▩", "▦" );
- sTmpopnm = getArrayData ( prcpInfo, i, 1, "▩", "▦" );
- sTmpopcd = getArrayData ( prcpInfo, i, 2, "▩", "▦" );
-
- var nFindRow = objGrdDS.findRowExpr("수술코드=='"+sTmpopcd+"' && 수술일=='"+sTmpopdd+"'");
- if(nFindRow>-1){
- continue;
- }
-
- nRowno = objGrdDS.addRow();
-
- objGrdDS.setColumn(nRowno, "수술일" , sTmpopdd);
- objGrdDS.setColumn(nRowno, "수술명" , sTmpopnm);
- objGrdDS.setColumn(nRowno, "수술코드" , sTmpopcd);
-
- var nExistRow = ds_data_recitem.findRowExpr("rowno=='"+nRowno+"' && degnitemno == '"+sNo+"'");
- if( nExistRow < 0 ){
- for(var j=0; j<nTempCnt; j++){
- var nAddRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(nAddRow, objTempDS, j);
- ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
- }
- }
- }
- objGrdDS.enableevent = true;
- }
- lf_addRowComm(objGrid, objGrid.name);
- }
- /****************************************************************************************
- *소아청소년과 입원예약시 SMS 로딩
- ****************************************************************************************/
- function lf_sendSMS(obj:Button, e:ClickEventInfo)
- {
-
- var pid = parent.fGetFormRec("pid");
- dsf_createDsRow("ds_send_info", [{col:"pid", type:"string", size:256, val:pid}]);
- dsf_createDsRow("ds_rtn_info", [{col:"hngnm", type:"string", size:256, val:""}
- ,{col:"mpphontel", type:"string", size:256, val:""}]);
-
- var oParam = {};
- oParam.id = "reqGetPhoneInfo";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetPhoneInfo";
- oParam.inds = "req=ds_send_info";
- oParam.outds = "ds_rtn_info=list";
- oParam.async = false;
- //oParam.callback = "cf_TRMMR00301";
- tranf_submit(oParam);
-
- var hngnm = ds_rtn_info.getColumn(0,"hngnm");
- var mpphontel = ds_rtn_info.getColumn(0,"mpphontel");
-
- dsf_deleteDs("ds_send_info");
- dsf_deleteDs("ds_rtn_info");
-
- dsf_createDsRow("ds_hidden_smsdata", [{col:"bizabbr", type:"string", size:256, val:"EMR"}
- ,{col:"replytelno", type:"string", size:256, val:""}
- ,{col:"rsrvyn", type:"string", size:256, val:""}
- ,{col:"rsrvdate", type:"string", size:256, val:""}
- ,{col:"rsrvtime", type:"string", size:256, val:""}]);
- dsf_createDsRow("ds_hidden_smsdata_recvr", [{col:"chk", type:"string", size:256, val:""}
- ,{col:"recvrnm", type:"string", size:256, val:hngnm}
- ,{col:"recvrtelno", type:"string", size:256, val:mpphontel}]);
-
- var objArg = new Object();
- objArg.arg_ds_main = ds_hidden_smsdata;
- objArg.arg_ds_recvr = ds_hidden_smsdata_recvr;
- frmf_open("SPZMS00100", "SPZMS00100", objArg, "","1", "700", "400", "", "", "", "", "","M");
- dsf_deleteDs("ds_hidden_smsdata");
- dsf_deleteDs("ds_hidden_smsdata_recvr");
- }
- /****************************************************************************************
- *소아청소년과 입원예약시 입원안내문 출력
- * cctlyn :자식창에서 제어여부
- ****************************************************************************************/
- function lf_prntIninfo(cctlyn)
- {
- var pid = parent.fGetFormRec("pid");
- var status = parent.fGetFormRec("status");
-
- dsf_createDsRow("ds_send_info", [{col:"pid", type:"string", size:256, val:pid}]);
- dsf_createDsRow("ds_rtn_info", [{col:"hngnm", type:"string", size:256, val:""}
- ,{col:"schedd", type:"string", size:256, val:""}
- ,{col:"pid", type:"string", size:256, val:""}]);
-
- var oParam = {};
- oParam.id = "reqGetPhoneInfo";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetPhoneInfo";
- oParam.inds = "req=ds_send_info";
- oParam.outds = "ds_rtn_info=list";
- oParam.async = false;
- //oParam.callback = "cf_TRMMR00301";
- tranf_submit(oParam);
-
- ds_rtn_info.setColumn(0,"schedd",parent.parent.ds_main_scherecinfo.getColumn(0,"schedd"));
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/prninfo" , ds_rtn_info); // 데이터셋 1
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- parent.parent.ds_main_scherecinfo.setColumn(0,"cctlyn",cctlyn);
- if (cctlyn == "Y" ) {
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;callback=lf_end";
- }
- else {
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
- }
-
- if (status == "U") {
- if ("6" == sysf_messageBox("입원안내문을 출력하시겠습니까?","Q")) {
- rptf_exeReportPreview30(["RPMMP00001_소아청소년입원안내문"],[objParam], option);
- }
- }
- else {
- rptf_exeReportPreview30(["RPMMP00001_소아청소년입원안내문"],[objParam], option);
- }
-
- dsf_deleteDs("ds_send_info");
- dsf_deleteDs("ds_rtn_info");
- }
- function lf_end(){
- parent.parent.fClkBtnInit();
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 권역외상센터 등록체계 AIS 정보 조회 및 설정 (formcd : 1800021979)
- ****************************************************************************************/
- function lf_SetRptmAISInfo(){
- var scrnid = oOpener.frmf_getScreenID();
-
- if( scrnid == "SPMMO08012" || scrnid == "SPMMO08016"){ // 권역외상센터 등록체계
-
- // 두경부
- var apDs = ["ds_main_aisinfo1", "ds_main_aisinfo2", "ds_main_aisinfo3", "ds_main_aisinfo4", "ds_main_aisinfo5", "ds_main_aisinfo6"];
- var atDs = ["ds_data_grd_15", "ds_data_grd_34", "ds_data_grd_130", "ds_data_grd_654", "ds_data_grd_660", "ds_data_grd_666"];
-
- for(var i=0; i<apDs.length; i++){
- var pDs = oOpener.objects[apDs[i]];
- var tDs = this.objects[atDs[i]];
-
- if( pDs != null ){
- var nCnt = pDs.rowcount;
- for(var k=0; k<nCnt; k++){
- var aic = pDs.getColumn(k, "aic");
- var ais = pDs.getColumn(k, "ais");
- var pos = pDs.getColumn(k, "pos");
- var ain = pDs.getColumn(k, "ain");
-
- if( !utlf_isNull(aic) && tDs.findRow("코드", aic) < 0 ){
- var nFindRow = tDs.findRowExpr("utlf_isNull(코드) && utlf_isNull(점수) && utlf_isNull(부위) && utlf_isNull(설명) && utlf_isNull(작성자)");
- //trace("nFindRow : " + nFindRow);
- var nRow = nFindRow;
- if( nFindRow < 0 ){
- nRow = tDs.addRow();
- }
-
- tDs.setColumn(nRow, "코드", aic);
- tDs.setColumn(nRow, "점수", ais);
- tDs.setColumn(nRow, "부위", pos);
- tDs.setColumn(nRow, "설명", ain);
- tDs.setColumn(nRow, "작성자", "권역외상센터");
- }
-
- }
-
- }
- }
-
- BTN_809_EXT.click();
- }
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : BTN_[grid]_[pinjpart]
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : AIS 기준자료 (formcd : 1800021979)
- ****************************************************************************************/
- function comn_SetRptmAISInfo_onclick(obj:Button, e:ClickEventInfo)
- {
- var btnNm = obj.name;
- var aBtn = btnNm.split("_");
-
- frmf_setParameter("SPMMO07000_pinjpart", aBtn[2]);
-
- frmf_modal("SPMMO07000", "SPMMO07000", null, null, null, null, null, null, null, null, null, null, "M");
-
- if ( !utlf_isNull(frmf_getParameter("SPMMO07000_rtnaiscode"))) {
- var tDs = this.objects["ds_data_grd_" + aBtn[1]];
- if( tDs == null ) return;
-
- var nFindRow = tDs.findRowExpr("utlf_isNull(코드) && utlf_isNull(점수) && utlf_isNull(부위) && utlf_isNull(설명) && utlf_isNull(작성자)");
- var nRow = nFindRow;
- if( nFindRow < 0 ){
- nRow = tDs.addRow();
- }
-
- tDs.setColumn(nRow, "코드", frmf_getParameter("SPMMO07000_rtnaiscode"));
- tDs.setColumn(nRow, "점수", frmf_getParameter("SPMMO07000_rtnpnt"));
- tDs.setColumn(nRow, "부위", frmf_getParameter("SPMMO07000_rtnpos"));
- tDs.setColumn(nRow, "설명", frmf_getParameter("SPMMO07000_rtnaiscnts"));
- tDs.setColumn(nRow, "작성자", sysf_getUserName());
-
- frmf_clearParameter("SPMMO07000_pinjpart");
- frmf_clearParameter("SPMMO07000_rtnaiscode");
- frmf_clearParameter("SPMMO07000_rtnaiscnts");
- frmf_clearParameter("SPMMO07000_rtnpnt");
-
- }
-
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : BTN_[deginitemno]_EXT
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 권역외상센터 등록체계 ISS 계산 (formcd : 1800021979)
- * : SPMMO08012.xjs fISSScore() 동일
- ****************************************************************************************/
- function lf_IssCalc_onclick(obj:Button, e:ClickEventInfo)
- {
- var degnno, dsNm, nRowno;
- var btnNm = obj.name;
- degnno = btnNm.replace("_EXT2", "");
- degnno = degnno.replace("_EXT1", "");
- degnno = degnno.replace("_EXT", "");
- degnno = degnno.replace("BTN_", "");
-
-
- var badnum = 0;
- var iss = 0;
- var issA = 0;
- var issB = 0;
- var issC = 0;
-
- var ais = new Array(6);
-
- var ais1 = new Array(10);
- var ais2 = new Array(10);
- var ais3 = new Array(10);
- var ais4 = new Array(10);
- var ais5 = new Array(10);
- var ais6 = new Array(10);
-
- var i1 = 0;
- var i2 = 0;
- var i3 = 0;
- var i4 = 0;
- var i5 = 0;
- var i6 = 0;
-
- //external 계산을 위해 해당하는 값들 ais6번으로 옮기기
- var oDs = this.objects["ds_data_grd_15"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- dsf_createDsRow("ds_send_issinfo", [{col:"aiscode", type:"STRING", size:256, val:v_aic}]);
- dsf_createDs("ds_temp_issinfo", [{col:"extyn", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO08013";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetExtAisCodeYN";
- oParam.inds = "req=ds_send_issinfo";
- oParam.outds = "ds_temp_issinfo=issinfo";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if (ds_temp_issinfo.getColumn(0, "extyn") == "Y") {
- ais6[i6] = v_ais;
- i6 ++;
- } else {
- ais1[i1] = v_ais;
- i1 ++;
- }
- }
-
- var oDs = this.objects["ds_data_grd_34"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- dsf_createDsRow("ds_send_issinfo", [{col:"aiscode", type:"STRING", size:256, val:v_aic}]);
- dsf_createDs("ds_temp_issinfo", [{col:"extyn", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO08013";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetExtAisCodeYN";
- oParam.inds = "req=ds_send_issinfo";
- oParam.outds = "ds_temp_issinfo=issinfo";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if (ds_temp_issinfo.getColumn(0, "extyn") == "Y") {
- ais6[i6] = v_ais;
- i6 ++;
- } else {
- ais2[i2] = v_ais;
- i2 ++;
- }
- }
-
- var oDs = this.objects["ds_data_grd_130"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- dsf_createDsRow("ds_send_issinfo", [{col:"aiscode", type:"STRING", size:256, val:v_aic}]);
- dsf_createDs("ds_temp_issinfo", [{col:"extyn", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO08013";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetExtAisCodeYN";
- oParam.inds = "req=ds_send_issinfo";
- oParam.outds = "ds_temp_issinfo=issinfo";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if (ds_temp_issinfo.getColumn(0, "extyn") == "Y") {
- ais6[i6] = v_ais;
- i6 ++;
- } else {
- ais3[i3] = v_ais;
- i3 ++;
- }
- }
-
- var oDs = this.objects["ds_data_grd_654"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- dsf_createDsRow("ds_send_issinfo", [{col:"aiscode", type:"STRING", size:256, val:v_aic}]);
- dsf_createDs("ds_temp_issinfo", [{col:"extyn", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO08013";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetExtAisCodeYN";
- oParam.inds = "req=ds_send_issinfo";
- oParam.outds = "ds_temp_issinfo=issinfo";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if (ds_temp_issinfo.getColumn(0, "extyn") == "Y") {
- ais6[i6] = v_ais;
- i6 ++;
- } else {
- ais4[i4] = v_ais;
- i4 ++;
- }
- }
-
- var oDs = this.objects["ds_data_grd_660"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- dsf_createDsRow("ds_send_issinfo", [{col:"aiscode", type:"STRING", size:256, val:v_aic}]);
- dsf_createDs("ds_temp_issinfo", [{col:"extyn", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO08013";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetExtAisCodeYN";
- oParam.inds = "req=ds_send_issinfo";
- oParam.outds = "ds_temp_issinfo=issinfo";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if (ds_temp_issinfo.getColumn(0, "extyn") == "Y") {
- ais6[i6] = v_ais;
- i6 ++;
- } else {
- ais5[i5] = v_ais;
- i5 ++;
- }
- }
-
- var oDs = this.objects["ds_data_grd_666"];
- for (var x = 0 ; x < oDs.rowcount; x++) {
- var v_aic = utlf_transNullToEmpty(oDs.getColumn(x, "코드"));
- var v_ais = utlf_transNullToEmpty(oDs.getColumn(x, "점수"));
- if( utlf_isNull(v_aic) ){
- continue;
- }
-
- ais6[i6] = v_ais;
- i6 ++;
- }
-
- aissort1 = ais1.sort();
- aissort2 = ais2.sort();
- aissort3 = ais3.sort();
- aissort4 = ais4.sort();
- aissort5 = ais5.sort();
- aissort6 = ais6.sort();
-
- ais[0] = aissort1[i1 - 1];
- ais[1] = aissort2[i2 - 1];
- ais[2] = aissort3[i3 - 1];
- ais[3] = aissort4[i4 - 1];
- ais[4] = aissort5[i5 - 1];
- ais[5] = aissort6[i6 - 1];
-
- aissort = ais.sort();
-
- for (var i = 0; i < 6; i ++) {
- if (ais[i] == null || ais[i] < 0) {
- break;
- }
- }
-
- var x = i - 1;
-
- if ( x > 1) {
- issA = ais[x - 2] * ais[x - 2];
- } else {
- issA = 0
- }
-
- if ( x > 0) {
- issB = ais[x - 1] * ais[x - 1];
- } else {
- issB = 0
- }
-
- issC = ais[x] * ais[x];
- if( isNaN(issC) ){
- issC = -1;
- }
- if (issC == 36) iss = 75;
- else iss = issA + issB + issC;
-
- ds_data_itemvalue.setColumn(0, "STX_"+degnno, iss);
- }
- /****************************************************************************************
- * Argument : 01.obj : Object Event has occurred
- * Description : 공통기록 버튼 이벤트 설정(NEW)
- ****************************************************************************************/
- function InitBtn(obj){
- lf_setBtnAddHandler(obj, 0);
- }
- /****************************************************************************************
- * Argument : 01.obj : Object Event has occurred
- * 02.seq : depth
- * Description : 공통기록 버튼 이벤트 설정(NEW)
- ****************************************************************************************/
- function lf_setBtnAddHandler(obj, seq)
- {
- var sType;
-
- for(var i = 0 ; i < obj.components.length; i++ )
- {
- sType = obj.components[i].toString().toUpperCase();
- switch(sType) {
- case "[OBJECT TABPAGE]":
- case "[OBJECT DIV]":
- break;
- case "[OBJECT BUTTON]":
- if( !utlf_isNull(obj.components[i].class)
- && !utlf_isNull(obj.components[i].name) && obj.components[i].name.indexOf("chnghosp") > -1 ){
- obj.components[i].onclick.addHandler(lf_SrchChngHosp);
- }
- break;
- default:
- continue;
- break;
- }
-
- ++seq;
- if (obj.components[i].components)
- {
- switch(sType) {
- case "[OBJECT TABPAGE]":
- case "[OBJECT DIV]":
- seq = lf_setBtnAddHandler(obj.components[i], seq);
- break;
- }
- }
- }
-
- return seq;
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : btn__chnghosp_[deginitemcd]
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 전원기관명 검색
- ****************************************************************************************/
- function lf_SrchChngHosp(obj, e){
- var sDegnitemlevlcd = obj.degnitemlevlcd;
- var sItemCd = obj.name.replace("btn_chnghosp_", "");
-
- if( !utlf_isNull(sDegnitemlevlcd) ){
-
- frmf_modal("SPMMO07400","SPMMO07400", null, null, null, null, null, null, null, null, null, null, "M");
-
- var nFhkind = utlf_transEmptyToNull(frmf_clearParameter("SPMMO07400_rtnfhkind")); //의료기관 코드
- var nFhcdnm = utlf_transEmptyToNull(frmf_clearParameter("SPMMO07400_rtnfhcdnm")); //의료기관명
- var nFhhscd = utlf_transEmptyToNull(frmf_clearParameter("SPMMO07400_rtnfhhscd")); //의료기관명
-
- var sVal = "";
- var sValNm = "";
-
-
- var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- if(nFindRow == -1)
- {
- nFindRow = ds_data_recitem.addRow();
- var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
- }
-
- if( nFhkind != null && nFhcdnm != null && nFhhscd != null ){
- sVal = nFhcdnm + "|" + nFhhscd + "|" + nFhkind;
- sValNm = nFhcdnm;
- }
-
- ds_data_recitem.setColumn(nFindRow, "reccnts", sValNm);
- ds_data_recitem.setColumn(nFindRow, "rectermcd", sVal);
-
- var objTextArea = ComnFormObj.group1.components["tar_chnghosp_" + sItemCd];
- objTextArea.value = sValNm;
-
- }
- }
- /****************************************************************************************
- * Argument : 01.ivwObj : 부분서식 Object
- * 02.aItemCds : 부분서식 1 depth MTX array
- * Description : 서식 사용자 작성안내(도움말) 관리
- * Comments : ex) degnitemlevlcd | degnitemcd | colno | extnyn | fstlevlitemcd
- ****************************************************************************************/
- function lf_setInitHelpData(ivwObj, aItemCds)
- {
- utlf_addLog(":::::::: lf_setInitHelpData Start :::::::");
-
- var formcd = ds_data_recitem.getColumn(0, "formcd");
- var srcformcd = fGetFormMast("srcformcd");
-
- // 2016.10.26 PROG 부분서식이 많을 경우 트렌적션 중복 오류
- var submitID = "TRMRF007010";
- if( !utlf_isNull(formcd) ){
- submitID = submitID + formcd;
- }
- if( utlf_isNull(aItemCds) ){
- aItemCds = "";
- }
-
-
- dsf_createDsRow("ds_cond_TRMRF007010", [{col:"hardcdno", type:"string", size:256, val:10020}
- , {col:"trgtcd", type:"string", size:256, val:srcformcd}
- , {col:"aitemcds", type:"string", size:256, val:aItemCds}
- ]);
- dsf_createDs("ds_data_TRMRF007010", [{col:"trgtcdnm", type:"string", size:256}
- , {col:"condqry", type:"string", size:256}
- ], true);
-
- var oParam = {};
- oParam.id = submitID;
- oParam.service = "formmngtapp.FormIfMngt";
- oParam.method = "reqGetRecInfo";
- oParam.inds = "req=ds_cond_TRMRF007010";
- oParam.outds = "ds_data_TRMRF007010=recinfo";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMRF007010";
- tranf_submit(oParam);
-
- utlf_addLog(ds_cond_TRMRF007010.saveXML());
- utlf_addLog(ds_data_TRMRF007010.saveXML());
- if( ds_data_TRMRF007010.rowcount < 1 ){
- utlf_addLog(":::::::: lf_setInitHelpData End(Not Empty) :::::::");
- dsf_deleteDs("ds_cond_TRMRF007010");
- dsf_deleteDs("ds_data_TRMRF007010");
- return;
- }
-
- //var formcd = ds_data_recitem.getColumn(0, "formcd");
- //var aItemCds = utlf_transNullToEmpty(ds_cond_TRMRF007010.getColumn(i, "aitemcds"));
- try{
- var loopcnt = ds_data_TRMRF007010.rowcount;
- for (var i=0; i<loopcnt; i++)
- {
-
- var recinfo = utlf_transNullToEmpty(ds_data_TRMRF007010.getColumn(i, "trgtcdnm"));
- var condqry = utlf_transNullToEmpty(ds_data_TRMRF007010.getColumn(i, "condqry"));
- utlf_addLog("recinfo : " + recinfo );
- utlf_addLog("condqry : " + condqry);
-
- recinfo = recinfo.split("|");
-
- var levelcd = recinfo[0];
- var basecd = recinfo[1];
- var colno = recinfo[2];
- var extnflag = recinfo[3];
- var fstlevlitemcd = recinfo[4];
-
- if( !utlf_isNull(levelcd) ){
- var startIdx = levelcd.indexOf(".");
- var endIdx = levelcd.length;
- levelcd = levelcd.substr(startIdx + 1, endIdx);
- }
-
- // 부분서식 MTX
- if( !utlf_isNull(aItemCds) ){
- if( (aItemCds.toString()).indexOf(basecd) > -1 ){
- var tarObj = ComnFormObj.components["tar_" + basecd];
- if( tarObj != null && tarObj.visible == true && !utlf_isNull(condqry)){
- tarObj.displaynulltext = condqry;
- }
- }
- // 일반서식 or 부분서식
- }else{
- if( utlf_isNull(colno) ){
- ds_data_recitem.filter("String(degnitemlevlcd).indexOf('" + levelcd + "') >= 0 && String(degnitemcd).indexOf('" + basecd + "') >= 0");
- }else{
- ds_data_recitem.filter("String(degnitemlevlcd).indexOf('" + levelcd + "') >= 0 && String(colno).indexOf('" + colno + "') >= 0 && String(degnitemcd).indexOf('" + basecd + "') >= 0");
- }
-
- for(var j = 0; j < ds_data_recitem.getRowCount(); j++){
- var degnitemno = ds_data_recitem.getColumn(j, "degnitemno");
- var degnitemkind = ds_data_recitem.getColumn(j, "degnitemkind");
-
- var colId = degnitemkind + "_" + degnitemno;
- utlf_addLog("colId : " + colId );
- if(!utlf_isNull(colId))
- {
- if(!utlf_isNull(condqry)){
- if( this.components[colId] != null ){
- if( formcd == "0000000005" && !utlf_isNull(ivwObj)){ // 자유서식 일경우 조건 변경
- var ColFstlevlitemcd = (ivwObj.name).split("_")[1];
- utlf_addLog("ColFstlevlitemcd : " + ColFstlevlitemcd);
- if( !utlf_isNull(fstlevlitemcd) && fstlevlitemcd == ColFstlevlitemcd ){
- eval(colId).displaynulltext = condqry;
- }
-
- }else if( (eval(colId) instanceof TextArea || eval(colId) instanceof Edit) && utlf_isNull(extnflag) ){
- eval(colId).displaynulltext = condqry;
- }else if(!utlf_isNull(extnflag) && extnflag == "Y"){
- var tmpcolId = colId+"EXTN";
- if( (eval(tmpcolId) instanceof Textarea || eval(tmpcolId) instanceof Edit) ){
- eval(tmpcolId).displaynulltext = condqry;
- }
- }
- }
- }
-
- }
-
- }
- ds_data_recitem.filter("");
- }
-
- }
- }catch(e){
- sysf_catchTrace(e);
- ds_data_recitem.filter("");
- }
- dsf_deleteDs("ds_cond_TRMRF01219");
- dsf_deleteDs("ds_data_TRMRF01219");
- utlf_addLog(":::::::: lf_setInitHelpData End :::::::");
- }
- function cf_TRMRF007010(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- //20170630 x009추가 - x축그리드 테이블 정보 Set
- function fnSetXgridTableInfo(objGrd, objDs, degnItemLevlCd, degnItemNo){
- var sMaxColCnt = objGrd.maxcolcnt;
- if(utlf_isNull(sMaxColCnt))
- sMaxColCnt = "5";
- var xGridTempNodeInfo = fGetFormRec("xgridtempnodeinfo");
- if(!utlf_isNull(xGridTempNodeInfo)){
- xGridTempNodeInfo += "^"; // 한서식에 x축그리드가 여러개일수도 있다.
- }
- //저장될Col갯수|표현(표) Col갯수|아이템레벨cd|아이템No
- //해당 셋팅되는 내용은 저장시 xml에 temp node로 저장데이터와 함께 저장됨. fnSaveRecXML()
- xGridTempNodeInfo += ((objDs.colcount - 1) == 0 ? 1 : (objDs.colcount - 1)) + "|" + sMaxColCnt + "|" + degnItemLevlCd + "|" + degnItemNo;
- fSetFormRec("xgridtempnodeinfo", xGridTempNodeInfo);
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : HLP
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 도움말 버튼
- ****************************************************************************************/
- function fClickHelp(obj, e){
-
- //var attrVal = ds_data_formdegn.lookup("degnitemno", obj.degnitemno, "itemattrval");
- var attrVal = obj.HelpForm;
- if( utlf_isNull(attrVal) ) return;
-
- var formcd = attrVal.replace(/^.*formcd:(\d*);.*$/, "$1");
-
- frmf_setParameter("formcd", formcd);
-
- frmf_open("SPMRF01100", "SPMRF01100", null, null, null, null, null, null, null, null, null, null, "M");
-
- //frmf_modal("FPMMR04901", "FPMMR04901", {p_formcd:formcd}, null, null, null, null, null, null, null, null, null, "M");
-
- }
- /****************************************************************************************
- * Components : Button
- * Components ID : URL
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : URL 링크 실행 이벤트 버튼
- ****************************************************************************************/
- function fnCallUrl(obj, e)
- {
- var urlAddr = obj.urlAddr;
- if(utlf_isNull(urlAddr))
- return;
-
- // UxStudio Ver 9.2.2.220 오류사항으로 분기 상위버전은 사용가능함. 차후 버전 업데이트시 제거필요.
- try{
- if( urlAddr.indexOf("http") > -1 ){
- system.execBrowser(urlAddr, "default");
- }else{
- system.execShell(urlAddr);
- }
- }catch(ex){
- sysf_catchTrace(ex);
- return;
- }
- }
- /****************************************************************************************
- * Function : lf_getInptTerm
- * Description : 환자수진이력 팝업
- ****************************************************************************************/
- function lf_getInptTerm(obj:Button, e:ClickEventInfo)
- {
- var opener = frmf_getoOpener();
- opener.fGetPatHist();
- }
- /****************************************************************************************
- * Description : Default값 Setting
- * Argument : N/A
- ****************************************************************************************/
- function fnLoadDegnNewForm(){
- if( this.objects["ds_formdegn"] == null ) return;
-
- utlf_addLog("@@@@@@@@@@@@@@@ fnLoadDegnNewForm Call Start!!!!");
- for(var i = 0 ; i < ds_formdegn.rowcount; i++){
- var itemKind = ds_formdegn.getColumn(i, "degnitemkind");
- var itemNo = ds_formdegn.getColumn(i, "degnitemno");
- var defltVal = ds_formdegn.getColumn(i, "degnitemdefltval");
- var parentDegnItemNo = ds_formdegn.getColumn(i, "parentdegnitemno");
-
- if( itemKind != "MSL" ) continue;
-
- // var objFormRoot = this;
- // if(!utlf_isNull(parentDegnItemNo))
- // objFormRoot = this.all["FRM_" + parentDegnItemNo];
-
- if(!utlf_isNull(defltVal)){
- utlf_addLog("===> " + itemKind + "_" + itemNo + " - Default Value : " + defltVal);
- defltVal = MMRCommon_fnSetDefltValByArgs(itemNo, defltVal, parentDegnItemNo);
- utlf_addLog("===> " + itemKind + "_" + itemNo + " - Default Value : " + defltVal);
-
- setValueByDegnItemNo(itemNo, defltVal, parentDegnItemNo);
-
- }
- }
-
- utlf_addLog("@@@@@@@@@@@@@@@ fnLoadDegnNewForm Call End!!!!");
- }
- /****************************************************************************************
- * Description : Default값 Setting
- * Argument : N/A
- ****************************************************************************************/
- function MMRCommon_fnSetDefltValByArgs(itemNo, defltVal, parentDegnItemNo)
- {
- if (defltVal.indexOf("$") > -1) {
- if (defltVal.indexOf("$날짜시간.시분$") > -1) {
- defltVal = defltVal.replace(/\$날짜시간.시분\$/gi, utlf_getCurrentTime().substring(0,4));
- }
- }
- return defltVal;
- }
- /****************************************************************************************
- * Description : Default값 Setting
- * Argument : N/A
- ****************************************************************************************/
- function setValueByDegnItemNo(itemNo, value, parentDegnItemNo, extnValue){
- //신규서식 로딩시 산술식에 의해서 0, null, NaN의 값이 나오면 이것은 셋팅을 하지 않는다.
- if( ( utlf_isNull(value) || value == 0 || (typeof value == "number" && value != parseFloat(value))) )
- return true;
- if( utlf_isNull( parentDegnItemNo) )
- parentDegnItemNo = "";
-
- var nRow = ds_formdegn.findRowExpr("degnitemno=='" + itemNo + "'&&parentdegnitemno=='" + parentDegnItemNo + "'");
- utlf_addLog("nRow : " + nRow + " || value : " + value);
- if( nRow == -1 )
- return false;
-
- var itemKind = ds_formdegn.getColumn(nRow, "degnitemkind");
- //20170330 x009 - 위에서 위치이동함. - 산술식 계산시 디자인속성의 반올림, 올림,내림의 속성이 적용되지 않은 오류 수정
- //value가 정의되지 않은 값일경우 'undefined' 값 세팅되는 문제 수정
- var itemattrval = ds_formdegn.getColumn(nRow, "itemattrval");
-
- if(utlf_isNull(value)){
- value = "";
- }
- value = "" + value;
-
- var viewFlag = ds_formdegn.getColumn(nRow, "degncntrviewflag");
- if( viewFlag == "L" )
- return false;
-
- //동일값 입력 방지처리
- //var recitemRow = ds_data_recitem.findRowExpr("degnitemno=='" + itemNo + "'&&parentdegnitemno=='" + parentDegnItemNo + "'");
- var recitemRow = ds_data_recitem.findRowExpr("degnitemno=='" + itemNo );
- var preValue;
- if( /STX|MTX|CAL|MSK/.test(itemKind) ){
- preValue = ds_data_recitem.getColumn(recitemRow, "reccnts");
- } else {
- preValue = ds_data_recitem.getColumn(recitemRow, "rectermcd");
- }
-
- // if(value === null) //===는 오타 아님 형까지 구분해야 하는 상황이라 사용한것
- // value = ""; //이렇게 안해주면 String으로 바꾸는 과정에서 "null"이 된다.
- // else if(typeof value == "number")
- // value = Math.round(value, 10); //숫자면 산술식결과 값이므로 10자리 끊음
- // /*
- // 0과 null이 구분안되는 문제로 value를 String으로 바꿔준다.
- // 0 == null //true
- // 0 == "0" //true
- // "0" == null //false
- // */
- if( itemKind != "MSL" &&
- itemKind != "SSL" &&
- itemKind != "IMG" &&
- preValue == value )
- return true;
-
-
- var objFormRoot = this;
- if(!utlf_isNull(parentDegnItemNo))
- objFormRoot = this.all["FRM_" + parentDegnItemNo];
-
- var obj = objFormRoot.all[( itemKind == "CAL" ? "STX":itemKind )+ "_" + itemNo];
- var e = new EventInfo;
- switch( itemKind ){
-
- case "MSL":
- //var nRow = ds_data_formdegn.findRowExpr("supdegnitemno=='" + itemNo + "'&&termcd=='" + value + "'");
- utlf_addLog("★★ itemNo="+itemNo+"//termcd="+value+"//parentdegnitemno="+parentDegnItemNo)
- var nRow = ds_formdegn.findRowExpr("supdegnitemno=='" + itemNo + "'&&termcd=='" + value + "'&&parentdegnitemno=='" + parentDegnItemNo + "'");
- if(nRow > -1){
- itemNo = ds_formdegn.getColumn(nRow, "degnitemno");
- obj = objFormRoot.all["SSU_" + itemNo];
- obj.value = value;
- utlf_addLog("★★ itemNo="+itemNo)
- utlf_addLog("★★ obj="+obj)
- obj.onchanged.fireEvent(obj, e);
- }
- else {
- //itemNo = ds_data_formdegn.lookup("supdegnitemno", itemNo, "degnitemno");
- utlf_addLog("★★ else itemNo="+itemNo)
- utlf_addLog("★★ else obj="+obj)
- //2018.01.16 MSL연동오류로 인하여 분리
- if(itemKind == "MSL") {
- var subItemKind = "SSU";
- //초기값설정되어 있는 서식인경우(ex:제증명 당뇨병환자 소모성재료 처방전)
- //fnOnclearMSLISU(itemNo, subItemKind, parentDegnItemNo);
- if(utlf_isNull(value)) {
- //2018.02.27 부분서식안에 MSL->SSU인경우 이벤트 강제 호출한다.
- nRow = ds_formdegn.findRowExpr("supdegnitemno=='" + itemNo + "'&&parentdegnitemno=='" + parentDegnItemNo + "'");
- subItemNo = ds_formdegn.getColumn(nRow, "degnitemno");
-
- obj = objFormRoot.all["SSU_" + subItemNo];
- if(obj != null){
- obj.value = value;
- obj.onchanged.fireEvent(obj, e);//dataset 반영, calculation 수행
- }
-
- break;
- }
-
- //딜리미터가 제각각이다. 이걸 알아내자. " , " 와 " "확인
- var delimiter = fnGetDelimiter(value);
- arrValue = value.split(delimiter);
-
- var nRow = -1;
- for( var k in arrValue ){
- utlf_addLog("★★★ else supdegnitemno="+itemNo+"//termcd="+arrValue[k]+"//parentdegnitemno="+parentDegnItemNo);
- nRow = ds_formdegn.findRowExpr("supdegnitemno=='" + itemNo + "'&&termcd=='" + arrValue[k] + "'&&parentdegnitemno=='" + parentDegnItemNo + "'");
-
- if(nRow > -1){
- subItemNo = ds_formdegn.getColumn(nRow, "degnitemno");
- obj = objFormRoot.all["SSU" + "_" + subItemNo];
- utlf_addLog("★★★ else nRow="+nRow+"//subItemNo="+subItemNo+"//subItemKind="+subItemKind+"//obj="+obj);
- obj.value = arrValue[k];
- obj.onchanged.fireEvent(obj, e);
-
- if(!utlf_isNull(extnValue)){
- var extnObj = objFormRoot.all["STX_" + subItemNo];
- if(extnObj == null)
- extnObj = objFormRoot.all["MTX_" + subItemNo];//공통서식의 경우 MTX인경우 있음.
- utlf_addLog("extnValue :::::: " + extnValue + ", objFormRoot : " + objFormRoot + ", STX_" + subItemNo + ", extnObj::::" + extnObj);
- if(extnObj != null){
- extnObj.value = extnValue;
- extnObj.ontextchanged.fireEvent(extnObj, e);//dataset 반영, calculation 수행
- }
- }
-
- }
- }
- }
- }
-
- if(!utlf_isNull(extnValue)){
- var extnObj = objFormRoot.all["STX_" + itemNo];
- if(extnObj == null)
- extnObj = objFormRoot.all["MTX_" + itemNo];//공통서식의 경우 MTX인경우 있음.
- utlf_addLog("extnValue :::::: " + extnValue + ", objFormRoot : " + objFormRoot + ", STX_" + itemNo + ", extnObj::::" + extnObj);
- if(extnObj != null){
- extnObj.value = extnValue;
- extnObj.ontextchanged.fireEvent(extnObj, e);//dataset 반영, calculation 수행
- }
- }
- break;
-
- default:
- break;
- }
-
- return true;
- }
- /****************************************************************************************
- * Description : 구분자 확인
- * Argument : N/A
- ****************************************************************************************/
- function fnGetDelimiter(value){
- // 2016-05-19 KTJ 일부서식에서 valcd가 7자리로 들어가 있는 경우가 발견되어 7자리로 끊는 로직추가
- var delimiter = /^\d{7,10}(\D+)\d{7,10}/.exec(value);
- return (delimiter == null) ? " ": delimiter[1];
- }]]></Script>
|