123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /**
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료 - 서식생성 ( SSMRF001200.xrw - JScript )
-
- * Version :
- - Ver.1.00.01
-
- * 개발자: 이경희
-
- * 최초작성일:
- - 2007
-
- * 수정이력:
- 2009-04-13
- - Hint 생성 아이템(FDG, IMG, BOL, CMB, RDO, STX, CAL, MTX, MSK, LBL, SSU, BYN, GRD)
-
- 2008-11-26
- - model.recalculate() 함수 를 fReCalculate()로 변경
- 변경 함수 fDeselectValList, fSelectValList, fSetNewProfInfo
-
- 2008-11-25
- - fReCalculate() 소수점 자리수 계산 로직 추가
-
- 2008-11-24
- - 서식저장시 이미지 정보를 degnitemlevlcd로 변경함.
-
- 2008-11-21
- - fProcGrdFunc 함수 수정(오지훈) 기존 함수는 old로 함수명 변경
-
- 2008-11-13 STX, MTX 아이템 최초 생성 후 디자인적용 시 기본으로 디자인아이템속성을 넣어주도록 변경
- 관련 함수(fSetDefaultDegnAttr)
-
- SSU에 단위 생성되도록 수정
-
- * 기타:
-
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var g_recordMode = "";
- var g_pageInfo;
- var g_PROF_INTERM_STR = "상기환자는 위 기간동안 입원치료 하였음을 확인합니다.";
- var g_PROF_OUTTERM_STR = "상기환자는 상기일자에 통원치료 하였음을 확인합니다.";
- var g_PROF_OUTTERM_ENG_STR = "I would identify that above patient visited out-patient clinic.";
- var g_PROF_OUTPAT_STR = "상기환자는 상기일자에 외래진료 하였음을 확인합니다.";
- var g_degnitemlevlcnt = 0;
- //function fDrawFormByFormCd(formcd, ivwid)
- function fLoadFormByFormCd(formcd, ivwid)
- {
- g_pageInfo = new PAGEINFO();
- model.makeValue("/root/send/formcd", formcd);
- model.makeValue("/root/send/formdegnseq", "");
- model.makeValue("/root/send/ivwid", ivwid);
- submit_MMR1200("TRMRF01201");
- //submit("TRMRF01201");
- }
- //function fDrawFormByFormDegnSeq(formdegnseq, ivwid)
- function fLoadFormByFormDegnSeq(formdegnseq, ivwid)
- {
- g_pageInfo = new PAGEINFO();
- model.makeValue("/root/send/formcd", "");
- model.makeValue("/root/send/formdegnseq", formdegnseq);
- model.makeValue("/root/send/ivwid", ivwid);
- submit_MMR1200("TRMRF01201");
- //submit("TRMRF01201");
- }
- /*
- //2011.01.27, 주희경, 속도개선으로 추가
- */
- function tfCkhBind()
- {
- var targetID = event.currentTarget;
- if(body.isDescendants(targetID, false) == false)
- return;
- targetID = document.all(targetID);
-
- if(targetID == null)
- return;
- var src_ctrlref = targetID.attribute("ref");
- src_ctrlref = src_ctrlref.split("[");
- if(src_ctrlref.length < 1)
- return;
- pos_val = src_ctrlref[1].indexOf("]");
- src_ctrlref[1] = src_ctrlref[1].substr(0, pos_val);
- src_ctrlref[1] = src_ctrlref[1].setReplaceWord(" ", "");
-
- var cnt = getNodesetCnt(model, "/root/hidden/bindlist/bindid");
- for(var i = 0; i < cnt; i++)
- {
- var bindid = model.getValue("/root/hidden/bindlist[" + (i + 1) + "]/bindid");
- var bindCtrl = model.children.item(bindid);
- var bindcal = "";
-
- if(bindCtrl != null)
- {
- bindcal = bindCtrl.attribute("calculate");
- bindcal = bindcal.setReplaceWord(" ", "");
- } else {
- continue;
- }
- if(isSearchString(bindcal, src_ctrlref[1]))
- {
- flag = true;
- } else {
- flag = false;
- }
- if(flag == true){
- model.recalculate();
- model.revalidate();
- break;
- }
- }
- }
- function fFormReady()
- {
- g_pageInfo = new PAGEINFO();
- g_recordMode = "record";
-
-
- // setParameter("tfCkhBind_call", "Y"); //2011.01.27, 주희경, 속도개선으로 추가
-
- if(opener.ds_temp.getColumn(0,"scrid") == "SMMRF01000" || opener.ds_temp.getColumn(0,"scrid") == "SMMRF00600" ||
- (frmf_getCurrentFormKind() != "main" &&ds_temp.getColumn(0,"formxrwyn") == "Y" && ds_temp.getColumn(0,"loadcomplete") != "true"))
- {
- var loadStatus = "";
- var formkind = model.getValue(g_pageInfo.formmastRef + "/formkind");
- if(formkind == "C")
- loadStatus = UNIT_FORM;
-
- // 그리드 Height 재설정
- fResetGrd();
-
- // 현재 달력 설정
- //if(opener.model.getValue("/root/temp/scrid") != "SMMRF01000")
- fSetCurrentDateCal();
-
- // OCX 이미지 로드
- fLoadOcxImage();
-
- // 가계도 데이터 로드
- fLoadFdgInfo();
-
- // 버튼 컨트롤 속성 설정
- //fSetBtnCtrlAttrval();
-
- // Disabled 컨트롤 재설정
- fResetDisableCtrls();
-
- // RDO, CHK 컨트롤 서브아이템 텍스트 숨기기 확인
- fSelCtrlHidden();
-
-
- dispOnLoadComplete(loadStatus, model.getValue(g_pageInfo.formmastRef + "/formcd"));
-
-
- // 백업 원위치
- model.copyNode( "/root/temp2/localimage", "/root/main/localimage" );
- model.removenode( "/root/main/localimage" );
-
- model.makeValue("/root/temp/loadcomplete", "true");
-
- // fRecalculate() 함수 선행 작업.
- g_degnitemlevlcnt = 0;
- fSetDegnitemlevlcnt();
-
- var newflag = parent.window.javaScript.getParameter("fLoadNewForm", "Y");
-
-
- if ( newflag == "Y" ) //2010.06.15, 주희경, 제증명 수정모드에서는 디폴트값 셋팅 안하도록
- {
- // 기본값 설정 컨트롤 계산
- fCacDefltVal();
- }
-
- //2010.06.15, 주희경, 제증명 관리의 이력탬에서 클릭하여 조회시에는 디폴트 값 셋팅 안하도록 설정 해 놓은 세션값 clear
- parent.window.javaScript.clearParameter("fLoadNewForm");
-
-
- // 서식데이터를 불러오는 경우 그리드의 rowno 를 CDATA 해제함.
- fRemoveGrdCdata();
-
- //20130808 Start
- if(opener.javascript.getScreenID()=="SSMMR01100"){
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- if(formcd=="0900005261"){
- var atdoctnm=model.getValue("/root/main/recinfo/recitem[degnitemno='181']/reccnts"); // 전공의
- var staffname = model.getValue("/root/main/recinfo/recitem[degnitemno='208']/rectermcd"); // Staff
- if(atdoctnm==null || atdoctnm==""){
- model.setValue("/root/main/recinfo/recitem[degnitemno='181']/reccnts", getUserInfo("usernm"));
- }
- if(staffname==null || staffname==""){ // 스태프 자동세팅되도록 수정
- var usernm=parent.parent.parent.cmb_anstdrid1.label;
- if(usernm!=null && usernm!="" && usernm!="-"){
- model.makeNode("/root/main/valcd");
- model.makeValue("/root/send/temp/valitemnm", usernm);
- model.makeValue("/root/send/temp/grupcd", "0003106006"); // 서식 아이템에서 스태프에 해당되는 값을 가져온다.
- if(submit("TRMRF00307")){
- if(model.getValue("/root/main/itemvalcd[1]/valcd")!="" && model.getValue("/root/main/itemvalcd[1]/valcd")!=null){
- model.makeValue("/root/main/recinfo/recitem[degnitemno='208']/rectermcd", model.getValue("/root/main/itemvalcd[1]/valcd"));
- model.makeValue("/root/main/recinfo/recitem[degnitemno='208']/rectermnm", model.getValue("/root/main/itemvalcd[1]/valnm"));
- }
- }
- }
- }
- //20131104 Start 마취전 평가서를 오픈시 마취 일반정보의 수술 구분이 응급이라면 마취전 평가서에 'E'로 체크 되도록 기능 추가
- var opflag=parent.parent.parent.rdo_opflag.value;
- if(opflag=="2"){
- model.makeValue("/root/main/recinfo/recitem[degnitemno='146']/rectermcd", "0031829001");
- model.makeValue("/root/main/recinfo/recitem[degnitemno='146']/rectermnm", "E");
- }
- //20131104 End
-
- model.refresh();
- }
- }
- //20130808 End
- }
- }
- function fFormReload()
- {
- // 그리드 Height 재설정
- fResetGrd();
-
- // 현재 달력 설정
- //fSetCurrentDateCal();
-
- // OCX 이미지 로드
- fLoadOcxImage();
-
- // 가계도 데이터 로드
- fLoadFdgInfo();
-
- // 버튼 컨트롤 속성 설정
- //fSetBtnCtrlAttrval();
-
- // Disabled 컨트롤 재설정
- fResetDisableCtrls();
-
- // 백업 원위치
- model.copyNode( "/root/temp2/localimage", "/root/main/localimage" );
- model.removenode( "/root/main/localimage" );
-
- // fRecalculate() 함수 선행 작업.
- g_degnitemlevlcnt = 0;
- fSetDegnitemlevlcnt();
-
- // 기본값 설정 컨트롤 계산
- //fCacDefltVal();
-
- }
- function fInitForm_MRF1200()
- {
-
- fFormReady();
- }
- function submit_MMR1200(submitID, refresh, ref, resultref, encoding)
- {
- var showAlert = gvShowAlert;
- gvShowAlert = false;
- var actionURL = getActionURL(submitID)
- + getUserSessionString(); // 사용자정보 query string 추가.
- if ( refresh == null ) {
- refresh = true;
- }
- try {
- var sid = document.all(submitID);
- if (!sid) {
- messageBox("Submit["+submitID+"]이 정의되지","E007");
- gvOnSubmit = false;
- return false;
- }
- // ref와 resultref를 설정한다.
- // null 이거나 "" 이면 설정하지 않는다.
- if ( ref != null && ref != "" ) {
- sid.attribute("ref") = ref;
- }
- if ( resultref != null && resultref != "" ) {
- sid.attribute("resultref") = resultref;
- }
- // action url을 설정한다.
- sid.attribute("action") = actionURL;
- if (encoding != null && encoding != "") {
- sid.attribute("encoding") = encoding;
- } else {
- sid.attribute("encoding") = "utf-8";
- }
- //alert(sid.attribute("encoding"));
- //sid.attribute("type") = "custom";
- // 서버에 submit하기전에 이전 에러 메시지 인스턴스를 비운다.
- model.removeNode(gvErrorMsgPath);
- // 서버에 submit한다.
- var ret = model.send(submitID, refresh, true, true);
- //alert("return = " + ret);
- if ( ret == 200 ) {
- // 후처리
- var retvalue = showSystemMessage(showAlert);
- gvOnSubmit = false;
- return retvalue;
- } else if ( ret == 0 ) {
- } else {
- messageBox("Submit["+submitID+"] 실행을","E009","[ret:"+ret+"]");
- gvOnSubmit = false;
- return false;
- }
- } catch (e) {
- messageBox("Submit["+submitID+"] 실행을","E009","[exception:"+e+"]");
- gvOnSubmit = false;
- return false;
- }
- }
- function fPreviewByDegnItems(formmastRef, degnitemRef, vallistRef, imglistRef, recMode, supdegnitemcd, viewobj)
- {
- SetUserTimeLog("fPreviewByDegnItems", "fPreviewByDegnItems START", opener.model);
- var pageInfo = fSetDegnItems(formmastRef, degnitemRef, vallistRef, imglistRef, recMode, supdegnitemcd, viewobj);
- fCreateDegnBySelfInfo(pageInfo, viewobj, recMode);
- if(opener.model.getValue("/root/temp/scrid") != "SMMRF01000" && opener.model.getValue("/root/temp/scrid") != "SMMRF00600")
- parent.body.dispatch("onloadcomplete");
- SetUserTimeLog("fPreviewByDegnItems", "fPreviewByDegnItems END", opener.model);
- }
- function fDrawForm(formdegnseq)
- {
- model.setValue("/root/send/formdegnseq", formdegnseq);
- if(submit("TRMRF01201"))
- {
- var pageInfo = new PAGEINFO();
- makeInstance(pageInfo);
- }
- }
- function fSetDegnItems(formmastRef, degnitemRef, vallistRef, imglistRef, recMode, supdegnitemcd, viewobj, srcModel)
- {
- var pageInfo = new PAGEINFO(viewobj);
- if (srcModel == null)
- {
- srcModel = opener.model;
- }
- pageInfo.fstLevlItemCd = supdegnitemcd;
- pageInfo.comuseyn = srcModel.getValue(pageInfo.formdegnRef + "[degnitemcd='" + supdegnitemcd + "' and degnitemlevlno='1']/comuseyn");
- pageInfo.srcFormCd = srcModel.getValue(pageInfo.formmastRef + "/srcformcd");
- if(vallistRef == null || imglistRef == null)
- {
- copyNodeset(grd_pltte.attribute("nodeset"), degnitemRef, "replace", model, srcModel);
- grd_pltte.rebuild();
- for(var i = grd_pltte.fixedRows; i < grd_pltte.rows; i++)
- {
- grd_pltte.rowstatus(i) = 1;
- }
- model.makeValue("/root/send/degnitems", grd_pltte.getUpdateData());
- submit("TRMRF01304");
- copyNodeset(pageInfo.formmastRef, formmastRef, "replace", model, srcModel);
- model.removeNodeset("/root/send/degnitems");
- }
- else
- {
- copyNodeset(pageInfo.formmastRef, formmastRef, "replace", model, srcModel);
- if(degnitemRef != "")
- copyNodeset(pageInfo.formdegnRef, degnitemRef, "replace", model, srcModel);
- copyNodeset(pageInfo.vallistRef, vallistRef, "replace", model, srcModel);
- copyNodeset(pageInfo.imgelistRef, imglistRef, "replace", model, srcModel);
- }
- return pageInfo;
- }
- function fPreviewByFormCd(formCd, viewobj)
- {
- //if(viewobj == null)
- // viewobj = window;
- submit("TRMRF01302");
- var pageInfo = new PAGEINFO(viewobj);
- fCreateDegnBySelfInfo(pageInfo, viewobj);
- }
- function 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 fPreviewByFormDegnSeq(formDegnSeq, viewobj)
- {
- //if(viewobj == null)
- // viewobj = window;
- submit("TRMRF01303");
- var pageInfo = new PAGEINFO(viewobj);
- fCreateDegnBySelfInfo(pageInfo, viewobj);
- }
- function fGetItemDataByDegnItemNo(degnitemno, pmodel)
- {
- if(pmodel == null)
- pmodel = model;
- var pageInfo = new PAGEINFO();
- return pmodel.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/itemval");
- }
- function fGetItemDataByDegnItemCd(degnitemcd, pmodel)
- {
- if(pmodel == null)
- pmodel = model;
- var pageInfo = new PAGEINFO();
- var ins = pmodel.instances(0);
- var nodeList = ins.selectNodes(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval");
- var arrItemVal = new Array();
- for(var i = 0; i < nodeList.length; i++)
- {
- var node = nodeList.item(i);
- arrItemVal[i] = node.text;
- }
- return arrItemVal;
- }
- function fSetItemDataByDegnItemNo(degnitemno, itemval, pmodel)
- {
- if(pmodel == null)
- pmodel = model;
- var pageInfo = new PAGEINFO();
- pmodel.setValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/itemval", itemval);
- pmodel.refresh();
- }
- function fSetItemDataByDegnItemCd(degnitemcd, itemval, pmodel)
- {
- if(pmodel == null)
- pmodel = model;
- var pageInfo = new PAGEINFO();
- //pmodel.setValue(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval", itemval);
- var nodeList = ins.selectNodes(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval");
- for(var i = 0; i < nodeList.length; i++)
- {
- var node = nodeList.item(i);
- node.text = itemval;
- }
- pmodel.refresh();
- }
- function fClearData()
- {
- var pageInfo = new PAGEINFO();
- copyNodeset(pageInfo.recRef, pageInfo.recRef2, "replace");
- model.refresh();
- }
- function fCreateDegnBySelfInfo(pageInfo, viewobj, mode)
- {
- g_pageInfo = pageInfo;
-
- if(viewobj == null)
- viewobj = window;
- if(pageInfo.srcFormCd == "")
- pageInfo.srcFormCd = model.getValue(pageInfo.formmastRef + "/srcformcd");
- fReload(viewobj, pageInfo);
- if(mode == null)
- mode = "design";
- g_recordMode = mode;
- var viewbody = viewobj.document.body;
- //임시로 삭제 (산술식 동작안함)
- body.attribute("autorefresh") = "false";
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- //var formbasecd = model.getValue(pageInfo.formdegnRef +"/formbasecd");
- var formkind = model.getValue(pageInfo.formmastRef +"/formkind");
- var formusernm = model.getValue(pageInfo.formmastRef +"/formusernm");
- //Design item 정보를 순회한다.
- //var itemcnt = getNodesetCnt(model, pageInfo.formdegnRef);
- model.removeNodeset(pageInfo.recItemRef);
- SetUserTimeLog("fCreateDegnBySelfInfo", "makeInstance START", opener.model);
- if(getNodesetCnt(model, pageInfo.formdegnRef) == 0)
- {
- model.makeValue("/root/send/formdegnseq", model.getValue(pageInfo.formmastRef + "/formdegnseq"));
- model.makeValue("/root/send/formcd", "");
- submit("TRMRF01203");
- copyNodeset(pageInfo.formdegnRef, "/root/temp/settingform/forminfo/formdegn");
- copyNodeset(pageInfo.recRef, "/root/temp/settingform/recinfo");
- // 20080519 main2-> temp/settingform 소스 튜닝
- model.removenodeset("/root/temp/settingform");
- }
- else
- makeInstance(pageInfo);
- SetUserTimeLog("fCreateDegnBySelfInfo", "makeInstance END", opener.model);
- var itemcnt = getNodesetCnt(model, pageInfo.formdegnRef);
- //완전 서식일 경우 제목을 Display한다.
- /*if(formkind == "C")
- {
- var capid = "cap_title";
- var width = fGetLblWidth(degnitemno, formusernm)
- viewbody.createChild("xforms:caption", "id:" + capid + "; left:0px; top:" + pageInfo.curypos +
- "px; width:400px; height:30px; vertical-align:middle; font-weight:bold; text:" + formusernm);
- pageInfo.curypos += 30 + parseInt(pageInfo.offsety);
- }*/
- //가이드 라인을 그린다.(A4 사이즈)
- if(g_recordMode != "record" && g_recordMode != "print" )
- //if(g_recordMode != "record")
- {
- fDrawGuideLine();
- }
-
- // 밸류리스트 수정
- fSetVallist();
- var ctrlSize = new SIZE(0, 0);
- var prevrowno = 0;
- var prevypos = pageInfo.curypos;
- SetUserTimeLog("fCreateDegnBySelfInfo", "Drawing START", opener.model);
-
-
-
- for(var i = 1; i <= itemcnt; i++)
- {
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + i + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnitemno");
- var supdegnitemno = model.getValue(pageInfo.formdegnRef +"[" + i + "]/supdegnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnitemkind");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnitemnm");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnitemlevlno");
- var degncntrviewflag = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degncntrviewflag");
- var instcd = model.getValue(pageInfo.formdegnRef +"[" + i + "]/instcd");
- var degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnitemlevlcd");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + i + "]/unitnm");
- var degnxval = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnxval");
- var degnrowno = model.getValue(pageInfo.formdegnRef +"[" + i + "]/degnrowno");
- var itemuseflag = model.getValue(pageInfo.formdegnRef +"[" + i + "]/itemuseflag");
- var itemattrval = model.getValue(pageInfo.formdegnRef + "[" + i + "]/itemattrval");
- if(degnitemkind == "GSU" || degnitemkind == "SSU" || degnitemkind == "ISU")
- continue;
- if(degnitemkind == "FRM" && itemuseflag != "F0")
- continue;
- if(g_recordMode == "record" || g_recordMode == "print")
- //if(g_recordMode == "record")
- {
- //fMakeInstance(i, pageInfo);
- cursor = "auto";
- viewbody.attribute("background-image") = "";
- }
- else
- {
- cursor = "move";
- viewbody.attribute("background-image") = "../images/canvas.bmp";
- }
- if(degnxval == '')
- degnxval = (parseInt(degnitemlevlno) - 1) * pageInfo.indentwidth;
- if(degnrowno != prevrowno)
- {
- pageInfo.curxpos = pageInfo.leftmargin + parseInt(degnxval);
- pageInfo.rowheight = 20;
- }
- else
- pageInfo.curypos = prevypos;
- var grp = null;
- //if(degnitemkind != "FRM")
- //if(degnitemkind != "LBL" && degnitemkind != "LNE" && degnitemkind != "RCT" && degnitemkind != "RRT" && degnitemkind != "ELL")
- if(degnitemkind != "LNE" && degnitemkind != "RCT" && degnitemkind != "RRT" && degnitemkind != "ELL")
- grp = fDrawGrup(model, pageInfo, viewbody, i, cursor, mode);
- //debugging 용
- /*if(degnrowno != prevrowno && mode != "record")
- //if(degnrowno != prevrowno)
- {
- var capid = "cap_seq" + degnrowno;
- //grp.createChild("xforms:caption", "id:" + capid + "; left:0px; top:0px; width:" + pageInfo.leftmargin +
- // "px; height:20px; vertical-align:middle; color:#808080; background-color:#eaeaea; text:" + seq);
- viewbody.createChild("xforms:caption", "id:" + capid + "; left:0px; top:" + pageInfo.curypos +
- "px; width:" + pageInfo.leftmargin +
- "px; height:20px; vertical-align:middle; color:#808080; background-color:#eaeaea; text:" + degnrowno);
- }*/
- var visible = "visible";
- if(degncntrviewflag == "A" || degncntrviewflag == "L")
- visible = "visible";
- else
- visible = "hidden";
- //var capid = "LBL_" + degnitemno;
- //if(degnitemkind != "FRM")
- if(degnitemkind != "FRM" && degnitemkind != "LBL" &&
- degnitemkind != "LNE" && degnitemkind != "RCT" && degnitemkind != "RRT" &&
- degnitemkind != "ELL" && degnitemkind != "BOL" && degnitemkind != "BTN" &&
- degnitemkind != "URL" && degnitemkind != "HLP")
- ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i, visible);
- if(degncntrviewflag == "L")
- {
- //pageInfo.curypos += pageInfo.offsety + 20;
- prevypos = pageInfo.curypos;
- prevrowno = degnrowno;
- pageInfo.curxpos += parseInt(pageInfo.offsetx) + parseInt(grp.attribute("width"));
- pageInfo.curypos += parseInt(pageInfo.offsety) + parseInt(grp.attribute("height"));
- continue;
- }
- switch(degnitemkind)
- {
- case "RDO":
- ctrlSize = fDrawRdo(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i, mode);
- //if(getStyleValue(itemattrval, "extn") == "visible")
- // fDrawStx(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, 100, ctrlSize.cy, i, true, mode);
- break;
- case "CMB" :
- ctrlSize = fDrawCmb(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- break;
- case "CHK" :
- ctrlSize = fDrawRdo(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i, mode);
- //ctrlSize = fDrawChk(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- //if(getStyleValue(itemattrval, "extn") == "visible")
- // fDrawStx(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, 100, ctrlSize.cy, i, true, mode);
- break;
- case "MTX":
- ctrlSize = fDrawMtx(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i, mode);
- //ctrlSize = fDrawMtx(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i, mode);
- //ctrlSize = fDrawMtx(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, ctrlSize.cy + pageInfo.offsety, i, mode);
- //ctrlSize = fDrawUnit(model, pageInfo, degnitemseqno, degnunitnm, degnitemlevlno, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0);
- break;
- case "STX" :
- case "CAL" :
- ctrlSize = fDrawStx(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, 100, ctrlSize.cy, i, false, mode);
- //ctrlSize = fDrawUnit(model, pageInfo, degnitemseqno, degnunitnm, degnitemlevlno, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0);
- break;
- case "MSK" :
- ctrlSize = fDrawMsk(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, 100, ctrlSize.cy, i, false, mode);
- break;
- case "IMG" :
- //ctrlSize = fDrawImge(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- ctrlSize = fDrawImge(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "GRD" :
- //ctrlSize = fDrawGrd(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- ctrlSize = fDrawGrd(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "LBL":
- //ctrlSize = fDrawLbl(model, pageInfo, grp, cursor, 0, 0, i);
- ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "LNE":
- ctrlSize = fDrawLine(model, pageInfo, grp, cursor, 0, 0, i);
- //ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "RCT":
- ctrlSize = fDrawShape(model, pageInfo, grp, cursor, 0, 0, "rectangle", i);
- //ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "RRT":
- ctrlSize = fDrawShape(model, pageInfo, grp, cursor, 0, 0, "roundrect", i);
- //ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "ELL":
- ctrlSize = fDrawShape(model, pageInfo, grp, cursor, 0, 0, "ellipse", i);
- //ctrlSize = fDrawCap(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "FRM" :
- //ctrlSize = fDrawFrm(model, pageInfo, grp, cursor, 0, 0, i);
- ctrlSize = fDrawFrm(model, pageInfo, grp, cursor, 0, 0, i);
- break;
- case "FDG" :
- //ctrlSize = fDrawFdg(model, pageInfo, grp, cursor, 0, 0, i);
- ctrlSize = fDrawFdg(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- case "MSL" :
- case "SSL" :
- //ctrlSize = fDrawRdo(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i, mode);
- ctrlSize = fDrawSel(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- break;
- case "BOL" :
- ctrlSize = fDrawBool(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i);
- break;
- case "DGN" ://진단명
- ctrlSize = fDrawDiagName(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "OPN" ://수술명
- ctrlSize = fDrawOpName(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "CCN" ://주호소
- ctrlSize = fDrawCCName(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "HLP" ://도움말, 2010.01.07 hkjoo 추가
- ctrlSize = fDrawHelp(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "BTN" : //버튼
- ctrlSize = fDrawBtn(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- break;
- case "URL":
- ctrlSize = fDrawUrl(model, pageInfo, grp, cursor, 0, ctrlSize.cy + pageInfo.offsety, i);
- //ctrlSize = fDrawUrl(model, pageInfo, grp, cursor, ctrlSize.cx + pageInfo.offsetx, 0, i, mode);
- break;
- }
- if(unitnm != "")
- {
- ctrlSize = fDrawUnit(model, pageInfo, grp, cursor, pageInfo.curxpos, 0, i);
- }
- //if(degnitemkind != "LBL" && degnitemkind != "LNE" && degnitemkind != "RCT" && degnitemkind != "RRT" && degnitemkind != "ELL")
- if(degnitemkind != "LNE" && degnitemkind != "RCT" && degnitemkind != "RRT" && degnitemkind != "ELL")
- {
- prevypos = pageInfo.curypos;
- prevrowno = degnrowno;
- pageInfo.curxpos = parseInt(pageInfo.offsetx) + parseInt(grp.attribute("width")) + 80;
- if(pageInfo.rowheight < parseInt(grp.attribute("height")))
- pageInfo.rowheight = parseInt(grp.attribute("height"));
- pageInfo.curypos += parseInt(pageInfo.offsety) + parseInt(pageInfo.rowheight);
- }
- // 2008-07-04 이경희
- // <group> 태그 삭제가 올바르게 되지 않기에 저장 시 string에서 패턴을 검색하여 삭제하도록 수정
- //if(g_recordMode == "record")
- // viewbody.removeChild(grp.attribute("id"));
- //SetUserTimeLog("fCreateDegnBySelfInfo", degnitemnm + "(" + degnitemkind +", " + degnitemno + ") : Drawing END", opener.model);
- }
- //SetUserTimeLog("fCreateDegnBySelfInfo", "Drawing END", opener.model);
- copyNodeset(pageInfo.initrecRef, pageInfo.recRef, "replace", model, model);
- //진단/수술/주호소 instance를 삭제
- //alert(getNodesetCnt(model, pageInfo.recItemRef + "[orgdegnitemkind = 'DGN' or orgdegnitemkind = 'OPN' or orgdegnitemkind = 'CCN']"));
- //model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN' or orgdegnitemkind = 'OPN' or orgdegnitemkind = 'CCN']");
- //주호소 제외(2008.04.23 박종훈)
- //model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN' or orgvdegnitemkind = 'OPN']");
- var grdlist = findNodeset(model, pageInfo.RecinfoGridRef);
- for(var idx = grdlist.length; idx > 0; idx--)
- {
- var SubgrdNode = grdlist.item(idx-1);
- if(SubgrdNode != null)
- {
- var SubrecNode = SubgrdNode.selectSingleNode("recitem"); //item(idx-1);
- //var subdegnitemkindnode = SubrecNode.selectSingleNode("recitem/orgdegnitemkind").text;
- var subdegnitemkindnode = SubrecNode.selectSingleNode("orgdegnitemkind");
- if(subdegnitemkindnode != null)
- {
- if(subdegnitemkindnode.text == "DGN" || subdegnitemkindnode.text == "OPN")
- model.removeNode(pageInfo.RecinfoGridRef + "[" + idx + "]");
- }
- }
- }
- //alert(getNodesetCnt(model, pageInfo.recItemRef + "[orgdegnitemkind = 'DGN' or orgdegnitemkind = 'OPN' or orgdegnitemkind = 'CCN']"));
- viewobj.document.rebuild = true;
- viewobj.document.body.refresh();
- SetUserTimeLog("fCreateDegnBySelfInfo", "fCreateDegnBySelfInfo END", opener.model);
- model.recalculate();
- model.refresh();
-
- opener.model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.07.22
- * @by : 이상현
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : label의 width를 구한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetLblWidth(degnitemno, lbl)
- {
- var degnattrval = model.getValue(g_pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnattrval");
- var fontFamily = getStyleValue(degnattrval, "font-family");
- if(fontFamily == "")
- fontFamily = "돋움";
- var fontSize = getStyleValue(degnattrval, "font-size");
- if(fontSize == "")
- fontSize = "12px";
- fontSize = parseInt(fontSize);
- var fontWeight = getStyleValue(degnattrval, "font-weight");
- var textDecoration = getStyleValue(degnattrval, "text-decoration");
- var textAlign = getStyleValue(degnattrval, "text-align");
- var verticalAlign = getStyleValue(degnattrval, "vertical-align");
- return textInfo.GetStringWidth(fontFamily, fontSize, fontWeight, textDecoration, textAlign, verticalAlign, lbl);
- }
- /**
- * @group :
- * @ver : 2008.07.22
- * @by : 이상현
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : label의 height를 구한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetLblHeight(degnitemno, lbl)
- {
- var degnattrval = model.getValue(g_pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnattrval");
- var fontFamily = getStyleValue(degnattrval, "font-family");
- if(fontFamily == "")
- fontFamily = "돋움";
- var fontSize = getStyleValue(degnattrval, "font-size");
- if(fontSize == "")
- fontSize = "12px";
- fontSize = parseInt(fontSize);
- var fontWeight = getStyleValue(degnattrval, "font-weight");
- var textDecoration = getStyleValue(degnattrval, "text-decoration");
- var textAlign = getStyleValue(degnattrval, "text-align");
- var verticalAlign = getStyleValue(degnattrval, "vertical-align");
- return textInfo.GetStringWidth(fontFamily, fontSize, fontWeight, textDecoration, textAlign, verticalAlign, lbl);
- }
- function fDrawGuideLine()
- {
- var pageInfo = new PAGEINFO();
- var ctrl = null;
- for(var i = 0; i < 10 ; i++)
- {
- ctrl = body.createChild("xforms:shape", "id:guideline" + i + "; " +
- "appearance:rectangle; left:0px; top:" + (pageInfo.paperheight * i) + "px; " +
- "width:" + pageInfo.paperwidth + "px; height:" + pageInfo.paperheight + "px;");
- ctrl.attribute("border-top-style") = "none";
- ctrl.attribute("border-bottom-style") = "dotted";
- }
- }
- function fDrawGrup(pmodel, pageInfo, supCtrl, row, cursor, mode)
- {
- //item을 담을 group을 생성한다.
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var grpid = "grp_" + degnitemno;
- //alert(pageInfo.curypos);
- var ctrl = null;
- if(g_recordMode == "record" || g_recordMode == "print")
- {
- //if(g_recordMode == "record")
- ctrl = supCtrl.createChild("xforms:group", "id:" + grpid +
- "; overflow:visible; cursor:" + cursor + "; left:" + pageInfo.curxpos +
- ";top:" + pageInfo.curypos + ";width:400px; height:" + pageInfo.ctrlheight +
- "; background-color:transparent;");
- }
- else
- {
- ctrl = supCtrl.createChild("xforms:group", "id:" + grpid +
- "; overflow:visible; cursor:" + cursor + "; left:" + pageInfo.curxpos +
- ";top:" + pageInfo.curypos + ";width:400px; height:" + pageInfo.ctrlheight +
- "; border-color:#c0c0c0; border-style:dotted; background-color:transparent;");
-
- // STX, MTX 생성 시 디자인 아이템 속성 삽입
- degnattrval = fSetDefaultDegnAttr(pmodel, pageInfo, mode, degnitemkind, degnattrval, row);
- }
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "grup";
- setDegnAttrVal(ctrl, degnattrval, "grup");
- /*
- if(degnattrval != "")
- setDegnAttrVal(ctrl, degnattrval, "grup");
- */
- addChild(ctrl, g_recordMode);
- return ctrl;
- }
- function fSetDefaultDegnAttr(pmodel, pageInfo, mode, degnitemkind, degnattrval, row)
- {
- if(g_recordMode == "design")
- {
- switch(degnitemkind)
- {
- case "RDO":
- break;
- case "STX":
- case "MTX":
- {
- if(isSearchString(degnattrval, "label.border-style") == false)
- {
- degnattrval += "label.border-style:none;"
- }
- if(isSearchString(degnattrval, "ctrl.border-style") == false)
- {
- degnattrval += "ctrl.border-style:solid;"
- }
- }
- break;
- }
-
- // 캔버스 디자인 속성 변경
- pmodel.setValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval", degnattrval, true);
- //pmodel.refresh();
-
- // 서식디자인 팔레트 디자인 속성 변경
- opener.model.setValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval", degnattrval, true);
- //opener.model.refresh();
- }
-
- return degnattrval;
- }
- function fDrawCap(pmodel, pageInfo, supCtrl, cursor, x, y, row, visible)
- {
- if(visible == null)
- visible = "visible";
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
-
- degnitemnm = degnitemnm.setReplaceWord("\"", "▩quatation");
-
- var ctrlSize = new SIZE(0, parseInt(supCtrl.attribute("height")));
- //ctrlSize.cx += fGetLblWidth(degnitemno, degnitemnm);
- ctrlSize.cx = parseInt(ctrlSize.cx) + parseInt(fGetLblWidth(degnitemno, degnitemnm));
- if(ctrlSize.cx < 120)
- ctrlSize.cx = 120;
- if(ctrlSize.cx < pageInfo.ctrlwidth)
- ctrlSize.cx = pageInfo.ctrlwidth;
- else
- ctrlSize.cx += Math.round((10 - (ctrlSize.cx % 10)) / 10) * 10;
- var capid = "LBL_" + degnitemno;
- var ctrl = null;
-
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) +parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = parseInt(x);
- t = parseInt(y);
- }
- if(parseInt(degnitemlevlno) > 1)
- ctrl = parentCtrl.createChild("xforms:caption", "id:" + capid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible);
- else
- ctrl = parentCtrl.createChild("xforms:caption", "id:" + capid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible + "; font-weight:bold");
- ctrl.attribute("text") = degnitemnm;
- ctrl.attribute("ctrltype") = "label";
- ctrl.attribute("degnitemno") = degnitemno;
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- // label.top:-1 을 label.top:0 으로 조정
- var alignValue = getStyleValue(degnattrval, "label.top");
- if(alignValue == "-1")
- {
- degnattrval = degnattrval.setReplaceWord("label.top:" + alignValue, "label.top:0");
- }
-
- setDegnAttrVal(ctrl, degnattrval, "label");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawFrm(pmodel, pageInfo, supCtrl, cursor, x, y, row, visible)
- {
- if(visible == null)
- visible = "visible";
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- //var ctrlSize = new SIZE(pageInfo.pagewidth, 300);
- var ctrlSize = new SIZE(700, 300);
- var ctrlid = "FRM_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:caption", "id:" + ctrlid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible + "; font-weight:bold; text:부분서식 : " + degnitemnm);
- ctrl.attribute("ctrltype") = "label";
- ctrl.attribute("degnitemno") = degnitemno;
- setDegnAttrVal(ctrl, degnattrval, "label");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- /*if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + ctrlSize.cx)
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + ctrlSize.cx + "px";
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + ctrlSize.cy)
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + ctrlSize.cy + "px";*/
- if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- //alert(ctrlSize.cx + ", " + ctrlSize.cy);
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawFdg(pmodel, pageInfo, supCtrl, cursor, x, y, row, visible)
- {
- if(visible == null)
- visible = "visible";
- //var ctrlSize = new SIZE(pageInfo.pagewidth, 300);
- var ctrlSize = new SIZE(500, 300);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- //가계도편집 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 75;//86;
- var btnH = 19;
- var btnX = x + parseInt(ctrlSize.cx) - btnW;
- var btnY = 0;
-
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- btnL = parseInt(supCtrl.attribute("left")) + parseInt(btnX);
- btnT = parseInt(supCtrl.attribute("top")) + parseInt(btnY);
- }
- else
- {
- parentCtrl = supCtrl;
- btnL = btnX;
- btnT = btnY;
- }
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter5;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("ctrltype") = "extn1";
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("text") = "가계도 편집";
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "fEditFdg(" + degnitemno + ")";
- }
- ctrlid = "FDG_" + degnitemno;
- var ctrl = null;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- if(g_recordMode == "record")
- ctrl = parentCtrl.createChild("xforms:object", "id:" + ctrlid + "; clsid:{7de8aee0-f66f-4c36-9e6c-2b6dd1cf055d}; " +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- "disabled:true;");
- else
- ctrl = parentCtrl.createChild("xforms:caption", "id:" + ctrlid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible +
- "; font-weight:bold; text-align:center; border-style:solid; text:가계도;");
- ctrl.attribute("ctrltype") = "label";
- ctrl.attribute("degnitemno") = degnitemno;
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "label");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- /*if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + ctrlSize.cx)
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + ctrlSize.cx + "px";
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + ctrlSize.cy)
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + ctrlSize.cy + "px";*/
- if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(y) + parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- //alert(ctrlSize.cx + ", " + ctrlSize.cy);
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- //진단명, 주호소, 수술명
- function fDrawExt(pmodel, pageInfo, supCtrl, cursor, x, y, row, visible, type)
- {
- if(visible == null)
- visible = "visible";
- var src = "";
- if(type == "DGN")
- src = "../../../emr/formmngtweb/xrw/SSMRF04000.xrw";
- else if(type == "CCN")
- src = "../../../emr/formmngtweb/xrw/SSMRF04100.xrw";
- else if(type == "OPN")
- src = "../../../emr/formmngtweb/xrw/SSMRF04300.xrw";
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- //var ctrlSize = new SIZE(pageInfo.pagewidth, 300);
- var ctrlSize = new SIZE(490, 50);
- var ctrlid = "FRM_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:iviewer", "id:" + ctrlid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; disabled:true; src:" + src + "; visibility:" + visible + "; font-weight:bold; text:부분서식 : " + degnitemnm);
- ctrl.attribute("ctrltype") = "label";
- ctrl.attribute("degnitemno") = degnitemno;
- setDegnAttrVal(ctrl, degnattrval, "label");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- //if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- /*if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + ctrlSize.cx)
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + ctrlSize.cx + "px";
- //if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + ctrlSize.cy)
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + ctrlSize.cy + "px";*/
- if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- //alert(ctrlSize.cx + ", " + ctrlSize.cy);
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawUnit(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var unitnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/unitnm");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlSize = new SIZE(0, parseInt(supCtrl.attribute("height")));
- //ctrlSize.cx += pageInfo.fontengwidth * degntermnm.length;
- //ctrlSize.cx += fGetLblWidth(degnitemno, degnitemnm);
- ctrlSize.cx = parseInt(ctrlSize.cx) + parseInt(fGetLblWidth(degnitemno, degnitemnm));
- if(ctrlSize.cx < 120)
- ctrlSize.cx = 120;
- if(ctrlSize.cx < pageInfo.ctrlwidth)
- ctrlSize.cx = pageInfo.ctrlwidth;
- else
- ctrlSize.cx += Math.round((10 - (ctrlSize.cx % 10)) / 10) * 10;
-
- var capid = "UNIT_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:caption", "id:" + capid + "; cursor:" + cursor
- + "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx
- + "px; height:" + ctrlSize.cy + "px; vertical-align:middle; text:" + unitnm);
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "unit";
- setDegnAttrVal(ctrl, degnattrval, "unit");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawCmb(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 100;
- if(height == "")
- height = 20;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var itemattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval");
- var unitnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/unitnm");
-
- var cellspacing = 10;
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/valgrupcd");
- var cnt = getNodesetCnt(pmodel, pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']");
- var ctrlid = "CMB_" + degnitemno;
-
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:select1", "id:" + ctrlid + "; ref:" + pageInfo.recItemRef +
- "[degnitemno='" + degnitemno + "']/rectermcd; appearance:minimal; cursor:" + cursor +
- "; class:combo_default;left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; editmode:search");
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
- if(essential == "true")
- ctrl.attribute("class") = "combo_essential";
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row);
- var choices = ctrl.createChild("xforms:choices", "id:cho_" + degnitemno + ";");
- var itemset = choices.createChild("xforms:itemset", "id:iset_" + degnitemno + "; nodeset:" + pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']" + ";");
- itemset.createChild("xforms:label", "ref:valitemnm;");
- itemset.createChild("xforms:value", "ref:valcd;");
- //if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- /*if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + ctrlSize.cx)
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + ctrlSize.cx + "px";
- //if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + ctrlSize.cy)
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + ctrlSize.cy + "px";*/
- //if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- if(getStyleValue(itemattrval, "extn") == "visible")
- {
- //fDrawStx(model, pageInfo, supCtrl, cursor, ctrlSize.cx + pageInfo.offsetx, 0, 100, 20, row, true, g_recordMode);
- if(g_recordMode == "record")
- fDrawStx(model, pageInfo, supCtrl, cursor, parseInt(ctrl.attribute("width")) + (pageInfo.offsetx * 3) + 40, 0, 100, 20, row, true, g_recordMode);
- else
- fDrawStx(model, pageInfo, supCtrl, cursor, parseInt(ctrl.attribute("left")) + parseInt(ctrl.attribute("width")) + (pageInfo.offsetx * 3) + 15, 0, 100, 20, row, true, g_recordMode);
- }
-
- if(g_recordMode == "record")
- {
- ctrl.attribute("xforms-select") = "fSelectValList('"+degnitemno+"', '"+degnitemkind+"')";
- }
-
- if(unitnm != "")
- {
- if(g_recordMode == "record")
- pageInfo.curxpos += parseInt(ctrl.attribute("width")) + parseInt(fGetLblWidth(degnitemno, degnitemnm)) + (pageInfo.offsetx * 3);
- else
- pageInfo.curxpos += parseInt(ctrl.attribute("left")) + parseInt(ctrl.attribute("width")) + 15;
- }
- else
- {
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- }
-
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 라디오버튼을 그린다.
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawRdo(pmodel, pageInfo, supCtrl, cursor, x, y, row, mode)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var itemattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval");
-
- if(getStyleValue(degnattrval, "ctrl.left") == "")
- {
- degnattrval += "ctrl.left:135px";
- }
-
- // text align 설정 left로 고정
- var alignValue = getStyleValue(degnattrval, "ctrl.text-align");
- if(alignValue != "left")
- {
- degnattrval = degnattrval.setReplaceWord("ctrl.text-align:" + alignValue, "ctrl.text-align:left");
- }
-
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 0;
- if(height == "")
- height = parseInt(supCtrl.attribute("height"));
- var ctrlSize = new SIZE(width, height);
- var cellspacing = 10; // 서브아이템 기본 간격
- var vcellspacing = 0; // 서브아이템 기본 간격
-
- // 서브아이템 간격을 설정하였다면 설정한 값으로 변경함.
- if(isSearchString(degnattrval, "ctrl.subcellspacing:") == true)
- {
- cellspacing = getStyleValue(degnattrval, "ctrl.subcellspacing");
- }
-
- if(isSearchString(degnattrval, "ctrl.subvcellspacing:") == true)
- {
- vcellspacing = getStyleValue(degnattrval, "ctrl.subvcellspacing");
- }
- var ctrlid = degnitemkind + "_" + degnitemno;
- var ctrlname = "";
- if(degnitemkind == "RDO")
- ctrlname = "xforms:select1";
- else if(degnitemkind == "CHK")
- ctrlname = "xforms:select";
- var cnt = getNodesetCnt(pmodel, pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']");
- var cols = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "cols");
- if(cols == "")
- cols = cnt;
- var ctrl = null;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- ctrl = parentCtrl.createChild(ctrlname, "id:" + ctrlid +
- "; ref:" + pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd; cols:" + cols +
- "; overflow:visible; appearance:full; cursor:" + cursor + "; cellspacing:" + cellspacing + "px; vcellspacing:" + vcellspacing +
- "px; left:" + l + "px; top:" + t + "px; width:" + width + "px; height:" + height + "px;");// border-style:none; ");
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
- if(essential == "true") {
- ctrl.attribute("class") = "select_essential";
- }
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- var choices = ctrl.createChild("xforms:choices", "id:cho_" + degnitemno + ";");
- var itemset = choices.createChild("xforms:itemset", "id:iset_" + degnitemno +
- "; nodeset:" + pageInfo.vallistRef + "[grupcd='" + valgrupcd + "']" + ";");
-
- if(isSearchString(degnattrval, "ctrl.sublabel") == true)
- {
- if(getStyleValue(degnattrval, "ctrl.sublabel") == "on")
- {
- itemset.createChild("xforms:label", "ref:valitemnm;");
- itemset.createChild("xforms:value", "ref:valcd;");
- }
- else
- {
- // 아이템명을 빈값으로 만든 노드를 추가한다.
- fSetEmptyValGrupcd(valgrupcd);
-
- itemset.createChild("xforms:label", "ref:emptyitemnm;");
- itemset.createChild("xforms:value", "ref:valcd;");
- }
- }
- else
- {
- itemset.createChild("xforms:label", "ref:valitemnm;");
- itemset.createChild("xforms:value", "ref:valcd;");
- }
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- var lineWidth = 0;
- for(var j = 0; j < cnt; j++)
- {
- var label = pmodel.instances(0).selectNodes(pageInfo.vallistRef +
- "[grupcd='" + valgrupcd + "']/valitemnm").item(j).text;
- lineWidth += parseInt(fGetLblWidth(degnitemno, label)) + parseInt(13) + parseInt(5) + parseInt(cellspacing);
- if((j + 1) % cols == 0)
- {
- if( parseInt(ctrlSize.cx) < parseInt(lineWidth) )
- ctrlSize.cx = parseInt(lineWidth);
- lineWidth = 0;
- }
- }
- //ctrlSize.cx += l;
- ctrlSize.cx = parseInt(ctrlSize.cx) + parseInt(l);
- ctrl.attribute("width") = ctrlSize.cx + "px";
- ctrl.attribute("height") = ctrlSize.cy + "px";
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- addChild(ctrl, g_recordMode);
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- //if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- fMakeBind(pmodel, pageInfo, ctrl, row);
- if(cols == "0")
- ctrlSize.cy = pageInfo.ctrlheight;
- else
- ctrlSize.cy = (Math.ceil(cnt / cols) * 15) + Math.ceil(cnt / cols) + 2;
-
- /*//if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + ctrlSize.cx)
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + ctrlSize.cx + "px";
- //if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + ctrlSize.cy)
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + ctrlSize.cy + "px";*/
- //if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
-
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- //addChild(ctrl, g_recordMode);
-
- if(g_recordMode == "record")
- {
- ctrl.attribute("xforms-select") = "fSelectValList('"+degnitemno+"', '"+degnitemkind+"')";
-
- if(degnitemkind == "RDO")
- ctrl.attribute("ondblclick") = "fDeselectValList('"+degnitemno+"', '"+degnitemkind+"')";
- else
- ctrl.attribute("xforms-deselect") = "fDeselectValList('"+degnitemno+"', '"+degnitemkind+"')";
- }
- if(getStyleValue(itemattrval, "extn") == "visible")
- {
- var top = ctrlSize.cy - 20;
- if(top < 0)
- top = 0;
- fDrawStx(model, pageInfo, supCtrl, cursor, ctrlSize.cx + pageInfo.offsetx, top, 100, 20, row, true, g_recordMode);
- }
- return ctrlSize;
- }
- function fDrawStx(pmodel, pageInfo, supCtrl, cursor, x, y, cx, cy, row, extn, mode)
- {
- /*
- var width = "";
- var height = "";
-
- if(extn == true)
- {
- width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "extn.width");
- height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "extn.height");
- }
- else
- {
- width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- }
- width = width.setReplaceWord("px", "");
- height = height.setReplaceWord("px", "");
- */
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = cx;
- if(height == "")
- height = cy;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var supdegnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + supdegnitemno + "']/degnitemkind");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
-
- var ctrlid = "STX_" + degnitemno;
- var ref = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts";
-
- if(supdegnitemkind == "SSL")
- ref = pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/reccnts";
- else if(supdegnitemkind == "MSL")
- {
- var mslctrl = document.controls("SSU_" + degnitemno);
- var colno = mslctrl.attribute("colno");
- ref = pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/reccnts";
- }
- else if(supdegnitemkind == "IMG")
- {
- ref = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts";
- }
- var disabled = "true";
- if(g_recordMode == "record")
- disabled = "false";
- var ctrl = null;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- //alert("초기위치 보정값(" + degnitemnm + ") : " + l + "(" + parseInt(supCtrl.attribute("left")) + " + " + parseInt(x) + "), " + t + "(" + parseInt(supCtrl.attribute("top")) + " + " + parseInt(y) + ")");
- if(degnitemkind == "CAL")
- {
- // 컨트롤이 달력인 경우 현재일자 설정 변수에 따라 아이템 기본값이 올바르게 입력되지 않는 문제 수정
- // 2008.05.21
- // 이경희
- var itemattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval");
- var formprogflag = model.getValue("/root/main/forminfo/formmast/formprogflag");
-
- if(getStyleValue(itemattrval, "setcurdate") == "Y")
- {
- if(formprogflag == "PROF") // 제증명에서 달력아이템을 만드는 경우 mask="include" 속성을 뺀다.(발행일 아이템은 제외)
- {
- if(degnitemcd.substr(0,7) == '0004499') // 발행일 아이템은 mask=include 속성을 삽입함.
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; mask:include; disabled:" + disabled);//border-style:none;
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; disabled:" + disabled);//border-style:none;
- }
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- //"px; disabled:" + disabled);//border-style:none;
- "px; mask:include; disabled:" + disabled);//border-style:none;
- }
- model.setValue(ref, getCurrentDate().toDate().getDateFormat("YYYY-MM-DD"));
-
- // 현재일자 설정된 달력 아이템만 /root/hidden/curdatelist/date 에 기록해둔다.
- var DateListNode = findNode(model, pageInfo.recRef2 + "/curdatelist"); //"/root/hidden/curdatelist");
-
- if(DateListNode == null)
- model.makeNode(pageInfo.recRef2 + "/curdatelist");
-
- var date_cnts = getNodesetCnt(model, pageInfo.recRef2 + "/curdatelist/date");
- date_cnts++;
- model.makeValue(pageInfo.recRef2 + "/curdatelist/date[" + date_cnts +"]", degnitemno);
- }
- else
- {
- /*
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; disabled:" + disabled);//border-style:none;
- */
- if(formprogflag == "PROF") // 제증명에서 달력아이템을 만드는 경우 mask="include" 속성을 뺀다.(발행일 아이템은 제외)
- {
- if(degnitemcd.substr(0,7) == '0004499') // 발행일 아이템은 mask=include 속성을 삽입함.
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; mask:include; disabled:" + disabled);//border-style:none;
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; disabled:" + disabled);//border-style:none;
- }
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor + "; inputtype:date" +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; mask:include; disabled:" + disabled);//border-style:none;
- }
- }
- // 제증명 로직처리
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
-
- if(formprogflag == "PROF") // 제증명
- {
- ctrl.attribute("xforms-value-changed") = "fValidDate('" + degnitemno + "')";
- }
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:input", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px;" + // height:" + ctrlSize.cy +
- "px; mask:include; disabled:" + disabled);//border-style:none;
- }
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
-
- if(essential == "true")
- ctrl.attribute("class") = "input_essential";
- ctrl.attribute("degnitemno") = degnitemno;
-
- if(extn)
- ctrl.attribute("ctrltype") = "extn";
- else
- ctrl.attribute("ctrltype") = "ctrl";
-
- ctrl.attribute("disable.background-color") = "transparent";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //alert("최종위치 : " + ctrl.attribute("left") + ", " + ctrl.attribute("top"));
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- //alert("최종위치 보정값 : " + ctrl.attribute("left") + ", " + ctrl.attribute("top"));
- fMakeBind(pmodel, pageInfo, ctrl, row);
- /*if(parseInt(supCtrl.attribute("width")) < parseInt(ctrl.attribute("left")) + parseInt(ctrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(ctrl.attribute("left")) + parseInt(ctrl.attribute("width")) + "px";
- //if(parseInt(ctrl.attribute("height")) > parseInt(supCtrl.attribute("height")))
- if(parseInt(supCtrl.attribute("height")) < parseInt(ctrl.attribute("top")) + parseInt(ctrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrl.attribute("top")) + parseInt(ctrl.attribute("height")) + "px";*/
- //if(x + parseInt(ctrl.attribute("width")) > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrl.attribute("width")) + "px";
- if(parseInt(ctrl.attribute("height")) > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrl.attribute("height")) + "px";
- //]]
-
- pageInfo.curxpos += parseInt(x) + parseInt(ctrl.attribute("width")) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- // event 테스트
- if(g_recordMode == "record")
- {
- if(degnitemkind == "STX")
- {
- //ctrl.attribute("xforms-value-changed") = "fReCalculate('"+degnitemno+"', '"+degnitemkind+"')";
- ctrl.attribute("xforms-value-changed") = "fReCalculate()";
- }
- }
- return ctrlSize;
- }
- function fMakeBind(pmodel, pageInfo, ctrl, row, id, ref, subdegnitemno)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var itemattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlcd");
-
- var strCalc = getStyleValue(itemattrval, "calculation");
- var strRead = getStyleValue(itemattrval, "readonly");
-
- if(strCalc == "" && strRead == "")
- return;
-
- var strCvrt = "";
- var strCvrtRead = "";
- var strCvrtArr = fGetBindString(pmodel, pageInfo, ctrl, row, id, ref, strCalc);
- var strCvrtReadArr = fGetBindString(pmodel, pageInfo, ctrl, row, id, ref, strRead);
-
- var bindID = "";
- var bindRef = "";
- // alert("strCvrtReadArr:"+strCvrtReadArr);
-
- if(strCvrtArr != "")
- {
- bindID = strCvrtArr.split("|")[1];
- bindRef = strCvrtArr.split("|")[2];
- strCvrt = strCvrtArr.split("|")[0];
- }
- if(strCvrtReadArr != "")
- {
- bindID = strCvrtReadArr.split("|")[1];
- bindRef = strCvrtReadArr.split("|")[2];
- strCvrtRead = strCvrtReadArr.split("|")[0];
- if (degnitemkind == "CAL")
- {
- degnitemkind = "STX";
- }
- else if (degnitemkind == "MSL" || degnitemkind == "SSL")
- {
- degnitemkind = "SSU";
- degnitemno = subdegnitemno;
- }
-
- // readonly 옵션이 있는 경우 해당 아이템 찾기
- // readonly 기능이 켜질때 해당 컨트롤에 맵핑되어 있던 값을 지운다.
- var ctrlid = degnitemkind + "_" + degnitemno;
-
- var tmpCtrl = document.controls(ctrlid);
- if(tmpCtrl)
- {
- // alert("ctrlid: "+ctrlid+" || readonly fRemoveValue('" + degnitemlevlcd + "')");
- // 그리드인 경우 추가 , 2010.04.14, 주희경
- if ( degnitemkind == "GRD" )
- {
- tmpCtrl.attribute("xforms-readonly") = "fRemoveValue('" + degnitemlevlcd + "', '" + degnitemno + "')";
- }
- else if ( degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "CCN" ) // 진단명, 수술명, 주호소인 경우 추가 , 2010.04.14, 주희경
- {
- tmpCtrl.attribute("xforms-readonly") = "fRemoveValue('" + degnitemlevlcd + "', '" + degnitemno + "')";
- // tmpCtrl.attribute("xforms-readwrite") = "fEnableBtn( '" + degnitemno + "')"; // [진단명, 수술명, 주호소]의 돋보기 버튼 enable 제어 함수
- }
- else
- {
- tmpCtrl.attribute("xforms-readonly") = "fRemoveValue('" + degnitemlevlcd + "')";
- }
- }
- }
- var bind = document.all(bindID);
- if(bind != null)
- return;
- var strBindOption = "";
- if(strCvrt != "")
- strBindOption = "calculate:" + strCvrt + "; ";
-
- if(strCvrtRead != "")
- strBindOption += "readonly:" + strCvrtRead + "; ";
-
- //pmodel.createChild("xforms:bind", "id:" + bindID + "; ref:" + bindRef + "; calculate:" + strCvrt + ";");
- pmodel.createChild("xforms:bind", "id:" + bindID + "; ref:" + bindRef + "; " + strBindOption);
-
- var cnt = getNodesetCnt(model, "/root/hidden/bindlist");
- model.makeValue("/root/hidden/bindlist[" + (cnt + 1) + "]/bindid", bindID);
-
- }
- function fGetBindString(pmodel, pageInfo, ctrl, row, id, ref, strCalc)
- {
- var stIdx = 0;
- var endIdx = -1;
- var replacePos = 0;
- var strCvrt = "";
- var bInit = true;
-
- var bindID = "";
- var bindRef = "";
-
- ////////////////////////////////////////////////////////////////////////////////////
- // Calculate
- var macro = strCalc.charAt(0);
- if(macro == "@")
- {
- var arrCalc = strCalc.split("@@");
-
- bindRef = arrCalc[1];
- strCvrt = arrCalc[2];
-
- if(ctrl == null)
- {
- bindID = id;
- }
- else
- {
- bindID = "bind_" + ctrl.attribute("id");
- }
- }
- else
- {
- strCalc = strCalc.setReplaceWord("/", "div");
-
- while(1)
- {
- stIdx = strCalc.indexOf("#", stIdx);
- if(bInit)
- {
- strCvrt = strCalc.substring(0, stIdx);
- bInit = false;
- }
-
- if(stIdx == -1)
- {
- break;
- }
-
- endIdx = strCalc.indexOf("#", stIdx + 1);
-
- if(endIdx == -1)
- {
- break;
- }
- var subdegnitemno = strCalc.substring(stIdx + 1, endIdx);
- var subdegnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitemkind");
- if(strCalc.charAt(endIdx + 1) == "|")
- {
- var supdegnitemno = subdegnitemno;
- if(subdegnitemkind == "GRD")
- strCvrt += "/root/main/recinfo/grid/recitem";
- else
- strCvrt += "/root/main/recinfo/recitem";
-
- endIdx++;
-
- stIdx = endIdx + 1;
- stIdx = strCalc.indexOf("#", stIdx);
-
- if(stIdx == -1)
- {
- break;
- }
-
- endIdx = strCalc.indexOf("#", stIdx + 1);
- if(endIdx == -1)
- {
- break;
- }
-
- subdegnitemno = strCalc.substring(stIdx + 1, endIdx);
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/supdegnitemno");
- var itemattrval = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/itemattrval");
- var axflag = getStyleValue(itemattrval, "axflag");
-
- if(axflag == "X")
- {
- var colno = model.getValue("//recitem[degnitemno='"+subdegnitemno+"']/colno");
- strCvrt += "[colno = '" + colno + "'";
- }
- else if(axflag == "Y")
- {
- var rowno = model.getValue("//recitem[degnitemno='"+subdegnitemno+"']/rowno");
- var supitemattrval = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + supdegnitemno + "']/itemattrval");
- var gridtype = getStyleValue(supitemattrval, "gridtype");
- if(gridtype == "X")
- strCvrt += "[colno != '0' and rowno = '" + rowno + "'";
- else
- strCvrt += "[rowno = '" + rowno + "'";
- }
-
- if(strCalc.charAt(endIdx + 1) == "^")
- {
- stIdx = endIdx + 1;
- stIdx = strCalc.indexOf("#", stIdx);
-
- if(stIdx == -1)
- {
- break;
- }
-
- endIdx = strCalc.indexOf("#", stIdx + 1);
- if(endIdx == -1)
- {
- break;
- }
-
- subdegnitemno = strCalc.substring(stIdx + 1, endIdx);
- itemattrval = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/itemattrval");
- axflag = getStyleValue(itemattrval, "axflag");
-
- if(axflag == "X")
- {
- var colno = model.getValue("//recitem[degnitemno='"+subdegnitemno+"']/colno");
- strCvrt += " and colno = '" + colno + "'";
- }
- else if(axflag == "Y")
- {
- var rowno = model.getValue("//recitem[degnitemno='"+subdegnitemno+"']/rowno");
- strCvrt += " and rowno = '" + rowno + "'";
- }
- }
- strCvrt += "]/";
- }
- else
- {
-
- if ( subdegnitemkind == "MSL" )
- {
- //MSL의 경우 colno='0'인 recitem의 rowno에 현재 선택한 SSU의 점수가 기록되고 degnitemno가 동일한 아이템이 여러개 존재하므로
- //명확히 readonly 조건을 셋팅 하지 않으면 오동작 하는 오류가 있음. 중요!!, 2010.05.04, 주희경
- strCvrt += "/root/main/recinfo/recitem[degnitemno = '" + subdegnitemno + "' and colno = '0' ]/";
- }
- else
- {
- strCvrt += "/root/main/recinfo/recitem[degnitemno = '" + subdegnitemno + "']/";
- }
- }
- //if( subdegnitemkind == "RDO" || subdegnitemkind == "CHK" || subdegnitemkind == "CMB" || subdegnitemkind == "BOL")
- // strCvrt = strCvrt + "rectermcd";
- if(isSelectItem(subdegnitemkind) || subdegnitemkind == "MSL" || subdegnitemkind == "SSL" || subdegnitemkind == "IMG" ||
- subdegnitemkind == "RDO" || subdegnitemkind == "CHK" || subdegnitemkind == "CMB" || subdegnitemkind == "BOL" ) //2010.04.16, 주희경추가, 제발
- strCvrt = strCvrt + "rowno";
- else
- strCvrt = strCvrt + "reccnts";
- stIdx = endIdx + 1;
- endIdx = strCalc.indexOf("#", stIdx);
- if(endIdx != -1)
- strCvrt += strCalc.substring(stIdx, endIdx);
- else
- strCvrt += strCalc.substring(stIdx, strCalc.length);
- }
-
- if(ctrl == null)
- {
- bindID = id;
- bindRef = ref;
- }
- else
- {
- bindID = "bind_" + ctrl.attribute("id");
- if ( ref != null)
- bindRef = ref;
- else
- bindRef = ctrl.attribute("ref");
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // alert("aaa : " + strCvrt + "|" + bindID + "|" + bindRef);
- if(strCvrt != "")
- return strCvrt + "|" + bindID + "|" + bindRef;
- else
- return "";
-
- }
- function fSetDegnitemlevlcnt()
- {
- // degnitemlevlno 가 몇 레벨까지 있는지 계산
- var calculationDepth = 0;
- var formdegnNodelist = "";
- var idx = 0;
- do
- {
- formdegnNodelist = model.instance1.selectNodes("/root/main/forminfo/formdegn" + "[degnitemlevlno = '" + (++idx)+"']");
-
- if(formdegnNodelist.length == 0)
- break;
- else
- {
- // itemattrval값 확인
- itemattrvalNodelist = model.instance1.selectNodes("/root/main/forminfo/formdegn" + "[degnitemlevlno = '" + idx+"' and itemattrval != '']");
-
- for(var pos = 0; pos < itemattrvalNodelist.length; pos++)
- {
- var itemattrvalNode = itemattrvalNodelist.item(pos);
-
- var itemattrval = itemattrvalNode.selectSingleNode("itemattrval").text;
-
- if(fSearchString(itemattrval, "calculation") == true)
- {
- calculationDepth++;
- break;
- }
- }
- }
- }
- while(formdegnNodelist.length > 0)
-
- g_degnitemlevlcnt = calculationDepth;
- }
- function fSearchString(strSrc, strFind)
- {
- var r, re;
- re = new RegExp(strFind);
- r = re.exec(strSrc);
- if (r)
- {
- return true;
- }
- return false;
- }
- //Trustform 의 recalculate()가 제대로 작동하지 않아서 막음.
- //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- function xforms_recalculate(){
- fReCalculate(false);
- }
- /**
- * @ver : 2008-04-17
- * @desc : 점수를 재계산한다.
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fReCalculate(bRecalc) //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- {
- //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- if(bRecalc == null){
- bRecalc = true;
- }
- ///////////////////////////// Bind 항목 계산
- try
- {
- //xxx model.refresh();
-
- // 1. Bind 정보가 있는지 확인.
- var bindNodelist = findNodeset(model, "/root/hidden/bindlist/bindid");
-
- if(bindNodelist.length == 0)
- return;
-
- var IsCalc = false;
- // 2. Bind가 설정된 아이템의 레벨별로 recalculate를 실행.(bind 정보 계산식은 TF에서 순서대로 처리되므로, 계산 순서가 뒤바뀌어 있을 수 있으므로 레벨별로 계산)
- for(var levno = 0; levno < g_degnitemlevlcnt; levno++)
- {
- if(bRecalc){ //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- model.recalculate();
- }
- IsCalc = true;
- }
-
- // 3. Bind 항목을 체크하여 아이템 점수를 아이템속성에 따라 계산함.
- var cnt = getNodesetCnt(model, "/root/hidden/bindlist/bindid");
-
- if(bRecalc){ //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- model.recalculate(); //2010.02.08, hkjoo 추가
- }
-
- for(var i = 0; i < cnt; i++)
- {
- var bindid = model.getValue("/root/hidden/bindlist[" + (i + 1) + "]/bindid");
- var bindCtrl = model.children.item(bindid);
-
- if(bindCtrl == null)
- continue;
-
- var ref = bindCtrl.attribute("ref");
- var readonly = bindCtrl.attribute("readonly");
-
- if(readonly != "" && IsCalc == false){
- if(bRecalc){ //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- model.recalculate();
- }
- }
-
- if(model.getValue(ref) == "" || model.getValue(ref) == "0")
- continue;
-
- var bindidArr = bindid.split("_");
-
- var bindItemNodes = findNodeset(model, "/root/main/forminfo/formdegn" + "[degnitemkind='" + bindidArr[1] + "' and degnitemno='" + bindidArr[2] + "']");
-
- var RefValue = model.getValue(ref);
- var newRefValue = "";
- // 소수점을 기준으로 숫자들만 취하여 배열 변수에 저장
- if(RefValue.isNumber() == true || RefValue.isFloat() == true)
- {
- //2012/01/30 Start
- //var tempArray = eval(RefValue).toString().setReplaceWord("-", "").split(".");
- //var tempArray = parseFloat(RefValue).toString().setReplaceWord("-", "").split(".");
- var tempArray = RefValue.toString().setReplaceWord("-", "").split(".");
- //2012/01/30 End
-
- // 소수점 자리수 계산 처리
- for(var idx = 0; idx < bindItemNodes.length; idx++)
- {
- var bindItemNode = bindItemNodes.item(idx);
-
- var degnattrval = bindItemNode.selectSingleNode("degnattrval").text;
-
- var roundmode = getStyleValue(degnattrval, "ctrl.roundmode");
- var roundposition = getStyleValue(degnattrval, "ctrl.roundposition");
-
- if(roundmode == "" || roundmode == "none" || roundposition == "")
- continue;
-
- // 소수점 뒤자리를 조사
- // 소수점 이하값이 존재하지 않거나 자리수보다 크면
- //2012/02/01 Start
- if(tempArray.length != 2 || tempArray[1].length <= parseInt(roundposition)*(-1))
- continue;
- //if(tempArray.length != 2 || tempArray[1].length <= eval(roundposition)*(-1))
- // continue;
- //2012/02/01 End
-
- // 음수인 경우(지정한 자리수보다 한자리 더 증가하여 반올림을 처리.
- // 소수가 아닌 자연수로 떨어지게 되는 경우 roundposition 이 0인 것도 포함(roundposition 이 0인경우 -1로 계산하도록).
- if(parseInt(roundposition) <= 0)
- roundposition = parseInt(roundposition) + (-1);
-
- switch(roundmode)
- {
- case "round": //반올림
- newRefValue = RefValue.toString().getRound(roundposition, "HALF_UP");
- break;
- case "floor": //버림
- newRefValue = RefValue.toString().getRound(roundposition, "DOWN");
- break;
- case "ceil": //올림
- newRefValue = RefValue.toString().getRound(roundposition, "UP");
- break;
- }
- model.setValue(ref, newRefValue);
- model.refreshpart(ref);
-
- // 다른 컨트롤의 산술식에 해당 산술식 값을 참조하고 있는 경우
- }
- }
-
- /*
- if(parseInt(RefValue).isNumber() != true)
- continue;
-
- var tempArray = eval(RefValue).toString().setReplaceWord("-", "").split(".");
-
- // 소수점 자리수 계산 처리
- for(var idx = 0; idx < bindItemNodes.length; idx++)
- {
- var bindItemNode = bindItemNodes.item(idx);
-
- var degnattrval = bindItemNode.selectSingleNode("degnattrval").text;
-
- var roundmode = getStyleValue(degnattrval, "ctrl.roundmode");
- var roundposition = getStyleValue(degnattrval, "ctrl.roundposition");
-
- if(roundmode == "" || roundmode == "none" || roundposition == "")
- continue;
- // 소수점 뒤자리를 조사
- // 소수점 이하값이 존재하지 않거나 자리수보다 크면
- if(tempArray.length != 2 || tempArray[1].length <= eval(roundposition)*(-1))
- continue;
-
- if(parseInt(roundposition) < 0) // 음수인 경우(지정한 자리수보다 한자리 더 증가하여 반올림을 처리.
- roundposition = parseInt(roundposition) + (-1);
-
- switch(roundmode)
- {
- case "round": //반올림
- newRefValue = RefValue.toString().getRound(roundposition, "HALF_UP");
- break;
- case "floor": //버림
- newRefValue = RefValue.toString().getRound(roundposition, "DOWN");
- break;
- case "ceil": //올림
- newRefValue = RefValue.toString().getRound(roundposition, "UP");
- break;
- }
- model.setValue(ref, newRefValue);
- model.refreshpart(ref);
-
- // 다른 컨트롤의 산술식에 해당 산술식 값을 참조하고 있는 경우
- }
- */
- }
- if(bRecalc){ //2012.11.19 knuh 이상현 bind 반올림 오류 해결
- model.refresh();
- }
- }
- catch(e)
- {
- return;
- }
- }
- function fDrawMsk(pmodel, pageInfo, supCtrl, cursor, x, y, cx, cy, row, extn, mode)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = cx;
- if(height == "")
- height = cy;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var ctrlid = "MSK_" + degnitemno;
- var ref = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts";
- var disabled = "true";
- if(g_recordMode == "record")
- disabled = "false";
- var ctrl = null;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- ctrl = parentCtrl.createChild("xforms:secret", "id:" + ctrlid + "; ref:" + ref + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + pageInfo.ctrlwidth + "px; height:" + ctrlSize.cy +
- "px; disabled:" + disabled);//border-style:none;
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
- if(essential == "true")
- ctrl.attribute("class") = "input_essential";
- ctrl.attribute("degnitemno") = degnitemno;
-
- if(extn)
- ctrl.attribute("ctrltype") = "extn";
- else
- ctrl.attribute("ctrltype") = "ctrl";
-
- ctrl.attribute("disable.background-color") = "transparent";
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row);
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- //if(x + parseInt(ctrl.attribute("width")) > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrl.attribute("width")) + "px";
- if(parseInt(ctrl.attribute("height")) > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrl.attribute("height")) + "px";
- pageInfo.curxpos += parseInt(x) + parseInt(ctrl.attribute("width")) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawMtx(pmodel, pageInfo, supCtrl, cursor, x, y, row, mode)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 400;
- if(height == "")
- height = 300;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var fstlevlitemcd = pmodel.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/fstlevlitemcd");
- var comuseyn = pmodel.getValue(pageInfo.formdegnRef + "[degnitemcd='" + fstlevlitemcd + "' and degnitemlevlno='1']/comuseyn");
- var ctrl = null;
- var ctrlid = "MTX_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- ctrl = parentCtrl.createChild("xforms:textarea", "id:" + ctrlid + "; ref:" +
- pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts; scroll:autovscroll; cursor:" + cursor +
- "; left:" + x + "px; top:" + y + "px; width:" + ctrlSize.cx + "px; height:" + (ctrlSize.cy - 19 - 5) + "px;");
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
- if(essential == "true")
- ctrl.attribute("class") = "text_essential";
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- ctrl.attribute("disable.background-color") = "transparent";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- if(g_recordMode == "record" && (pageInfo.comuseyn == "Y" || comuseyn == "Y"))
- {
- ctrl.attribute("editmenu") = "false";
- setComnEvent(pageInfo.srcFormCd, degnitemno, ctrlid);
- }
-
- // 2009.02.05 MTX에서도 산술식이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row);
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(x) + parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- /**
- * @ver : 2008-04-17
- * @desc : Label을 그린다.
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawLbl(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemdefltval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemdefltval");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var cx = fGetLblWidth(degnitemno, degnitemdefltval);
- var cy = 20;
- if (cx > 550)
- {
- cx = 550;
- cy = (cx / 550 + 4) * 20;
- }
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = cx;
- if(height == "")
- height = cy;
- var ctrlSize = new SIZE(width, height);
- //var ctrlSize = new SIZE(cx, cy);
- var ctrlid = "LBL_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:caption", "id:" + ctrlid + "; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:top; text:" + degnitemdefltval);
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "label";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- if(degnattrval != "")
- setDegnAttrVal(ctrl, degnattrval, "label");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(x) + parseInt(ctrlSize.cx) + parseInt(pageInfo.offsetX);
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawLine(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlSize = new SIZE(100, 20);
- var ctrlid = "LINE_" + degnitemno;
- var ctrl = body.createChild("xforms:line", "id:" + ctrlid + "; cursor:" + cursor +
- "; left:" + x + "px; top:" + y + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px;");
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- pageInfo.curxpos += parseInt(x) + parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawShape(pmodel, pageInfo, supCtrl, cursor, x, y, appearance, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlSize = new SIZE(100, 20);
- var ctrlid = "SHP_" + degnitemno;
- var ctrl = "";
-
- if(appearance != "roundrect")
- {
- ctrl = body.createChild("xforms:shape", "id:" + ctrlid + "; appearance:" + appearance + ";" +
- "; cursor:" + cursor + "; left:" + x + "px; top:" + y + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px;");
- }
- else
- {
- ctrl = body.createChild("xforms:shape", "id:" + ctrlid + "; appearance:" + appearance + ";" +
- "; cursor:" + cursor + "; ellipsewidth=20; ellipseheight=20; left:" + x + "px; top:" + y + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px;");
- }
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- pageInfo.curxpos += parseInt(x) + parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- addShapeList(ctrl);
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 이미지를 그린다.
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawImge(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width", "ctrl");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height", "ctrl");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 300;
- if(height == "")
- height = 300;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemlevlcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var degnitemkind = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var imgedit = getStyleValue(model.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "imgedit");
- var ctrlid = "IMG_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- /*
- var CtrlArr = fAdujstCoordinate(g_recordMode, parentCtrl, supCtrl, x, y);
- var l = CtrlArr[0];
- var t = CtrlArr[1];
- var parentCtrl = CtrlArr[2];
- */
- var ctrl = null;
- if(imgedit == "Y" && g_recordMode == "record")
- {
- ctrl = parentCtrl.createChild("xforms:object", "id:" + ctrlid + "; clsid:{72e5d9ed-0d6a-46e8-aead-23144bfef878}; " +
- "left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy +
- "px; cursor:" + cursor + "; background-stretch:stretch; border-style:solid; kind:img");//border-style:none;
- //eval(ctrlid).SetDrawMode(true);
- //eval(ctrlid).LoadImageBase64(model.getValue(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata"));
-
- var domain = getMainDomain();
-
- var imgurl = fGetImgUrl(degnitemcd);
-
- var imgsrc = domain + imgurl;
-
- eval(ctrlid).LoadImage(imgsrc);
- // Shape 입력
- var shapeInfo = model.getValue(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/reccnts");
- if(shapeInfo != "")
- eval(ctrlid).SetShapeString(shapeInfo);
- eval(ctrlid).SetViewMode("1");
-
- // 편집가능한 이미지 목록만 /root/hidden/editimglist/imge 에 기록해둔다.
- var ImgListNode = findNode(model, pageInfo.recRef2 + "/editimglist");
-
- if(ImgListNode == null)
- model.makeNode(pageInfo.recRef2 + "/editimglist");
- //model.makeNode("/root/hidden/editimglist");
-
- var img_cnts = getNodesetCnt(model, pageInfo.recRef2 + "/editimglist/imgid");
- img_cnts++;
- model.makeValue(pageInfo.recRef2 + "/editimglist/imgid[" + img_cnts + "]", ctrlid + "." + degnitemcd);
- //model.makeValue(pageInfo.recRef2 + "/editimglist/imgid[" + img_cnts + "]", ctrlid + "." + degnitemlevlcd);
- }
- else
- {
- /*
- ctrl = parentCtrl.createChild("xforms:img", "id:" + ctrlid + "; ref:" +
- pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy +
- "px; cursor:" + cursor + "; background-stretch:stretch; border-style:solid;" +
- "_printable:true;");//border-style:none;
- */
- var imgurl = fGetImgUrl(degnitemcd);
- ctrl = parentCtrl.createChild("xforms:img", "id:" + ctrlid + "; src:" + imgurl +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy +
- "px; cursor:" + cursor + "; background-stretch:stretch; border-style:solid;" +
- "_printable:true;");//border-style:none;
- }
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- if(imgedit == "Y")
- {
- ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 26;
- var btnH = 19;
- //var btnX = x + parseInt(ctrlSize.cx) - btnW;
- //var btnY = 0;
- var btnX = parseInt(ctrl.attribute("left")) + parseInt(ctrl.attribute("width")) + pageInfo.offsetx;
- var btnY = parseInt(ctrl.attribute("top"));
- var btnL = btnX;
- var btnT = btnY;
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; _printable:false; class:icon_top;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- //btnCtrl.createChild("xforms:hint", "text:Ctrl + Q;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- btnCtrl.attribute("editshow") = "false";
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- }
- if(imgedit == "Y" && g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "fShowImgeEdit(" + degnitemno + ")";
- //btnCtrl.createChild("xforms:hint", "text:이미지편집 툴바;");
- }
- var cellspacing = 15;
- var lblWidth = 0;
- var subcnt = getNodesetCnt(pmodel, pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']");
- for(var j = 0; j < subcnt; j++)
- {
- var subdegnitemcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemcd").item(j).text;
- var subtermcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/termcd").item(j).text;
- var subdegnitemno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemno").item(j).text;
- var subdegnitemkind = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemkind").item(j).text;
- var subdegnitemlevlno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemlevlno").item(j).text;
- var subdegnitemnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- var subdegnitemdefltval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemdefltval").item(j).text;
- var subdegnattrval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnattrval").item(j).text;
- var subitemattrval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text;
- var rowno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnrowno").item(j).text;
- var subdegnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- subdegnitemlevlcd = pageInfo.fstLevlItemCd + "." + instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- else
- subdegnitemlevlcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='ISU' and supdegnitemno='" + degnitemno + "']/degnitemlevlcd").item(j).text;
- var subfstlevlitemcd = subdegnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- subfstlevlitemcd = pageInfo.fstLevlItemCd;
- var top = y + parseInt(height) + pageInfo.offsety;
- lblWidth = fGetLblWidth(degnitemno, subdegnitemnm);
- var subleft = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.left");
- var subtop = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.top");
- var subwidth = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.width");
- var subheight = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.height");
- if(subleft == "")
- subleft = x;
- if(subtop == "")
- subtop = top;
- subwidth = lblWidth;
- if(subheight == "")
- subheight = 20;
- var ctrlid = subdegnitemkind + "_" + subdegnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(subleft);
- t = parseInt(supCtrl.attribute("top")) + parseInt(subtop);
- }
- else
- {
- parentCtrl = supCtrl;
- l = subleft;
- t = subtop;
- }
- var ctrl = parentCtrl.createChild("xforms:select", "id:" + ctrlid +
- "; ref:" + pageInfo.recItemRef + "[degnitemno='" + subdegnitemno + "']/rectermcd" +
- "; overflow:visible; appearance:full; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + subwidth + "px; height:" + subheight + "px;");// border-style:none; ");
- var choices = ctrl.createChild("xforms:choices", "id:cho_" + subdegnitemno);
- var item = choices.createChild("xforms:item", "id:item_" + subdegnitemno);
- item.createChild("xforms:label", "text:" + subdegnitemnm);
- item.createChild("xforms:value", "text:" + subtermcd);
- ctrl.attribute("degnitemno") = subdegnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- x += parseInt(subwidth) + cellspacing;
- if(g_recordMode == "record")
- {
- ctrl.attribute("xforms-select") = "fSelectValList('"+subdegnitemno+"', '" + degnitemkind + "', 'IMG')";
- ctrl.attribute("xforms-deselect") = "fDeselectValList('"+subdegnitemno+"', '" + degnitemkind + "', 'IMG')";
- }
- ctrl.attribute("degnitemno") = subdegnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- setDegnAttrVal(ctrl, subdegnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, rowno);
- if(getStyleValue(subitemattrval, "extn") == "visible")
- {
- subleft = parseInt(subleft) + parseInt(subwidth) + pageInfo.offsetx;
- var stxSize = fDrawStx(model, pageInfo, supCtrl, cursor, subleft, subtop, 100, ctrlSize.cy, row + j + 1, true);
- x += stxSize.cx + pageInfo.offsetx;
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- if(extnCtrl)
- extnCtrl.disabled = true;
- }
- addChild(ctrl, g_recordMode);
- }
- if(model.getValue(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata") != "")
- setImageRefInstance(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata");
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
-
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + parseInt(pageInfo.offsetX);
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fDrawGrd(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 500;
- if(height == "")
- height = 100;
- var ctrlSize = new SIZE(width, height);
- //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
- var degnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- degnitemlevlcd = pageInfo.fstLevlItemCd + "." + model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- else
- degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- var fstlevlitemcd = degnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- fstlevlitemcd = pageInfo.fstLevlItemCd;
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var gridtype = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "gridtype");
- var subcnt = getNodesetCnt(pmodel, pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']");
- var ctrlid = "GRD_" + degnitemno;
- var grdcaption = "";
- var grdcolwidth = "";
-
- var ctrltype = "ctrl";
- var strStyle = "";
-
- strStyle += getCtrlAttribute("font-family", getStyleValue(degnattrval, ctrltype + ".font-family"));
- strStyle += getCtrlAttribute("font-size", getStyleValue(degnattrval, ctrltype + ".font-size"));
- strStyle += getCtrlAttribute("font-weight", getStyleValue(degnattrval, ctrltype + ".font-weight"));
- strStyle += getCtrlAttribute("font-style", getStyleValue(degnattrval, ctrltype + ".font-style"));
- strStyle += getCtrlAttribute("text-decoration", getStyleValue(degnattrval, ctrltype + ".text-decoration"));
- strStyle += getCtrlAttribute("color", getStyleValue(degnattrval, ctrltype + ".color"));
-
- strStyle += getCtrlAttribute("text-align", getStyleValue(degnattrval, ctrltype + ".text-align"));
- strStyle += getCtrlAttribute("vertical-align", getStyleValue(degnattrval, ctrltype + ".vertical-align"));
- strStyle += getCtrlAttribute("word-wrap", getStyleValue(degnattrval, ctrltype + ".word-wrap"));
- strStyle += getCtrlAttribute("line-spacing", getStyleValue(degnattrval, ctrltype + ".line-spacing"));
- strStyle += getCtrlAttribute("text-select", getStyleValue(degnattrval, ctrltype + ".text-select"));
-
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
-
- // 2009-04-01
- // 저장하려는 서식이 PROF 인 것들은 그리드 옵션에서 focuscolor:transparent를 삭제한다.
- var ctrl = null;
- var formmastNode = findNode(opener.model, pageInfo.formmastRef);
-
- // 서식정보가 없을 경우 기본으로 Grid를 생성함.
- if(formmastNode == null || formmastNode.selectSingleNode("formprogflag") == null)
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; autoresize:true; ");
- }
- else
- {
- if(formmastNode.selectSingleNode("formprogflag").text == "PROF")
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; autoresize:true; ");
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; autoresize:true; ");
- }
- }
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row, null, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- if(gridtype == "Y" || gridtype == "G") //Y축 누적 (추가 버튼 필요)
- {
- //행/열 삭제기능 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 53;
- var btnH = 19;
- var btnX = x + parseInt(ctrlSize.cx) - btnW;
- var btnY = 0;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var btnL = 0;
- var btnT = 0;
- if(g_recordMode == "record")
- {
- //초기위치 보정
- btnL = parseInt(supCtrl.attribute("left")) + parseInt(btnX);
- btnT = parseInt(supCtrl.attribute("top")) + parseInt(btnY);
- }
- else
- {
- btnL = btnX;
- btnT = btnY;
- }
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter3;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- btnCtrl.attribute("text") = "행삭제";
-
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "removeGridRow(" + degnitemno + ")";
- }
- //행/열 추가기능 버튼
- ctrlid = "BTN_" + degnitemno + "_EXT2";
- btnX = btnX - btnW - pageInfo.leftmargin;
- btnY = 0;
-
- if(g_recordMode == "record")
- {
- //초기위치 보정
- btnL = parseInt(supCtrl.attribute("left")) + parseInt(btnX);
- btnT = parseInt(supCtrl.attribute("top")) + parseInt(btnY);
- }
- else
- {
- btnL = btnX;
- btnT = btnY;
- }
- btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter3;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn2";
- setDegnAttrVal(btnCtrl, degnattrval, "extn2");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- btnCtrl.attribute("text") = "행추가";
-
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "addGridRow(" + degnitemno + ")";
- }
-
- for(var j = 0; j < subcnt; j++)
- {
- var axflag = getStyleValue(instance1.selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axflag");
- var axtype = getStyleValue(instance1.selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axtype");
- var subdegnitemcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemcd").item(j).text;
- var subdegnitemno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemno").item(j).text;
- var subdegnitemkind = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemkind").item(j).text;
- var subdegnitemlevlno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlno").item(j).text;
- var subdegnitemnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- var subunitnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/unitnm").item(j).text;
-
- var subdegnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- subdegnitemlevlcd = pageInfo.fstLevlItemCd + "." + instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- else
- subdegnitemlevlcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlcd").item(j).text;
-
- var subfstlevlitemcd = subdegnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- subfstlevlitemcd = pageInfo.fstLevlItemCd;
-
- //var col = ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:input;" + strStyle);
- switch(axtype)
- {
- case "OUTPUT": // OUTPUT
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:output;" + strStyle);
- break;
- case "INPUT": // INPUT
- case "": // INPUT
- col = ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:input;" + strStyle);
- break;
- case "INPUT+BUTTON": // INPUT+BUTTON
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:inputbutton;" + strStyle);
- break;
- case "INPUT+DATE": // INPUT+DATE
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:inputdate;" + strStyle);
- break;
- case "COMBO": // COMBO
- {
- var valgrupcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/valgrupcd").item(j).text;
- var subctrl = ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:combo;" + strStyle);
- var choices = subctrl.createChild("xforms:choices" , "");
- var nodesetPath = pageInfo.vallistRef + "[grupcd = '" + valgrupcd + "'];";
- var itemset = choices.createChild("xforms:itemset", "nodeset:" + nodesetPath);
- itemset.createChild("xforms:label", "ref:valitemnm;");
- itemset.createChild("xforms:value", "ref:valitemnm;");
- //itemset.createChild("xforms:value", "ref:valcd");
- break;
- }
- case "CHECKBOX": // CHECKBOX
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:checkbox;" + strStyle);
- break;
- case "RADIO": // RADIO
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + j + "']/reccnts; type:radio;" + strStyle);
- break;
- }
-
- var colwidth = fGetLblWidth(degnitemno, subdegnitemnm);
-
- if(grdcaption == "")
- {
- grdcaption = subdegnitemnm;
- grdcolwidth = colwidth;
- }
- else
- {
- grdcaption += "^" + subdegnitemnm;
- grdcolwidth += "," + colwidth;
- }
- }
- ctrl.attribute("caption") = grdcaption;
- ctrl.attribute("colwidth") = grdcolwidth;
- //ctrl.attribute("fixedcols") = "1";
- }
- else if(gridtype == "X") //X축 누적 (추가 버튼 필요)
- {
- //행/열 삭제기능 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 53;
- var btnH = 19;
- var btnX = x + parseInt(ctrlSize.cx) - btnW;
- var btnY = 0;
-
- if(g_recordMode == "record")
- {
- //초기위치 보정
- btnL = parseInt(supCtrl.attribute("left")) + parseInt(btnX);
- btnT = parseInt(supCtrl.attribute("top")) + parseInt(btnY);
- }
- else
- {
- btnL = btnX;
- btnT = btnY;
- }
-
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter3;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
-
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- btnCtrl.attribute("text") = "열삭제";
-
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "removeGridCol(" + degnitemno + ")";
- }
- //alert(btnX);
- //행/열 추가기능 버튼
- ctrlid = "BTN_" + degnitemno + "_EXT2";
- btnX = btnX - btnW - pageInfo.leftmargin;
- btnY = 0;
- if(g_recordMode == "record")
- {
- //초기위치 보정
- btnL = parseInt(supCtrl.attribute("left")) + parseInt(btnX);
- btnT = parseInt(supCtrl.attribute("top")) + parseInt(btnY);
- }
- else
- {
- btnL = btnX;
- btnT = btnY;
- }
- btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter3;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn2";
- setDegnAttrVal(btnCtrl, degnattrval, "extn2");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- btnCtrl.attribute("text") = "열추가";
-
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "addGridCol(" + degnitemno + ")";
- }
- var colwidth = 0;
- var col = ctrl.createChild("xforms:col", "ref:recitem[colno='0']/reccnts; type:input");
- ctrl.attribute("caption") = "※";
- var axtype = "";
- var valgrupcd = "";
- for(var j = 0; j < subcnt; j++)
- {
- //var label = pmodel.instances(0).selectNodes(pageInfo.formdegnRef +
- // "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- var axflag = getStyleValue(instance1.selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axflag");
- var tmpaxtype = getStyleValue(instance1.selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axtype");
- var tmpvalgrupcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/valgrupcd").item(j).text;
-
- var subdegnitemcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemcd").item(j).text;
- var subdegnitemno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemno").item(j).text;
- var subdegnitemkind = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemkind").item(j).text;
- var subdegnitemlevlno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlno").item(j).text;
- var subdegnitemnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- var subunitnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/unitnm").item(j).text;
-
- if(axflag == "X")
- {
- axtype = tmpaxtype;
- valgrupcd = tmpvalgrupcd;
- }
- // subdegnitemkind = "GXB";
-
- //subdegnitemlevlno = parseInt(subdegnitemlevlno) + 1;
-
- var subdegnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- subdegnitemlevlcd = pageInfo.fstLevlItemCd + "." + instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- else
- subdegnitemlevlcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlcd").item(j).text;
- var subfstlevlitemcd = subdegnitemlevlcd.split(".")[0];
-
- if(pageInfo.fstLevlItemCd != "")
- subfstlevlitemcd = pageInfo.fstLevlItemCd;
- var curcolwidth = fGetLblWidth(degnitemno, subdegnitemnm);
-
- if(curcolwidth > colwidth)
- colwidth = curcolwidth;
- }
- ctrl.rowheight(0) = 0;
- ctrl.attribute("colwidth") = colwidth;
- ctrl.attribute("fixedcols") = "1";
- //ctrl.addColumn("ref:recitem[colno='1']/reccnts; type:input;");
-
- // empty column 추가
- //ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:input;" + strStyle);
-
- switch(axtype)
- {
- case "OUTPUT": // OUTPUT
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:output;" + strStyle);
- break;
- case "INPUT": // INPUT
- case "": // INPUT
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:input;" + strStyle);
- break;
- case "INPUT+BUTTON": // INPUT+BUTTON
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:inputbutton;" + strStyle);
- break;
- case "INPUT+DATE": // INPUT+DATE
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:inputdate;" + strStyle);
- break;
- case "COMBO": // COMBO
- {
- //var valgrupcd = subList.item(j).selectSingleNode("valgrupcd").text;
- var subctrl = ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:combo;" + strStyle);
- var choices = subctrl.createChild("xforms:choices" , "");
- var nodesetPath = pageInfo.vallistRef + "[grupcd = '" + valgrupcd + "'];";
- var itemset = choices.createChild("xforms:itemset", "nodeset:" + nodesetPath);
- itemset.createChild("xforms:label", "ref:valitemnm");
- itemset.createChild("xforms:value", "ref:valitemnm");
- //itemset.createChild("xforms:value", "ref:valcd");
- break;
- }
- case "CHECKBOX": // CHECKBOX
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:checkbox;" + strStyle);
- break;
- case "RADIO": // RADIO
- ctrl.createChild("xforms:col", "ref:recitem[colno='1']/reccnts; type:radio;" + strStyle);
- break;
- }
-
- ctrl.refresh();
- }
- else if(gridtype =="T") //Table
- {
- var arrX = new Array();
- var arrY = new Array();
- var xCnt = 0;
- var yCnt = 0;
- var fstcolwidth = 0;
-
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/reccnts; type:input;");
-
- var subList = pmodel.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']");
- for(var j = 0; j < subcnt; j++)
- {
- /*var label = pmodel.instances(0).selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
-
- var axflag = getStyleValue(pmodel.instances(0).selectNodes(pageInfo.formdegnRef +
- "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axflag");*/
-
- var label = subList.item(j).selectSingleNode("degnitemnm").text;
- var axflag = getStyleValue(subList.item(j).selectSingleNode("itemattrval").text, "axflag");
- var axtype = getStyleValue(subList.item(j).selectSingleNode("itemattrval").text, "axtype");
- var subdegnitemno = subList.item(j).selectSingleNode("degnitemno").text;
-
- if(axflag == "X")
- {
- var colwidth = fGetLblWidth(degnitemno, label);
- arrX[xCnt++] = label;
-
- switch(axtype)
- {
- case "OUTPUT": // OUTPUT
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:output;" + strStyle);
- break;
- case "INPUT": // INPUT
- case "": // INPUT
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:input;" + strStyle);
- break;
- case "INPUT+BUTTON": // INPUT+BUTTON
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:inputbutton;" + strStyle);
- break;
- case "INPUT+DATE": // INPUT+DATE
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:inputdate;" + strStyle);
- break;
- case "COMBO": // COMBO
- {
- var valgrupcd = subList.item(j).selectSingleNode("valgrupcd").text;
- var subctrl = ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:combo;" + strStyle);
- var choices = subctrl.createChild("xforms:choices" , "");
- var nodesetPath = pageInfo.vallistRef + "[grupcd = '" + valgrupcd + "'];";
- var itemset = choices.createChild("xforms:itemset", "nodeset:" + nodesetPath);
- itemset.createChild("xforms:label", "ref:valitemnm");
- itemset.createChild("xforms:value", "ref:valitemnm");
- //itemset.createChild("xforms:value", "ref:valcd");
- break;
- }
- case "CHECKBOX": // CHECKBOX
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:checkbox;" + strStyle);
- break;
- case "RADIO": // RADIO
- ctrl.createChild("xforms:col", "ref:recitem[colno = '" + xCnt + "']/reccnts; type:radio;" + strStyle);
- break;
- }
- if(grdcaption == "")
- {
- grdcaption = label;
- grdcolwidth = colwidth;
- }
- else
- {
- grdcaption += "^" + label;
- grdcolwidth += "," + colwidth;
- }
- }
- else if(axflag == "Y")
- {
- var curcolwidth = fGetLblWidth(degnitemno, label);
- if(curcolwidth > fstcolwidth)
- fstcolwidth = curcolwidth;
- arrY[yCnt++] = label;
- }
- }
- grdcaption = "※^" + grdcaption;
- grdcolwidth = fstcolwidth + "," + grdcolwidth;
- ctrl.attribute("caption") = grdcaption;
- ctrl.attribute("colwidth") = grdcolwidth;
- ctrl.attribute("fixedcols") = "1";
- for(var row = 0; row < arrY.length; row++)
- {
- for(var col = 0; col < arrX.length; col++)
- {
- var subdegnitemcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemcd").item(col).text;
- var subdegnitemno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemno").item(col).text;
- var subdegnitemkind = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemkind").item(col).text;
- var subdegnitemlevlno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlno").item(col).text;
- var subdegnitemnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(col).text;
- var subunitnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/unitnm").item(col).text;
- var subdegnitemlevlcd = "";
-
- if(pageInfo.fstLevlItemCd != "")
- subdegnitemlevlcd = pageInfo.fstLevlItemCd + "." + instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(col).text;
- else
- subdegnitemlevlcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlcd").item(col).text;
- var subfstlevlitemcd = subdegnitemlevlcd.split(".")[0];
-
- if(pageInfo.fstLevlItemCd != "")
- subfstlevlitemcd = pageInfo.fstLevlItemCd;
- }
- }
- }
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- ctrl.attribute("degnitemkind") = degnitemkind;
- ctrl.attribute("xforms-value-changed") = "fReCalculate()";
- ctrl.rebuild();
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl", gridtype);
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // row, col 조절
- //var arrWidth = ctrl.attribute("colwidth").setReplaceWord("^", ",").split("^");
- var arrWidth = ctrl.attribute("colwidth").split(GRD_COL_DELIMETER);
-
- for(var i = 0; i < arrWidth.length; i++)
- {
- if(arrWidth[i] == "")
- continue;
- ctrl.colWidth(i) = parseInt(arrWidth[i]);
- }
- var arrHeight = ctrl.attribute("rowheight").split(GRD_COL_DELIMETER);
- for(var i = 0; i < arrHeight.length; i++)
- {
- if(arrHeight[i] == "")
- continue;
- ctrl.rowHeight(i) = parseInt(arrHeight[i]);
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- {
- supCtrl.attribute("height") = parseInt(y) + parseInt(ctrlSize.cy) + "px";
- }
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- /**
- * @desc : XSLT 속성을 얻어온다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetGrdCtrlAttribute(type, value)
- {
- if(value != "") return type+":"+value+"; ";
-
- return "";
- }
- function fDrawSel(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var ctrlSize = new SIZE(100, 20);
- //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
- var degnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- degnitemlevlcd = pageInfo.fstLevlItemCd + "." + model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- else
- degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- var fstlevlitemcd = degnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- fstlevlitemcd = pageInfo.fstLevlItemCd;
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
-
- var elementName = "";
- var ref = "";
- if(degnitemkind == "MSL")
- {
- elementName = "xforms:select";
- ref = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "' and colno = '#colno#']/rectermcd";
- }
- else if(degnitemkind == "SSL")
- {
- elementName = "xforms:select1";
- ref = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd";
- // fMakeBind(pmodel, pageInfo, null, row, degnitemkind + "_" + degnitemno, ref);
- }
- else
- return;
- var cellspacing = 15;
- var lblWidth = 0;
- var subcnt = getNodesetCnt(pmodel, pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']");
-
- for(var j = 0; j < subcnt; j++)
- {
- var cvrtRef = ref.setReplaceWord("#colno#", j);
- //alert(cvrtRef);
- var subdegnitemcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemcd").item(j).text;
- var subtermcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/termcd").item(j).text;
- var subdegnitemno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemno").item(j).text;
- var subdegnitemkind = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemkind").item(j).text;
- var subdegnitemlevlno = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlno").item(j).text;
- var subdegnitemnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- var subdegnitemdefltval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemdefltval").item(j).text;
- var subdegnattrval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnattrval").item(j).text;
- var subitemattrval = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text;
-
- // 단위 생성
- var subunitcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/unitcd").item(j).text;
- var subunitnm = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/unitnm").item(j).text;
- var fontValue = getStyleValue(subdegnattrval, "ctrl.font-size");
- if(parseInt(fontValue) > 12)
- {
- subdegnattrval = subdegnattrval.setReplaceWord("ctrl.font-size:" + fontValue, "ctrl.font-size:12px");
- }
-
- var subdegnitemlevlcd = "";
-
- if(pageInfo.fstLevlItemCd != "")
- subdegnitemlevlcd = pageInfo.fstLevlItemCd + "." + instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
- else
- subdegnitemlevlcd = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/degnitemlevlcd").item(j).text;
-
- var subfstlevlitemcd = subdegnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- subfstlevlitemcd = pageInfo.fstLevlItemCd;
- lblWidth = fGetLblWidth(degnitemno, subdegnitemnm) + 13 + 5;
- var subleft = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.left");
- var subtop = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.top");
- var subwidth = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.width");
- var subheight = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[degnitemno = '" + subdegnitemno + "']/degnattrval"), "ctrl.height");
- if(subleft == "")
- subleft = x;
- if(subtop == "")
- subtop = y;
- //if(subwidth == "")
- subwidth = lblWidth;
- if(subheight == "")
- subheight = 20;
-
- var ctrlid = subdegnitemkind + "_" + subdegnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
-
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(subleft);
- t = parseInt(supCtrl.attribute("top")) + parseInt(subtop);
- }
- else
- {
- parentCtrl = supCtrl;
- l = parseInt(subleft);
- t = parseInt(subtop);
- }
-
- var ctrl = parentCtrl.createChild(elementName, "id:" + ctrlid +
- "; ref:" + cvrtRef + "; overflow:visible; appearance:full; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + subwidth + "px; height:" + subheight + "px;");// border-style:none; ");
-
- var choices = ctrl.createChild("xforms:choices", "id:cho_" + subdegnitemno);
- var item = choices.createChild("xforms:item", "id:item_" + subdegnitemno);
- item.createChild("xforms:label", "text:" + subdegnitemnm);
- item.createChild("xforms:value", "text:" + subtermcd);
- var essential = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "essential");
-
- if(essential == "true" && j == 0)
- ctrl.attribute("class") = "select_essential";
- ctrl.attribute("colno") = j;
- ctrl.attribute("degnitemno") = subdegnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- // hint 생성
- //if(getStyleValue(subdegnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(subdegnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, subdegnattrval, "ctrl");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
-
- x = parseInt(subleft) + parseInt(subwidth) + cellspacing;
-
- if(g_recordMode == "record")
- {
- ctrl.attribute("xforms-select") = "fSelectValList('"+subdegnitemno+"', '" + degnitemkind + "')";
-
- if(degnitemkind == "SSL")
- {
- ctrl.attribute("xforms-value-changed") = "fChangeValList('" + degnitemno + "')";
- ctrl.attribute("ondblclick") = "fDeselectValList('"+subdegnitemno+"', '" + degnitemkind + "')";
- }
- else if(degnitemkind == "MSL")
- ctrl.attribute("xforms-deselect") = "fDeselectValList('"+subdegnitemno+"', '" + degnitemkind + "')";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row, null, null, subdegnitemno);
-
- if(getStyleValue(subitemattrval, "extn") == "visible")
- {
- subleft = parseInt(subleft) + parseInt(subwidth) + pageInfo.offsetx;
-
- var stxSize = fDrawStx(model, pageInfo, supCtrl, cursor, subleft, subtop, 100, ctrlSize.cy, row + j + 1, true);
- //var stxSize = fDRawStx(model, pageInfo, supCtrl, cursor, subleft, subtop, 100, ctrlSize.cy, row, true);
- x = parseInt(subleft) + stxSize.cx + pageInfo.offsetx;
-
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- if(extnCtrl)
- {
- extnCtrl.disabled = true;
- extnCtrl.attribute("disabled") = "true";
- extnCtrl.attribute("disable.background-color") = "transparent";
- //extnCtrl.visible = true;
- //extnCtrl.attribute("visible") = "true";
- extnCtrl.refresh();
- }
-
- // 단위 생성
- if(subunitnm != "")
- {
- var tmprow = (row + (j+1));
- var curxpos = pageInfo.curxpos;
-
- //var subunitNode = instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='SSU' and supdegnitemno='" + degnitemno + "']/unitnm").item(j);
-
- var unitWidth = fGetLblWidth(degnitemno, subunitnm);
-
- var extnLeft = getStyleValue(subdegnattrval, "extn.left");
- var extnWidth = getStyleValue(subdegnattrval, "extn.width");
-
- var unitLeft = parseInt(extnLeft) + parseInt(extnWidth) + pageInfo.offsetx;
-
- ctrlSize = fDrawItemSubUnit(model, pageInfo, supCtrl, cursor, unitLeft, subtop, unitWidth, 20, tmprow);
- }
- }
- }
- return ctrlSize;
- }
- /**
- * @desc : SSU항목에 단위를 추가한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDrawItemSubUnit(pmodel, pageInfo, supCtrl, cursor, x, y, cx, cy, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var unitnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/unitnm");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlSize = new SIZE(cx, cy);
-
- var capid = "UNIT_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + x;
- t = parseInt(supCtrl.attribute("top")) + y;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:caption", "id:" + capid + "; cursor:" + cursor
- + "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx
- + "px; height:" + ctrlSize.cy + "px; vertical-align:middle; text:" + unitnm);
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "unit";
- setDegnAttrVal(ctrl, degnattrval, "unit");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fAdujstCoordinate(mode, parentCtrl, supCtrl, x, y)
- {
- var CoordinateArr = new Array(3);
- if(mode == "record")
- {
- CoordinateArr[0] = parseInt(supCtrl.attribute("left")) + parseInt(x);
- CoordinateArr[1] = parseInt(supCtrl.attribute("top")) + parseInt(y);
- CoordinateArr[2] = body;
- }
- else
- {
- CoordinateArr[0] = x;
- CoordinateArr[1] = y;
- CoordinateArr[2] = supCtrl;
- }
- return CoordinateArr;
- }
- function fDrawBool(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemnm");
- var termcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/termcd");
- var itemattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlSize = new SIZE(0, parseInt(supCtrl.attribute("height")));
- //ctrlSize.cx += pageInfo.fontengwidth * degntermnm.length;
- //ctrlSize.cx += fGetLblWidth(degnitemno, degnitemnm);
- ctrlSize.cx = parseInt(ctrlSize.cx) + parseInt(fGetLblWidth(degnitemno, degnitemnm));
- if(ctrlSize.cx < 120)
- ctrlSize.cx = 120;
- if(ctrlSize.cx < pageInfo.ctrlwidth)
- ctrlSize.cx = pageInfo.ctrlwidth;
- else
- ctrlSize.cx += Math.round((10 - (ctrlSize.cx % 10)) / 10) * 10;
- var ctrlid = "BOL_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = "";
-
- if(isSearchString(degnattrval, "ctrl.font-weight:bold") == true)
- {
- ctrl = parentCtrl.createChild("xforms:select", "id:" + ctrlid +
- "; ref:" + pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd;" +
- "; overflow:visible; appearance:full; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:20px; font-weight:bold; ");// border-style:none; ");
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:select", "id:" + ctrlid +
- "; ref:" + pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd;" +
- "; overflow:visible; appearance:full; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:20px; font-weight:normal; ");// border-style:none; ");
- }
-
- var choices = ctrl.createChild("xforms:choices", "id:cho_" + degnitemno);
- var item = choices.createChild("xforms:item", "id:item_" + degnitemno);
- item.createChild("xforms:label", "text:" + degnitemnm);
- item.createChild("xforms:value", "text:" + termcd);
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- ctrl.attribute("xforms-select") = "fSelectValList('" + degnitemno + "', 'BOL')";
- ctrl.attribute("xforms-deselect") = "fDeselectValList('" + degnitemno + "', 'BOL')";
-
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row);
- //if(x + ctrlSize.cx > parseInt(supCtrl.attribute("width")))
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- if(getStyleValue(itemattrval, "extn") == "visible")
- {
- var subleft = x + ctrlSize.cx + pageInfo.offsetx;
- var top = ctrlSize.cy - 20;
- if(top < 0)
- top = 0;
- fDrawStx(model, pageInfo, supCtrl, cursor, subleft, top, 100, 20, row, true, g_recordMode);
- }
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 진단명
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawDiagName(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 500;
- if(height == "")
- height = 100;
- var ctrlSize = new SIZE(width, height);
- //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
- /*var degnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- degnitemlevlcd = pageInfo.fstLevlItemCd + "." + model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- else
- degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- var fstlevlitemcd = degnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- fstlevlitemcd = pageInfo.fstLevlItemCd;*/
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var type = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "type");
- var ctrlid = "DGN_" + degnitemno;
-
- var ctrl = null;
- if(type != "btn")
- {
- var grdcaption = "";
- var grdcolwidth = "";
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- /*
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,30,30,74,221,100; caption:^R/O^주^진단코드^진단명^Comments");
- */
-
- // 2009-04-01
- // 저장하려는 서식이 PROF 인 것들은 그리드 옵션에서 focuscolor:transparent를 삭제한다.
- var formmastNode = findNode(opener.model, pageInfo.formmastRef);
-
- // 서식정보가 없을 경우 기본으로 Grid를 생성함.
- if(formmastNode == null || formmastNode.selectSingleNode("formprogflag") == null)
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,30,30,74,221,100; caption:^R/O^주^진단코드^진단명^Comments");
- }
- else
- {
- if(formmastNode.selectSingleNode("formprogflag").text == "PROF")
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,30,30,74,221,100; caption:^R/O^주^진단코드^진단명^Comments");
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,30,30,74,221,100; caption:^R/O^주^진단코드^진단명^Comments");
- }
- }
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- ctrl.createChild("xforms:col", "");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/reccnts; type:checkbox; checkvalue:R,C;");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '1']/reccnts; type:checkbox; checkvalue:M,S;"); //주부유형 체크부분 disabled
- ctrl.createChild("xforms:col", "ref:recitem[colno = '2']/rectermcd; type:input; disabled:true;");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '2']/rectermnm; type:input; disabled:true;");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '2']/reccnts; type:input;");
- ctrl.createChild("xforms:col", "ref:rowno; visibility:hidden;");
-
- //model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
-
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- ctrl.rebuild();
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row, null, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- //진단조회 기능 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 16;
- var btnH = 16;
-
- var btnX = parseInt(ctrl.attribute("left")) + 3;
- var btnY = parseInt(ctrl.attribute("top")) + 5;
-
- var btnL = btnX;
- var btnT = btnY;
-
- //진단명,수술명,주호소의 돋보기 버튼의 경우 그리드의 데이터가 없을 경우 readonly가 안타기 때문에 bind를 따로 생성해야하고
- //bind를 생성하기 위해서는 ref 정보를 생성해야 한다. 2010.04.14, 주희경
- var btnref = "/root/temp/" + "BTN_" + degnitemno
- model.makeNode(btnref);
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; ref:"+btnref +"; class:icon_search;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "fGetDiagInfoEx('" + degnitemno + "')";
- ctrl.attribute("onkeydown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("onmousedown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("DOMFocusOut") = "window.setPopupMenu(false);";
- ctrl.attribute("onendedit") = "fFindDiagInfo('" + degnitemno + "')";
- ctrl.attribute("xforms-value-changed") = "fCheckDiagMsKindFlag()";
-
- }
-
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, btnCtrl, row, null, btnref);
-
- var arrWidth = (ctrl.attribute("colwidth").setReplaceWord("^", ",") + ",0").split("^");
- for(var i = 0; i < arrWidth.length; i++)
- {
- ctrl.colWidth(i) = parseInt(arrWidth[i]);
- }
- }
- else
- {
- var cap = document.controls("LBL_" + degnitemno);
- cap.attribute("height") = "0px";
- cap.attribute("_printable") = "false";
- setDegnAttrVal(cap, degnattrval, "label");
-
- ctrlSize = new SIZE(64, 19);
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- ctrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:btn2_letter4; cursor:" + cursor +
- "; left:" + l + "px; top:0px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; text:진단검색");
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- if(g_recordMode == "record")
- {
- ctrl.attribute("onclick") = "fGetDiagInfoEx(" + degnitemno + ", '" + type + "')";
- }
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
-
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(y) + parseInt(ctrlSize.cy) + "px";
-
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
-
- model.setFocus(ctrlid);
- model.refresh();
-
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 수술
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawOpName(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 500;
-
- if(height == "")
- height = 100;
-
- var ctrlSize = new SIZE(width, height);
- //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
-
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
-
- var degnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- degnitemlevlcd = pageInfo.fstLevlItemCd + "." + model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- else
- degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
-
- var fstlevlitemcd = degnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- fstlevlitemcd = pageInfo.fstLevlItemCd;
-
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var gridtype = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "gridtype");
-
- var ctrlid = "OPN_" + degnitemno;
- var grdcaption = "";
- var grdcolwidth = "";
-
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
-
- /*
- var ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,85,301,79; caption:^수술코드^수술명^Comments");
- */
-
- // 2009-04-01
- var ctrl = null;
- // 저장하려는 서식이 PROF 인 것들은 그리드 옵션에서 focuscolor:transparent를 삭제한다.
- var formmastNode = findNode(opener.model, pageInfo.formmastRef);
-
- // 서식정보가 없을 경우 기본으로 Grid를 생성함.
- if(formmastNode == null || formmastNode.selectSingleNode("formprogflag") == null)
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,85,301,79; caption:^수술코드^수술명^Comments");
- }
- else
- {
- if(formmastNode.selectSingleNode("formprogflag").text == "PROF")
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,85,301,79; caption:^수술코드^수술명^Comments");
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,85,301,79; caption:^수술코드^수술명^Comments");
- }
- }
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- ctrl.createChild("xforms:col", "");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/rectermcd; type:input");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/rectermnm; type:input");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/reccnts; type:input");
- ctrl.createChild("xforms:col", "ref:rowno; visibility:hidden;");
-
- //model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- ctrl.rebuild();
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row, null, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- //수술조회 기능 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 16;
- var btnH = 16;
- var btnX = parseInt(ctrl.attribute("left")) + 3;
- var btnY = parseInt(ctrl.attribute("top")) + 5;
-
- var btnL = btnX;
- var btnT = btnY;
- //진단명,수술명,주호소의 돋보기 버튼의 경우 그리드의 데이터가 없을 경우 readonly가 안타기 때문에 bind를 따로 생성해야하고
- //bind를 생성하기 위해서는 ref 정보를 생성해야 한다. 2010.04.14, 주희경
- var btnref = "/root/temp/" + "BTN_" + degnitemno
- model.makeNode(btnref);
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; ref:"+btnref +"; class:icon_search;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, btnCtrl, row, null, btnref);
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "fGetOpInfo(" + degnitemno + ")";
- ctrl.attribute("onkeydown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("onmousedown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("DOMFocusOut") = "window.setPopupMenu(false);";
- }
- var arrWidth = ctrl.attribute("colwidth").setReplaceWord("^", ",").split(",");
- for(var i = 0; i < arrWidth.length; i++)
- {
- ctrl.colWidth(i) = parseInt(arrWidth[i]);
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
-
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(y) + parseInt(ctrlSize.cy) + "px";
-
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 주호소
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawCCName(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 500;
- if(height == "")
- height = 100;
- var ctrlSize = new SIZE(width, height);
- //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
- var degnitemlevlcd = "";
- if(pageInfo.fstLevlItemCd != "")
- degnitemlevlcd = pageInfo.fstLevlItemCd + "." + model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- else
- degnitemlevlcd = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlcd");
- var fstlevlitemcd = degnitemlevlcd.split(".")[0];
- if(pageInfo.fstLevlItemCd != "")
- fstlevlitemcd = pageInfo.fstLevlItemCd;
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var gridtype = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/itemattrval"), "gridtype");
- var ctrlid = "CCN_" + degnitemno;
- var grdcaption = "";
- var grdcolwidth = "";
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
-
- /////////////////////
- /*
- var ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,5,215,133,96; caption:^주호소코드^주호소명^Comments^발생일");
- */
-
- // 2009-04-01
- // 저장하려는 서식이 PROF 인 것들은 그리드 옵션에서 focuscolor:transparent를 삭제한다.
- var ctrl = null;
- var formmastNode = findNode(opener.model, pageInfo.formmastRef);
-
- // 서식정보가 없을 경우 기본으로 Grid를 생성함.
- if(formmastNode == null || formmastNode.selectSingleNode("formprogflag") == null)
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,5,215,133,96; caption:^주호소코드^주호소명^Comments^발생일");
- }
- else
- {
- if(formmastNode.selectSingleNode("formprogflag").text == "PROF")
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,5,215,133,96; caption:^주호소코드^주호소명^Comments^발생일");
- }
- else
- {
- ctrl = parentCtrl.createChild("xforms:datagrid", "id:" + ctrlid + "; nodeset:" +
- pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']" +
- "; focuscolor:transparent; focus-rect:visible; caption:aa; mergecellsfixedrows:bycolrec; rowsep:|; colsep:^; cursor:" + cursor +
- "; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px;" +
- " colwidth:20,5,215,133,96; caption:^주호소코드^주호소명^Comments^발생일");
- }
- }
-
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
- ctrl.createChild("xforms:col", "");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/rectermcd; type:input; visibility:hidden;");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/rectermnm; type:input");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '0']/reccnts; type:input");
- ctrl.createChild("xforms:col", "ref:recitem[colno = '1']/reccnts; type:input");
- ctrl.createChild("xforms:col", "ref:rowno; visibility:hidden;");
- //model.removeNode(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
-
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- ctrl.rebuild();
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, ctrl, row, null, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- //주호소조회 기능 버튼
- var ctrlid = "BTN_" + degnitemno + "_EXT1";
- var btnW = 16;
- var btnH = 16;
- var btnX = parseInt(ctrl.attribute("left")) + 3;
- var btnY = parseInt(ctrl.attribute("top")) + 5;
- var btnL = btnX;
- var btnT = btnY;
- //진단명,수술명,주호소의 돋보기 버튼의 경우 그리드의 데이터가 없을 경우 readonly가 안타기 때문에 bind를 따로 생성해야하고
- //bind를 생성하기 위해서는 ref 정보를 생성해야 한다. 2010.04.14, 주희경
- var btnref = "/root/temp/" + "BTN_" + degnitemno
- model.makeNode(btnref);
- var btnCtrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; ref:"+btnref +"; class:icon_search;cursor:" + cursor +
- "; left:" + btnL + "px; top:" + btnT + "px; width:" + btnW + "px; height:" + btnH + "px;");
- btnCtrl.attribute("degnitemno") = degnitemno;
- btnCtrl.attribute("ctrltype") = "extn1";
- setDegnAttrVal(btnCtrl, degnattrval, "extn1");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(btnCtrl.attribute("left")) != btnL)
- btnCtrl.attribute("left") = parseInt(btnCtrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(btnCtrl.attribute("top")) != btnT)
- btnCtrl.attribute("top") = parseInt(btnCtrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
-
- // 2010.04.07, 주희경, 산술식(현재는 readonly만 가능)이 가능하도록 설정.
- fMakeBind(pmodel, pageInfo, btnCtrl, row, null, btnref);
- if(g_recordMode == "record")
- {
- btnCtrl.attribute("onclick") = "fGetCCInfo(" + degnitemno + ")";
- ctrl.attribute("onkeydown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("onmousedown") = "fProcGrdFunc('" + degnitemno + "', '" + degnitemkind + "')";
- ctrl.attribute("DOMFocusOut") = "window.setPopupMenu(false);";
- }
- var arrWidth = ctrl.attribute("colwidth").setReplaceWord("^", ",").split(",");
- for(var i = 0; i < arrWidth.length; i++)
- {
- ctrl.colWidth(i) = parseInt(arrWidth[i]);
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(y) + parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- //fAddRowCCGrd(degnitemno); //빈줄추가(2008.4.23) 박종훈
- return ctrlSize;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 버튼을 그린다.
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawBtn(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 64;
- if(height == "")
- height = 19;
- var ctrlSize = new SIZE(width, height);
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var classnm = "btn2_letter" + degnitemnm.length;
- var ctrlid = "BTN_" + degnitemno;
- //[[2008-06-23(snoweye) : degine / record 모드 drawing 로직 분리(group 제거)
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- var ctrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:" + classnm + "; cursor:" + cursor +
- "; left:" + l + "px; top:0px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; text:" + degnitemnm);
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- // hint 생성
- //if(getStyleValue(degnattrval, "ctrl.hint") != "")
- //fAddHint(ctrl, getStyleValue(degnattrval, "ctrl.hint"));
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
- }
- if(g_recordMode == "record")
- {
- ctrl.attribute("onclick") = "fSetProfIssUsge();";
- }
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fAddCtrlToPltte(pctrl)
- {
- var pageInfo = new PAGEINFO();
- var formcd = model.getValue(pageInfo.formmastRef + "formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef + "formdegnseq");
- var degnitemno = model.getXPathValue("max(" + grd_pltte.attribute("nodeset") + "/degnitemno)");
- if(degnitemno == "NaN")
- degnitemno = 1;
- else
- degnitemno = parseInt(degnitemno) + 1;
- var degnrowno = model.getXPathValue("max(" + grd_pltte.attribute("nodeset") + "/degnrowno)");
- if(degnrowno == "NaN")
- degnrowno = 1;
- else
- degnrowno = parseInt(degnrowno) + 1;
- var destPath = grd_pltte.attribute("nodeset") + "[" + (getNodesetCnt(model, grd_pltte.attribute("nodeset")) + 1) + "]";
- model.makeValue(destPath + "/formdegnseq" , formdegnseq );
- model.makeValue(destPath + "/degnitemno" , degnitemno );
- model.makeValue(destPath + "/degnitemkind" , "LBL" );
- model.makeValue(destPath + "/degnitemcd" , "Z000000001" );
- model.makeValue(destPath + "/termcd" , "" );
- model.makeValue(destPath + "/degnitemnm" , "label" );
- model.makeValue(destPath + "/supdegnitemno" , "" );
- model.makeValue(destPath + "/supdegnitemcd" , "" );
- model.makeValue(destPath + "/degnitemlevlno" , "1" );
- model.makeValue(destPath + "/degnitemlevlcd" , "Z000000001" );
- model.makeValue(destPath + "/valgrupcd" , "" );
- model.makeValue(destPath + "/valgrupnm" , "" );
- model.makeValue(destPath + "/unitcd" , "" );
- model.makeValue(destPath + "/unitnm" , "" );
- model.makeValue(destPath + "/degnitemdefltval", model.getValue("/root/hidden/lblnm"));
- model.makeValue(destPath + "/degncntrviewflag", "C" );
- model.makeValue(destPath + "/userdegnyn" , "N" );
- model.makeValue(destPath + "/degnxval" , "0" );
- model.makeValue(destPath + "/degnyval" , "0" );
- model.makeValue(destPath + "/degnrowno" , degnrowno );
- model.makeValue(destPath + "/essndegnyn" , "N" );
- model.makeValue(destPath + "/essnrecyn" , "N" );
- model.makeValue(destPath + "/degnattrval" , "" );
- model.makeValue(destPath + "/itemattrval" , "" );
- grd_pltte.rebuild();
- setTree(grd_pltte, grd_pltte.colref("degnitemlevlno"), grd_pltte.colref("degnitemcd"), true);
- }
- function fReload(viewobj, pageInfo)
- {
- var title = document.controls("cap_title");
- if(title != null)
- document.body.removeChild("cap_title");
- var len = document.body.children.length;
- for(var i = len - 1; i >= 0; i--)
- {
- var ctrl = document.body.children.item(i);
- if(ctrl.elementName != "xforms:group" || ctrl.attribute("kind") == "pgm")
- continue;
- document.body.removeChild(ctrl.attribute("id"));
- }
- model.removeNode(pageInfo.recRef);
- document.rebuild = true;
- document.body.refresh();
- }
- function fAddViewArray(viewname)
- {
- var len = g_viewarr.length;
- g_viewarr[len] = viewname;
- fAddTask(viewname);
- }
- function fAddTask(viewname)
- {
- var sizex = g_taskbtnx + viewname.length * g_taskbtncx;
- var ctrl = grp_task.createChild("xforms:button", "id:" + viewname + "; class:btn_sw; group:view; selected:true; left:" + g_taskbtncurxpos + "px;top:" + g_taskbtncurypos + "px;width:" + sizex + "px;height:" + g_taskbtny + "px; text:" + viewname);
- var script = "g_curviewname = event.target;\n";
- ctrl.attribute("onclick") = script;
- g_taskbtncurxpos += sizex;
- }
- /**
- * @ver : 2007-09-21
- * @desc : 점수계산이 포함된 체크박스나 라디오버튼을 체크할 때 실행되는 이벤트
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- var valGrupArr = new Array();
- function fSelectValList(degnitemno, type)
- {
- try
- {
- var pageInfo = new PAGEINFO();
- if(type == null)
- type = "RDO";
-
- /*
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitempnt");
- */
-
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sValGrupCd = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/valgrupcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[grupcd='" + sValGrupCd + "' and valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[grupcd='" + sValGrupCd + "' and valcd='" + sCd + "']/valitempnt");
-
-
- if(type == "RDO" || type == "CMB")
- {
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", sNm);
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/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 = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemnm");
-
- if(sItemNm == "")
- {
- sItemNm = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemnm");
- }
-
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
-
- var pnts = 0;
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
- //var nodeList2 = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno = '" + supdegnitemno + "']/rectermcd");
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var rectermcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/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);
- }
-
- if(subdegnitemno == degnitemno)
- {
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermnm", sItemNm);
- //model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rowno", sDefltVal);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rowno", sDefltScr);
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '0']/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")
- {
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- /*
- var sDefltVal = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemdefltval");
- */
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitempnts");
-
- var sItemNm = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemnm");
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
-
- //if(extn == "visible")
- {
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
-
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- var unitCtrl = document.controls("UNIT_" + subdegnitemno);
-
- if(extnCtrl == null)
- continue;
-
- if(degnitemno == subdegnitemno)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- extnCtrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/reccnts";
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- else
- {
- extnCtrl.visible = false;
- extnCtrl.disabled = true;
- extnCtrl.attribute("ref") = "";
-
- if(unitCtrl != null)
- unitCtrl.visible = false;
- }
- }
- }
- //alert(extn + ", " + sDefltVal);
-
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rectermnm", sItemNm);
- //model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", sDefltVal);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/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)
- {
- return;
- }
- }
- // 2009-03-31
- // 소수점 처리
- function fSelectValList_old(degnitemno, type)
- {
- try
- {
- var pageInfo = new PAGEINFO();
- if(type == null)
- type = "RDO";
-
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitempnt");
-
- if(type == "RDO" || type == "CMB")
- {
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", sNm);
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/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);
- }
- }
-
- // 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 = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemnm");
-
- if(sItemNm == "")
- {
- sItemNm = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemnm");
- }
-
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
-
- var pnts = 0;
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
- //var nodeList2 = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno = '" + supdegnitemno + "']/rectermcd");
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var rectermcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermcd");
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 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(extn == "visible")
- {
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- if(extnCtrl == null)
- continue;
- if(rectermcd != "")
- {
- extnCtrl.disabled = false;
- }
- else
- {
- extnCtrl.disabled = true;
- }
- }
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltVal);
- pnts += parseInt(sDefltScr);
- }
-
- if(subdegnitemno == degnitemno)
- {
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermnm", sItemNm);
- //model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rowno", sDefltVal);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rowno", sDefltScr);
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/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");
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 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(extn == "visible")
- {
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- if(extnCtrl == null)
- continue;
-
- if(rectermcd != "")
- {
- extnCtrl.disabled = false;
- }
- else
- {
- extnCtrl.disabled = true;
- }
- }
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltVal);
- pnts += parseInt(sDefltScr);
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", sItemNm);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", pnts);
- }
- else if (type == "SSL")
- {
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- /*
- var sDefltVal = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemdefltval");
- */
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitempnts");
-
- var sItemNm = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnitemnm");
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extn = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/itemattrval"), "extn");
-
- //if(extn == "visible")
- {
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
-
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var extnCtrl = document.controls("STX_" + subdegnitemno);
- var unitCtrl = document.controls("UNIT_" + subdegnitemno);
-
- if(extnCtrl == null)
- continue;
-
- if(degnitemno == subdegnitemno)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- extnCtrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/reccnts";
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- else
- {
- extnCtrl.visible = false;
- extnCtrl.disabled = true;
- extnCtrl.attribute("ref") = "";
-
- if(unitCtrl != null)
- unitCtrl.visible = false;
- }
- }
- }
- //alert(extn + ", " + sDefltVal);
-
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rectermnm", sItemNm);
- //model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", sDefltVal);
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/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)
- {
- return;
- }
-
- /*
- model.recalculate();
- // Bind 항목을 체크하여 아이템 점수를 아이템속성에 따라 계산함.
- var cnt = getNodesetCnt(model, "/root/hidden/bindlist/bindid");
- for(var i = 0; i < cnt; i++)
- {
- var bindid = model.getValue("/root/hidden/bindlist[" + (i + 1) + "]/bindid");
- var bindCtrl = model.children.item(bindid);
- var ref = bindCtrl.attribute("ref");
-
- model.refreshPart(ref); // ref 노드를 refresh함.
-
- var bindidArr = bindid.split("_");
-
- var bindItemNodes = findNodeset(model, "/root/main/forminfo/formdegn" + "[degnitemkind='" + bindidArr[1] + "' and degnitemno='" + bindidArr[2] + "']");
-
- for(var idx = 0; idx < bindItemNodes.length; idx++)
- {
- var bindItemNode = bindItemNodes.item(idx);
-
- var degnattrval = bindItemNode.selectSingleNode("degnattrval").text;
-
- var roundmode = getStyleValue(degnattrval, "ctrl.roundmode");
- var roundposition = getStyleValue(degnattrval, "ctrl.roundposition");
-
- if(roundmode == "" || roundmode == "none" || roundposition == "")
- continue;
-
- var tmpPos = 1;
-
- var RefValue = model.getValue(ref);
- var newRefValue = "";
-
- if(parseInt(roundposition) < 0) // 음수인 경우
- {
- tmpPos = parseInt(tmpPos) * (-1);
- while(parseInt(roundposition) < 0)
- {
- tmpPos *= 10;
- roundposition = parseInt(roundposition) + 1;
- }
- }
- else
- {
- while(parseInt(roundposition) > 0) // 양수인 경우
- {
- tmpPos *= 10;
- roundposition = parseInt(roundposition) - 1;
- }
- }
-
- switch(roundmode)
- {
- case "round":
- newRefValue = Math.round( RefValue * tmpPos ) / tmpPos;
- break;
- case "floor":
- newRefValue = Math.floor( RefValue * tmpPos ) / tmpPos;
- break;
- case "ceil":
- newRefValue = Math.ceil( RefValue * tmpPos ) / tmpPos;
- break;
- }
- model.setValue(ref, newRefValue);
- }
- }
- model.refresh();
- */
-
- //model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- //model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts");
- //model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno");
- //model.refresh();
-
- //alert(model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/reccnts"));
- }
- /**
- * @ver : 2007-09-21
- * @desc : 점수계산이 포함된 체크박스나 라디오버튼을 체크해제할 때 실행되는 이벤트
- * @
- * @by : 이상현
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDeselectValList(degnitemno, type)
- {
- try
- {
- var pageInfo = new PAGEINFO();
- if(type == null)
- type = "RDO";
-
- /*
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitempnt");
- */
-
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sValGrupCd = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/valgrupcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[grupcd='" + sValGrupCd + "' and valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[grupcd='" + sValGrupCd + "' and valcd='" + sCd + "']/valitempnt");
-
-
- if(type == "RDO")
- {
- //model.setValue(ctrl.attribute("ref"), "");
- //ctrl.refresh();
- //alert(model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd", ""));
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", "");
- }
- else if(type == "CHK")
- {
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // CHK 아이템을 배열로 저장해둠.(체크한 순서에 상관없이 순서대로 저장하기 위함.)
- //
- if(valGrupArr[degnitemno] != null)
- valGrupArr[degnitemno] = null;
-
- // 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;
- }
- }
- }
- }
- }
-
- 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);
- }
- }
-
- /*
- 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);
- if (nms == "" && pnts == "0")
- {
- pnts = ""; //2010.04.28, 주희경, 초기 셋팅값이 ""인데 unselect 시 0으로 셋팅 되므로 "" 로 통일
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", pnts);
- }
- else if (type == "MSL")
- {
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- var pnts = 0;
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
-
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var rectermcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermcd");
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitempnts");
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltScr);
- if(sDefltScr.isNumber() == true || sDefltScr.isFloat() == true)
- pnts += eval(sDefltScr);
- }
-
- if(subdegnitemno == degnitemno)
- {
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermnm", "");
- }
- }
-
- var nms = model.getValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '0']/rectermnm");
- if (nms == "" && pnts == "0")
- {
- pnts = ""; //2010.04.28, 주희경, 초기 셋팅값이 ""인데 unselect 시 0으로 셋팅 되므로 "" 로 통일
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '0']/rowno", pnts);
-
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extnCtrl = document.controls("STX_" + degnitemno);
-
- if(extnCtrl != null)
- extnCtrl.disabled = true;
-
- var ssuCtrl = document.controls("SSU_" + degnitemno);
- var colno = ssuCtrl.attribute("colno");
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/rectermcd", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/reccnts", "");
- }
- else if(type == "IMG")
- {
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- 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");
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- //var sDefltVal = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitemdefltval");
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitempnts");
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltScr);
- if(sDefltScr.isNumber() == true || sDefltScr.isFloat() == true)
- pnts += eval(sDefltScr);
- }
- }
- var nms = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm");
- if (nms == "" && pnts == "0")
- {
- pnts = ""; //2010.04.28, 주희경, 초기 셋팅값이 ""인데 unselect 시 0으로 셋팅 되므로 "" 로 통일
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", pnts);
-
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extnCtrl = document.controls("STX_" + degnitemno);
- if(extnCtrl)
- extnCtrl.disabled = true;
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/reccnts", "");
- }
- else if (type == "SSL")
- {
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- var extnCtrl = document.controls("STX_" + degnitemno);
- var unitCtrl = document.controls("UNIT_" + subdegnitemno);
-
- if(extnCtrl)
- {
- extnCtrl.disabled = true;
- extnCtrl.visible = false;
- //extnCtrl.attribute("ref") = "";
- }
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rectermcd", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/reccnts", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rowno", "");
-
- degnitemno = supdegnitemno; //refresh를 위해 상위 아이템 번호를 아이템 번호로 세팅..
- }
- 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 = "";
-
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", "");
- if (pnts == "0")
- {
- pnts = ""; //2010.04.28, 주희경, 초기 셋팅값이 ""인데 unselect 시 0으로 셋팅 되므로 "" 로 통일
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", pnt);
-
- var extnCtrl = document.controls("STX_" + degnitemno);
- if(extnCtrl != null)
- {
- extnCtrl.disabled = true;
- extnCtrl.attribute("ref") = "";
- }
- }
-
- fReCalculate();
- }
- catch(e)
- {
- return;
- }
- }
-
- function fDeselectValList_old(degnitemno, type)
- {
- try
- {
- var pageInfo = new PAGEINFO();
- if(type == null)
- type = "RDO";
-
- var sCd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- var sNm = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitemnm");
- var sPnt = model.getValue(pageInfo.vallistRef + "[valcd='" + sCd + "']/valitempnt");
-
- if(type == "RDO")
- {
- //model.setValue(ctrl.attribute("ref"), "");
- //ctrl.refresh();
- //alert(model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd", ""));
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", "");
- }
- else if(type == "CHK")
- {
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // CHK 아이템을 배열로 저장해둠.(체크한 순서에 상관없이 순서대로 저장하기 위함.)
- //
- if(valGrupArr[degnitemno] != null)
- valGrupArr[degnitemno] = null;
-
- // 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;
- }
- }
- }
- }
- }
-
- 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);
- }
- }
-
- /*
- 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 supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- var pnts = 0;
- var nodeList = instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno = '" + supdegnitemno + "' and degnitemkind = 'SSU']/degnitemno");
-
- for(var i = 0; i < nodeList.length; i++)
- {
- var subdegnitemno = nodeList.item(i).text;
- var rectermcd = model.getValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermcd");
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitempnts");
-
- if(rectermcd != "")
- {
- pnts += parseInt(sDefltScr);
- }
-
- if(subdegnitemno == degnitemno)
- {
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "' and colno = '" + i + "']/rectermnm", "");
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", pnts);
-
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extnCtrl = document.controls("STX_" + degnitemno);
-
- if(extnCtrl != null)
- extnCtrl.disabled = true;
-
- var ssuCtrl = document.controls("SSU_" + degnitemno);
- var colno = ssuCtrl.attribute("colno");
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/rectermcd", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "' and colno = '" + colno + "']/reccnts", "");
- }
- else if(type == "IMG")
- {
- var supdegnitemno = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- 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");
-
- // 아이템기본값 항목을 아이템기본값과 아이템점수로 분리
- // 2008.04.16
- // 수정자: 이경희
- //var sDefltVal = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitemdefltval");
- var sDefltScr = model.getValue(pageInfo.formdegnRef + "[degnitemno='" + subdegnitemno + "']/degnitempnts");
-
- if(rectermcd != "")
- {
- //pnts += parseInt(sDefltVal);
- pnts += parseInt(sDefltScr);
- }
- }
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + supdegnitemno + "']/rowno", pnts);
-
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
- var extnCtrl = document.controls("STX_" + degnitemno);
- if(extnCtrl)
- extnCtrl.disabled = true;
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/reccnts", "");
- }
- else if (type == "SSL")
- {
- var supdegnitemno = model.getValue("/root/main/forminfo/formdegn[degnitemno='" + degnitemno + "']/supdegnitemno");
-
- var extnCtrl = document.controls("STX_" + degnitemno);
- var unitCtrl = document.controls("UNIT_" + subdegnitemno);
-
- if(extnCtrl)
- {
- extnCtrl.disabled = true;
- extnCtrl.visible = false;
- //extnCtrl.attribute("ref") = "";
- }
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rectermnm", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rectermcd", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/reccnts", "");
- model.setValue("/root/main/recinfo/recitem[degnitemno='" + supdegnitemno + "']/rowno", "");
-
- degnitemno = supdegnitemno; //refresh를 위해 상위 아이템 번호를 아이템 번호로 세팅..
- }
- 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 = "";
-
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm", "");
- model.setValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno", pnt);
-
- var extnCtrl = document.controls("STX_" + degnitemno);
- if(extnCtrl != null)
- {
- extnCtrl.disabled = true;
- extnCtrl.attribute("ref") = "";
- }
- }
-
- fReCalculate();
- }
- catch(e)
- {
- return;
- }
- /*
- model.recalculate();
- var cnt = getNodesetCnt(model, "/root/hidden/bindlist/bindid");
- for(var i = 0; i < cnt; i++)
- {
- var bindid = model.getValue("/root/hidden/bindlist[" + (i + 1) + "]/bindid");
- var bindCtrl = model.children.item(bindid);
- var ref = bindCtrl.attribute("ref");
- model.refreshPart(ref);
- }
- //model.refresh();
- model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd");
- model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts");
- //model.refreshPart(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rowno");
- //model.refresh();
- */
- }
- function fChangeValList(degnitemno)
- {
- model.setValue(g_pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts", "");
- model.refresh();
- //model.refreshPart(g_pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts");
- }
- function fSelectItem(degnitemno)
- {
- var ctrl = fFindItemCtrl(degnitemno);
- if(ctrl == null)
- return;
- select(ctrl);
- }
- function fFindItemCtrl(degnitemno)
- {
- for(var i = 0; i < g_childlist.length; i++)
- {
- var ctrlid = g_childlist[i];
- var pctrl = document.controls(ctrlid);
- if(pctrl == null)
- continue;
- if(pctrl.attribute("degnitemno") != degnitemno)
- continue;
- if(pctrl.elementName == "xforms:group" ||
- pctrl.elementName == "xforms:line" ||
- pctrl.elementName == "xforms:shape")
- return pctrl;
- }
- return null;
- }
- /*
- function fAddGridRow(degnitemno, type)
- {
- if(type == null)
- type = "GRD";
- var pageInfo = new PAGEINFO();
- var cnt = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']").length;
- var recinfoNode = instance1.selectSingleNode(pageInfo.recRef);
- //var srcNode = instance1.selectSingleNode(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- //if(srcNode == null)
- //{
- var srcNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- //}
- var tmpNode = srcNode.cloneNode(true);
- var rownoNode = tmpNode.selectSingleNode("rowno");
- if(rownoNode != null)
- rownoNode.text = cnt;
- var nodeList = tmpNode.selectNodes("recitem");
- for(var i = 0; i < nodeList.length; i++)
- {
- var node = nodeList.item(i);
- var rownoNode = node.selectSingleNode("rowno");
- if(rownoNode != null)
- rownoNode.text = cnt;
- var reccntsNode = node.selectSingleNode("reccnts");
- if(reccntsNode != null)
- reccntsNode.text = "";
- var rectermcdNode = node.selectSingleNode("rectermcd");
- if(rectermcdNode != null)
- rectermcdNode.text = "";
- var rectermnmNode = node.selectSingleNode("rectermnm");
- if(rectermnmNode != null)
- rectermnmNode.text = "";
- }
- model.duplicate(recinfoNode, tmpNode);
- var grd = document.controls(type + "_" + degnitemno);
- grd.rebuild();
- }
- function fAddGridRowEx(degnitemno, type)
- {
- fAddGridRow(degnitemno, type);
- var grd = document.controls(type + "_" + degnitemno);
- grd.isreadonly(grd.rows - 1, grd.colRef("recitem[colno = '2']/recitemnm")) = false;
- grd.isreadonly(grd.rows - 1, grd.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
- function fAddGridCol(degnitemno)
- {
- var grd = document.controls("GRD_" + degnitemno);
- var cols = grd.cols;
- //grd.addColumn("ref:recitem[colno='" + cols + "']/reccnts; type:input;");
- //alert("test");
- grd.addColumn("type:input; ref:test_col;");
- grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
- model.removeNodeset("/root/main/descendant::test_col");
- var grdList = instance1.selectNodes("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']");
- for(var i = 0; i < grdList.length; i++)
- {
- var grdNode = grdList.item(i);
- var subNode = grdNode.selectSingleNode("recitem");
- var tmpNode = subNode.cloneNode(true);
- var colnoNode = tmpNode.selectSingleNode("colno");
- if(colnoNode != null)
- colnoNode.text = cols;
- var reccntsNode = tmpNode.selectSingleNode("reccnts");
- if(reccntsNode != null)
- reccntsNode.text = "";
- var rectermcdNode = tmpNode.selectSingleNode("rectermcd");
- if(rectermcdNode != null)
- rectermcdNode.text = "";
- var rectermnmNode = tmpNode.selectSingleNode("rectermnm");
- if(rectermnmNode != null)
- rectermnmNode.text = "";
- var degnitemkindNode = tmpNode.selectSingleNode("degnitemkind");
- if(degnitemkindNode != null)
- degnitemkindNode.text = "GSU";
- grdNode.appendChild(tmpNode);
- }
- grd.rebuild();
- }
- function fRemoveGridRow(degnitemno, type)
- {
- if(type == null)
- type = "GRD";
- var grd = document.controls(type + "_" + degnitemno);
- var rows = instance1.selectNodes("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']").length;
- var curRow = rows - 1;//grd.row - grd.fixedRows;
- model.removenode("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "' and rowno='"+curRow+"']");
- grd.rebuild();
- }
- function fRemoveGridRowEx(degnitemno, type)
- {
- if(type == null)
- type = "GRD";
- var grd = document.controls(type + "_" + degnitemno);
- //var rows = instance1.selectNodes("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']").length;
- var curRow = grd.textMatrix(grd.row, grd.cols - 1);
- model.removenode("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "' and rowno='"+curRow+"']");
- grd.rebuild();
- }
- function fRemoveGridCol(degnitemno)
- {
- var grd = document.controls("GRD_" + degnitemno);
- var cols = grd.cols;
- if(cols == 1)
- return;
- model.removeNodeset("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/recitem[colno='" + (cols - 1) + "']");
- grd.removeColumn();
- }
- */
- function onShowGridCntxMenu()
- {
- fShowGridCntxMenu();
- }
- function fShowGridCntxMenu()
- {
- //메뉴 초기화
- model.removeNodeset("/root/hidden/menu/item");
- addCntxMenu("[ 입력형식 설정 ]", "");
- addCntxMenu("", "");
- addCntxMenu("Input", "f");
- addCntxMenu("Output", "fGoOut");
- addCntxMenu("Combo", "fArrangeVallist");
- addCntxMenu("Bool", "fArrangeSameRow");
- window.setPopupMenu(true, "/root/hidden/menu/item", "name", "func", false);//사용자지정팝업메뉴설정
- }
- function onHideCntxMenu()
- {
- window.setPopupMenu(false);
- }
- function fEditFdg(degnitemno)
- {
- var pageInfo = new PAGEINFO();
-
- modal("SPMMR04700", 1,10, 10, "SPMMR04700");
-
- var strMeta = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts");
-
- setParameter("strMeta", strMeta);
-
- var obj = eval("FDG_" + degnitemno);
-
- obj.RemoveAll();
-
- obj.LoadMetaData(strMeta);
- }
- function fEditFdg_old(degnitemno)
- {
- var pageInfo = new PAGEINFO();
- var strMeta = model.getValue(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts");
- setParameter("strMeta", strMeta);
- modal("SPMMR04700", 1,10, 10, "SPMMR04700");
- strMeta = getParameter("strMeta");
- /*var obj = document.controls("FDG_" + degnitemno);
- if(obj == null)
- return;
- obj.RemoveAll();
- obj.LoadMetaData(strMeta);*/
- var obj = eval("FDG_" + degnitemno);
- obj.RemoveAll();
- obj.LoadMetaData(strMeta);
- }
- /**
- * @group :
- * @ver : 2008.07.16
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식에서 가계도 버튼 클릭 시 저장된 내용을 불러온다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetFDGInfo()
- {
- var pageInfo = new PAGEINFO();
-
- var strFDGmetadata = getParameter("SPMMR04711_shape");
- var strFDGbase64 = getParameter("SPMMR04711_base64");
-
- var FDGNode = instance1.selectNodes(pageInfo.recItemRef + "[degnitemkind = 'FDG']");
- for(var idx=0; idx< FDGNode.length; idx++)
- {
- var itemNode = FDGNode.item(idx);
-
- var degnitemno = itemNode.selectSingleNode("degnitemno").text;
-
- var recFDGNode = instance1.selectNodes(pageInfo.recItemRef + "[degnitemkind = 'FDG' and degnitemno = '" + degnitemno + "']");
-
- for(var idx=0; idx< recFDGNode.length; idx++)
- {
- var itemNode = recFDGNode.item(idx);
-
- itemNode.selectSingleNode("reccnts").text = strFDGmetadata;
-
- itemNode.selectSingleNode("recimge").text = strFDGbase64;
- }
- }
-
- model.refresh();
-
- }
- function fGetDiagInfo(degnitemno, type)
- {
- if(type == null)
- type = "grd";
- setParameter("SPMMO3200_param_nodepath", "/root/temp/diaginfo");
- modal("SPMMO03200", 1, 0, 0, "", "", "");
- if(type == "grd")
- {
- var pageInfo = new PAGEINFO();
-
- // 기존의 인스턴스에 들어있는 데이터를 모두 지운다.
- model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
-
- var ccCnt = getNodesetCnt(model, "/root/temp/diaginfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- var diagcd = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagcd");
- var diagnm = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagengnm");
- if(getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //진단코드, 진단명
- if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("DGN_" + degnitemno).rebuild();
- }
- else
- {
- var diagnm = "";
- var diagcd = "";
- var ccCnt = getNodesetCnt(model, "/root/temp/diaginfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- var icdcd = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagcd");
- var pos = icdcd.indexOf(".");
- icdcd = icdcd.substring(0, pos);
- if(diagnm == "")
- {
- diagnm = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagengnm");
- diagcd = icdcd;
- }
- else
- {
- diagnm += "\n" + model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagengnm");
- diagcd += "\n" + icdcd;
- }
- }
- //진단명 연동 : 0016650.0000960
- fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //ICD10코드 연동 : 0016650.0014533
- fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- model.refresh();
- }
- }
- function fGetDiagInfoEx(degnitemno, type)
- {
-
- if(type == null)
- type = "grd";
-
- //var pid = opener.model.getValue("/root/main/patinfo/pid");
- //var orddd = opener.model.getValue("/root/main/patinfo/orddd");
- //setParameter("SPMMO03100_patinfo", pid + "▦" + orddd);
-
- var pid = opener.model.getValue("/root/main/paminfo/pid");
- var orddd = opener.model.getValue("/root/main/paminfo/orddd");
-
- var cond = pid + "▦" + orddd;
- setParameter("SPMMO03100_patinfo", cond);
-
- modal("SPMMO03100", 1, 0, 0, "", "", "");
- var diagInfo = getParameter( "SPMMO03100_rtn" );
- if(diagInfo == "")
- return;
- if(type == "grd")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.RecinfoGridRef + "[degnitemlevlcd='" + degnitemno + "' and rowno='']");
-
- var diagRow = diagInfo.split ( "▩" ).length;
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
- for(var i = 1; i < diagRow - 1; i++)
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var diagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- var diagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- var diaghngnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- var spclinfo = getArrayData ( diagInfo, i, 5, "▩", "▦" );
- if(formprogflag == "PROF")
- {
- diagcd = icd10cd;
- if(langflag != "EN")
- diagengnm = diaghngnm;
- }
- //if(getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "' and recitem[rectermcd='" + diagcd + "']") > 0)
- // continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("recitem/rowno").text = rowno;
-
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //진단코드, 진단명
- if(j == 3) //if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("DGN_" + degnitemno).rebuild();
- }
- else
- {
- var diagnm = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0000960') and contains(degnitemlevlcd ,'0016650.0000960')]/reccnts");
- var diagcd = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0014533') and contains(degnitemlevlcd ,'0016650.0014533')]/reccnts");
- var diagRow = diagInfo.split ( "▩" ).length;
- for ( var i = 1; i < diagRow-1 ; i++ )
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var unitDiagNm = "";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- unitDiagNm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- else
- unitDiagNm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- if(diagnm == "")
- {
- diagnm = unitDiagNm;
- diagcd = icd10cd;
- }
- else
- {
- diagnm += "\n" + unitDiagNm;
- diagcd += "\n" + icd10cd;
- }
- }
- //진단명 연동 : 0016650.0000960
- fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //ICD10코드 연동 : 0016650.0014533
- fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- model.refresh();
- }
- setParameter( "SPMMO03100_rtn", "" );
- setParameter( "SPMMO03100_rtn_useyn", "" );
- }
- function fGetDiagInfoEx_Old(degnitemno, type)
- {
- if(type == null)
- type = "grd";
- var pid = opener.model.getValue("/root/main/patinfo/pid");
- var orddd = opener.model.getValue("/root/main/patinfo/orddd");
- setParameter("SPMMO03100_patinfo", pid + "▦" + orddd);
- modal("SPMMO03100", 1, 0, 0, "", "", "");
- var diagInfo = getParameter( "SPMMO03100_rtn" );
- if(diagInfo == "")
- return;
- if(type == "grd")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "' and rowno='']");
- var diagRow = diagInfo.split ( "▩" ).length;
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
- for(var i = 1; i < diagRow - 1; i++)
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var diagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- var diagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- var diaghngnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- var spclinfo = getArrayData ( diagInfo, i, 5, "▩", "▦" );
- if(formprogflag == "PROF")
- {
- diagcd = icd10cd;
- if(langflag != "EN")
- diagengnm = diaghngnm;
- }
- //if(getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + diagcd + "']") > 0)
- if(getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "' and recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- //var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- var grdNode = instance1.selectSingleNode(pageInfo.initrecRef + "/grid[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("recitem/rowno").text = rowno;
-
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //진단코드, 진단명
- if(j == 3) //if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("DGN_" + degnitemno).rebuild();
- }
- else
- {
- var diagnm = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0000960') and contains(degnitemlevlcd ,'0016650.0000960')]/reccnts");
- var diagcd = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0014533') and contains(degnitemlevlcd ,'0016650.0014533')]/reccnts");
- var diagRow = diagInfo.split ( "▩" ).length;
- for ( var i = 1; i < diagRow-1 ; i++ )
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var unitDiagNm = "";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- unitDiagNm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- else
- unitDiagNm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- if(diagnm == "")
- {
- diagnm = unitDiagNm;
- diagcd = icd10cd;
- }
- else
- {
- diagnm += "\n" + unitDiagNm;
- diagcd += "\n" + icd10cd;
- }
- }
- //진단명 연동 : 0016650.0000960
- fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //ICD10코드 연동 : 0016650.0014533
- fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- model.refresh();
- }
- // 기존 코드
- /*
- if(type == "grd")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "' and rowno='']");
- var diagRow = diagInfo.split ( "▩" ).length;
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
- for(var i = 1; i < diagRow - 1; i++)
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var diagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- var diagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- var diaghngnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- var spclinfo = getArrayData ( diagInfo, i, 5, "▩", "▦" );
- if(formprogflag == "PROF")
- {
- diagcd = icd10cd;
- if(langflag != "EN")
- diagengnm = diaghngnm;
- }
- //var diagcd = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagcd");
- //var diagnm = model.getValue("/root/temp/diaginfo/selectdiaglist[" + (i + 1) + "]/diagengnm");
- if(getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //진단코드, 진단명
- if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("DGN_" + degnitemno).rebuild();
- }
- else
- {
- var diagnm = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0000960') and contains(degnitemlevlcd ,'0016650.0000960')]/reccnts");
- var diagcd = model.getValue(g_pageInfo.recItemRef + "[contains(degnitemcd, '0014533') and contains(degnitemlevlcd ,'0016650.0014533')]/reccnts");
- var diagRow = diagInfo.split ( "▩" ).length;
- for ( var i = 1; i < diagRow-1 ; i++ )
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var unitDiagNm = "";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- unitDiagNm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- else
- unitDiagNm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- if(diagnm == "")
- {
- diagnm = unitDiagNm;
- diagcd = icd10cd;
- }
- else
- {
- diagnm += "\n" + unitDiagNm;
- diagcd += "\n" + icd10cd;
- }
- }
- //진단명 연동 : 0016650.0000960
- fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //ICD10코드 연동 : 0016650.0014533
- fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- model.refresh();
- }
- */
- setParameter( "SPMMO03100_rtn", "" );
- setParameter( "SPMMO03100_rtn_useyn", "" );
- }
- function fGetOpInfo(degnitemno, type)
- {
- if(type == null)
- type = "grid";
-
- setParameter("SPMMO3300_param_nodepath", "/root/temp/opinfo");
- modal("SPMMO03300", 1, 0, 0, "", "", "");
- if(type == "grid")
- {
- var pageInfo = new PAGEINFO();
-
- // 기존의 인스턴스에 들어있는 데이터를 모두 지운다.
- model.removeNodeset(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
-
- // 팝업창에서 선택한 아이템 개수
- var ccCnt = getNodesetCnt(model, "/root/temp/opinfo/selectoplist");
-
- for(var i = 0; i < ccCnt; i++)
- {
- var opcd = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- var opnm = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
-
- if(getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + opcd + "']") > 0)
- continue;
-
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
-
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("recitem/rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
-
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
-
- //수술코드, 수술명
- if(j == 1)
- {
- recitemNode.selectSingleNode("rectermcd").text = opcd;
- recitemNode.selectSingleNode("rectermnm").text = opnm;
- }
- }
-
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
-
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("OPN_" + degnitemno).rebuild();
- }
- else
- {
- var opnm = "";
- var opcd = "";
- var ccCnt = getNodesetCnt(model, "/root/temp/opinfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- if(opnm == "")
- {
- opnm = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
- opcd = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- }
- else
- {
- opnm += "\r\n" + model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
- opcd += "\r\n" + model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- }
- }
- //수술명 연동 : 0007593
- fSetItemDataByItemBaseCd("0007593", "0007593", opnm);
- //ICD9CM코드 연동 : 0014533
- fSetItemDataByItemBaseCd("0014533", "0014533", opcd);
- }
- }
- function fGetOpInfo_Old(degnitemno, type)
- {
- if(type == null)
- type = "grid";
- setParameter("SPMMO3300_param_nodepath", "/root/temp/opinfo");
- modal("SPMMO03300", 1, 0, 0, "", "", "");
- if(type == "grid")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "' and rowno='']");
- //var nodeList = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- var ccCnt = getNodesetCnt(model, "/root/temp/opinfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- var opcd = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- var opnm = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
- if(getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + opcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //수술코드, 수술명
- if(j == 0)
- {
- recitemNode.selectSingleNode("rectermcd").text = opcd;
- recitemNode.selectSingleNode("rectermnm").text = opnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("OPN_" + degnitemno).rebuild();
- }
- else
- {
- var opnm = "";
- var opcd = "";
- var ccCnt = getNodesetCnt(model, "/root/temp/opinfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- if(opnm == "")
- {
- opnm = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
- opcd = model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- }
- else
- {
- opnm += "\r\n" + model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opengnm");
- opcd += "\r\n" + model.getValue("/root/temp/opinfo/selectoplist[" + (i + 1) + "]/opcd");
- }
- }
- //수술명 연동 : 0007593
- fSetItemDataByItemBaseCd("0007593", "0007593", opnm);
- //ICD9CM코드 연동 : 0014533
- fSetItemDataByItemBaseCd("0014533", "0014533", opcd);
- }
- }
- function fGetCCInfo(degnitemno, type)
- {
- if(type == null)
- type = "grid";
-
- setParameter("SPMRF04200_param_nodepath", "/root/temp/ccinfo");
- modal("SPMRF04200", 1, 0, 0, "", "", "");
-
- if(type == "grid")
- {
- var pageInfo = new PAGEINFO();
-
- var grdNode = instance1.selectSingleNode(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
-
- var recitemList = grdNode.selectNodes("recitem");
-
- var recitemNode = recitemList.item(1);
-
- //수술코드, 수술명
- if(recitemNode.selectSingleNode("rectermcd").text == "" &&
- recitemNode.selectSingleNode("rectermnm").text == "")
- {
- // 기존의 인스턴스에 들어있는 데이터를 모두 지운다.
- model.removeNodeset(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- }
-
- // 팝업창에서 선택한 아이템 개수
- var ccCnt = getNodesetCnt(model, "/root/temp/ccinfo/selectdiaglist");
-
- for(var i = 0; i < ccCnt; i++)
- {
- var cccd = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/termcd");
- var ccnm = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/termengnm");
- var ccdd = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/happendd");
- var comments = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/comments");
-
- if(getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + cccd + "']") > 0)
- continue;
-
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
-
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("recitem/rowno").text = rowno;
-
- var recitemList = grdNode.selectNodes("recitem");
-
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
-
- //주호소코드, 주호소명
- if(j == 1)
- {
- recitemNode.selectSingleNode("rectermcd").text = cccd;
- recitemNode.selectSingleNode("rectermnm").text = ccnm;
- recitemNode.selectSingleNode("reccnts").text = comments;
- }
- else if(j == 2)//onset
- recitemNode.selectSingleNode("reccnts").text = ccdd;
- }
-
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
-
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("CCN_" + degnitemno).rebuild();
- }
- }
- function fGetCCInfo_Old(degnitemno, type)
- {
-
- if(type == null)
- type = "grid";
- setParameter("SPMRF04200_param_nodepath", "/root/temp/ccinfo");
- modal("SPMRF04200", 1, 0, 0, "", "", "");
- if(type == "grid")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "' and rowno='']");
- //var nodeList = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- var ccCnt = getNodesetCnt(model, "/root/temp/ccinfo/selectdiaglist");
- for(var i = 0; i < ccCnt; i++)
- {
- var cccd = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/termcd");
- var ccnm = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/termengnm");
- var ccdd = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/happendd");
- var comments = model.getValue("/root/temp/ccinfo/selectdiaglist[" + (i + 1) + "]/comments");
- if(getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/recitem[rectermcd='" + cccd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //주호소코드, 주호소명
- if(j == 0)
- {
- recitemNode.selectSingleNode("rectermcd").text = cccd;
- recitemNode.selectSingleNode("rectermnm").text = ccnm;
- recitemNode.selectSingleNode("reccnts").text = comments;
- }
- else if(j == 1)//onset
- recitemNode.selectSingleNode("reccnts").text = ccdd;
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- document.controls("CCN_" + degnitemno).rebuild();
- }
- else
- {
- }
- }
- //주호소 빈줄 추가
- function fAddRowCCGrd(degnitemno, type)
- {
- if(type == null)
- type = "grid";
- if(type == "grid")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "' and rowno='']");
- //var nodeList = instance1.selectNodes(pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //주호소코드, 주호소명
- if(j == 0)
- {
- recitemNode.selectSingleNode("rectermcd").text = "";
- recitemNode.selectSingleNode("rectermnm").text = "";
- recitemNode.selectSingleNode("reccnts").text = "";
- }
- else if(j == 1)//onset
- recitemNode.selectSingleNode("reccnts").text = "";
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- document.controls("CCN_" + degnitemno).rebuild();
- }
- else
- {
- }
- }
- function fSetNewProfInfo_old(patinfo, instcd, userid)
- {
- if(patinfo.selectSingleNode("pid") == null || patinfo.selectSingleNode("pid").text == ""){
- return;
- }
- g_pageInfo = new PAGEINFO();
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- //공통정보
- fSetPatInfo(patinfo);
-
- fSetHospInfo(instcd);
-
- if(formcd != "0000001539"){
- fSetDocInfo(userid);
- }
-
- fSetSignImge(userid);
- if(formcd != "0000001457" && //수술확인서가 아닌경우
- formcd != "0000001300" && //입원사실확인서
- formcd != "0000001283" && //입퇴원확인서
- formcd != "0000001485" && //사산/사태 증명서 (엄마 base)
- formcd != "0000001113" && //출생 증명서 (아기 base)
- formcd != "1100011101" && //입원사실확인서(입원중) - KNUH_20110412_추가
- formcd != "1100011102" && //출생 증명서(입원중) - KNUH_20110412_추가
- formcd != "0000001314") //사망진단서
- {
- fSetDiagNm(patinfo);
- }
- if(formcd == "0000001485") //사산/사태 증명서 (엄마 base)
- {
- fSetDethBabyInfo(patinfo);
- }
- //else if(formcd == "0000001113") //출생 증명서 (아기 base) - KNUH_20110412_추가
- else if(formcd == "0000001113" || formcd == "1100011102") //출생 증명서 (아기 base)
- {
- fSetBabyInfo(patinfo);
- }
- else if(formcd == "0000001457") //수술확인서
- {
- fSetOpInfo(patinfo);
- }
- else if(formcd == "0000001314") //사망진단서
- {
- fSetDethPatInfo(patinfo);
- }
- // KNUH_20110412_추가
- //else if(formcd == "0000001300" || formcd == "0000001283") //입퇴원확인서(원무용), 입퇴원확인서(진단명포함)
- else if(formcd == "0000001300" || formcd == "0000001283" || formcd == "1100011101") //입퇴원확인서(원무용), 입퇴원확인서(진단명포함)
- {
- fSetInTerm(patinfo);
- }
- else if(formcd = "0000001484") //장애인증명서
- {
- fSetPrsdInfo();
- }
- else if(formcd = "0000002792") //상급병실확인서 (2009.07.27. 추가)
- {
- fSetRoomChargeList(patinfo);
- }
- //발행일 : 0004499
- //fSetItemDataByItemBaseCd("0004499", "0004499", getCurrentDate());
- //fSetItemDataByItemBaseCd("0004499", "0004499", getCurrentDate().toDate().getDateFormat("YYYY-MM-DD"));
-
- model.recalculate();
- model.refresh();
- }
- function fSetInTerm(patinfo)
- {
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var pid = patinfo.selectSingleNode("pid").text;
- var cretno = patinfo.selectSingleNode("cretno").text;
- var orddd = patinfo.selectSingleNode("orddd").text;
- var ioflag = patinfo.selectSingleNode("ioflag").text;
- var orddeptnm = patinfo.selectSingleNode("orddeptnm").text;
- model.makeValue("/root/send/patinfo/pid", pid);
- model.makeValue("/root/send/patinfo/cretno", cretno);
- model.makeValue("/root/send/patinfo/orddd", orddd);
- model.makeValue("/root/send/patinfo/ioflag", ioflag);
- if(submit("TRMRF01210"))
- {
- if(getNodesetCnt(model, "/root/hidden/interminfo") == 0)
- {
- messageBox("해당 환자의 입원정보가", "E014");
- return;
- }
-
- //입원기간 : 0002025
- var indd = model.getValue("/root/hidden/interminfo/indd").toDate().getDateFormat("YYYY/MM/DD");
- var dschdd = model.getValue("/root/hidden/interminfo/dschdd");
- if(dschdd == "99991231"){
- dschdd = "재원중";
- }else{
- dschdd = dschdd.toDate().getDateFormat("YYYY/MM/DD");
- }
-
- fSetItemDataByItemBaseCd("0002025", "0002025", "[" + orddeptnm + "] " + indd + " - " + dschdd + "\n\n" + g_PROF_INTERM_STR);
- }
- //진단명
- /*if(formcd == "0000001283")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN']");
- fSetDiagInfo("/root/hidden/interminfo", "icd10cd", "diagcd", "diagengnm", "diaghngnm", "diagkindcdflag", "diagkindcd", "diagcomments", "icd10");
- }*/
- }
- function fAddInTerm(interms)
- {
- var curInterms = fGetItemDataByItemBaseCd("0002025", "0002025");
- curInterms = curInterms.setReplaceWord("\n\n" + g_PROF_INTERM_STR, "");
- //curInterms = curInterms.setReplaceWord("\n", " ");
- //curInterms = curInterms.getTrimLeft();
- //curInterms = curInterms.getTrimRight();
- var arrInterms = interms.split("^");
- for(var i = 0; i < arrInterms.length; i++)
- {
- if(curInterms == "")
- curInterms += arrInterms[i];
- else
- curInterms += "\n" + arrInterms[i];
- }
- curInterms += "\n\n" + g_PROF_INTERM_STR;
- fSetItemDataByItemBaseCd("0002025", "0002025", curInterms);
- model.refresh();
- }
- function fSetOrdDD(patinfo)
- {
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var pid = patinfo.selectSingleNode("pid").text;
- var cretno = patinfo.selectSingleNode("cretno").text;
- var orddd = patinfo.selectSingleNode("orddd").text;
- var ioflag = patinfo.selectSingleNode("ioflag").text;
- var orddeptnm = patinfo.selectSingleNode("orddeptnm").text;
- var orddeptcd = patinfo.selectSingleNode("orddeptcd").text;
- var insukind = patinfo.selectSingleNode("insukind").text;
- var suppkind = patinfo.selectSingleNode("suppkind").text;
- //20100719-kys-발행제증명존재시 잘행된 진단명연동건으로추가
- var sIssparam = "";
- if(patinfo.selectSingleNode("issformrecseq").text != ""){
- sIssparam = patinfo.selectSingleNode("issformrecseq").text + "," + patinfo.selectSingleNode("isslangflag").text;
- }
- model.makeValue("/root/send/patinfo/pid" , pid);
- model.makeValue("/root/send/patinfo/cretno", cretno);
- model.makeValue("/root/send/patinfo/orddd" , orddd);
- model.makeValue("/root/send/patinfo/ioflag", ioflag);
- // 2011-04-01 경북대 최원돈 금액 조회 포함 여부
- var amtyn = "";
-
- if( formcd == "0000001312" //외래진료확인서
- || formcd == "0000002639" //통원치료확인서
- || formcd == "0000002588") //통원치료확인서(영문)
- {
- amtyn = "Y";
- }
- model.makeValue("/root/send/patinfo/amtyn", amtyn);
- submit("TRMRF01214");
- if(getNodesetCnt(model, "/root/hidden/ordddinfo") == 0)
- {
- messageBox("해당 환자의 외래정보가 존재하지", "I004");
- return;
- }
-
- // 2009.05.06 이경희
- // 부서 영문명 조회
- var langflag = model.getValue(g_pageInfo.formmastRef + "/langflag");
-
- if(langflag == "EN")
- {
- model.makeValue("/root/send/deptcd", orddeptcd);
- submit("TRMRF01217");
- if(model.getValue("/root/main/deptinfo/deptengnm") != "")
- {
- orddeptnm = model.getValue("/root/main/deptinfo/deptengnm");
- }
- }
-
- //치료기간 : 0005910
- var orddd = model.getValue("/root/hidden/ordddinfo/orddd").toDate().getDateFormat("YYYY/MM/DD");
- var ls_issamt = model.getValue("/root/hidden/ordddinfo/issamt");
- var ls_testdd = model.getValue("/root/hidden/ordddinfo/testdd");
- var itemVal = new ITEMVAL();
-
- var ls_addmsg = "";
- if(langflag != "EN")
- {
- // 2011-04-01 경대병원 최원돈 외래진료확인서, 통원치료 확인서(진단서 포함) 내용(금액, 검사일자) 추가
- if ( ls_issamt != ""
- && ls_issamt != "0")
- {
- ls_addmsg += " (금액 : " + fGetaddCommas(ls_issamt) + "원)";
- }
-
- if (ls_testdd != "")
- {
- ls_addmsg += " (검사일자 : " + ls_testdd + ")";
- }
- if(formcd == "0000001312") //외래진료확인서
- {
- // 임상시험, 수탁의 경우 TEXT 제거 ( 수진이력에서 수동으로 입력 ) 2013.08.22 CYW
- if( insukind == "71" || ( suppkind == "12" || suppkind == "13" ) ){
- itemVal.reccnts = "";
- }else{
- //itemVal.reccnts = "[" + orddeptnm + "] " + orddd + "\n\n" + "상기환자는 상기일자에 외래진료 하였음을 확인합니다.";
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + ls_addmsg + "\n\n" + g_PROF_OUTPAT_STR; // 2011-04-01 경대병원 최원돈 addmsg 추가
- }
- }
- else if(formcd == "0000002639") //통원치료 확인서
- {
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + ls_addmsg + "\n\n" + g_PROF_OUTTERM_STR; // 2011-04-01 경대병원 최원돈 addmsg 추가
- }
- else
- {
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + "\n\n" + g_PROF_OUTTERM_STR;
- }
- }
- else
- {
- // 2011-04-01 경대병원 최원돈 외래진료확인서, 통원치료 확인서(진단서 포함) 내용(금액, 검사일자) 추가
- if ( ls_issamt != ""
- && ls_issamt != "0")
- {
- ls_addmsg += " (Amount : " + fGetaddCommas(ls_issamt) + "KW)";
- }
-
- if (ls_testdd != "")
- {
- ls_addmsg += " (The exam date : " + ls_testdd + ")";
- }
- if(formcd == "0000001312") //외래진료확인서
- {
- //itemVal.reccnts = "[" + orddeptnm + "] " + orddd + "\n\n" + "상기환자는 상기일자에 외래진료 하였음을 확인합니다.";
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + ls_addmsg + "\n\n" + g_PROF_OUTPAT_STR; // 2011-04-01 경대병원 최원돈 addmsg 추가
- }
- else if(formcd == "0000002588") //통원치료확인서(영문)
- {
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + ls_addmsg + "\n\n" + g_PROF_OUTTERM_ENG_STR; // 2011-04-01 경대병원 최원돈 addmsg 추가
- }
- else
- {
- itemVal.reccnts = "[" + orddeptnm + "] " + orddd + "\n\n" + g_PROF_OUTTERM_ENG_STR;
- }
- }
-
- setFormItemValue("0005910", itemVal, true);
- //진단명 설정
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN']");
-
- //2009-08-04 오전 10:33:05 강지훈 수정 : 다른 진단명과 동일하도록 조회조건 변경
- //pid = model.getValue("/root/hidden/ordddinfo/pid");
- //orddd = model.getValue("/root/hidden/ordddinfo/orddd");
- //cretno = model.getValue("/root/hidden/ordddinfo/cretno");
- //orddeptcd = model.getValue("/root/hidden/ordddinfo/orddeptcd");
- //ioflag = model.getValue("/root/hidden/ordddinfo/ioflag");
-
- //fSetDiagNmbyDegnItemLevlCd(pid, cretno, orddd, orddeptcd, ioflag, "0016650.0000960", "N");
- //fSetDiagNmbyDegnItemLevlCd_prof(pid, cretno, orddd, orddeptcd, ioflag, "0016650.0000960", "N");
- //20100719-kys-param용도 변경
- fSetDiagNmbyDegnItemLevlCd_prof(pid, cretno, orddd, orddeptcd, ioflag, "0016650.0000960", sIssparam);
- //진단명
- /*if(formcd == "0000001283")
- {
- var pageInfo = new PAGEINFO();
- model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN']");
- fSetDiagInfo("/root/hidden/ordddinfo", "icd10cd", "diagcd", "diagengnm", "diaghngnm", "diagkindcdflag", "diagkindcd", "diagcomments", "icd10");
- }*/
- }
- /**
- * @desc : 금액표시(정규표현)
- * @return : string
- * @authur : 최원돈
- */
- function fGetaddCommas(ps_value){
- var objRegExp = new RegExp('(-?[0-9]+)([0-9]{3})');
- while(objRegExp.test(ps_value)) {
- ps_value = ps_value.replace(objRegExp, '$1,$2');
- }
- return ps_value;
- }
- function fAddOrdDD(orddds)
- {
- var curOrddds = fGetItemDataByItemBaseCd("0005910", "0005910");
- curOrddds = curOrddds.setReplaceWord("\n\n" + g_PROF_OUTTERM_STR, "");
- //curOrddds = curOrddds.setReplaceWord("\n", " ");
- //curOrddds = curOrddds.getTrimLeft();
- //curOrddds = curOrddds.getTrimRight();
- var arrOrddds = orddds.split("^");
- for(var i = 0; i < arrOrddds.length; i++)
- {
- if(curOrddds == "")
- curOrddds += arrOrddds[i];
- else
- curOrddds += "\n" + arrOrddds[i];
- }
- curOrddds += "\n\n" + g_PROF_OUTTERM_STR;
- fSetItemDataByItemBaseCd("0005910", "0005910", curOrddds);
- model.refresh();
- }
- function fSetBabyInfo(patinfo)
- {
- //test 환자 : 33393(pid), 20071210(indd), 1(cretno), 배정민아기1
- var pid = patinfo.selectSingleNode("pid").text;
- var cretno = patinfo.selectSingleNode("cretno").text;
- var orddd = patinfo.selectSingleNode("orddd").text;
- model.makeValue("/root/send/patinfo/pid", pid);
- model.makeValue("/root/send/patinfo/cretno", cretno);
- model.makeValue("/root/send/patinfo/orddd", orddd);
- model.makeValue("/root/send/patinfo/dethyn", "Y");
- submit("TRMRF01218");
- /*
- if(model.getValue("/root/hidden/babyinfo/monm") == "")
- return;
- //엄마 이름 : 0005234.0000638.0000457
- fSetItemDataByItemBaseCd("0005234.0000638.0000457", "0000457", model.getValue("/root/hidden/babyinfo/monm"));
- //엄마 생년월일 : 0005234.0000638.0001037
- fSetItemDataByItemBaseCd("0005234.0000638.0001037", "0001037", model.getValue("/root/hidden/babyinfo/mobrthdd").toDate().getDateFormat("YYYY-MM-DD"));
- //엄마 나이 : 0005234.0000638.0000653
- fSetItemDataByItemBaseCd("0005234.0000638.0000653", "0000653", model.getValue("/root/hidden/babyinfo/moage"));
- //엄마 주소 : 0001209.0000930
- fSetItemDataByItemBaseCd("0001209.0000930", "0000930", model.getValue("/root/hidden/babyinfo/moaddr"));
- //출생 장소(타입) : 0000370.0000915
- fSetItemDataByItemBaseCd("0000370.0000915", "0000915", "0006564002", "rectermcd");
- fSetItemDataByItemBaseCd("0000370.0000915", "0000915", "2", "rowno");
- //출생 일시 : 0001036
- fSetItemDataByItemBaseCd("0001036", "0001036", model.getValue("/root/hidden/babyinfo/bbbrthdt").toDate("YYYYMMDDhhmmss").getDateFormat("YYYY-MM-DD hh:mm:ss"));
- //임신 기간 : 0000812
- var prgweekcnt = model.getValue("/root/hidden/babyinfo/prgweekcnt");
- var prgweek = prgweekcnt.substr(0, 2);
- var prgday = prgweekcnt.substr(2, 1);
- // fSetItemDataByItemBaseCd("0000812", "0000812", prgweek + "주 " + prgday + "일");
- */
-
- //출생 일시 : 0001036
- fSetItemDataByItemBaseCd("0001036", "0001036", model.getValue("/root/hidden/babyinfo/bthdt"));
- //임신 기간 : 0000812
- var prgweekcnt = model.getValue("/root/hidden/babyinfo/prgweekcnt");
- var prgweek = model.getValue("/root/hidden/babyinfo/prgdaycnt");
- fSetItemDataByItemBaseCd("0000812", "0000812", prgweekcnt+prgweek);
- //출생아성명 : 0000565.0000457
- fSetItemDataByItemBaseCd("0000565.0000457", "0000457", model.getValue("/root/hidden/babyinfo/babynm"));
-
- //출생아성별
- var bbgndr = model.getValue("/root/hidden/babyinfo/bbgndr");
- if(bbgndr == "E") {//불상 : 0000565.0000458.0001454
- fSetItemDataByItemBaseCd("0000565.0000458.0001454", "0001454", bbgndr, "rectermcd");
- }else { //남 or 여
- fSetItemDataByItemBaseCd("0000565.0000458", "0000458", bbgndr, "rectermcd");
- }
-
- //다태 : 0009774
- var babycnt = model.getValue("/root/hidden/babyinfo/babycnt");
- var babynm = model.getValue("/root/hidden/babyinfo/babynm");
- if(babycnt > 1) {
- var sortnm = String(babynm).substring(babynm.length, babynm.length - 1);
- fSetItemDataByItemBaseCd("0013853", "0013853", sortnm);
- fSetItemDataByItemBaseCd("0009774", "0009774", model.getValue("/root/hidden/babyinfo/dlivkind"), "rectermcd");
- if(babycnt > 3) {
- fSetItemDataByItemBaseCd("0009774", "0009774", babycnt);
- }
- }
-
- //출생아의신체상황(체중) : 0000565.0000268
- fSetItemDataByItemBaseCd("0000565.0000268", "0000268", model.getValue("/root/hidden/babyinfo/weig"));
-
- }
- function fSetDethBabyInfo(patinfo)
- {
- //test 환자 : 2192633(pid), 20071023(indd), 210612293(cretno), 고인자
- //var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var pid = patinfo.selectSingleNode("pid").text;
- var cretno = patinfo.selectSingleNode("cretno").text;
- var orddd = patinfo.selectSingleNode("orddd").text;
- model.makeValue("/root/send/patinfo/pid", pid);
- model.makeValue("/root/send/patinfo/cretno", cretno);
- model.makeValue("/root/send/patinfo/orddd", orddd);
- model.makeValue("/root/send/patinfo/dethyn", "N");
- submit("TRMRF01209");
- if(model.getValue("/root/hidden/babyinfo/monm") == "")
- return;
- //엄마 이름 : 0005234.0000638.0000457
- fSetItemDataByItemBaseCd("0005234.0000638.0000457", "0000457", model.getValue("/root/hidden/babyinfo/monm"));
- //엄마 생년월일 : 0005234.0000638.0001037
- fSetItemDataByItemBaseCd("0005234.0000638.0001037", "0001037", model.getValue("/root/hidden/babyinfo/mobrthdd").toDate().getDateFormat("YYYY-MM-DD"));
- //엄마 나이 : 0005234.0000638.0000653
- fSetItemDataByItemBaseCd("0005234.0000638.0000653", "0000653", model.getValue("/root/hidden/babyinfo/moage"));
- //엄마 주소 : 1209.930
- //fSetItemDataByItemBaseCd("0008632", "0008632", seqno);
- //사산 장소(주소) : 14551.930
- //fSetItemDataByItemBaseCd("0008632", "0008632", seqno);
- //사산 장소(타입) : 0014551.0000915
- fSetItemDataByItemBaseCd("0014551.0000915", "0000915", "0006564002", "rectermcd");
- fSetItemDataByItemBaseCd("0014551.0000915", "0000915", "2", "rowno");
- //사산 일시 : 0014552
- fSetItemDataByItemBaseCd("0014552", "0014552", model.getValue("/root/hidden/babyinfo/bbbrthdt").toDate("YYYYMMDDhhmmss").getDateFormat("YYYY-MM-DD hh:mm:ss"));
- //애기 성별 : 0001209.0000458
- var bbgndr = model.getValue("/root/hidden/babyinfo/bbgndr");
- if(bbgndr == "F")
- bbgndr = "여";
- else if(bbgndr == "M")
- bbgndr = "남";
- fSetItemDataByItemBaseCd("0001209", "0000458", bbgndr);
- //임신 월수 : 0000812
- var prgweekcnt = model.getValue("/root/hidden/babyinfo/prgweekcnt");
- var prgweek = prgweekcnt.substr(0, 2);
- var prgday = prgweekcnt.substr(2, 1);
- var prgmonth = Math.round((parseInt(prgweek) * 7 + parseInt(prgday)) / 30);
- fSetItemDataByItemBaseCd("0000812", "0000812", prgmonth + "개월");
- //사산 종류 : 14553
- //fSetItemDataByItemBaseCd("0008632", "0008632", seqno);
- }
- function fSetInsuInfo(patinfo)
- {
- //0000001490
- //0000001489
- var pid = patinfo.selectSingleNode("pid").text;
- model.makeValue("/root/send/patinfo/pid", pid);
-
- submit("TRMRF01215");
-
- //0016841.0014560 : 기관기호
- var itemVal = new ITEMVAL();
- itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insucd");
- setFormItemValue("0016841.0014560", itemVal, true);
-
- //0016841.0014561 : 의료보험증번호
- itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insuno");
- setFormItemValue("0016841.0014561", itemVal, true);
-
- //0016841.0014559 : 피보험자성명
- itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insdnm");
- setFormItemValue("0016841.0014559", itemVal, true);
-
- //0016841.0000929 : 주민번호
- itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insdrrgstno1") + model.getValue("/root/hidden/insuinfo/insdrrgstno2");
- setFormItemValue("0016841.0000929", itemVal, true);
-
- //0016841.0000344 : 보험구분명
- itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insukindnm");
- setFormItemValue("0016841.0000344", itemVal, true);
-
- //0016841.0000930 : 주소
- //itemVal.reccnts = model.getValue("/root/hidden/insuinfo/insuno");
- //setFormItemValue("0016841.0014561", itemVal, true);
- }
- function fSetSignImge(userid)
- {
- model.setValue("/root/send/docinfo/userid", userid);
- //0000940.0000446.0000983
- submit("TRMRF01205");
- //pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata
- //var degnitemno = model.getValue(g_pageInfo.recItemRef + "[degnitemlevlcd = '0000940.0000446.0000983']/degnitemno");
- var degnitemno = model.getValue(g_pageInfo.recItemRef + "[degnitemlevlcd = '0016651.0000446.0000983']/degnitemno");
- var ctrl = document.controls("IMG_" + degnitemno);
- if(ctrl == null)
- return;
- if(model.getValue("/root/hidden/docinfo/signimge") == "")
- return;
- ctrl.attribute("ref") = "/root/hidden/docinfo/signimge";
- setImageRefInstance("/root/hidden/docinfo/signimge");
- //alert(ctrl.attribute("ref"));
- ctrl.refresh();
- }
- function fSetPrntProfInfo(seqno, usage)
- {
- //연번호 : 0008632, 0008632
- fSetItemDataByItemBaseCd("0008632", "0008632", seqno);
- //용도 : 0013100, 0013100
- fSetItemDataByItemBaseCd("0013100", "0013100", usage);
- model.refresh();
- }
- function fSetDiagNm(patinfo)
- {
- var pageInfo = new PAGEINFO();
- //if(getNodesetCnt(model, pageInfo.recItemRef + "[orgdegnitemkind = 'DGN']") == 0)
- if(getNodesetCnt(model, pageInfo.initrecItemRef + "[orgdegnitemkind = 'DGN']") == 0)
- return;
- model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN']");
- var sOrddd = "";
- /*var sPid = model.getValue("/root/hidden/patinfo/pid");
- var sCretno = model.getValue("/root/hidden/patinfo/cretno");
- var sOrddeptcd = model.getValue("/root/hidden/patinfo/orddeptcd");
- var sIoflag = model.getValue("/root/hidden/patinfo/ioflag");
- var sOrddd = model.getValue("/root/hidden/patinfo/orddd");*/
- var sPid = patinfo.selectSingleNode("pid").text;
- var sCretno = patinfo.selectSingleNode("cretno").text;
- var sOrddeptcd = patinfo.selectSingleNode("orddeptcd").text;
- var sIoflag = patinfo.selectSingleNode("ioflag").text;
- var sOrddd = patinfo.selectSingleNode("orddd").text;
-
- //진단명 Setting 공통로직으로 변경 (snoweye : 2008-07-22)
- fSetDiagNmbyDegnItemLevlCd(sPid, sCretno, sOrddd, sOrddeptcd, sIoflag, "0016650.0000960");
- /*model.removeNodeset("/root/main/diaginfo");
- model.makeValue("/root/send/cond1", sPid);//pid
- model.makeValue("/root/send/cond2", sOrddd);//orddd
- model.makeValue("/root/send/cond3", sCretno);//cretno
- model.makeValue("/root/send/cond4", sOrddeptcd);//orddeptcd
- model.makeValue("/root/send/cond5", sIoflag);//ioflag
- submit("TRMMO00105", false);
- var diagnm = "";
- var diagcd = "";
- var nodeList = instance1.selectNodes("/root/main/diaginfo/diagcdlist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var diagcd = "";
- var diagnm = "";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- else
- diagnm = nodeList.item(i).selectSingleNode("diaghngnm").text;
- if(diagnm == "")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- var diagcd = nodeList.item(i).selectSingleNode("icd10cd").text;
- if(getNodesetCnt(model, pageInfo.recItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //진단코드, 진단명
- if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);*/
- }
- function fSetPatInfo(patinfo)
- {
- var pid = patinfo.selectSingleNode("pid").text;
- model.makeValue("/root/send/patinfo/pid", pid);
-
- //2012/04/03 Start 중증화상환자 산정특례 연장신청 소견서의 특정기호를 얻어오는 로직 추가
- model.makeValue("/root/send/patinfo/cretno", patinfo.selectSingleNode("cretno").text);
- model.makeValue("/root/send/patinfo/orddd", patinfo.selectSingleNode("orddd").text);
- //2012/04/03 End
-
- //2012/10/12 Start 환자의 입원정보를 쿼리하기 위해서 수진형태 추가
- //model.makeValue("/root/send/patinfo/ioflag", patinfo.selectSingleNode("ioflag").text);
- //2012/10/12 End
-
- //2012/11/09 Start 입원환자의 입원 정보기간을 가져오기 위한 정보 세팅
- model.makeValue("/root/send/patinfo/inptinfo", opener.opener.javascript.getParameter("SMMMR08300_param"));
- //2012/11/09 End
-
- //if(!submit("TRMRF01202"))
- // messageBox("환자정보 세팅에", "E009");
- submit("TRMRF01202");
- var pageInfo = new PAGEINFO();
- var formcd = model.getValue(pageInfo.formmastRef + "/formcd");
- //model.makeValue("/root/hidden/patinfo/cretno", patinfo.selectSingleNode("cretno").text);
- //model.makeValue("/root/hidden/patinfo/orddeptcd", patinfo.selectSingleNode("orddeptcd").text);
- //model.makeValue("/root/hidden/patinfo/ioflag", patinfo.selectSingleNode("ioflag").text);
- //model.makeValue("/root/hidden/patinfo/orddd", patinfo.selectSingleNode("orddd").text);
- //등록번호 : 0000224//0012041
- fSetItemDataByItemBaseCd("0000224", "0000224", model.getValue("/root/hidden/patinfo/pid"));
-
- //2012/03/04 Start 중증화상환자 산정특례 연장신청 소견서의 특정기호를 얻어오는 로직 추가
- fSetItemDataByItemBaseCd("0016650.0036418", "0036418", model.getValue("/root/hidden/patinfo/spclcd"));
- //2012/03/04 End
-
- //2012/10/12 Start 환자의 입원정보를 쿼리해서 아이템에 값을 셋팅
- var indd="";
- var temp1 = model.getValue("/root/hidden/patinfo/indd").split("^");
- for(var i=0; i<temp1.length; i++){
- indd += temp1[i] + "\n";
- }
- fSetItemDataByItemBaseCd("0008224", "0008224", indd);
- //2012/10/02 End
-
- //환자명 : 0001209.0001211
- //영문기록지의 경우 환자 영문명 Setting(snoweye : 2008-07-22)
- var patnm = model.getValue("/root/hidden/patinfo/hngnm");
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- patnm = model.getValue("/root/hidden/patinfo/engnm");
-
- fSetItemDataByItemBaseCd("0001209.0001211", "0001211", patnm);
- //환자한자성명 : 0001209.0001211.0001211
- fSetItemDataByItemBaseCd("0001209.0001211.0001211", "0001211", model.getValue("/root/hidden/patinfo/chinm"));
- //성별 : 0001209.0000458
- var sex = model.getValue("/root/hidden/patinfo/sex");
- var sexcd = "";
- if(sex == "M")
- {
- sexcd = "0002155001";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") != "EN")
- {
- sex = "남";
- }
- }
- else if(sex == "F")
- {
- sexcd = "0002696001";
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") != "EN")
- {
- sex = "여";
- }
- }
- //fSetItemDataByItemBaseCd("0001209.0000458", "0000458", sex, "rectermcd");
- fSetItemDataByItemBaseCd("0001209.0000458", "0000458", sex);
- //주민등록번호 : 0001209.0000929
- fSetItemDataByItemBaseCd("0001209.0000929", "0000929", model.getValue("/root/hidden/patinfo/rrgstno1") + model.getValue("/root/hidden/patinfo/rrgstno2"));
- //생년월일 : 0001209.0001037
- fSetItemDataByItemBaseCd("0001209.0001037", "0001037", model.getValue("/root/hidden/patinfo/brthdd").toDate().getDateFormat("YYYYMMDD"));
- //연령 : 0001209.0000653
- fSetItemDataByItemBaseCd("0001209.0000653", "0000653", model.getValue("/root/hidden/patinfo/age"));
- //주소 : 0001209.0000930
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") != "EN"){
- fSetItemDataByItemBaseCd("0001209.0000930", "0000930", model.getValue("/root/hidden/patinfo/addr"));
- }
- //전화 : 0001209.0000883
- fSetItemDataByItemBaseCd("0001209.0000883", "0000883", model.getValue("/root/hidden/patinfo/hometel"));
- //사망일시 : 0005925
- //fSetItemDataByItemBaseCd("0005925", "0005925", model.getValue("/root/hidden/patinfo/dethdt").toDate("YYYYMMDDhhmmss").getDateFormat("YYYY-MM-DD hh:mm:ss"));
- //증명서별 특수 case
- if(formcd == "0000001485")//사산증명서
- {
- //사산아 모의 성명 : 0005234.0000638.0000457
- fSetItemDataByItemBaseCd("0005234.0000638.0000457", "0000457", model.getValue("/root/hidden/patinfo/hngnm"));
- //사산아 모의 생년월일 : 0005234.0000638.0001037
- fSetItemDataByItemBaseCd("0005234.0000638.0001037", "0001037", model.getValue("/root/hidden/patinfo/brthdd").toDate().getDateFormat("YYYY-MM-DD"));
- //나이 : 0005234.0000638.0000653
- fSetItemDataByItemBaseCd("0005234.0000638.0000653", "0000653", model.getValue("/root/hidden/patinfo/age"));
- }
- }
- function fSetOpInfo(patinfo)
- {
- var pageInfo = new PAGEINFO();
- var pid = patinfo.selectSingleNode("pid").text;
- model.makeValue("/root/send/patinfo/pid", pid);
-
- if(submit("TRMRF01208")){
- var oplist = model.instance1.selectNodes("/root/hidden/opinfo");
- if(oplist.length == 0){
- messageBox("환자 수술정보가", "I004");
- return;
- }
- }
- //입원일자 : 0002025.0000824
- fSetItemDataByItemBaseCd("0002025.0000824", "0000824", model.getValue("/root/hidden/opinfo/indd"));
- //fSetItemDataByItemBaseCd("0002025.0000824", "0000824", model.getValue("/root/hidden/opinfo/indd").toDate().getDateFormat("YYYY-MM-DD"));
-
- //퇴원일자 : 0002025.0001105
- fSetItemDataByItemBaseCd("0002025.0001105", "0001105", model.getValue("/root/hidden/opinfo/dschdd"));
- //fSetItemDataByItemBaseCd("0002025.0001105", "0001105", model.getValue("/root/hidden/opinfo/dschdd").toDate().getDateFormat("YYYY-MM-DD"));
- //var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
- //var opcnts = fGetItemDataByItemBaseCd("0010597", "0010597");//현재 수술내용
-
- //var indd = model.getValue("/root/hidden/opinfo/indd");
- //var dschdd = model.getValue("/root/hidden/opinfo/dschdd");
- //var opcnfmdd = model.getValue("/root/hidden/opinfo/opcnfmdd");
- //var ophngnm = model.getValue("/root/hidden/opinfo/ophngnm");
-
- var bfindd = "";
- var bfdschdd = "";
-
- for(var i = 0; i < oplist.length; i++){
- var opinfo = oplist.item(i);
- var indd = opinfo.selectSingleNode("indd").text;
- var dschdd = opinfo.selectSingleNode("dschdd").text;
- var opcnfmdd = opinfo.selectSingleNode("opcnfmdd").text;
- var ophngnm = opinfo.selectSingleNode("ophngnm").text;
-
- if(dschdd == "99991231"){
- dschdd = "재원중";
- }else{
- dschdd = dschdd.toDate().getDateFormat("YYYY-MM-DD");
- }
-
- if(indd == bfindd && dschdd == bfdschdd){
- opcnts += ">[수술일자] : " + opcnfmdd.toDate().getDateFormat("YYYY-MM-DD") + " / " + "[수술명] : " + ophngnm;
- }else{
- if(i != 0){
- opcnts += "\n";
- }
- var opcnts = "[입원일자] : " + indd.toDate().getDateFormat("YYYY-MM-DD") + " ~ " + dschdd + "\n";
- opcnts += ">[수술일자] : " + opcnfmdd.toDate().getDateFormat("YYYY-MM-DD") + " / " + "[수술명] : " + ophngnm + "\n";
- }
-
- var bfindd = indd; //이전입원일
- var bfdschdd = dschdd; //이전퇴원일
- }
-
- //수술내역 : 0016684
- fSetItemDataByItemBaseCd("0016684", "0016684", opcnts);
-
- //수술진단설정
- var diagcd = model.getValue("/root/hidden/opinfo/icd10cd");
- var diagengnm = model.getValue("/root/hidden/opinfo/diagengnm");
- var degnitemno= 59;
-
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++){
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = 0;
- if(j == 3){
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
-
- if(recNode == null){
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- }
- recNode.appendChild(grdNode);
- document.controls("DGN_" + degnitemno).rebuild();
-
- /*
- var opinfo = opList.item(i);
- var opcnfmdd = opinfo.selectSingleNode("opcnfmdd").text.toDate().getDateFormat("YYYY-MM-DD");
- var opengnm = opinfo.selectSingleNode("opengnm").text;
- var ophngnm = opinfo.selectSingleNode("ophngnm").text;
- var diagcd = opinfo.selectSingleNode("diagcd").text;
- var diagengnm = opinfo.selectSingleNode("diagengnm").text;
- var diaghngnm = opinfo.selectSingleNode("diaghngnm").text;
- if(ophngnm == "")
- ophngnm = opengnm;
- if(i == 0)
- {
- //수술일자 : 0000515
- fSetItemDataByItemBaseCd("0000515", "0000515", opcnfmdd);
- //수술명 : 0000509
- //if(langflag != "EN")
- fSetItemDataByItemBaseCd("0000509", "0000509", ophngnm);
- }
- else
- {
- if(opcnts == "")
- opcnts += opcnfmdd + " : " + ophngnm;
- else
- opcnts += "\n" + opcnfmdd + " : " + ophngnm;
- }*/
- //}
-
- //수술내역 : 0016684
- //fSetItemDataByItemBaseCd("0016684", "0016684", opcnts);
- //수술내용 : 0010597
- //fSetItemDataByItemBaseCd("0010597", "0010597", opcnts);
- }
- function fSetDethPatInfo(patinfo)
- {
- var pid = patinfo.selectSingleNode("pid").text;
- model.makeValue("/root/send/patinfo/pid", pid);
- //if(!submit("TRMRF01202"))
- // messageBox("환자정보 세팅에", "E009");
- submit("TRMRF01206");
- if(getNodesetCnt(model, "/root/hidden/dethpatinfo") == 0)
- {
- alert("사망 등록정보가 존재하지 않습니다.");
- return;
- }
- //사망일시 : 0016650.0005925
- fSetItemDataByItemBaseCd("0016650.0005925", "0005925", (model.getValue("/root/hidden/dethpatinfo/dethdd") +" " + model.getValue("/root/hidden/dethpatinfo/dethtm")));
- //fSetItemDataByItemBaseCd("0016650.0005925", "0005925", (model.getValue("/root/hidden/dethpatinfo/dethdd") + model.getValue("/root/hidden/dethpatinfo/dethtm")));
-
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") != "EN")
- {
- //직접사인 : 0000408.0005209.0000957
- fSetItemDataByItemBaseCd("0000408.0005209.0000957", "0000957", model.getValue("/root/hidden/dethpatinfo/direcdethhngnm"));
- //중간사인 : 0000408.0005209.0014307
- fSetItemDataByItemBaseCd("0000408.0005209.0014307", "0014307", model.getValue("/root/hidden/dethpatinfo/meddethhngnm"));
- //선행사인 : 0000408.0005209.0000735
- fSetItemDataByItemBaseCd("0000408.0005209.0000735", "0000735", model.getValue("/root/hidden/dethpatinfo/basedethhngnm"));
- }
- else
- {
- //직접사인 : 0000408.0005209.0000957
- fSetItemDataByItemBaseCd("0000408.0005209.0000957", "0000957", model.getValue("/root/hidden/dethpatinfo/direcdethengnm"));
- //중간사인 : 0000408.0005209.0014307
- fSetItemDataByItemBaseCd("0000408.0005209.0014307", "0014307", model.getValue("/root/hidden/dethpatinfo/meddethengnm"));
- //선행사인 : 0000408.0005209.0000735
- fSetItemDataByItemBaseCd("0000408.0005209.0000735", "0000735", model.getValue("/root/hidden/dethpatinfo/basedethengnm"));
- }
- //사망장소(타입) : 0000014295.0000000855
- if(model.getValue("/root/hidden/dethpatinfo/dethplce") == "")
- {
- fSetItemDataByItemBaseCd("0014295.0000855", "0000855", "0008500001", "rectermcd");
- fSetItemDataByItemBaseCd("0014295.0000855", "0000855", "2", "rowno");
- }
- else
- {
- fSetItemDataByItemBaseCd("0014295.0000855", "0000855", "0002141001", "rectermcd");
- fSetItemDataByItemBaseCd("0014295.0000855", "0000855", model.getValue("/root/hidden/dethpatinfo/dethplce"));
- }
- }
- function fSetHospInfo(instcd)
- {
- try{
- var hardcdno = "1007"; // 제증명 병원주소 기본 문장 코드
-
- model.makeValue("/root/send/reqdata/hardcdno", hardcdno);
- submit("TRMRF03104");
-
- var hardcdlistNode = findNodeset(model, "/root/main/hardcdlist");
-
- var CommonHospNm = "";
- var HospNm = "";
-
- for(var idx = 0; idx < hardcdlistNode.length; idx++)
- {
- var hardcdNode = hardcdlistNode.item(idx);
-
- if(hardcdNode.selectSingleNode("trgtcd").text == "COMMON")
- CommonHospNm = hardcdNode.selectSingleNode("trgtcdnm").text;
-
- if(hardcdNode.selectSingleNode("trgtcd").text == "ENGNM")
- HospNm = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
- submit("TRMRF01204");
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") != "EN")
- {
- //의료기관명 : 0004500.0004500
- fSetItemDataByItemBaseCd("0004500.0004500", "0004500", model.getValue("/root/hidden/hospinfo/hospnm"));
- //주소 : 0004500.0000930
- fSetItemDataByItemBaseCd("0004500.0000930", "0000930", model.getValue("/root/hidden/hospinfo/addr"));
- //전화 : 0004500.0000883
- fSetItemDataByItemBaseCd("0004500.0000883", "0000883", model.getValue("/root/hidden/hospinfo/reprtel1"));
- //Fax : 0004500.0008377
- fSetItemDataByItemBaseCd("0004500.0008377", "0008377", model.getValue("/root/hidden/hospinfo/reprfaxno"));
- //사업자등록번호 : 0004500.0014545
- fSetItemDataByItemBaseCd("0004500.0014545", "0014545", model.getValue("/root/hidden/hospinfo/bizmngrgstno"));
- //대표자명 : 0004500.0011291
- fSetItemDataByItemBaseCd("0004500.0011291", "0011291", model.getValue("/root/hidden/hospinfo/prsdnm"));
- //대표자 주민번호 : 0004500.0011291.0000929
- //fSetItemDataByItemBaseCd("0012925.0000457", "0000929", model.getValue("/root/hidden/hospinfo/prsdnm"));
- //요양기관기호
- fSetItemDataByItemBaseCd("0004500.0018753", "0018753", model.getValue("/root/hidden/hospinfo/proccorpcd"));
- }
- else
- {
- //의료기관명 : 0004500.0004500
- if(CommonHospNm != "" && HospNm != "")
- {
- //var hospengnm = CommonHospNm + "\n\r" + HospNm;
- var hospengnm = CommonHospNm + "\n" + HospNm;
-
- //fSetItemDataByItemBaseCd("0004500.0004500", "0004500", model.getValue("/root/hidden/hospinfo/hospengnm"));
- fSetItemDataByItemBaseCd("0004500.0004500", "0004500", hospengnm);
- }
- else
- {
- var hospengnmArr = model.getValue("/root/hidden/hospinfo/hospengnm").split(",");
-
- CommonHospNm = hospengnmArr[0].getTrimRight();
- CommonHospNm += ",\n";
-
- HospNm = hospengnmArr[1].getTrimLeft();
-
- fSetItemDataByItemBaseCd("0004500.0004500", "0004500", CommonHospNm + HospNm);
- }
-
-
- // 2009-04-02 오지훈 하드코딩을 수정
- //주소 : 0004500.0000930
- //fSetItemDataByItemBaseCd("0004500.0000930", "0000930", "505.Banpo-Dong, Seocho-Gu, Seoul, Korea(137-040)");
- fSetItemDataByItemBaseCd("0004500.0000930", "0000930", model.getValue("/root/hidden/hospinfo/engaddr"));
-
- //전화 : 0004500.0000883
- fSetItemDataByItemBaseCd("0004500.0000883", "0000883", "82-" + model.getValue("/root/hidden/hospinfo/reprtel1"));
- //Fax : 0004500.0008377
- fSetItemDataByItemBaseCd("0004500.0008377", "0008377", "82-" + model.getValue("/root/hidden/hospinfo/reprfaxno"));
- //사업자등록번호 : 0004500.0014545
- fSetItemDataByItemBaseCd("0004500.0014545", "0014545", model.getValue("/root/hidden/hospinfo/bizmngrgstno"));
- //대표자명 : 0004500.0011291
- fSetItemDataByItemBaseCd("0004500.0011291", "0011291", model.getValue("/root/hidden/hospinfo/prsdengnm"));
- //대표자 주민번호 : 0004500.0011291.0000929
- //fSetItemDataByItemBaseCd("0012925.0000457", "0000929", model.getValue("/root/hidden/hospinfo/prsdnm"));
- //요양기관기호
- fSetItemDataByItemBaseCd("0004500.0018753", "0018753", model.getValue("/root/hidden/hospinfo/proccorpcd"));
- }
- var pageInfo = new PAGEINFO();
- var formcd = model.getValue(pageInfo.formmastRef + "/formcd");
- //증명서별 특수 case
- if(formcd == "0000001485")//사산증명서
- {
- //사산장소 : 0014551.0000930
- fSetItemDataByItemBaseCd("0014551.0000930", "0000930", model.getValue("/root/hidden/hospinfo/hospnm"));
- }
- else if(formcd == "0000001484")
- {
- //상호
- fSetItemDataByItemBaseCd("0012925.0004500", "0004500", model.getValue("/root/hidden/hospinfo/hospnm"));
- //소재지
- fSetItemDataByItemBaseCd("0012925.0000930", "0000930", model.getValue("/root/hidden/hospinfo/addr"));
- }
-
- else if(formcd == "0900005340") // 진료의뢰서
- {
- model.makeValue("/root/send/reqdata/hardcdno", "1117");
- submit("TRMRF03104");
-
- var hardcdlistNode = findNodeset(model, "/root/main/hardcdlist");
- var PrdNm = "";
-
- for(var idx = 0; idx < hardcdlistNode.length; idx++)
- {
- var hardcdNode = hardcdlistNode.item(idx);
-
- if(hardcdNode.selectSingleNode("trgtcd").text == "PRDNM")
- PrdNm = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
-
- if(PrdNm != "")
- fSetItemDataByItemBaseCd("0004500.0011291", "0011291", PrdNm);
- }
- }
- catch(e)
- {
-
- }
-
- }
- function fSetDocInfo(userid, langflag)
- {
- var drid = "";
- var drnm = "";
- var drengnm = "";
- var deptnm = "";
- var deptengnm = "";
- var licnsno = "";
- var medispclno = "";
-
- if(userid == getUserId())//로그인 사용자와 작성자가 동일할 경우
- {
- drid = getUserId();
- drnm = getUserInfo("usernm");
- drengnm = getUserInfo("userengnm");
- deptnm = getUserInfo("dutplcenm");
- deptengnm = getUserInfo("deptengnm");
- licnsno = getUserInfo("licnsno");
- medispclno = getUserInfo("medispclno");
- }
- else
- {
- model.setValue("/root/send/docinfo/userid", userid);
- if(submit("TRMRF01216") == false || model.getValue("/root/temp/drinfo/orddrid") == "")
- {
- alert("의사정보를 가져오는데 실패하였습니다.");
- return;
- }
-
- drid = model.getValue("/root/temp/drinfo/orddrid");
- drnm = model.getValue("/root/temp/drinfo/orddrnm");
- drengnm = model.getValue("/root/temp/drinfo/orddrengnm");
- deptnm = model.getValue("/root/temp/drinfo/orddepthngnm");
- deptengnm = model.getValue("/root/temp/drinfo/orddeptengnm");
- licnsno = model.getValue("/root/temp/drinfo/licnsno");
- medispclno = model.getValue("/root/temp/drinfo/medispclno");
-
- }
- fSetItemDataByItemBaseCd("0016651.0007593", "0007593" , licnsno); //의사면허번호 : 0007593
- fSetItemDataByItemBaseCd("0016651.0017053", "0017053" , medispclno); //전문의 번호
-
- if(langflag == "EN"){ //영문서식인 경우 영문명 설정
- fSetItemDataByItemBaseCd("0016651.0000940", "0000940", drengnm); //의사성명 : 0000940
- fSetItemDataByItemBaseCd("0000965", "0000965", deptengnm); //진료과 : 0000965
- fSetItemDataByItemBaseCd("0012706.0016979", "0016979", drid); //작성자 : 0012706.0016979
- }else{
- fSetItemDataByItemBaseCd("0016651.0000940", "0000940", drnm); //의사성명 : 0000940
- fSetItemDataByItemBaseCd("0000965", "0000965", deptnm); //진료과 : 0000965
- fSetItemDataByItemBaseCd("0012706.0016979", "0016979", drid); //작성자 : 0012706.0016979
- }
- }
- function fSetPrsdInfo()
- {
- // 경북대 최원돈 2011-01-12 병원장 정보가 MIS 정보에서 진료에 제공되지 않아서 보이지 않는 병원장명이 보이도록 수정함.
- // 병원장 주민번호를 사용하지 않고, 병원정보에서 병원장명을 설정해주고, com.zsumusrb를 중복해서 사용할 필요가 없어서 제거함.
- // submit("TRMRF01207");
- //
- // //병원장 이름 : 0004500.0011291
- // fSetItemDataByItemBaseCd("0004500.0011291", "0011291", model.getValue("/root/hidden/prsdinfo/name"));
- // //병원장 주민번호 : 0004500.0011291.0000929
- // var fstrregno = model.getValue("/root/hidden/prsdinfo/rregno").substr(0, 6);
- // var lastrregno = model.getValue("/root/hidden/prsdinfo/rregno").substr(6, 7);
- // fSetItemDataByItemBaseCd("0004500.0011291.0000929", "0000929", fstrregno + "-" + lastrregno);
- }
- function fGetItemDataByItemBaseCd(levelcd, basecd, targetRef)
- {
- if(targetRef == null)
- targetRef = "reccnts";
- var pageInfo = new PAGEINFO();
- var node = instance1.selectSingleNode(pageInfo.recItemRef + "[contains(degnitemlevlcd, '" + levelcd + "') and contains(degnitemcd, '" + basecd + "')]/" + targetRef);
- if(node == null)
- return "";
- return node.text;
- }
- function fSetItemDataByItemBaseCd(levelcd, basecd, itemval, targetRef)
- {
- if(targetRef == null)
- targetRef = "reccnts";
- var pageInfo = new PAGEINFO();
- //pmodel.setValue(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval", itemval);
- var nodeList = instance1.selectNodes(pageInfo.recItemRef + "[contains(degnitemlevlcd, '" + levelcd + "') and contains(degnitemcd, '" + basecd + "')]/" + targetRef);
- //alert(levelcd + ", " + basecd + ", " + itemval + " : " + nodeList.length);
- for(var i = 0; i < nodeList.length; i++)
- {
- var node = nodeList.item(i);
- node.text = itemval;
- }
- //pmodel.refresh();
- }
- function fSelectComnuse(srcFormCd, degnitemno, chosflag)
- {
- var pageInfo = new PAGEINFO();
- var fstlevlitemcd = model.getValue(pageInfo.recItemRef +
- "[degnitemno='" + degnitemno + "']/fstlevlitemcd");
- var itembasecd = fstlevlitemcd.substr(0,7);
- setParameter("mode" , "srch");
- setParameter("clsflag" , "F");
- if(getParameter("reqflag") == "")
- setParameter("reqflag" , "U");
- setParameter("userid" , getUserId());//getUserInfo("userid"));
- setParameter("deptcd" , getUserInfo("dutplcecd"));//근무지 부서코드
- setParameter("formcd" , srcFormCd);
- setParameter("itembasecd" , itembasecd);
- if(chosflag == "C")
- {
- setParameter("comnchosflag" , "C");
- modal("SPMRF03400", 1, 0, 0, "", "", "");
- }
- else if(chosflag == "E")
- {
- setParameter("comnchosflag" , "E");
- modal("SPMRF03500", 1, 0, 0, "", "", "");
- }
- else
- return;
- var ctrl = document.controls("MTX_" + degnitemno);
- var txtSelPos = ctrl.selBegin;
- var curText = ctrl.currentText;
- var curTextBefore = curText.substr(0, txtSelPos);
- var curTextAfter = curText.substr(txtSelPos, curText.length);
- var commuse = getParameter("comncnts"); //내용
- model.setFocus("MTX_" + degnitemno);
- ctrl.currentText = curTextBefore + commuse + curTextAfter;
- ctrl.selBegin = txtSelPos + commuse.length;
- ctrl.dispatch("onkeyup");
- setParameter("comnseq", ""); //상용구순번
- setParameter("reprnm", ""); //대표명
- setParameter("comncnts", ""); //내용
- }
- function fAddComnuse(srcFormCd, degnitemno, chosflag)
- {
- var ctrl = document.controls("MTX_" + degnitemno);
- selBegin = model.getValue("/root/hidden/selectiontext/begin");
- selEnd = model.getValue("/root/hidden/selectiontext/end");
- var curText = ctrl.currentText;
- var selText = curText.substring(selBegin, selEnd);
- //var selText = curText.substring(ctrl.selBegin, ctrl.selEnd);
- if(selText == "")
- return;
- var pageInfo = new PAGEINFO();
- var fstlevlitemcd = model.getValue(pageInfo.recItemRef +
- "[degnitemno='" + degnitemno + "']/fstlevlitemcd");
- var itembasecd = fstlevlitemcd.substr(0,7);
- if(srcFormCd == "")
- {
- messageBox("서식 정보가", "I004");
- return;
- }
- if(itembasecd == "")
- {
- messageBox("항목 정보가", "I004");
- return;
- }
- setParameter("mode" , "save");
- setParameter("clsflag" , "F");
- if(getParameter("reqflag") == "")
- setParameter("reqflag" , "U");
- //alert(getParameter("reqflag"));
- setParameter("userid" , getUserId());//getUserInfo("userid"));
- setParameter("deptcd" , getUserInfo("dutplcecd"));//근무지 부서코드
- setParameter("formcd" , srcFormCd);
- setParameter("itembasecd" , itembasecd);
- setParameter("instcd" , getUserInfo("dutplceinstcd"));
- setParameter("comnchosflag" , chosflag);
- setParameter("clsflag" , "F");
- setParameter("formcd" , srcFormCd);
- setParameter("itembasecd" , itembasecd);
- setParameter("deptcd" , getUserInfo("dutplcecd"));
- setParameter("userid" , getUserId());
- setParameter("reprnm" , "");
- setParameter("comncnts" , selText);
- if(chosflag == "C")
- {
- setParameter("comnchosflag" , "C");
- modal("SPMRF03400", 1, 0, 0, "", "", "");
- }
- else if(chosflag == "E")
- {
- setParameter("comnchosflag" , "E");
- modal("SPMRF03500", 1, 0, 0, "", "", "");
- }
- else
- return;
- /*var nodeList = instance1.selectNodes("/root/send/comnusedata");
- //alert(getNodeListCSV(nodeList));
- model.makeValue("/root/send/comnusedata/savedata", "");
- model.makeValue("/root/send/comnusedata/savedata", getNodeListCSV(nodeList));
- submit("TXMRF02401");
- model.setFocus("MTX_" + degnitemno); */
- }
- function fSaveSelectionText(degnitemno)
- {
- var ctrl = document.controls("MTX_" + degnitemno);
- model.makeValue("/root/hidden/selectiontext/begin", ctrl.selBegin);
- model.makeValue("/root/hidden/selectiontext/end", ctrl.selEnd);
- }
- function fKeyPress(srcFormCd, degnitemno)
- {
- if(event.ctrlKey)
- {
- switch(event.keyCode)
- {
- case 17 : //'q' 113
- fSelectComnuse(srcFormCd, degnitemno, 'C');
- break;
- case 23 : //'w' 119
- fSelectComnuse(srcFormCd, degnitemno, 'E');
- break;
- case 5 : //'e' 101
- fAddComnuse(srcFormCd, degnitemno, 'C');
- break;
- case 18 : //'r' 114
- fAddComnuse(srcFormCd, degnitemno, 'E');
- break;
- }
-
- }
- }
- /**
- * @group :
- * @ver : 2008.07.15
- * @by : snoweye
- * @modify: 이경희
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 편집가능 이미지의 편집아이콘을 보여줌 <-- fShowImgeEdit_old
- * @param : degnitemno - 이미지의 디자인아이템 번호
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- var g_curImge = "";
- function fShowImgeEdit(degnitemno)
- {
- g_curImge = "IMG_" + degnitemno;
-
- var btn = document.controls("BTN_" + degnitemno + "_EXT1");
-
- if(ivw_imgedit.attribute("visibility") == "visible")
- {
- ivw_imgedit.attribute("visibility") = "hidden";
- ivw_imgedit.attribute("curitemno") = "";
- btn.attribute("editshow") = "false";
- btn.attribute("class") = "icon_top";
-
- eval(g_curImge).SetDrawMode(false);
- eval(g_curImge).SelectDrawType(0,false);
-
- /////////////////////////////////////////////////////////////////////////////////////////////
- // 이미지 데이터 설정
- /*
- var imgNode = findNode(model, "/root/main/forminfo/formdegn" + "[degnitemno='" + degnitemno + "']");
-
- var degnitemlevlcd = "";
- var recitemNode = "";
-
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + degnitemlevlcd.text + "']");
- }
-
- if(recitemNode != null)
- {
- // 1. 메타데이터
- var strMeta = eval(g_curImge).GetShapeString();
-
- // xvg패턴 제거
- var tmpMeta = removeXvgTag(strMeta);
-
- // if(tmpShape != "")
- // model.setValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts", strShape);
-
- if(tmpMeta != "")
- {
- model.makeValue("/root/rectemp/reccnts", strMeta, true);
- var newNode = model.instance1.selectSingleNode("/root/rectemp/reccnts");
- var reccntsNode = "";
- reccntsNode = recitemNode.selectSingleNode("reccnts");
-
- if(reccntsNode != null)
- {
- recitemNode.replaceChild(newNode, reccntsNode);
- }
- else
- {
- recitemNode.appendChild(newNode);
- }
-
- // 2. 최종 편집이미지를 가져옴
- var recImge = eval(g_curImge).SaveImageBase64()
-
- //var imgsize = eval(g_curImge).GetImageSizeEx(false);
-
- model.makeValue("/root/rectemp/recimge", recImge, true);
-
- var tmprecimgNode = model.instance1.selectSingleNode("/root/rectemp/recimge");
- var recimgNode = recitemNode.selectSingleNode("recimge");
-
- if(recimgNode != null)
- {
- recitemNode.replaceChild(tmprecimgNode, recimgNode);
- }
- else
- {
- recitemNode.appendChild(tmprecimgNode);
- }
-
- model.removeNode ("/root/rectemp/recimge");
- model.removeNode ("/root/rectemp/reccnts");
- }
- }
- */
- }
- else
- {
- var recitemNode = "";
-
- var degnitemcd = "";
- var degnitemlevlcd = "";
- var degnitemnm = "";
-
- // 이미지의 디자인 정보를 확인한다.
- var imgNode = findNode(model, "/root/main/forminfo/formdegn" + "[degnitemno='" + degnitemno + "']");
-
- var isCommonForm = false;
- var supFormmastNode = opener.model.instance1.selectSingleNode("/root/main/forminfo/formmast");
-
- var supformkindNode = "";
- var supformprogflagNode = "";
- var supformcdNode = "";
- var supsrcformcdNode = "";
- var supformprognmNode = "";
-
- if(supFormmastNode != null)
- {
- supformcdNode = supFormmastNode.selectSingleNode("formcd");
- supsrcformcdNode = supFormmastNode.selectSingleNode("srcformcd");
-
- supformkindNode = supFormmastNode.selectSingleNode("formkind");
- supformprogflagNode = supFormmastNode.selectSingleNode("formprogflag");
- supformprognmNode = supFormmastNode.selectSingleNode("formprognm");
-
- if(supformkindNode.text == "C" && supformprogflagNode.text == "PROG"
- && supformprognmNode.text != "-") // && supformcdNode.text == supsrcformcdNode.text
- {
- isCommonForm = true;
- }
- }
-
- if(isCommonForm)
- {
- // 공통서식
- var ivwidNode = findNode(model, "/root/formxrwinfo/ivwid");
-
- var fstitemlevlcd = ivwidNode.text.setReplaceWord("ivw_", "");
-
- fstitemlevlcd = fstitemlevlcd.substr(0, 7);
-
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + fstitemlevlcd + "." + degnitemlevlcd.text + "']");
- }
- }
- else
- {
- // 특수서식
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- var openmode = getParameter("openmode");
- if (openmode == "extnunitform") //2010.02.03, hkjoo, 확장서식을 기록화면에서 기본서식의 팝업으로 띄울경우 기본서식과 동일하게 처리
- {
- var fstitemlevlcd = model.getValue("/root/main/recinfo/recitem" + "[degnitemno='" + degnitemno+ "']/fstlevlitemcd");
- fstitemlevlcd = fstitemlevlcd.substr(0, 7);
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + fstitemlevlcd + "." + degnitemlevlcd.text + "']");
- }
- else
- {
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + degnitemlevlcd.text + "']");
- }
- }
- }
-
-
- if(recitemNode != null)
- {
- degnitemcd = recitemNode.selectSingleNode("degnitemcd").text;
- degnitemNo = recitemNode.selectSingleNode("degnitemno").text;
- degnitemlevlcd = recitemNode.selectSingleNode("degnitemlevlcd").text;
- degnitemnm = recitemNode.selectSingleNode("degnitemnm").text;
- }
-
- // SSMRF04600 인스턴스 설정
- var imgInfoNode = ivw_imgedit.window.model.instances(0).selectSingleNode("/root/main/imgeInfo");
-
- if(imgInfoNode != null)
- {
- imgInfoNode.selectSingleNode("degnitemcd").text = degnitemcd;
- imgInfoNode.selectSingleNode("degnitemno").text = degnitemNo;
- imgInfoNode.selectSingleNode("degnitemlevlcd").text = degnitemlevlcd;
- imgInfoNode.selectSingleNode("degnitemnm").text = degnitemnm;
- }
-
- var ctrl = document.controls("IMG_" + degnitemno);
-
- var imgLeft = ctrl.attribute("left");
- var imgTop = ctrl.attribute("top");
- var imgWidth = ctrl.attribute("width");
- var imgHeight = ctrl.attribute("height");
-
-
- var editLeft = parseInt(imgLeft) + "px";
- var editTop = parseInt(imgTop) + parseInt(imgHeight) + "px";
- var editWidth = "400px";
- var editHeight = "175px";
- var editBottom = parseInt(imgTop) + parseInt(imgHeight) + parseInt(editHeight);
- var editRight = parseInt(editLeft) + parseInt(editWidth);
-
- var parentWidth = "";
- var parentHeight = "";
-
- var stype = opener.window.type;
- if (stype == "iviewer" || stype == "main")
- {
- parentWidth = parseInt(window.width) + parseInt(window.document.body.hscroll.attribute("max"));
- parentHeight = parseInt(window.height) + parseInt(window.document.body.vscroll.attribute("max"));
- }
- else
- {
- // 세로 스크롤 사이즈를 제외(-20)
- parentWidth = parseInt(window.width) + parseInt(window.document.body.hscroll.attribute("max")) - 20;
- parentHeight = parseInt(window.height) + parseInt(window.document.body.vscroll.attribute("max"));
- }
-
- if(parentWidth < editRight)
- {
- parentWidth = parseInt(editRight);
- }
- if(parentHeight < editBottom)
- {
- //parentHeight += parseInt(editHeight);
- parentHeight = parseInt(editBottom);
- }
-
- //2010.01.27, hkjoo, 확장서식내에서 ivw_imgedit 오픈 시 확장서식body 사이즈 조절 안하도록
- var openmode = getParameter("openmode");
- if (openmode != "extnunitform")
- {
- ivw_imgedit.parent.attribute("visibility") = "visible";
- ivw_imgedit.parent.attribute("width") = parentWidth + "px";
- ivw_imgedit.parent.attribute("height") = parentHeight + "px";
- }
-
- ivw_imgedit.attribute("left") = editLeft;
- ivw_imgedit.attribute("top") = editTop;
- ivw_imgedit.attribute("width") = editWidth;
- ivw_imgedit.attribute("height") = editHeight;
-
- ivw_imgedit.attribute("visibility") = "visible";
-
- var olditemno = ivw_imgedit.attribute("curitemno");
- if(olditemno != "")
- {
- var oldbtn = document.controls("BTN_" + olditemno + "_EXT1");
- oldbtn.attribute("editshow") = "false";
- oldbtn.attribute("class") = "icon_top";
- }
-
- ivw_imgedit.attribute("curitemno") = degnitemno;
-
- btn.attribute("editshow") = "true";
- btn.attribute("class") = "icon_bottom";
-
- eval(g_curImge).SetDrawMode(true);
- }
- ivw_imgedit.window.document.rebuild = true;
- ivw_imgedit.window.document.body.refresh();
-
- // MRF01200 화면 사이즈 조정
- window.document.rebuild = true; // 서식미리보기 뷰어(ivw_base)
- window.document.body.refresh();
- }
- function fShowImgeEdit_old(degnitemno)
- {
- g_curImge = "IMG_" + degnitemno;
-
- var btn = document.controls("BTN_" + degnitemno + "_EXT1");
-
- if(btn.attribute("editshow") == "true")
- {
- ivw_imgedit.attribute("visibility") = "hidden";
- ivw_imgedit.attribute("curitemno") = "";
- btn.attribute("editshow") = "false";
- btn.attribute("class") = "icon_top";
-
- eval(g_curImge).SetDrawMode(false);
- eval(g_curImge).SelectDrawType(0,false);
- eval(g_curImge).SelectDrawType(0,false);
-
- /////////////////////////////////////////////////////////////////////////////////////////////
- // 이미지 데이터 설정
- var imgNode = findNode(model, "/root/main/forminfo/formdegn" + "[degnitemno='" + degnitemno + "']");
-
- var degnitemlevlcd = "";
- var recitemNode = "";
-
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + degnitemlevlcd.text + "']");
- }
-
- if(recitemNode != null)
- {
- // 1. 메타데이터
- var strMeta = eval(g_curImge).GetShapeString();
- if(strMeta != BASE_SHAPE)
- strMeta = "";
-
- model.makeValue("/root/rectemp/reccnts", strMeta, true);
- var newNode = model.instance1.selectSingleNode("/root/rectemp/reccnts");
- var reccntsNode = "";
- reccntsNode = recitemNode.selectSingleNode("reccnts");
-
- if(reccntsNode != null)
- {
- recitemNode.replaceChild(newNode, reccntsNode);
- }
- else
- {
- recitemNode.appendChild(newNode);
- }
-
- // 2. 최종 편집이미지를 가져옴
- var recImge = eval(g_curImge).SaveImageBase64()
-
- model.makeValue("/root/rectemp/recimge", recImge, true);
-
- var tmprecimgNode = model.instance1.selectSingleNode("/root/rectemp/recimge");
- var recimgNode = recitemNode.selectSingleNode("recimge");
-
- if(recimgNode != null)
- {
- recitemNode.replaceChild(tmprecimgNode, recimgNode);
- }
- else
- {
- recitemNode.appendChild(tmprecimgNode);
- }
-
- model.removeNode ("/root/rectemp/recimge");
- model.removeNode ("/root/rectemp/reccnts");
- }
- }
- else
- {
- var recitemNode = "";
-
- var degnitemcd = "";
- var degnitemlevlcd = "";
- var degnitemnm = "";
-
- // 이미지의 디자인 정보를 확인한다.
- var imgNode = findNode(model, "/root/main/forminfo/formdegn" + "[degnitemno='" + degnitemno + "']");
-
- var isCommonForm = false;
- var supFormmastNode = opener.model.instance1.selectSingleNode("/root/main/forminfo/formmast");
-
- var supformkindNode = "";
- var supformprogflagNode = "";
- var supformcdNode = "";
- var supsrcformcdNode = "";
- var supformprognmNode = "";
-
- if(supFormmastNode != null)
- {
- supformcdNode = supFormmastNode.selectSingleNode("formcd");
- supsrcformcdNode = supFormmastNode.selectSingleNode("srcformcd");
-
- supformkindNode = supFormmastNode.selectSingleNode("formkind");
- supformprogflagNode = supFormmastNode.selectSingleNode("formprogflag");
- supformprognmNode = supFormmastNode.selectSingleNode("formprognm");
-
- if(supformkindNode.text == "C" && supformprogflagNode.text == "PROG"
- && supformprognmNode.text != "-") // && supformcdNode.text == supsrcformcdNode.text
- {
- isCommonForm = true;
- }
- }
-
- if(isCommonForm)
- {
- // 공통서식
- var ivwidNode = findNode(model, "/root/formxrwinfo/ivwid");
-
- var fstitemlevlcd = ivwidNode.text.setReplaceWord("ivw_", "");
-
- fstitemlevlcd = fstitemlevlcd.substr(0, 7);
-
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + fstitemlevlcd + "." + degnitemlevlcd.text + "']");
- }
- }
- else
- {
- // 특수서식
- if(imgNode != null)
- {
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd");
-
- recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemlevlcd='" + degnitemlevlcd.text + "']");
- }
- }
-
-
- if(recitemNode != null)
- {
- degnitemcd = imgNode.selectSingleNode("degnitemcd").text;
- degnitemNo = imgNode.selectSingleNode("degnitemno").text;
- degnitemlevlcd = imgNode.selectSingleNode("degnitemlevlcd").text;
- degnitemnm = imgNode.selectSingleNode("degnitemnm").text;
- }
-
- // SSMRF04600 인스턴스 설정
- var imgInfoNode = ivw_imgedit.window.model.instances(0).selectSingleNode("/root/main/imgeInfo");
-
- if(imgInfoNode != null)
- {
- imgInfoNode.selectSingleNode("degnitemcd").text = degnitemcd;
- imgInfoNode.selectSingleNode("degnitemno").text = degnitemNo;
- imgInfoNode.selectSingleNode("degnitemlevlcd").text = degnitemlevlcd;
- imgInfoNode.selectSingleNode("degnitemnm").text = degnitemnm;
- }
-
- var ctrl = document.controls("IMG_" + degnitemno);
-
- var imgLeft = ctrl.attribute("left");
- var imgTop = ctrl.attribute("top");
- var imgWidth = ctrl.attribute("width");
- var imgHeight = ctrl.attribute("height");
-
-
- var editLeft = parseInt(imgLeft) + "px";
- var editTop = parseInt(imgTop) + parseInt(imgHeight) + "px";
- var editWidth = "400px";
- var editHeight = "175px";
- var editBottom = parseInt(imgTop) + parseInt(imgHeight) + parseInt(editHeight);
- var editRight = parseInt(editLeft) + parseInt(editWidth);
-
- var parentWidth = "";
- var parentHeight = "";
-
- var stype = opener.window.type;
- if (stype == "iviewer" || stype == "main")
- {
- parentWidth = parseInt(window.width) + parseInt(window.document.body.hscroll.attribute("max"));
- parentHeight = parseInt(window.height) + parseInt(window.document.body.vscroll.attribute("max"));
- }
- else
- {
- // 세로 스크롤 사이즈를 제외(-20)
- parentWidth = parseInt(window.width) + parseInt(window.document.body.hscroll.attribute("max")) - 20;
- parentHeight = parseInt(window.height) + parseInt(window.document.body.vscroll.attribute("max"));
- }
-
- if(parentWidth < editRight)
- {
- parentWidth = parseInt(editRight);
- }
- if(parentHeight < editBottom)
- {
- //parentHeight += parseInt(editHeight);
- parentHeight = parseInt(editBottom);
- }
-
- ivw_imgedit.parent.attribute("width") = parentWidth + "px";
- ivw_imgedit.parent.attribute("height") = parentHeight + "px";
-
- ivw_imgedit.attribute("left") = editLeft;
- ivw_imgedit.attribute("top") = editTop;
- ivw_imgedit.attribute("width") = editWidth;
- ivw_imgedit.attribute("height") = editHeight;
-
- ivw_imgedit.attribute("visibility") = "visible";
-
- var olditemno = ivw_imgedit.attribute("curitemno");
- if(olditemno != "")
- {
- var oldbtn = document.controls("BTN_" + olditemno + "_EXT1");
- oldbtn.attribute("editshow") = "false";
- oldbtn.attribute("class") = "icon_top";
- }
-
- ivw_imgedit.attribute("curitemno") = degnitemno;
-
- btn.attribute("editshow") = "true";
- btn.attribute("class") = "icon_bottom";
-
- eval(g_curImge).SetDrawMode(true);
- }
- ivw_imgedit.window.document.rebuild = true;
- ivw_imgedit.window.document.body.refresh();
-
- // MRF01200 화면 사이즈 조정
- window.document.rebuild = true; // 서식미리보기 뷰어(ivw_base)
- window.document.body.refresh();
- }
- function fShowImgeEdit_old2(degnitemno)
- {
- g_curImge = "IMG_" + degnitemno;
-
- var btn = document.controls("BTN_" + degnitemno + "_EXT1");
-
- if(btn.attribute("editshow") == "true")
- {
- ivw_imgedit.attribute("visibility") = "hidden";
- ivw_imgedit.attribute("curitemno") = "";
- btn.attribute("editshow") = "false";
- btn.attribute("class") = "icon_top";
-
- eval(g_curImge).SetDrawMode(false);
- eval(g_curImge).SelectDrawType(0,false);
- eval(g_curImge).SelectDrawType(0,false);
- }
- else
- {
- var grp = document.controls("grp_" + degnitemno);
- var ctrl = document.controls("IMG_" + degnitemno);
-
-
- var grpTop = grp.attribute("top");
- var grpLeft = grp.attribute("left");
- var imgTop = ctrl.attribute("top");
- var imgLeft = ctrl.attribute("left");
- var imgHeight = ctrl.attribute("height");
-
- var editLeft = parseInt(grpLeft) + parseInt(imgLeft);// + offsetX;
- var editTop = parseInt(grpTop) + parseInt(imgTop) + parseInt(imgHeight);// + offsetY;
-
- //alert(editLeft + ", " + editTop);
-
- ivw_imgedit.attribute("left") = editLeft;
- ivw_imgedit.attribute("top") = editTop;
- ivw_imgedit.attribute("width") = "400px";
- ivw_imgedit.attribute("height") = "175px";
- ivw_imgedit.attribute("visibility") = "visible";
-
- var olditemno = ivw_imgedit.attribute("curitemno");
- if(olditemno != "")
- {
- var oldbtn = document.controls("BTN_" + olditemno + "_EXT1");
- oldbtn.attribute("editshow") = "false";
- oldbtn.attribute("class") = "icon_top";
- }
- ivw_imgedit.attribute("curitemno") = degnitemno;
-
- btn.attribute("editshow") = "true";
- btn.attribute("class") = "icon_bottom";
-
- eval(g_curImge).SetDrawMode(true);
- }
- document.rebuild = true;
- document.body.refresh();
- }
- function fSetProfIssUsge()
- {
- setParameter("SPMMR02200_usage", model.getValue("/root/main/issusge"));
- setParameter("SPMMR02200_multichkyn", "N");
- modal("SPMMR02200", 1, 0, 0, "SPMMR02200", "/root/main/newprof", "/root/temp/prof");
- var usge = getArrayData ( model.getValue("/root/main/issusge"), 1, 1, "▩", "▦" );
- fSetItemDataByItemBaseCd("0013100", "0013100", usge);
- model.refresh();
- opener.opener.model.makeValue("/root/main/issusge", model.getValue("/root/main/issusge"));
-
-
- //2012.03.19 이윤주 수정 - 보류-20120323
- /*
- setParameter("SPMMR02200_usage", model.getValue("/root/main/issusge"));
- setParameter("SPMMR02200_multichkyn", "Y");
-
- modal("SPMMR02200", 1, 0, 0, "SPMMR02200", "/root/main/newprof", "/root/temp/prof");
- var arrRow = model.getValue("/root/main/issusge").split("▩");
- var tmp ="" ;
- var usge = "";
- var totalcnt = arrRow.length - 2;
-
- if (totalcnt > 3) {
- messageBox("3가지 초과하여 선택할 수 없습니다","");
- return;
- }
-
- for ( i = 1; i <= totalcnt ; i++ )
- {
- tmp = getArrayData ( model.getValue("/root/main/issusge"), i, 1, "▩", "▦" );
- if (i == 1 )
- gubun = "";
- else
- gubun = "\n";
-
- usge = usge + gubun + tmp;
- }
-
- fSetItemDataByItemBaseCd("0013100", "0013100", usge);
- model.refresh();
-
- opener.opener.model.makeValue("/root/main/issusge", model.getValue("/root/main/issusge"));
- */
-
- }
- function fProcGrdFunc(degnitemno, type)
- {
- if(event.name == "onkeydown")
- {
- if(event.keyCode == 45)//insert
- {
- addGridRowEx(degnitemno, type);
- var grdObj = document.controls("DGN_" + degnitemno);
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
- else if(event.keyCode == 46)//delete
- {
- var modiflag = model.getValue("/root/temp/modiflag");
- if(modiflag != "Y"){
- //removeGridCol(degnitemno, type); // 그리드 컬럼 삭제
- removeGridRowEx(degnitemno, type); // 그리드 행 삭제
- //2009-06-22 오후 9:23:43 강지훈 수정
- //model.refresh();
- var grdObj = document.controls("DGN_" + degnitemno);
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
- }
- }
- else if(event.name == "onmousedown")
- {
- if(event.button == 3)
- {
- model.removeNodeset("/root/hidden/menu/item");
- var param1 = new PARAM("degnitemno", degnitemno);
- var param2 = new PARAM("type", type);
- var paramlist = new Array(param1, param2);
- //2009-08-01 오전 11:45:29 강지훈 추가 : 행추가 기능
- addCntxMenu("행추가", "fDiagAddRow", paramlist);
- addCntxMenu("행삭제", "fRemoveDiagInfo", paramlist);
- window.setPopupMenu(true, "/root/hidden/menu/item", "name", "func", false);//사용자지정팝업메뉴설정
- }
- }
- }
- function fRemoveDiagInfo()
- {
- var menuNode = findCntxMenu("fRemoveDiagInfo");
- var paramlist = findCntxMenuParamList(menuNode);
- var param1 = paramlist[0];
- var param2 = paramlist[1];
- removeGridRowEx(param1.value, param2.value);
-
- model.refresh();
- var grdObj = document.controls(param2.value + "_" + param1.value);
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
- /**
- * @group :
- * @ver : 2009.08.01
- * @by : 강지훈
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 그리드 엔터클릭시 진단코드 검색기능
- * @param : degnitemno 디자인번호
- * @return :
- * @---------------------------------------------------
- */
- function fFindDiagInfo(degnitemno)
- {
- //2010.04.16 dhkim singlenode err로 makenode함.
- model.removenode("/root/temp/modiflag");
- model.makeNode("/root/temp/modiflag");
-
- model.setValue("/root/temp/modiflag", "N");
- var diagfree = opener.model.getValue("/root/profdgn/formhardcd/hardcd/hardcd");
- if(diagfree == "N"){
- return;
- }
- var grd = document.controls("DGN_" + degnitemno);
- var diagnm = grd.textmatrix(grd.row, grd.col);
- if(diagnm == "")
- return;
- if(grd.col == grd.colRef("recitem[colno = '2']/rectermnm"))
- {
- grd.valuematrix(grd.row, grd.col) = "";
- fDiagSrch("diagnm", diagnm, degnitemno, grd.row - grd.fixedRows);
- }
- else if(grd.col == grd.colRef("recitem[colno = '2']/rectermcd"))
- {
- grd.valuematrix(grd.row, grd.col) = "";
- fDiagSrch("icd10cd", diagnm, degnitemno, grd.row - grd.fixedRows);
- }
-
-
-
- //grd.rebuild(); 2009-06-20 오전 11:04:18 강지훈 수정 : 살려두면 마지막 row가 죽어버리네...
- }
- function fDiagSrch ( flag, diag, degnitemno, row )
- {
- if ( flag == "diagnm" ) {
- //model.setValue ( diagNode + "[" + grd_diaglist.row+ "]/icd10cd", "" );
- //diagnm = model.getValue ( ref + "[" + grd_diaglist.row+ "]/diagengnm" );
- srchflag = "2";
- findmethod = "4";
- //model.setValue ( "/root/init/diagsrchcond1", "4" ); //첫단어검색을 먼저하는 것으로 수정한다.
- } else if ( flag == "icd10cd" ) {
- //model.setValue ( diagNode + "[" + grd_diaglist.row+ "]/diagengnm", "" );
- //diagnm = model.getValue ( diagNode + "[" + grd_diaglist.row+ "]/icd10cd" );
- srchflag = "1";
- findmethod = "1";
- //model.setValue ( "/root/init/diagsrchcond1", "1" );
- }
- var isHangul = fIsHangul (diag);
- //한글일때는 1글자만 넣어도 검색가능
- if (diag == "") {
- messageBox ( "검색어를", "C001" );
- return;
- } else if (isHangul == "E"){
- //영문,숫자일때는 3글자 넣어야 검색가능
- if (diag.length < 2){
- messageBox ( "2글자 이상", "C001" );
- return;
- }
- }
- setParameter ( "SPMMO00800_cond1", srchflag );
- setParameter ( "SPMMO00800_cond2", findmethod);
- setParameter ( "SPMMO00800_cond3", isHangul );
- setParameter ( "SPMMO00800_cond4", getCurrentDate());
- setParameter ( "SPMMO00800_cond5", diag );
- modal ("SPMMO00800", 1, 10, 10, "SPMMO00800");
- if (getParameter( "SPMMO00800_rtn_useyn" ) == "Y" ) {
- fAddDiagInfo (getParameter( "SPMMO00800_rtn" ), degnitemno, row);
- setParameter( "SPMMO00800_rtn_useyn", "" );
- }
- }
- function fIsHangul(pData)
- {
- var sBit = pData.charAt(0);
- if (escape(sBit).length <= 4) return "E";
- return "H";
- }
- /**
- * @desc : 진단검색
- * @param : 진단정보, degnitemno, currow
- * @return : void
- * @authur : 강지훈 2009-06-18 오후 2:17:59
- */
- function fAddDiagInfo(diagInfo, degnitemno, curRow)
- {
- var pageInfo = new PAGEINFO();
- var grdobj = document.controls("DGN_" + degnitemno);
- var colpos = grdobj.col;
- var diagRow = diagInfo.split ( "▩" ).length;
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
- var selRow = curRow;
-
- for(var i = 1; i < diagRow - 1; i++)
- {
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var diagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- var diagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- var diaghngnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- var spclinfo = getArrayData ( diagInfo, i, 5, "▩", "▦" );
- if(formprogflag == "PROF")
- {
- diagcd = icd10cd;
- if(langflag != "EN")
- diagengnm = diaghngnm;
- }
-
- //진단코드, 진단명을 그리드 인스턴스에 추가
- var grdNode = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- var recitemNodes = grdNode.item(selRow);
- var recitemNode = recitemNodes.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960.0000960']");
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
- //한줄추가
- addGridRowEx(degnitemno, 'DGN');
- model.setfocus("DGN_" + degnitemno);
- grdobj.row = grdobj.rows - 1;
-
- selRow++;
- }
-
- // 진단코드나 진단명 입력 후 다음 셀에 edit 상태 생성
- grdobj.refresh();
- if (colpos == 4) {
- grdobj.col = grdobj.colref("recitem[colno = '2']/rectermnm");
- grdobj.editCell();
- } else if (colpos == 3) {
- grdobj.col = grdobj.colref("recitem[colno = '2']/rectermcd");
- grdobj.editCell();
- }
- grdobj.isreadonly(grdobj.rows - 1, grdobj.colRef("recitem[colno = '2']/rectermnm")) = false;
- }
- function fValidDate(degnitemno)
- {
- try
- {
- var ctrl = event.ptarget;
- var val = ctrl.currentText;
- var diff = Date.parse(getCurrentDate().toDate().getDateFormat("YYYY/MM/DD")) - Date.parse(val.setReplaceWord("-", "/"));
- if(diff < 0)
- {
- alert("발행일 보다 미래일자를 지정할 수 없습니다.");
- ctrl.currentText = getCurrentDate().toDate().getDateFormat("YYYY-MM-DD");
- // 20080618 수정 중 HIT EMR 팀
- //var currentdate = getCurrentDate().toDate().getDateFormat("YYYY-MM-DD");
- //ctrl.currentText = currentdate ;
- //fSetItemDataByItemBaseCd("0004499", "0004499002", currentdate);
- }
- var formcd = model.getValue("/root/main/forminfo/formmast/formcd");
- var formprogflag = model.getValue("/root/main/forminfo/formmast/formprogflag");
-
- //if(formcd == "0000001113" && formprogflag == "PROF") // 출생증명서 아버지 나이 계산 - KNUH_20110412 추가
- if( (formcd == "0000001113" || formcd == "1100011102") && formprogflag == "PROF") // 출생증명서 아버지 나이 계산
- {
- var daddyage = model.getValue("/root/main/recinfo/recitem[degnitemno='58']/reccnts");
-
- var age = getFullAge(daddyage);
-
- model.setValue("/root/main/recinfo/recitem[degnitemno='6']/reccnts", age);
- model.refresh();
- }
- return;
- }
- catch(e)
- {}
-
- }
- function fSetDiagInfo(ref, icd10cdpath, diagcdpath, diagengnmpath, diaghngnmpath, diagkindcdflagpath, diagkindcdpath, diagcommentspath, cdflag)
- {
- var pageInfo = new PAGEINFO();
- var diaglist = instance1.selectNodes(ref);
- for(var i = 0; i < diaglist.length; i++)
- {
- var diaginfo = diaglist.item(i);
- var icd10cd = diaginfo.selectSingleNode(icd10cdpath) == null ? "" : diaginfo.selectSingleNode(icd10cdpath).text;
- var diagcd = diaginfo.selectSingleNode(diagcdpath) == null ? "" : diaginfo.selectSingleNode(diagcdpath).text;
- var diagengnm = diaginfo.selectSingleNode(diagengnmpath) == null ? "" : diaginfo.selectSingleNode(diagengnmpath).text;
- var diaghngnm = diaginfo.selectSingleNode(diaghngnmpath) == null ? "" : diaginfo.selectSingleNode(diaghngnmpath).text;
- var diagkindcdflag = diaginfo.selectSingleNode(diagkindcdflagpath) == null ? "" : diaginfo.selectSingleNode(diagkindcdflagpath).text;
- var diagkindcd = diaginfo.selectSingleNode(diagkindcdpath) == null ? "" : diaginfo.selectSingleNode(diagkindcdpath).text;
- var diagcomments = diaginfo.selectSingleNode(diagcommentspath) == null ? "" : diaginfo.selectSingleNode(diagcommentspath).text;
- if(model.getValue(g_pageInfo.formmastRef + "/langflag") == "EN")
- diagnm = diagengnm;
- else
- diagnm = diaghngnm;
- if(diagnm == "")
- diagnm = diagengnm;
- //var diagcd = nodeList.item(i).selectSingleNode("icd10cd").text;
- if(cdflag = "icd10")
- diagcd = icd10cd;
- if(getNodesetCnt(model, pageInfo.recItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initrecItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.recItemRef + "[contains(degnitemlevlcd, '0016650.0000960') and contains(degnitemcd, '0000960')]");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //R/O
- if(j == 0)
- {
- recitemNode.selectSingleNode("reccnts").text = diagkindcd;
- }
- //주부유형
- else if(j == 1)
- {
- recitemNode.selectSingleNode("reccnts").text = diagkindcdflag;
- }
- //진단코드, 진단명
- else if(j == 2)
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- }
- function fGetImgUrl(imgecd)
- {
- return getActionURI("TRMRF01212") + getUserSessionString() + "&imgecd=" + imgecd;
- //return getActionURL("TRMRF01212") + "&imgecd=" + imgecd;
- }
- /*****************************************************************************
- 튜닝
- ******************************************************************************/
- /**
- * @group :
- * @ver : 2008.07.06
- * @by : 박종훈
- * @modify : 인자변경 (snoweye - 2008.07.15)
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템의 값 반환 <-- fGetRecItemCnts_MMR01100_old
- * @param : pid - 환자등록번호
- * @param : cretno - 환자등록생성번호
- * @param : orddd - 진료일 (입원일)
- * @param : orddeptcd - 진료과
- * @param : ioflag - 입원/외래 구분
- * @param : degnlvcd - 서식항목 식별 코드
- * @return :
- * @---------------------------------------------------
- */
- function fSetDiagNmbyDegnItemLevlCd_prof(pid, cretno, orddd, orddeptcd, ioflag, degnlvcd, mediflag)
- {
- var pageInfo = new PAGEINFO();
- var iNodeCnt = getNodesetCnt(model, pageInfo.initRecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
-
- if(iNodeCnt == 0)
- return;
-
- /* 20100719-kys-주석처리(쓰고있지않는 param이라 용도 변경함.
- if(mediflag == ""){
- mediflag = "Y";
- }*/
-
- model.removeNodeset(pageInfo.RecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
-
- /*
- model.removeNodeset("/root/main/diaginfo");
- model.makeValue("/root/send/cond1", pid); //pid
- model.makeValue("/root/send/cond2", orddd); //orddd
- model.makeValue("/root/send/cond3", cretno); //cretno
- model.makeValue("/root/send/cond4", orddeptcd);//orddeptcd
- model.makeValue("/root/send/cond5", ioflag); //ioflag
- model.makeValue("/root/send/mediflag", mediflag); //서식구분
- submit("TRMMO00105", false);
- */
- //20100719-kys-발행된 제증명 존재시 제증명 진단명연동건으로 분기
- model.removeNodeset("/root/main/diaginfo");
- if(mediflag == ""){
- model.makeValue("/root/send/reqdata/pid" , pid);
- model.makeValue("/root/send/reqdata/histflag" , "Y");
- model.makeValue("/root/send/reqdata/mskind" , "Y");
- model.makeValue("/root/send/reqdata/orddeptcd", orddeptcd);
- model.makeValue("/root/send/reqdata/ioflag" , ioflag);
- model.makeValue("/root/send/reqdata/grupflag" , "Y");
- if(submit("TRMMR02908")){
- }
- }else if(mediflag != ""){
- var arrMediflag = mediflag.split(",");
- model.makeValue("/root/send/reqissdata/formrecseq" , arrMediflag[0]);
- model.makeValue("/root/send/reqissdata/langflag" , arrMediflag[1]);
- if(submit("TRMMR02915")){
- }
- }
-
- var diagnm = "";
- var diagcd = "";
- var nodeList = instance1.selectNodes("/root/main/diaginfo/diagcdlist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var diagcd = "";
- var diagnm = "";
-
- if(model.getValue(pageInfo.formmastRef + "/langflag") == "EN")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- else
- diagnm = nodeList.item(i).selectSingleNode("diaghngnm").text;
-
- if(diagnm == "")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
-
- var diagcd = nodeList.item(i).selectSingleNode("icd10cd").text;
- var ro = nodeList.item(i).selectSingleNode("diagkindcd").text;
- var mskind = nodeList.item(i).selectSingleNode("diagkindcdflag").text;
-
- if (mskind == "M")
- {
- parent.window.javascript.setParameter("SSMRF04000_diagnm", diagnm);
- }
-
- if(getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960')]/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
-
- var grdNode = instance1.selectSingleNode("/root/temp/recinfo/grid");
- grdNode = grdNode.cloneNode(true);
-
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960') and degnitemkind = 'GRD']");
- //grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
-
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
-
- if(j == 1) //R/O
- {
- recitemNode.selectSingleNode("rectermcd").text = ro;
- if(ro == "R")
- {
- recitemNode.selectSingleNode("reccnts").text = "R"; //20100728-kys-진단명연동시 R/O체크 표시 추가
- recitemNode.selectSingleNode("rectermnm").text = "R/O";
- }
- }
- else if(j == 2) //주부유형
- {
- recitemNode.selectSingleNode("rectermcd").text = mskind;
- if(mskind == "M")
- {
- recitemNode.selectSingleNode("reccnts").text = "M"; //20100728-kys-진단명연동시 주유형 체크 표시 추가
- recitemNode.selectSingleNode("rectermnm").text = "주";
- }
- else
- {
- recitemNode.selectSingleNode("rectermnm").text = "부";
- }
- }
- else if(j == 3) //진단코드, 진단명
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
-
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- if(nodeList.length < 1)//2009-10-28 오전 11:21:47 강지훈 추가 : 진단명이 등록이 되지 않은경우 자동 한줄추가
- {
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridRef);
- grdNode = grdNode.cloneNode(true);
-
-
- //grd rowno를 갱신한다.
- var rowno = 0;
-
- var recitemList = grdNode.selectNodes("recitem");
-
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- }
-
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
-
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- }
- /*****************************************************************************
- 튜닝
- ******************************************************************************/
- /**
- * @group :
- * @ver : 2008.07.06
- * @by : 박종훈
- * @modify : 인자변경 (snoweye - 2008.07.15)
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템의 값 반환 <-- fGetRecItemCnts_MMR01100_old
- * @param : pid - 환자등록번호
- * @param : cretno - 환자등록생성번호
- * @param : orddd - 진료일 (입원일)
- * @param : orddeptcd - 진료과
- * @param : ioflag - 입원/외래 구분
- * @param : degnlvcd - 서식항목 식별 코드
- * @return :
- * @---------------------------------------------------
- */
- function fSetDiagNmbyDegnItemLevlCd(pid, cretno, orddd, orddeptcd, ioflag, degnlvcd, mediflag)
- {
- var pageInfo = new PAGEINFO();
- var iNodeCnt = getNodesetCnt(model, pageInfo.initRecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
-
- if(iNodeCnt == 0)
- return;
-
- if(mediflag == ""){
- mediflag = "Y";
- }
-
- model.removeNodeset(pageInfo.RecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
-
- model.removeNodeset("/root/main/diaginfo");
- model.makeValue("/root/send/cond1", pid); //pid
- model.makeValue("/root/send/cond2", orddd); //orddd
- model.makeValue("/root/send/cond3", cretno); //cretno
- model.makeValue("/root/send/cond4", orddeptcd);//orddeptcd
- model.makeValue("/root/send/cond5", ioflag); //ioflag
- model.makeValue("/root/send/mediflag", mediflag); //서식구분
- submit("TRMMO00105", false);
-
- var diagnm = "";
- var diagcd = "";
- var nodeList = instance1.selectNodes("/root/main/diaginfo/diagcdlist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var diagcd = "";
- var diagnm = "";
-
- if(model.getValue(pageInfo.formmastRef + "/langflag") == "EN" || model.getValue(pageInfo.formmastRef + "/formprogflag") != "PROF")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- else
- diagnm = nodeList.item(i).selectSingleNode("diaghngnm").text;
-
- if(diagnm == "")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
-
- var diagcd = nodeList.item(i).selectSingleNode("icd10cd").text;
- var ro = nodeList.item(i).selectSingleNode("diagkindcd").text;
- var mskind = nodeList.item(i).selectSingleNode("diagkindcdflag").text;
- if (mskind == "M")
- {
- parent.window.javascript.setParameter("SSMRF04000_diagnm", diagnm);
- }
-
- if(getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960')]/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
-
- var grdNode = instance1.selectSingleNode("/root/temp/recinfo/grid");
- grdNode = grdNode.cloneNode(true);
-
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960') and degnitemkind = 'GRD']");
- //grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
-
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
-
- if(j == 1) //R/O
- {
- if(ro == "R")
- {
- recitemNode.selectSingleNode("rectermcd").text = ro;
- recitemNode.selectSingleNode("rectermnm").text = "R/O";
- }
- else
- {
- recitemNode.selectSingleNode("rectermcd").text = "";
- }
- }
- else if(j == 2) //주부유형
- {
- recitemNode.selectSingleNode("rectermcd").text = mskind;
- if(mskind == "M")
- {
- recitemNode.selectSingleNode("rectermnm").text = "주";
- }
- else
- {
- recitemNode.selectSingleNode("rectermnm").text = "부";
- }
- }
- else if(j == 3) //진단코드, 진단명
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
-
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- }
- //2008년 7월 06일 박종훈(진단명 끌어오기)
- function fSetDiagNmbyDegnItemLevlCd_Old(paminfo, degnlvcd)
- {
- var pageInfo = new PAGEINFO();
- var iNodeCnt = getNodesetCnt(model, pageInfo.initRecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
- if(iNodeCnt == 0)
- return;
- model.removeNodeset(pageInfo.RecinfoGridrecItemRef + "[orgdegnitemkind = 'DGN']");
- var sPid = paminfo.selectSingleNode("pid").text;
- var sCretno = paminfo.selectSingleNode("cretno").text;
- var sOrddeptcd = paminfo.selectSingleNode("orddeptcd").text;
- var sIoflag = paminfo.selectSingleNode("chosflag").text;
- var sOrddd = paminfo.selectSingleNode("orddd").text;
- model.removeNodeset("/root/main/diaginfo");
- model.makeValue("/root/send/cond1", sPid);//pid
- model.makeValue("/root/send/cond2", sOrddd);//orddd
- model.makeValue("/root/send/cond3", sCretno);//cretno
- model.makeValue("/root/send/cond4", sOrddeptcd);//orddeptcd
- model.makeValue("/root/send/cond5", sIoflag);//ioflag
- submit("TRMMO00105", false);
- var diagnm = "";
- var diagcd = "";
- var nodeList = instance1.selectNodes("/root/main/diaginfo/diagcdlist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var diagcd = "";
- var diagnm = "";
- if(model.getValue(pageInfo.formmastRef + "/langflag") == "EN")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- else
- diagnm = nodeList.item(i).selectSingleNode("diaghngnm").text;
- if(diagnm == "")
- diagnm = nodeList.item(i).selectSingleNode("diagengnm").text;
- var diagcd = nodeList.item(i).selectSingleNode("icd10cd").text;
- var ro = nodeList.item(i).selectSingleNode("diagkindcd").text;
- var mskind = nodeList.item(i).selectSingleNode("diagkindcdflag").text;
-
- if (mskind == "M")
- {
- parent.window.javascript.setParameter("SSMRF04000_diagnm", diagnm);
- }
- if(getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960')]/recitem[rectermcd='" + diagcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode("/root/temp/recinfo/grid");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000960') and degnitemkind = 'GRD']");
- //grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- if(j == 1) //R/O
- {
- recitemNode.selectSingleNode("rectermcd").text = ro;
- if(ro == "R")
- {
- recitemNode.selectSingleNode("rectermnm").text = "R/O";
- }
- }
- else if(j == 2) //주부유형
- {
- recitemNode.selectSingleNode("rectermcd").text = mskind;
- if(mskind == "M")
- {
- recitemNode.selectSingleNode("rectermnm").text = "주";
- }
- else
- {
- recitemNode.selectSingleNode("rectermnm").text = "부";
- }
- }
- else if(j == 3) //진단코드, 진단명
- {
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- }
- //2008년 4월 22일 박종훈(수술명 끌어오기)
- function fSetOpNmbyDegnItemLevlCd(paminfo, degnlvcd)
- {
- var pageInfo = new PAGEINFO();
- if(getNodesetCnt(model, pageInfo.initRecinfoGridrecItemRef + "[orgdegnitemkind = 'OPN']") == 0)
- return;
- model.removeNodeset(pageInfo.RecinfoGridrecItemRef + "[orgdegnitemkind = 'OPN']");
- var sPid = paminfo.selectSingleNode("pid").text;
- var sCretno = paminfo.selectSingleNode("cretno").text;
- var sOrddeptcd = paminfo.selectSingleNode("orddeptcd").text;
- var sIoflag = paminfo.selectSingleNode("chosflag").text;
- var sOrddd = paminfo.selectSingleNode("orddd").text;
- var operation = getGlobalVariable("operation").split("▩")[1]; //수술정보 가져옴
- var sOprsrvno = ""; //수술예약번호
- if(operation != null && operation != ""){
- sOprsrvno = operation.split("▦")[0];
- }
- model.removeNodeset("/root/temp/selectoplist");
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", sPid); //pid
- model.makeValue("/root/send/orddd", sOrddd); //orddd
- model.makeValue("/root/send/cretno", sCretno); //cretno
- if (sOprsrvno == "")
- {
- model.makeValue("/root/send/srchmode", "opr"); //조회조건 opr : 환자 원무정보기준, dr : 수술예약번호 + pid
- }
- else
- {
- model.makeValue("/root/send/srchmode", "dr"); //조회조건 opr : 환자 원무정보기준, dr : 수술예약번호 + pid
- model.makeValue("/root/send/oprsrvno", sOprsrvno); //oprsevno
- }
- submit("TRMRF04301", false);
- var nodeList = instance1.selectNodes("/root/temp/selectoplist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var opcd = "";
- var opnm = "";
- opnm = nodeList.item(i).selectSingleNode("opengnm").text;
- opcd = nodeList.item(i).selectSingleNode("opcd").text;
- if(getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000509')]/recitem[rectermcd='" + opcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode("/root/temp/recinfo/grid");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000509')]");
- //grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //수술코드, 수술명
- if(j == 1)
- {
- recitemNode.selectSingleNode("rectermcd").text = opcd;
- recitemNode.selectSingleNode("rectermnm").text = opnm;
- }
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- }
- //2008년 4월 22일 박종훈(수술명 끌어오기)
- function fSetOpNmbyDegnItemLevlCd_old(paminfo, degnlvcd)
- {
- var pageInfo = new PAGEINFO();
- if(getNodesetCnt(model, pageInfo.initRecinfoGridrecItemRef + "[orgdegnitemkind = 'OPN']") == 0)
- return;
- model.removeNodeset(pageInfo.RecinfoGridrecItemRef + "[orgdegnitemkind = 'OPN']");
- var sPid = paminfo.selectSingleNode("pid").text;
- var sCretno = paminfo.selectSingleNode("cretno").text;
- var sOrddeptcd = paminfo.selectSingleNode("orddeptcd").text;
- var sIoflag = paminfo.selectSingleNode("chosflag").text;
- var sOrddd = paminfo.selectSingleNode("orddd").text;
- var operation = getGlobalVariable("operation").split("▩")[1]; //수술정보 가져옴
- var sOprsrvno = ""; //수술예약번호
- if(operation != null && operation != ""){
- sOprsrvno = operation.split("▦")[0];
- }
- model.removeNodeset("/root/temp/selectoplist");
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/pid", sPid); //pid
- model.makeValue("/root/send/orddd", sOrddd); //orddd
- model.makeValue("/root/send/cretno", sCretno); //cretno
- if (sOprsrvno == "")
- {
- model.makeValue("/root/send/srchmode", "opr"); //조회조건 opr : 환자 원무정보기준, dr : 수술예약번호 + pid
- }
- else
- {
- model.makeValue("/root/send/srchmode", "dr"); //조회조건 opr : 환자 원무정보기준, dr : 수술예약번호 + pid
- model.makeValue("/root/send/oprsrvno", sOprsrvno); //oprsevno
- }
- submit("TRMRF04301", false);
- var nodeList = instance1.selectNodes("/root/temp/selectoplist");
- for(var i = 0; i < nodeList.length; i++)
- {
- var opcd = "";
- var opnm = "";
- opnm = nodeList.item(i).selectSingleNode("opengnm").text;
- opcd = nodeList.item(i).selectSingleNode("opcd").text;
- if(getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000509')]/recitem[rectermcd='" + opcd + "']") > 0)
- continue;
- var grdNode = instance1.selectSingleNode(pageInfo.initRecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000509')]");
- grdNode = grdNode.cloneNode(true);
- //grd rowno를 갱신한다.
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridrecItemRef + "[contains(degnitemlevlcd, '" + degnlvcd + "') and contains(degnitemcd, '0000509')]");
- grdNode.selectSingleNode("rowno").text = rowno;
- var recitemList = grdNode.selectNodes("recitem");
- for(var j = 0; j < recitemList.length; j++)
- {
- var recitemNode = recitemList.item(j);
- recitemNode.selectSingleNode("rowno").text = rowno;
- //수술코드, 수술명
- //if(j == 2)
- //{
- recitemNode.selectSingleNode("rectermcd").text = opcd;
- recitemNode.selectSingleNode("rectermnm").text = opnm;
- //}
- }
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- }
- model.refresh();
- //진단명 : 0016650.0000960
- //fSetItemDataByItemBaseCd("0016650.0000960", "0000960", diagnm);
- //질병분류기호 : 0016650.0014533
- //fSetItemDataByItemBaseCd("0016650.0014533", "0014533", diagcd);
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : snoweye
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 함수
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetFormXrw()
- {
- var pageInfo = new PAGEINFO();
-
- model.removeNodeset(pageInfo.imgelistRef);
- model.makeValue("/root/temp/formxrwyn", "Y");
- model.makeValue("/root/temp/loadcomplete", "false");
- //2014/03/14 이정택 변경
- // var strXrw = window.document.save(null, false);
- var strXrw = window.document.save();
- //2014/03/14 이정택 변경
- strXrw = strXrw.replace("<?xml version=\"1.0\" encoding=\"EUC-KR\"?>", "<?xml version=\"1.0\" encoding=\"utf-8\"?>");
-
- var strNewXrw = "";
- var strNoneGrupXrw = "";
- //model.setValue("/root/send/savedata/formmast/formxrw", strXrw, true);
- strNoneGrupXrw = fRemoveGroupTag(strXrw);
- strNewXrw = fGetHead(strNoneGrupXrw) + fGetBody(strNoneGrupXrw);
-
- // 저장할 데이터에 "▩quatation"문자를 "로 다시 변경
- strNewXrw = strNewXrw.setReplaceWord("▩quatation", "\"");
-
- //2014/04/07 이정택 수정 Datagrid가 들어갈시 문제됨
- strNewXrw = strNewXrw.setReplaceWord("▩", "\|");
- strNewXrw = strNewXrw.setReplaceWord("▦", "\^");
- //2014/04/07 이정택 수정
-
- return strNewXrw;
- }
- /**
- * @group :
- * @ver : 2009.7.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 함수
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetUserFormXrw()
- {
- var pageInfo = new PAGEINFO();
-
- model.removeNodeset(pageInfo.imgelistRef);
- model.makeValue("/root/temp/formxrwyn", "Y");
- model.makeValue("/root/temp/loadcomplete", "false");
-
- var strXrw = window.document.save(false);
- strXrw = strXrw.replace("<?xml version=\"1.0\" encoding=\"EUC-KR\"?>", "<?xml version=\"1.0\" encoding=\"utf-8\"?>");
-
- var strNewXrw = "";
- var strNoneGrupXrw = "";
- //model.setValue("/root/send/savedata/formmast/formxrw", strXrw, true);
- strNoneGrupXrw = fRemoveGroupTag(strXrw);
- strNewXrw = fGetHead(strNoneGrupXrw) + fGetBody(strNoneGrupXrw);
-
- // 저장할 데이터에 "▩quatation"문자를 "로 다시 변경
- strNewXrw = strNewXrw.setReplaceWord("▩quatation", "\"");
-
- return strNewXrw;
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify : <body>, <import> tag width, height 속성 '0'으로 변경 (snoweye - 2008/09/02)
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 시 <import> 태그 이전의 스트링값을 반환함.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetHead(str)
- {
- var strXrw = str;
- var strFront;
-
- var regexp1 = new RegExp('(</instance>)', 'igm');
- if (regexp1.test(strXrw) == '1')
- {
- strFront = RegExp.leftContext + "</instance>\r\n";
-
- strFront += fGetBindInfo(strXrw);
-
- strFront += "\r\n</model>\r\n</xhtml:head>\r\n<xhtml:body>\r\n"; //2011.01.27, 주희경, 속도개선으로 추가
- // strFront += "\r\n</model>\r\n</xhtml:head>\r\n<xhtml:body autorefresh=\"false\">\r\n"; //2011.01.27, 주희경, 속도개선으로 추가
-
- strFront += "<script type=\"javascript\" ev:event=\"xforms-value-changed\">\r\n";
-
- strFront += "<![CDATA[\r\n";
-
- strFront += "\tfChkValid();\r\n";
-
- strFront += "]]]]><![CDATA[>\r\n";
-
- strFront += "</script>\r\n";
-
- strFront += "<import id=\"canvas_main\" visibility=\"hidden\" instancetype=\"merge\" src=\"SSMRF01200.xrw\" style=\"left:0px; top:0px; width:0px; height:0px; \"/>";
-
- return strFront;
- }
- else
- {
- return "";
- }
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 시 </import> 태그 이후의 스트링값을 반환함.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetBody(str)
- {
- var strXrw = str;
-
- var regexp = new RegExp('(</import>)', 'igm');
-
- if (regexp.test(strXrw) == '1')
- {
- strBody = RegExp.rightContext + "\r\n";
-
- return strBody;
- }
- else
- {
- return "";
- }
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 시 bind 태그를 반환함.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetBindInfo(str)
- {
- var strXrw = str;
-
- var regexp = new RegExp('(<bind [^<>]+>)', 'igm');
- if (regexp.test(strXrw) == true)
- {
- var bindinfo = strXrw.match(regexp);
-
- var strRtn = "";
-
- for(var idx =0; idx < bindinfo.length; idx++)
- {
- strRtn += bindinfo[idx] + "\r\n";
- }
-
- return strRtn;
- }
- else
- {
- return "";
- }
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 서식 저장 시 group 태그를 삭제 해줌..
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fRemoveGroupTag(str)
- {
- var strXrw = str;
- var grpexpSt = new RegExp('(<group[^<>]+>)', 'igm');
- var grpexpEd = new RegExp('(</group>)', 'igm');
-
- if (grpexpSt.test(strXrw) == true)
- {
- strXrw = strXrw.replace(grpexpSt, '');
- }
-
- if (grpexpEd.test(strXrw) == true)
- {
- strXrw = strXrw.replace(grpexpEd, '');
- }
- return strXrw;
- }
- /**
- * @group :
- * @ver : 2008.07.16
- * @by : 이상현
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 제증명에서 환자정보를 세팅해줌
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetNewProfInfo(patinfo, instcd, userid, patInsuranceInfo)
- {
- if(patinfo.selectSingleNode("pid") == null || patinfo.selectSingleNode("pid").text == "")
- return;
-
- g_pageInfo = new PAGEINFO();
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var langflag = model.getValue(g_pageInfo.formmastRef + "/langflag");
- //if(model.getValue(g_pageInfo.formmastRef + "/formxrwyn") == "")
- // return;
-
- // 2009.05.07 이경희
- // 서식별 기본 문장 조회
- var dutplcecd = getUserInfo("dutplcecd");
- var hardcdno = "1003"; // 제증명 기본 문장 코드
-
- model.makeValue("/root/send/reqdata/hardcdno", hardcdno);
- submit("TRMRF03104");
-
- var hardcdlistNode = findNodeset(model, "/root/main/hardcdlist");
-
- for(var idx = 0; idx < hardcdlistNode.length; idx++)
- {
- var hardcdNode = hardcdlistNode.item(idx);
-
- if(hardcdNode.selectSingleNode("trgtcd").text == "INTERM_KOSTR")
- {
- if(hardcdNode.selectSingleNode("trgtcdnm").text != "")
- g_PROF_INTERM_STR = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
- else if(hardcdNode.selectSingleNode("trgtcd").text == "OUTTERM_KOSTR")
- {
- if(hardcdNode.selectSingleNode("trgtcdnm").text != "")
- g_PROF_OUTTERM_STR = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
- else if(hardcdNode.selectSingleNode("trgtcd").text == "OUTTERM_ENSTR")
- {
- if(hardcdNode.selectSingleNode("trgtcdnm").text != "")
- g_PROF_OUTTERM_ENG_STR = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
- else if(hardcdNode.selectSingleNode("trgtcd").text == "OUTPAT_KOSTR")
- {
- if(hardcdNode.selectSingleNode("trgtcdnm").text != "")
- g_PROF_OUTPAT_STR = hardcdNode.selectSingleNode("trgtcdnm").text;
- }
- }
- //공통정보
- fSetPatInfo(patinfo);
- fSetHospInfo(instcd);
-
- if(formcd != "0000001539"){
- fSetDocInfo(userid, langflag);
- fSetSignImge(userid);
- }
-
- if(formcd != "0000001457" && //수술확인서가 아닌경우
- formcd != "0000001300" && //입원사실확인서
- //formcd != "0000001283" && //입퇴원확인서
- formcd != "0000001485" && //사산/사태 증명서 (엄마 base)
- formcd != "0000001113" && //출생 증명서 (아기 base)
- formcd != "0000002639" && //통원치료확인서
- formcd != "0000002588" && //통원치료확인서(영문)
- formcd != "0000002792" && //상급병실확인서 (2009.07.27. 추가)
- formcd != "1100011101" && //입원사실확인서(입원중) - KNUH_20110412_추가
- formcd != "1100011102" && //출생증명서(입원중) - KNUH_20110412_추가
- formcd != "0000001314") //사망진단서
- {
- //진단세팅로직 공통함수로 변경 : snoweye(2008-07-15)
- //fSetDiagNm(patinfo);
- //0016650.0000960
- var sPid = patinfo.selectSingleNode("pid").text;
- var sCretno = patinfo.selectSingleNode("cretno").text;
- var sOrddeptcd = patinfo.selectSingleNode("orddeptcd").text;
- var sIoflag = patinfo.selectSingleNode("ioflag").text;
- var sOrddd = patinfo.selectSingleNode("orddd").text;
-
- //20100719-kys-발행제증명존재시 잘행된 진단명연동건으로추가
- var sIssparam = "";
- if(patinfo.selectSingleNode("issformrecseq").text != ""){
- sIssparam = patinfo.selectSingleNode("issformrecseq").text + "," + patinfo.selectSingleNode("isslangflag").text;
- }
- //fSetDiagNmbyDegnItemLevlCd_prof(sPid, sCretno, sOrddd, sOrddeptcd, sIoflag, "0016650.0000960");
- //20100719-kys-param추가
- fSetDiagNmbyDegnItemLevlCd_prof(sPid, sCretno, sOrddd, sOrddeptcd, sIoflag, "0016650.0000960", sIssparam);
- }
-
- if(formcd == "0000001485") //사산/사태 증명서 (엄마 base)
- {
- fSetDethBabyInfo(patinfo);
- }
- //else if(formcd == "0000001113") //출생 증명서 (아기 base) - KNUH_20110412_추가
- else if(formcd == "0000001113" || formcd == "1100011102") //출생 증명서 (아기 base)
- {
- fSetBabyInfo(patinfo);
- }
- else if(formcd == "0000001457") //수술확인서
- {
- fSetOpInfo(patinfo);
- }
- else if(formcd == "0000001314" || formcd == "0000001478") //사망진단서
- {
- fSetDethPatInfo(patinfo);
- }
- // KNUH_20110412_추가
- //else if(formcd == "0000001300" || formcd == "0000001283") //입퇴원확인서(원무용), 입퇴원확인서(진단명포함)
- //else if(formcd == "0000001283" || formcd == "0000001300") //입퇴원확인서(진단명포함) , 입원사실확인서(진단명제외)
- else if(formcd == "0000001283" || formcd == "0000001300" || formcd == "1100011101") //입퇴원확인서(진단명포함) , 입원사실확인서(진단명제외)
- {
- fSetInTerm(patinfo);
- }
- else if(formcd == "0000002639" || formcd == "0000002588" || formcd == "0000001312")//통원치료확인서, 통원치료확인서(영문)
- {
- fSetOrdDD(patinfo);
- }
- else if(formcd == "0000001484") //장애인증명서
- {
- fSetPrsdInfo();
- }
- else if(formcd == "0000001490") // 보장구검수확인서, 보장구처방전
- {
- fSetInsuInfo(patinfo);
- }
- else if(formcd == "0000001489") // 보장구처방전
- {
- fSetInsuInfo(patinfo);
- }
- else if(formcd == "0000002526") // 산소치료처방전
- {
- fSetInsuInfo(patinfo);
- }
- else if(formcd == "0000000618") // 투석환자 전원소견서
- {
- fSetInsuInfo(patinfo);
- }
- else if(formcd == "0900005340") // 진료의뢰서
- {
- fSetInsuInfo(patinfo);
- fSetInsuranceInfo(patInsuranceInfo);
- }
- else if(formcd == "1000007900") // 요양급여의뢰서 2010.04.15 성규훈 수정
- {
- fSetInsuInfo(patinfo);
- }
- else if(formcd == "0900005341") // 노인장기요양소견서
- {
- if(parseInt(model.getValue("/root/hidden/patinfo/age")) >= 65)
- {
- model.setValue("/root/main/recinfo/recitem[degnitemno='171']/rectermcd", "0034105001");
- model.setValue("/root/main/recinfo/recitem[degnitemno='171']/rectermnm", "65세 이상자", true);
- }
- else
- {
- model.setValue("/root/main/recinfo/recitem[degnitemno='171']/rectermcd", "0034107001");
- model.setValue("/root/main/recinfo/recitem[degnitemno='171']/rectermnm", "65세 미만자", true);
- }
-
- //연령 : 0001209.0000653
- fSetItemDataByItemBaseCd("0001209.0000653", "0000653", model.getValue("/root/hidden/patinfo/age"));
- }
- else if(formcd == "0000002792") //상급병실확인서 (2009.07.27. 추가)
- {
- fSetRoomChargeList(patinfo);
- }
-
- //fSetItemDataByItemBaseCd("0004499", "0004499", "20080801");
- //발행일 : 0004499
- //fSetItemDataByItemBaseCd("0004499", "0004499", getCurrentDate());
- //fSetItemDataByItemBaseCd("0004499", "0004499", getCurrentDate().toDate().getDateFormat("YYYY-MM-DD"));
- fReCalculate();
- //model.recalculate();
- //model.refresh();
-
- }
- /**
- * @group :
- * @ver : 2008.07.16
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 진료기록에서 서식로드 시 현재 일자로 설정된 아이템을 찾아 현재일자로 변환한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetCurrentDateCal()
- {
- var pageInfo = new PAGEINFO();
-
- var DateListNode = findNodeset(model, pageInfo.recRef2 + "/curdatelist/date");
- for(var idx = 0; idx < DateListNode.length; idx++)
- {
- var subdateNode = DateListNode.item(idx);
-
- // 현재일자 구하기
- var strcurDate = getCurrentDate();
-
- strcurDate = strcurDate.toDate().getDateFormat("YYYY-MM-DD");
-
- // recinfo 노드에서 해당 degnitemno 구하기
- var recitemNode = findNode(model, pageInfo.grdNodeset+ "[degnitemno = '" + subdateNode.text + "' and degnitemkind = 'CAL']");
-
- if(recitemNode != null)
- {
- recitemNode.selectSingleNode("reccnts").text = strcurDate;
- model.refresh();
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 저장된 서식을 열었을때 가계도 데이터를 찾아 열어줌.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fLoadFdgInfo()
- {
- var pageInfo = new PAGEINFO();
-
- var ivwLoader = null;
-
- var openerId = opener.window.javascript.getScreenID();
-
- if(openerId == "SMMRF01000" || openerId == "SMMRF00600") // 서식디자인, 사용자항목설정 화면은 건너뜀.
- return;
- // 서식 정보를 가져온다.
- var forminfoNode = opener.window.model.instance1.selectSingleNode(pageInfo.formmastRef);
-
- //var formprogflagNode = forminfoNode.selectSingleNode("formprogflag");
-
- var FDGNode = "";
-
- if(openerId == "SSMMR01100") // 서식로더
- {
- try{
- ivwLoader = opener.window;
-
- if(ivwLoader.javascript.isPopup() == false)
- {
- // 결과관리(서식)
- FDGNode = findNodeset(opener.model, pageInfo.recRef +"/recitem[degnitemkind = 'FDG']");
- }
- else
- {
- // 특수서식
- FDGNode = findNodeset(opener.model, pageInfo.recRef +"/recitem[degnitemkind = 'FDG']");
- }
- }
- catch(e)
- {
- return;
- }
- }
- else
- {
- // 공통서식인 경우 opener.opener 가 서식로더.
- //if(formprogflag == "PROG")
- try{
- ivwLoader = opener.opener.window;
-
- FDGNode = findNodeset(opener.opener.model, pageInfo.recRef +"/recitem[degnitemkind = 'FDG']");
- }
- catch(e)
- {
- return;
- }
- }
-
- //var FDGNode = ivwLoader.model.instance1.selectNodes(pageInfo.recItemRef + "[degnitemkind = 'FDG']");
-
- for(var idx=0; idx< FDGNode.length; idx++)
- {
- var itemNode = FDGNode.item(idx);
-
- var degnitemno = itemNode.selectSingleNode("degnitemno").text;
-
- var recFDGNode = ivwLoader.model.instance1.selectNodes(pageInfo.recItemRef + "[degnitemkind = 'FDG' and degnitemno = '" + degnitemno + "']");
-
- for(var idx=0; idx< recFDGNode.length; idx++)
- {
- var itemNode = recFDGNode.item(idx);
-
- var strFDGmetadata = itemNode.selectSingleNode("reccnts").text;
-
- var strFDGbase64 = itemNode.selectSingleNode("recimge").text;
-
- if(strFDGmetadata != "")
- {
- var degnitemno = itemNode.selectSingleNode("degnitemno").text;
-
- var ctrlid = "FDG_" + degnitemno;
-
- var ocxObj = document.controls(ctrlid);
-
- if(ocxObj != null)
- {
- eval(ctrlid).LoadMetadata(strFDGmetadata);
-
- setParameter("SPMMR04711_shape", strFDGmetadata);
-
- setParameter("SPMMR04711_base64", strFDGbase64);
- }
- }
- }
- }
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.07.14
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 진료기록에서 편집가능한 이미지가 포함된 서식을 열었을때 LiveImage에서 이미지를 열수 있도록 해줌.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fLoadOcxImage()
- {
- var pageInfo = new PAGEINFO();
-
- var ImgListNode = findNodeset(model, pageInfo.recRef2 + "/editimglist/imgid");
-
- for(var idx = 0; idx < ImgListNode.length; idx++)
- {
- var imgidNode = ImgListNode.item(idx);
-
- var ctrlid = imgidNode.text.split(".")[0];
- var degnitemcd = imgidNode.text.split(".")[1];
- var degnitemno = ctrlid.split("_")[1];
-
- var degnitemlevlcd = model.getValue(pageInfo.recItemRef + "[degnitemkind='IMG' and degnitemcd = '" + degnitemcd + "'and degnitemno='"+ degnitemno +"']/degnitemlevlcd");
- var ocxObj = document.controls(ctrlid);
-
- if(ocxObj != null)
- {
- var domain = getMainDomain();
-
- var imgurl = fGetImgUrl(degnitemcd);
-
- var imgsrc = domain + imgurl;
-
- eval(ctrlid).LoadImage(imgsrc);
-
- /// 기록된 서식인지 확인
- var recitemNodelist = "";
-
- var ivwLoader = null;
-
- // 서식 정보를 가져온다.
- var forminfoNode = opener.window.model.instance1.selectSingleNode(pageInfo.formmastRef);
-
- var formprogflag = forminfoNode.selectSingleNode("formprogflag").text;
-
- var openerId = opener.window.javascript.getScreenID();
-
- if(openerId == "SSMMR01100") // 서식로더
- {
- ivwLoader = opener.window;
-
- if(ivwLoader.javascript.isPopup() == false)
- {
- // 결과관리(서식)
- recitemNodelist = findNodeset(opener.model, pageInfo.recRef +"/recitem[degnitemkind='IMG' and degnitemcd='" + degnitemcd + "' and degnitemno='" + degnitemno + "']");
- }
- else
- {
- var openmode = getParameter("openmode");
- if ( openmode == "extnunitform" ) { //2010.02.09 , 주희경 , 확장 서식 로딩 시
- recitemNodelist = findNodeset(model, pageInfo.recRef +"/recitem[degnitemkind='IMG' and degnitemcd='" + degnitemcd + "' and degnitemno='" + degnitemno + "']");
- }
- else {
- // 특수서식
- recitemNodelist = findNodeset(opener.model, pageInfo.recRef +"/recitem[degnitemkind='IMG' and degnitemcd='" + degnitemcd + "' and degnitemno='" + degnitemno + "']");
- }
- }
- }
- else
- {
- // 공통서식인 경우 opener.opener 가 서식로더.
- //if(formprogflag == "PROG")
- ivwLoader = opener.opener.window;
-
- recitemNodelist = findNodeset(opener.opener.model, pageInfo.recRef +"/recitem[degnitemkind='IMG' and degnitemcd='" + degnitemcd + "' and degnitemno='" + degnitemno + "']");
- }
-
- if(recitemNodelist.length > 0)
- {
- var strXvgInfo = new Array(3);
- for(var recidx=0; recidx < recitemNodelist.length; recidx++)
- {
- var recitemNode = recitemNodelist.item(recidx);
-
- var Tmpdegnitemcd = recitemNode.selectSingleNode("degnitemcd").text;
- var degnitemkind = recitemNode.selectSingleNode("degnitemkind").text;
- var Tmpdegnitemlevlcd = recitemNode.selectSingleNode("degnitemlevlcd").text;
- var Tmpdegnitemno = recitemNode.selectSingleNode("degnitemno").text;
- var reccnts = recitemNode.selectSingleNode("reccnts").text;
-
- if(degnitemkind != "IMG")
- continue;
-
- if(degnitemcd == Tmpdegnitemcd && degnitemno == Tmpdegnitemno)
- {
- // caption 을 모두 CDATA 처리
- reccnts = SetCdata(reccnts);
-
- if(reccnts != "")
- {
- strXvgInfo = GetMetaMode(reccnts);
- }
-
- var isLocalImg = recitemNode.selectSingleNode("degnitemnm").text;
-
- eval(ctrlid).Clear();
-
- var viewMode = eval(ctrlid).GetViewMode();
-
- if(viewMode != 1) { // ActiveX를 스크린 사이즈로 맞춤
- eval(ctrlid).SetViewMode(1);
- }
-
- if(isLocalImg == "LOCALIMG")
- {
- eval(ctrlid).SetControlSize(strXvgInfo[1], strXvgInfo[2]);
- var LocalRecBase64str = recitemNode.selectSingleNode("recimge").text;
- var LocalSrcBase64str = recitemNode.selectSingleNode("srcimge").text;
-
- // 로컬 이미지 세팅
- var LocalDegnitemNoNode = "/root/temp2/localimage/" + ctrlid;
- var LocalDegnitemlevlCDNode = LocalDegnitemNoNode +"/degnitemlevlcd";
- var LocalYNNode = LocalDegnitemNoNode + "/LocalYN";
- var LocalFileNode = LocalDegnitemNoNode + "/LocalFileName";
- var LocalSrcimgeNode = LocalDegnitemNoNode + "/srcimge";
-
- model.makeValue(LocalDegnitemNoNode, "true");
- model.makeValue(LocalYNNode, "Y");
- //model.makeValue(LocalFileNode, selFileName, true);
- model.makeValue(LocalDegnitemlevlCDNode, degnitemlevlcd);
-
- // 뷰모드를 가로/세로 비율로 변경
- if(eval(ctrlid).GetViewMode() != "4")
- eval(ctrlid).SetViewMode(4);
-
- if(LocalSrcBase64str != "")
- {
- eval(ctrlid).LoadImageBase64(LocalSrcBase64str);
- model.makeValue(LocalSrcimgeNode, LocalSrcBase64str, true);
-
- // 백업
- var ImgNode = "/root/main/localimage/" + ctrlid;
- model.makeNode(ImgNode);
- model.copyNode( ImgNode, LocalDegnitemNoNode );
- }
- else if(LocalRecBase64str != "" && LocalSrcBase64str == "")
- {
- eval(ctrlid).LoadImageBase64(LocalRecBase64str);
-
- var ctrlInfoXVG = removeXvgTag(reccnts);
-
- if(ctrlInfoXVG == "")
- LocalSrcBase64str = LocalRecBase64str;
-
- model.makeValue(LocalSrcimgeNode, LocalSrcBase64str, true);
-
- // 백업
- var ImgNode = "/root/main/localimage/" + ctrlid;
- model.makeNode(ImgNode);
- model.copyNode( ImgNode, LocalDegnitemNoNode );
- }
-
- //var strBase64 = eval(ctrlid).SaveImageBase64(); // BMP 형식대로 리턴.
- //var strBase64 = obj_imge.SaveJpegBase64(); // JPG 형식대로 리턴.
- }
- else
- {
- eval(ctrlid).LoadImage(imgsrc);
- }
- if(reccnts != "" && reccnts != "-")
- {
- //eval(ctrlid).SetShapeString(reccnts);
- //var strRecBase64 = eval(ctrlid).SaveJpegBase64();
-
- var tmpShape = removeXvgTag(reccnts);
- var strRecBase64 = "";
- if(tmpShape != "")
- {
- eval(ctrlid).SetShapeString(reccnts);
- }
- strRecBase64 = eval(ctrlid).SaveJpegBase64();
-
- model.setValue(pageInfo.recItemRef + "[degnitemkind='IMG' and degnitemlevlcd = '" + degnitemlevlcd + "']/reccnts", reccnts);
- model.setValue(pageInfo.recItemRef + "[degnitemkind='IMG' and degnitemlevlcd = '" + degnitemlevlcd + "']/recimge", strRecBase64);
- model.refresh();
- }
- }
- }
- }
- else // 서식내의 DB이미지를 오픈(기록된 서식이 아닌 서식을 작성하기 위해 로드한 경우)
- {
- eval(ctrlid).LoadImage(imgsrc);
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.07.22
- * @by : 이상현
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 서식의 입력컨트롤에 값이 변경되었을 경우 유효한 값인지 체크한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChkValid()
- {
- var pageInfo = new PAGEINFO();
- var ctrlid = event.target;
- var degnitemno = ctrlid.substr(ctrlid.indexOf("_"));
-
- var degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
- //발행일 체크
- if(degnitemlevlcd == "0004499")
- {
- var clsVal = getFormItemValue("0004499");
- var recdd = clsVal.reccnts.toDate("YYYY-MM-DD").getDateFormat("YYYYMMDD");
- var curdd = getCurrentDate().toDate().getDateFormat("YYYYMMDD");
-
- var itemVal = new ITEMVAL();
- itemVal.reccnts = curdd;
- if(recdd > curdd)
- {
- alert("발행일에 미래일자를 설정할 수 없습니다.");
- setFormItemValue("0004499", itemVal, true);
- model.setFocus(ctrlid, true);
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.07.22
- * @by : 이상현
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료기록에서 컨트롤의 (입력불가/출력시 보이지 않게) 속성을 다시 반영한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetBtnCtrlAttrval()
- {
- var pageInfo = new PAGEINFO();
-
- var CtrlListNode = findNodeset(model, pageInfo.formdegnRef);
-
- for(var idx = 0; idx < CtrlListNode.length; idx++)
- {
- var CtrlNode = CtrlListNode.item(idx);
-
- var degnattrvalNode = CtrlNode.selectSingleNode("degnattrval");
-
- if(degnattrvalNode == null || degnattrvalNode.text == "")
- continue;
-
- var degnitemnoNode = CtrlNode.selectSingleNode("degnitemno");
- var degnitemkindNode = CtrlNode.selectSingleNode("degnitemkind");
-
- if(degnattrvalNode != null && degnattrvalNode.text != "")
- {
- // 해당 컨트롤 ID 구하기
- var ctrlid = degnitemkindNode.text + "_" + degnitemnoNode.text;
- var ctrl = document.controls(ctrlid);
-
- if(ctrl == null)
- continue;
-
- var ctrltype = ctrl.attribute("ctrltype");
-
- // 입력 불가 설정
- var degnattrval = getStyleValue(degnattrvalNode.text, "ctrl.disabled");
-
- if(degnattrval == "true")
- {
- //ctrl.attibute("editable") = "false";
- ctrl.disabled = true;
- }
- else
- {
- //ctrl.attibute("editable") = "true";
- ctrl.disabled = false;
- }
-
- // 출력시 보이지 않게
- var degnattrval = getStyleValue(degnattrvalNode.text, "ctrl._printable");
-
- if(degnattrval == "false")
- {
- ctrl.visible = false;
- }
- else
- {
- ctrl.visible = true;
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.08.07
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 이미지편집툴 팝업에서 로컬이미지를 등록한 경우 이벤트를 발생하는 함수
- * @param : imgecd 이미지코드
- * @param : strBase64 원본이미지 base64
- * @return :
- * @---------------------------------------------------
- */
- function fUpdateImgList(LocalSrcimgeNode, degnitemlevlcd, degnitemno, strBase64)
- {
- var recitemNode = findNode(model, "/root/main/recinfo/recitem" + "[degnitemkind='IMG' and degnitemlevlcd='" + degnitemlevlcd + "' and degnitemno='"+ degnitemno + "']");
-
- if(recitemNode != null)
- {
- //model.makeValue("/root/rectemp/srcimge", strBase64, true);
- model.makeNode(LocalSrcimgeNode);
- model.makeValue(LocalSrcimgeNode, strBase64, true);
- /*
- var newNode = model.instance1.selectSingleNode("/root/rectemp/srcimge");
- var srcimgNode = "";
- srcimgNode = recitemNode.selectSingleNode("srcimge");
-
- if(srcimgNode != null)
- {
- recitemNode.replaceChild(newNode, srcimgNode);
- }
- else
- {
- recitemNode.appendChild(newNode);
- }
-
- model.removenode("/root/rectemp/srcimge");
-
- // 로컬이미지를 열었으므로 기존 recimage 를 지운다.
- recitemNode.selectSingleNode("recimge").text = "";
- */
- model.refresh();
- }
- }
-
- /**
- * @group :
- * @ver :
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진단명에서 진단 체크시 실행되는 함수
- * @param : imgecd 이미지코드
- * @param : strBase64 원본이미지 base64
- * @return :
- * @---------------------------------------------------
- */
- function fCheckDiagMsKindFlag()
- {
- try
- {
- var grdobj = event.ptarget.parent;
- var rowpos = grdobj.row;
- var colpos = grdobj.col;
- if(rowpos == 1)
- return;
- //////////////////////////////////////////////////////////////////
- // degnitemlevlcd 를 얻는다.
- var degnitemno = grdobj.attribute("degnitemno");
-
- var cnt = getNodesetCnt(model, "/root/main/recinfo/grid[degnitemno = '" + degnitemno + "']");
-
- // 여러 줄의 노드에서 첫번째 노드만을 검사한다.
- var DGNgrdlist = findNodeset(model, "/root/main/recinfo/grid[degnitemno = '" + degnitemno + "']");
- var degnitemlevlcd = "";
-
- for(var idx = 0; idx < DGNgrdlist.length; idx++)
- {
- var SubgrdNode = DGNgrdlist.item(idx);
-
- var recitemNode = SubgrdNode.selectSingleNode("/root/main/recinfo/grid[degnitemno='" + degnitemno + "']/recitem[rowno='" + (rowpos-1)+"' and colno='2']");
- if(recitemNode != null)
- {
- degnitemlevlcd = recitemNode.selectSingleNode("degnitemlevlcd").text;
- break;
- }
- }
- //////////////////////////////////////////////////////////////////
-
- var diagmskindflag = grdobj.valueMatrix(rowpos, colpos);
- if(colpos == 2 && diagmskindflag == "M"){
- var diagcd = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd");
- var diagnm = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm");
-
- if(diagcd == "" || diagnm == ""){
- grdobj.valueMatrix(rowpos, colpos) = "";
- return;
- }
- /*
- var ruleout = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='" + (rowpos-1) + "' and colno='0']/reccnts");
-
- var trgtdiagcd = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermcd");
- var trgtdiagnm = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermnm");
- var trgtruleout= model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='0' and colno='0']/reccnts");
-
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermcd", diagcd);
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermnm", diagnm);
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='0' and colno='0']/reccnts" , ruleout);
-
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd", trgtdiagcd);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm", trgtdiagnm);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='" + (rowpos-1) + "' and colno='0']/reccnts" , trgtruleout);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0001443' and rowno='" + (rowpos-1) + "' and colno='1']/reccnts", "S");
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0001443' and rowno='0' and colno='1']/reccnts", "M");*/
-
- //TF에서 XPath 다중조건(/root/main/recinfo/grid[degnitemlevlcd='0016650.0000960'][1]/...) 지원못함. grid를 직접조작하는 것으로 변경(snoweye)
- //grdobj.colref 사용못함.. 그리드 구조변경시 반드시 컬럼번호 수정해야함(snoweye)
-
- var diagcd = grdobj.valueMatrix(rowpos, 3);
- var diagnm = grdobj.valueMatrix(rowpos, 4);
- var ruleout = grdobj.valueMatrix(rowpos, 1);
-
- var trgtdiagcd = grdobj.valueMatrix(1, 3);
- var trgtdiagnm = grdobj.valueMatrix(1, 4);
- var trgtruleout= grdobj.valueMatrix(1, 1);
-
- grdobj.valueMatrix(1, 3) = diagcd;
- grdobj.valueMatrix(1, 4) = diagnm;
- grdobj.valueMatrix(1, 1) = ruleout;
-
- grdobj.valueMatrix(rowpos, 3) = trgtdiagcd;
- grdobj.valueMatrix(rowpos, 4) = trgtdiagnm;
- grdobj.valueMatrix(rowpos, 1) = trgtruleout;
-
- grdobj.valueMatrix(1, 2) = "M";
- grdobj.valueMatrix(rowpos, 2) = "S";
- }
- }
- catch(e)
- {
-
- }
- //model.refresh();
- }
-
- function fCheckDiagMsKindFlag_old(){
- var grdobj = event.ptarget.parent;
- var rowpos = grdobj.row;
- var colpos = grdobj.col;
- if(rowpos == 1)
- return;
-
- var diagmskindflag = grdobj.valueMatrix(rowpos, colpos);
- if(colpos == 2 && diagmskindflag == "M"){
- var diagcd = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd");
- var diagnm = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm");
-
- if(diagcd == "" || diagnm == ""){
- grdobj.valueMatrix(rowpos, colpos) = "";
- return;
- }
- /*
- var ruleout = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='" + (rowpos-1) + "' and colno='0']/reccnts");
-
- var trgtdiagcd = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermcd");
- var trgtdiagnm = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermnm");
- var trgtruleout= model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='0' and colno='0']/reccnts");
-
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermcd", diagcd);
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='0' and colno='2']/rectermnm", diagnm);
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='0' and colno='0']/reccnts" , ruleout);
-
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd", trgtdiagcd);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0000960' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm", trgtdiagnm);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0004249' and rowno='" + (rowpos-1) + "' and colno='0']/reccnts" , trgtruleout);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemlevlcd='0016650.0000960.0001443' and rowno='" + (rowpos-1) + "' and colno='1']/reccnts", "S");
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemlevlcd='0016650.0000960.0001443' and rowno='0' and colno='1']/reccnts", "M");*/
-
- //TF에서 XPath 다중조건(/root/main/recinfo/grid[degnitemlevlcd='0016650.0000960'][1]/...) 지원못함. grid를 직접조작하는 것으로 변경(snoweye)
- //grdobj.colref 사용못함.. 그리드 구조변경시 반드시 컬럼번호 수정해야함(snoweye)
-
- var diagcd = grdobj.valueMatrix(rowpos, 3);
- var diagnm = grdobj.valueMatrix(rowpos, 4);
- var ruleout = grdobj.valueMatrix(rowpos, 1);
-
- var trgtdiagcd = grdobj.valueMatrix(1, 3);
- var trgtdiagnm = grdobj.valueMatrix(1, 4);
- var trgtruleout= grdobj.valueMatrix(1, 1);
-
- grdobj.valueMatrix(1, 3) = diagcd;
- grdobj.valueMatrix(1, 4) = diagnm;
- grdobj.valueMatrix(1, 1) = ruleout;
-
- grdobj.valueMatrix(rowpos, 3) = trgtdiagcd;
- grdobj.valueMatrix(rowpos, 4) = trgtdiagnm;
- grdobj.valueMatrix(rowpos, 1) = trgtruleout;
-
- grdobj.valueMatrix(1, 2) = "M";
- grdobj.valueMatrix(rowpos, 2) = "S";
- }
- //model.refresh();
- }
- function fCheckDiagMsKindFlag_old2(){
- var grdobj = event.ptarget.parent;
- var rowpos = grdobj.row;
- var colpos = grdobj.col;
- var diagmskindflag = grdobj.valueMatrix(rowpos, colpos);
- if(colpos == 2 && diagmskindflag == "M"){
- var diagcd = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd");
- var diagnm = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm");
-
- var trgtdiagcd = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemcd='0000960001' and rowno='0' and colno='2']/rectermcd");
- var trgtdiagnm = model.getValue("/root/main/recinfo/grid[1]/recitem[degnitemcd='0000960001' and rowno='0' and colno='2']/rectermnm");
-
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemcd='0000960001' and rowno='0' and colno='2']/rectermcd", diagcd);
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemcd='0000960001' and rowno='0' and colno='2']/rectermnm", diagnm);
-
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (rowpos-1) + "' and colno='2']/rectermcd", trgtdiagcd);
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (rowpos-1) + "' and colno='2']/rectermnm", trgtdiagnm);
-
- model.setValue("/root/main/recinfo/grid[1]/recitem[degnitemcd='0001443001' and rowno='0' and colno='1']/reccnts", "M");
- model.setValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0001443001' and rowno='" + (rowpos-1) + "' and colno='1']/reccnts", "S");
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.08.07
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 디자인정보가 콤보인 아이템을 찾아 밸류리스트에 빈값을 추가한다.
- 2009.09.15 그리드내의 콤보항목인 경우도 밸류리스트에 빈값을 추가하도록 수정한다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetVallist()
- {
- var pageInfo = new PAGEINFO();
-
- var WorkVallistArr = new Array();
-
- var FormDegnNodeList = findNodeset(model, pageInfo.formdegnRef + "[degnitemkind='CMB' or degnitemkind='GSU']");
-
- var IsWorked = false;
- for(idx = 0; idx < FormDegnNodeList.length; idx++)
- {
- IsWorked = false;
-
- var FormdegnNode = FormDegnNodeList.item(idx);
-
- var valgrupcd = FormdegnNode.selectSingleNode("valgrupcd").text;
-
- // 해당 밸류리스트 노드에 빈노드를 추가하는 작업이 이미 진행되었는지 확인.
- for(var i=0; i < WorkVallistArr.length; i++)
- {
- if(WorkVallistArr[i] == valgrupcd)
- {
- IsWorked = true;
- break;
- }
- }
-
- if(IsWorked == true)
- {
- continue;
- }
-
- // Vallist 찾기
- var VallistNodeList = findNodeset(model, pageInfo.vallistRef + "[grupcd='" + valgrupcd +"']");
-
- // 해당 Vallist를 찾으면 빈 밸류노드를 추가한다.
- if(VallistNodeList.length > 0)
- {
- //var FstNode = VallistNodeList.item(0);
- var LastNode = VallistNodeList.item(VallistNodeList.length-1);
-
- var newNode = LastNode.cloneNode(true);
-
- newNode.selectSingleNode("valcd").text = "";
- newNode.selectSingleNode("valitemnm").text = "";
- newNode.selectSingleNode("valitempnt").text = "";
-
- //FstNode.parentNode.insertBefore(newNode ,FstNode);
- LastNode.parentNode.insertAfter(newNode ,LastNode);
-
- WorkVallistArr[idx] = valgrupcd;
- }
- }
- }
- /**
- * @group :
- * @ver : 2009.01.29
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 그리드의 rowheight를 resize 해줌.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fResetGrd()
- {
- var pageInfo = new PAGEINFO();
-
- var ivwLoader = null;
-
- var openerId = opener.window.javascript.getScreenID();
-
- if(openerId == "SMMRF01000" || openerId == "SMMRF00600") // 서식디자인, 사용자항목설정 화면은 건너뜀.
- return;
-
- // 서식디자인 정보를 가져온다.
- var formdegnNodelist = model.instance1.selectNodes(pageInfo.formdegnRef + "[degnitemkind='GRD']");
-
- var formdegnNode = "";
-
- if(openerId == "SSMMR01100") // 서식로더
- {
- try
- {
- for(var idx=0; idx< formdegnNodelist.length; idx++)
- {
- formdegnNode = formdegnNodelist.item(idx);
-
- var degnattrvalNode = formdegnNode.selectSingleNode("degnattrval");
- var degnitemnoNode = formdegnNode.selectSingleNode("degnitemno");
- var degnitemlevlcdNode = formdegnNode.selectSingleNode("degnitemlevlcd");
-
- if(degnattrvalNode != null)
- {
- var rowheightArr = getStyleValue(degnattrvalNode.text, "ctrl.rowheight").split("^");
-
- var grdid = "GRD_" + degnitemnoNode.text;
-
- var ctrl = document.controls(grdid);
-
- if(ctrl != null)
- {
- for(var rowidx = 0; rowidx < rowheightArr.length; rowidx++)
- {
- ctrl.rowheight(rowidx) = rowheightArr[rowidx];
- }
- if(ctrl.attribute("autoresize") == "true")
- ctrl.attribute("autoresize") = false;
-
- ctrl.refresh();
- }
- }
- }
- }
- catch(e)
- {
- return;
- }
- }
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2009.01.30
- * @by : 이경희
- * @modify:
- * @---------------------------------------------------
- * @type :
- * @access : public
- * @desc : 확장 컨트롤의 disabled를 재설정
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fResetDisableCtrls()
- {
- var pageInfo = new PAGEINFO();
-
- var ivwLoader = null;
-
- var openerId = opener.window.javascript.getScreenID();
-
- if(openerId == "SMMRF01000" || openerId == "SMMRF00600") // 서식디자인, 사용자항목설정 화면은 건너뜀.
- return;
-
- // 서식디자인 정보를 가져온다.
- var formdegnNodelist = model.instance1.selectNodes(pageInfo.formdegnRef + "[(degnitemkind = 'BOL' or degnitemkind = 'ISU' or degnitemkind = 'SSU') and itemattrval !='']");
-
- var formdegnNode = "";
-
- if(openerId == "SSMMR01100") // 서식로더
- {
- try
- {
- for(var idx=0; idx< formdegnNodelist.length; idx++)
- {
- formdegnNode = formdegnNodelist.item(idx);
-
- var itemattrvalNode = formdegnNode.selectSingleNode("itemattrval");
- var degnitemkindNode = formdegnNode.selectSingleNode("degnitemkind");
- var degnitemnoNode = formdegnNode.selectSingleNode("degnitemno");
-
- if(isSearchString(itemattrvalNode.text, "extn:visible") == false)
- continue;
-
- var recitemNode = "";
-
- if(degnitemkindNode.text == "SSU" || degnitemkindNode.text == "ISU")
- {
- // 상위 아이템 번호를 구한다.
- var supdegnitemnoNode = formdegnNode.selectSingleNode("supdegnitemno");
-
- // 상위 디자인아이템 노드를 구한 뒤, degnitemlevlcd를 이용하여 기록된 값이 있는지 확인한다.
- var supformdegnNode = model.instance1.selectSingleNode(pageInfo.formdegnRef + "[degnitemno ='" + supdegnitemnoNode.text + "']");
- var supdegnitemkindNode = supformdegnNode.selectSingleNode("degnitemkind");
-
- if(supdegnitemkindNode.text == "MSL")
- {
- var degnitemlevlcdNode = supformdegnNode.selectSingleNode("degnitemlevlcd"); // MSL의 degnitemlevlcd
- var degnitemcdNode = supformdegnNode.selectSingleNode("degnitemcd"); // MSL의 degnitemcd
- var termcdNode = formdegnNode.selectSingleNode("termcd"); // SSU의 termcd
- recitemNode = opener.model.instance1.selectSingleNode(pageInfo.recItemRef + "[degnitemlevlcd ='" + degnitemlevlcdNode.text + "' and rectermcd = '" + termcdNode.text + "']");
-
- if(recitemNode != null)
- {
- if(recitemNode.selectSingleNode("reccnts").text != '')
- {
- // 기록된 값이 있으면 기록된 값의 코드를 구한다.
- var rectermcdNode = recitemNode.selectSingleNode("rectermcd");
-
- // 상위 아이템번호
- var recdegnitemnoNode = recitemNode.selectSingleNode("degnitemno");
-
- /*
- // 기록된 값이 있으면 상위아이템에 속한 하위 아이템의 degnitemno를 구한다.
- //var subFormdegnNode = model.instance1.selectSingleNode(pageInfo.formdegnRef + "[termcd ='" + rectermcdNode.text + "' and supdegnitemcd = '" + degnitemcdNode.text + "']");
-
- // 아이템번호를 구한다.
- //var subDegnitemnoNode = subFormdegnNode.selectSingleNode("degnitemno");
-
- //var extnCtrl = document.controls("STX_" + subDegnitemnoNode.text); // 확장 컨트롤
- //var unitCtrl = document.controls("UNIT_" + subDegnitemnoNode.text); // 단위 컨트롤
- */
-
- var extnCtrl = document.controls("STX_" + degnitemnoNode.text); // 확장 컨트롤
- var unitCtrl = document.controls("UNIT_" + degnitemnoNode.text); // 단위 컨트롤
-
- if(extnCtrl != null)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- }
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- }
- }
- else if(supdegnitemkindNode.text == "SSL")
- {
- var supdegnitemlevlcdNode = supformdegnNode.selectSingleNode("degnitemlevlcd");
- var supdegnitemcdNode = supformdegnNode.selectSingleNode("degnitemcd");
-
- recitemNode = opener.model.instance1.selectSingleNode(pageInfo.recItemRef + "[degnitemlevlcd ='" + supdegnitemlevlcdNode.text + "']");
-
- if(recitemNode != null)
- {
- if(recitemNode.selectSingleNode("reccnts").text != '')
- {
- // 기록된 값이 있으면 기록된 값의 코드를 구한다.
- var rectermcdNode = recitemNode.selectSingleNode("rectermcd");
-
- // 상위 아이템번호
- var recdegnitemnoNode = recitemNode.selectSingleNode("degnitemno");
-
- // 기록된 값이 있으면 상위아이템에 속한 하위 아이템의 degnitemno를 구한다.
- var subformdegnNodelist = model.instance1.selectNodes(pageInfo.formdegnRef + "[supdegnitemno ='" + recdegnitemnoNode.text + "' and supdegnitemcd = '" + supdegnitemcdNode.text + "']");
-
- for(var subidx = 0; subidx < subformdegnNodelist.length; subidx++)
- {
- // 각각의 디자인 아이템 노드를 구한다.
- var subFormdegnNode = subformdegnNodelist.item(subidx);
-
- // 아이템번호를 구한다.
- var subDegnitemnoNode = subFormdegnNode.selectSingleNode("degnitemno");
-
- // 기록된 termcd와 formdegn노드의 termcd를 비교한다.
- var subTermcdNode = subFormdegnNode.selectSingleNode("termcd");
-
- var extnCtrl = document.controls("STX_" + subDegnitemnoNode.text); // 확장 컨트롤
- var unitCtrl = document.controls("UNIT_" + subDegnitemnoNode.text); // 단위 컨트롤
-
- if(extnCtrl == null)
- continue;
-
- if(rectermcdNode.text == subTermcdNode.text)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- extnCtrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + supdegnitemnoNode.text + "']/reccnts";
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- else
- {
- extnCtrl.visible = false;
- extnCtrl.disabled = true;
- extnCtrl.attribute("ref") = "";
-
- if(unitCtrl != null)
- unitCtrl.visible = false;
- }
- }
- }
- }
- }
- else if(supdegnitemkindNode.text == "IMG")
- {
- var degnitemlevlcdNode = formdegnNode.selectSingleNode("degnitemlevlcd");
- var termcdNode = formdegnNode.selectSingleNode("termcd");
-
- recitemNode = opener.model.instance1.selectSingleNode(pageInfo.recItemRef + "[degnitemlevlcd ='" + degnitemlevlcdNode.text + "' and rectermcd = '" + termcdNode.text + "']");
-
- if(recitemNode != null)
- {
- if(recitemNode.selectSingleNode("reccnts").text != '')
- {
- var extnCtrl = document.controls("STX_" + degnitemnoNode.text); // 확장 컨트롤
- var unitCtrl = document.controls("UNIT_" + degnitemnoNode.text); // 단위 컨트롤
-
- if(extnCtrl != null)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- }
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- }
- }
- }
- else if(degnitemkindNode.text == "BOL")
- {
- var degnitemlevlcdNode = formdegnNode.selectSingleNode("degnitemlevlcd");
- var termcdNode = formdegnNode.selectSingleNode("termcd");
-
- recitemNode = opener.model.instance1.selectSingleNode(pageInfo.recItemRef + "[degnitemlevlcd ='" + degnitemlevlcdNode.text + "' and rectermcd = '" + termcdNode.text + "']");
-
- if(recitemNode != null)
- {
- if(recitemNode.selectSingleNode("reccnts").text != '')
- {
- // 아이템번호를 구한다.
- var degnitemnoNode = recitemNode.selectSingleNode("degnitemno");
-
- var extnCtrl = document.controls("STX_" + degnitemnoNode.text); // 확장 컨트롤
- var unitCtrl = document.controls("UNIT_" + degnitemnoNode.text); // 단위 컨트롤
-
- if(extnCtrl != null)
- {
- extnCtrl.disabled = false;
- extnCtrl.visible = true;
- }
-
- if(unitCtrl != null)
- unitCtrl.visible = true;
- }
- }
- }
- }
- }
- catch(e)
- {
- return;
- }
- }
-
- model.refresh();
- }
- function fCacDefltVal()
- {
- try
- {
- var pageInfo = new PAGEINFO();
-
- var ivwLoader = null;
-
- var openerId = opener.window.javascript.getScreenID();
-
- if(openerId == "SMMRF00600") // 서식디자인, 사용자항목설정 화면은 건너뜀.
- return;
-
- // 서식디자인 정보를 가져온다.
- var formdegnNodelist = model.instance1.selectNodes(pageInfo.formdegnRef + "[degnitemdefltval !='']");
-
- var formdegnNode = "";
- var degnitemdefltval = "";
- var degnitemno = "";
- var degnitemkind = "";
-
- for(var idx=0; idx< formdegnNodelist.length; idx++)
- {
- formdegnNode = formdegnNodelist.item(idx);
-
- degnitemdefltval = formdegnNode.selectSingleNode("degnitemdefltval").text;
- degnitemno = formdegnNode.selectSingleNode("degnitemno").text;
- degnitemkind = formdegnNode.selectSingleNode("degnitemkind").text;
-
- var subNode = "";
-
- if(degnitemkind == "BOL") // BOL 기본값
- {
- subNode = model.instance1.selectSingleNode(pageInfo.formdegnRef + "[termcd ='" + degnitemdefltval + "' and degnitemno = '" + degnitemno + "']");
-
- if(subNode != null)
- {
- var ctrlid = degnitemkind + "_" + degnitemno;
-
- var subctrl = document.controls(ctrlid);
- if(subctrl != null)
- subctrl.dispatch("xforms-select"); // 강제로 이벤트를 발생
- }
- }
- else if(degnitemkind == "SSL") // SSL 기본값
- {
- subNode = model.instance1.selectSingleNode(pageInfo.formdegnRef + "[termcd ='" + degnitemdefltval + "' and supdegnitemno = '" + degnitemno + "']");
-
- if(subNode != null)
- {
- var subdegnitemno = subNode.selectSingleNode("degnitemno").text;
- var subdegnitemkind = subNode.selectSingleNode("degnitemkind").text;
-
- var ctrlid = subdegnitemkind + "_" + subdegnitemno;
-
- var subctrl = document.controls(ctrlid);
- if(subctrl != null)
- subctrl.dispatch("xforms-select"); // 강제로 이벤트를 발생
- //inputEnterKey(ctrlid, "DOMActivate");
- }
- }
- else if(degnitemkind == "CMB") // CMB 기본값
- {
- var ctrlid = "CMB_" + degnitemno;
-
- var subctrl = document.controls(ctrlid);
- if(subctrl != null)
- subctrl.dispatch("xforms-select"); // 강제로 이벤트를 발생
- }
- }
- model.refresh();
- }
- catch(e)
- {
- return;
- }
- }
- function fAddHint(pCtrl, TooltipText)
- {
- try
- {
- //if(pCtrl != null && TooltipText != "")
- //var hint = pCtrl.createChild("xforms:hint", "text:" + TooltipText + ";");
- }
- catch(e)
- {
- return;
- }
- }
- /**
- * @group :
- * @ver : 2009.05.20
- * @by : jonghun
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 제증명서식 진단명 프리텍스트 적용 관련
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetGridFreetext(dgnfree)
- {
- try
- {
- var grdNOdes = model.instance1.selectNodes("/root/main/forminfo/formdegn[degnitemkind = 'DGN']/degnitemno");
- var grddegnitemno = "";
-
- for(var i = 0; i < grdNOdes.length; i++)
- {
- var node = grdNOdes.item(i);
- grddegnitemno = node.text;
- var grdObj = document.controls("DGN_" + grddegnitemno);
-
- if (grdObj != null)
- {
- if (dgnfree == "Y")
- {
- grdObj.colDisabled(grdObj.colref("recitem[colno = '2']/rectermcd")) = false;
- grdObj.colDisabled(grdObj.colref("recitem[colno = '2']/rectermnm")) = false;
- //2009-07-31 오후 6:27:31 강지훈 수정 : 수정모드일때 색깔없으니깐 헷갈린다. 나중에 요구하면 푸러주자잉~
- //grdObj.focusColor = "#ece1ec";
- }
- else
- {
- grdObj.colDisabled(grdObj.colref("recitem[colno = '2']/rectermcd")) = true;
- grdObj.colDisabled(grdObj.colref("recitem[colno = '2']/rectermnm")) = true;
- }
- }
- }
-
-
-
- }
- catch(e)
- {
- return;
- }
- }
- function fSetInsuranceInfo(patInsuranceInfo)
- {
- //0000001490
- //0000001489
- try
- {
- if(patInsuranceInfo == null)
- return;
-
- var proccorpcd = patInsuranceInfo.selectSingleNode("proccorpcd").text; //등록번호
- var hngnm = patInsuranceInfo.selectSingleNode("hngnm").text; //환자명
- var qualflag = patInsuranceInfo.selectSingleNode("qualflag").text; //자격구분
- var hshdnm = patInsuranceInfo.selectSingleNode("hshdnm").text; //세대주성명
- var secuinstmark = patInsuranceInfo.selectSingleNode("secuinstmark").text; //보장기관기호
- var estmmark = patInsuranceInfo.selectSingleNode("estmmark").text; //시설기호(증번호)
- var ownbflag = patInsuranceInfo.selectSingleNode("ownbflag").text; //본인부담구분
- var choicorpmark1 = patInsuranceInfo.selectSingleNode("choicorpmark1").text; //선택기관기호1
- var choicorpmark2 = patInsuranceInfo.selectSingleNode("choicorpmark2").text;
- var choicorpmark3 = patInsuranceInfo.selectSingleNode("choicorpmark3").text;
- var choicorpmark4 = patInsuranceInfo.selectSingleNode("choicorpmark4").text;
- var choicorpnm1 = patInsuranceInfo.selectSingleNode("choicorpnm1").text; //선택기관이름1
- var choicorpnm2 = patInsuranceInfo.selectSingleNode("choicorpnm2").text;
- var choicorpnm3 = patInsuranceInfo.selectSingleNode("choicorpnm3").text;
- var choicorpnm4 = patInsuranceInfo.selectSingleNode("choicorpnm4").text;
- var secuinstmarkaddr = patInsuranceInfo.selectSingleNode("secuinstmarkaddr").text
-
- //model.getValue("/root/main/patinfo/addr"); // 보장기관기호
-
- var tmpsecuinstmarkaddr = secuinstmarkaddr.split(" ");
- var tmpaddr = "";
-
- for(var idx = 0; idx < 2; idx++)
- {
- tmpaddr += tmpsecuinstmarkaddr[idx];
-
- if(idx == 0)
- tmpaddr += " ";
- }
-
- // 세대주성명
- //function fSetItemDataByItemBaseCd(levelcd, basecd, itemval, targetRef)
- //fSetItemDataByItemBaseCd("0005234.0000638.0000457", "0000457", model.getValue("/root/hidden/patinfo/hngnm"));
-
- if(secuinstmark != "")
- fSetItemDataByItemBaseCd("0020648", "0020648", secuinstmark); // 보장기관기호
- if(tmpaddr != "")
- fSetItemDataByItemBaseCd("0020647", "0020647", tmpaddr); // 보장기관명
- if(estmmark != "")
- fSetItemDataByItemBaseCd("0016841.0014561", "0014561", estmmark); // 증번호
- if(hshdnm != "")
- fSetItemDataByItemBaseCd("0016841.0014559", "0014559", hshdnm); // 세대주명
- //fSetItemDataByItemBaseCd("0016841.0014559", "0014559", hshdnm);
- }
- catch(e)
- {
-
- }
-
- }
- function fRemoveGrdCdata()
- {
- try
- {
- var pageInfo = new PAGEINFO();
- var formcd = model.getValue("/root/main/forminfo/formmast/formcd");
-
- //model.makeValue("/root/send/reqdata/hardcdno", "1118"); // 진단서 발행시 보험유형별로 다르게 출력되는 서식
- //submit("TRMRF03104");
-
- //if(model.getValue("/root/main/hardcdlist[trgtcd="+ formcd +"]/trgtcd") != "")
- //{
- var instcd = getUserInfo("dutplceinstcd");
-
- model.makeValue("/root/main/recinfo/instcd", instcd);
-
- // 그리드의 rowno에서 CDATA를 처리한다.
- var grdlist = findNodeset(model, pageInfo.RecinfoGridRef);
- for(var idx = 0; idx < grdlist.length; idx++)
- {
- var SubgrdNode = grdlist.item(idx);
- if(SubgrdNode != null)
- {
- var recitemNodes = SubgrdNode.selectNodes("recitem");
-
- for(var recidx = 0; recidx < recitemNodes.length; recidx++)
- {
- var recitemNode = recitemNodes.item(recidx);
-
- if(recitemNode.selectSingleNode("rowno").text.isNumber() == true)
- recitemNode.selectSingleNode("rowno").text = recitemNode.selectSingleNode("rowno").text;
-
- //recitemNode.selectSingleNode("reccnts").text = recitemNode.selectSingleNode("reccnts").text;
- }
- }
- }
- //}
- }
- catch(e)
- {
-
- }
- }
-
- //만들었는데... 보니깐 있는 기능이더라... ㅠㅠ
- /*
- function fSrchDiag(degnitemno){
- try{
-
- var grdobj = event.ptarget.parent;
- var srchflag = "";
- var diagsrchcond1 = "";
- var pid = opener.model.getValue("/root/main/paminfo/pid");
- var orddd = opener.model.getValue("/root/main/paminfo/orddd");
- var diagnm = "";
- var rowpos = grdobj.row;
- var colpos = grdobj.col;
- var selRow = rowpos - 1;
-
- if(rowpos == 1)
- return;
-
- if (colpos == 4) { // 진단명
- diagnm = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (selRow) + "' and colno='2']/rectermnm");
- srchflag = "2";
- diagsrchcond1 = "2";
- }
- else if (colpos == 3) { //진단코드
- diagnm = model.getValue("/root/main/recinfo/grid[" + rowpos + "]/recitem[degnitemcd='0000960001' and rowno='" + (selRow) + "' and colno='2']/rectermcd");
- srchflag = "1";
- diagsrchcond1 = "1";
- }
-
- var isHangul = fIsHangul (diagnm);
- if ( isNull(diagnm)) { //한글일때는 1글자만 넣어도 검색가능
- messageBox ( "검색어를", "C001" );
- return;
- } else if ( isHangul == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
- if ( diagnm.length < 2 ){
- messageBox ( "2글자 이상", "C001" );
- return;
- }
- }
-
- //진단팝업에 넘길 정보 setting
- setParameter ( "SPMMO00800_cond1", srchflag );
- setParameter ( "SPMMO00800_cond2", diagsrchcond1);
- setParameter ( "SPMMO00800_cond3", isHangul );
- setParameter ( "SPMMO00800_cond4", orddd);
- setParameter ( "SPMMO00800_cond5", diagnm );
- setParameter ( "SPMMO00800_srchmode", "P" );
-
-
- var xpt = window.screenleft + 200;
- var ypt = window.screenTop + 110;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- modal ( "SPMMO00800", mon, xpt, ypt, "diagsrch", "", "", "", false );
-
- if ( getParameter( "SPMMO00800_rtn_useyn" ) == "Y" ) {
-
- var diagInfo = getParameter( "SPMMO00800_rtn" );
- var pageInfo = new PAGEINFO();
- var diagRow = diagInfo.split ( "▩" ).length;
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var langflag = model.getValue(pageInfo.formmastRef + "/langflag");
-
- for(var i = 1; i < diagRow - 1; i++){
- var icd10cd = getArrayData ( diagInfo, i, 8, "▩", "▦" );
- var diagcd = getArrayData ( diagInfo, i, 9, "▩", "▦" );
- var diagengnm = getArrayData ( diagInfo, i, 2, "▩", "▦" );
- var diaghngnm = getArrayData ( diagInfo, i, 3, "▩", "▦" );
- var spclinfo = getArrayData ( diagInfo, i, 5, "▩", "▦" );
- }
- if(formprogflag == "PROF"){
- diagcd = icd10cd;
- if(langflag != "EN") diagengnm = diaghngnm;
- }
-
- //진단코드, 진단명을 그리드 인스턴스에 추가
- var grdNode = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
- var recitemNodes = grdNode.item(selRow);
- var recitemNode = recitemNodes.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960.0000960']");
- recitemNode.selectSingleNode("rectermcd").text = diagcd;
- recitemNode.selectSingleNode("rectermnm").text = diagengnm;
-
- //한줄추가
- addGridRowEx(degnitemno, 'DGN');
-
- model.setfocus("DGN_" + degnitemno);
- grdobj.row = grdobj.rows - 1;
-
- // 진단코드나 진단명 입력 후 다음 셀에 edit 상태 생성
- grdobj.refresh();
- if (colpos == 4) {
- grdobj.col = grdobj.colref("recitem[colno = '2']/rectermnm");
- grdobj.editCell();
- } else if (colpos == 3) {
- grdobj.col = grdobj.colref("recitem[colno = '2']/rectermcd");
- grdobj.editCell();
- }
- }
- //document.controls("DGN_" + degnitemno).rebuild();
- }
- catch(E){
- }
- }
- */
-
- /**
- * @desc : 진단명찾기 한줄추가
- * @param : flag : 진단명검색, 코드검색
- * @return : void
- * @authur : 강지훈 2009-06-18 오후 2:17:59
- */
- function fSetGridAddRow(){
-
- try
- {
- var grdNOdes = model.instance1.selectNodes("/root/main/forminfo/formdegn[degnitemkind = 'DGN']/degnitemno");
- var grddegnitemno = "";
-
- for(var i = 0; i < grdNOdes.length; i++)
- {
- var node = grdNOdes.item(i);
- grddegnitemno = node.text;
- var grdObj = document.controls("DGN_" + grddegnitemno);
-
- if (grdObj != null)
- {
- var pageInfo = new PAGEINFO();
- var dgnRecInfo = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno='" + grddegnitemno + "']");
- var cnt = dgnRecInfo.length;
-
-
- //가장 큰 rownum을 가지고 있는 grid인스턴스의 위치를 찾는다.
- var lastRow = 0;
- var lastItem = 0;
- for(var j = 0 ; j < cnt ; j++){
- var dgnRecNode = dgnRecInfo.item(j);
- var dgnRecItemRow = dgnRecNode.selectSingleNode("recitem/rowno").text;
- if(lastRow < dgnRecItemRow){
- lastRow = dgnRecItemRow;
- lastItem = j;
- }
- }
-
- var dgnLastNode = dgnRecInfo.item(lastItem);
- var dgnTermNode = dgnLastNode.selectNodes("recitem");
-
-
- //가장마지막 줄의 진단을 가져온다.
- var lastDiagTerm = dgnTermNode.item(3).selectSingleNode("rectermcd").text
-
-
- //가장 마지막줄에 진단이있으면 빈줄 하나 추가
- if(lastDiagTerm != ""){
- addGridRowEx(grddegnitemno, 'DGN');
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- }
- else{
- if(cnt == 1){
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
- }
-
-
- //한줄도 안들어가있으면 한줄추가
- if(cnt < 1){
- var grdNode = instance1.selectSingleNode(pageInfo.initrecRef + "/grid[degnitemno='" + grddegnitemno + "']");
- grdNode = grdNode.cloneNode(true);
- var rowno = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno='" + grddegnitemno + "']");
- grdNode.selectSingleNode("recitem/rowno").text = rowno;
- var recNode = instance1.selectSingleNode(pageInfo.recRef);
- if(recNode == null)
- {
- model.makeNode(pageInfo.recRef);
- recNode = instance1.selectSingleNode(pageInfo.recRef);
- }
- recNode.appendChild(grdNode);
- grdObj.rebuild();
- model.refresh();
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;
- }
-
-
-
- model.setfocus("DGN_" + grddegnitemno);
- grdObj.row = grdObj.rows - 1;
- // 진단코드나 진단명 입력 후 다음 셀에 edit 상태 생성
- grdObj.refresh();
- grdObj.col = grdObj.colref("recitem[colno = '2']/rectermcd");
- grdObj.editCell();
- }
- }
- }
- catch(e)
- {
- return;
- }
-
- }
- //상급병실확인서 (2009.07.27. 추가)
- function fSetRoomChargeList(patinfo)
- {
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var pid = patinfo.selectSingleNode("pid").text;
- var cretno = patinfo.selectSingleNode("cretno").text;
- var orddd = patinfo.selectSingleNode("orddd").text;
- var ioflag = patinfo.selectSingleNode("ioflag").text;
- var orddeptnm = patinfo.selectSingleNode("orddeptnm").text;
- var indd = patinfo.selectSingleNode("orddd").text;
- var dschdd = patinfo.selectSingleNode("dschdd").text;
- model.makeValue("/root/send/patinfo/pid" , pid);
- model.makeValue("/root/send/patinfo/cretno", cretno);
- model.makeValue("/root/send/patinfo/orddd" , orddd);
- model.makeValue("/root/send/patinfo/ioflag", ioflag);
- model.makeValue("/root/send/patinfo/dschdd", dschdd);
- if(submit("TRMRF01210"))
- {
- if (ioflag == "O") {
- //2012/01/20
- if(formcd!="0000002792"){
- messageBox("해당 환자의 입원정보가", "E014");
- return;
- }else if(formcd=="0000002792"){
- messageBox("해당 환자의 입원수진 이력을 선택 후 ", "C003");
- body.visible=false;
- /*
- if(opener.opener.javascript.model.getValue("/root/main/patinfo/pid")!=""){
- opener.opener.javascript.event.keyCode = 13;
- opener.opener.javascript.ipt_pid.dispatch("onkeypress");
- opener.opener.javascript.event.keyCode = "";
- model.resetInstanceNode();
- }
- */
- return;
- }
- //2012/01/20
- }
-
- //입원기간 : 0002025
- if (ioflag != "O") {
- if (indd != "") {
- indd = indd.toDate().getDateFormat("YYYY-MM-DD");
- }
- if (dschdd != "" && dschdd != "재원중") {
- dschdd = dschdd.toDate().getDateFormat("YYYY-MM-DD");
- }
- }
- fSetItemDataByItemBaseCd("0000965", "0000965", orddeptnm);
- fSetItemDataByItemBaseCd("0002025", "0002025", indd + " ~ " + dschdd);
- fGetRoomChargeList(pid, orddd, cretno);
- fSetPatRoomChargeInfo(pid, orddd, cretno);
- }
- }
-
- /**
- * @desc : 수정모드로 진입할때 flag를 넣어준다.
- * @param : flag : 수정모드 여부
- * @return : void
- * @authur : 강지훈 2009-07-31 오후 5:22:45
- */
- function fModiStart(){
- model.removeNodeSet("/root/temp/modiflag");
- model.makeValue("/root/temp/modiflag", "Y");
- }
- /**
- * @desc : 행추가버튼 기능
- * @param : flag : 수정모드 여부
- * @return : void
- * @authur : 강지훈 2009-08-08 오전 11:22:36
- */
- function fDiagAddRow(){
- var menuNode = findCntxMenu("fDiagAddRow");
- var paramlist = findCntxMenuParamList(menuNode);
- var degnitemno = paramlist[0].value;
- var type = paramlist[1].value;
-
-
- addGridRowEx(degnitemno, type);
- /* addGridRowEx 함수에 동일 코드가 있음. 2010.03.20 주희경
- var grdObj = document.controls("DGN_" + degnitemno);
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermnm")) = false;
- grdObj.isreadonly(grdObj.rows - 1, grdObj.colRef("recitem[colno = '2']/rectermcd")) = false;*/
- }
- /*
- * 2010.04.13, 주희경 진단명, 수술명, 주호소의 경우 돋보기 버튼도 readonly 기능 가능하도록 기능 추가
- * 진단명, 수술명, 주호소의 그리드가 bind에 의해 enable 될 때 돋보기 버튼도 enable 처리
- */
- function fEnableBtn( degnitemno )
- {
- eval("BTN_"+degnitemno+"_EXT1").disabled = false; //진단명, 수술명, 주호소에 있는 돋보기 버튼 enable
- }
- /*
- * 2010.04.13, 주희경 degnitemkind별로 삭제 가능하도록 기능 추가
- */
- function fRemoveValue(degnitemlevlcd, degnitemno)
- {
- var nodecnt = model.getXPathValue("count(/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/reccnts)");
- if ( degnitemno != null )
- {
- nodecnt = model.getXPathValue("count(/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/reccnts)");
- }
- if ( nodecnt > 0)
- {
- var degnitemkind = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/degnitemkind");
- if ( degnitemno != null )
- {
- degnitemkind = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/degnitemkind");
- orgdegnitemkindCnt = model.getXPathValue("count(/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/orgdegnitemkind)");
-
- //orgdegnitemkind 정보가 있는 경우 orgdegnitemkind로 셋팅
- if ( orgdegnitemkindCnt > 0 )
- {
- degnitemkind = model.getValue("/root/main/recinfo/grid/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/orgdegnitemkind");
- }
- }
- if ( degnitemkind == "RDO" || degnitemkind == "CHK" || degnitemkind == "SSL" || degnitemkind == "BOL" )
- {
- model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/rectermcd", "");
- }
- else if ( degnitemkind == "CMB" )
- {
- model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/rectermcd", "");
- model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/rectermnm", "");
- }
- else if ( degnitemkind == "MSL" )
- {
- var rectermcdNodes = instance1.selectNodes("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/rectermcd");
-
- for (i=0; i<rectermcdNodes.length; i++ )
- {
- rectermcdNodes.item(i).value = "";
- }
- }
- else if ( degnitemkind == "GRD")
- {
- var gridNodes = instance1.selectNodes("/root/main/recinfo/grid/recitem[degnitemkind = 'GSU' and contains(degnitemlevlcd,'" + degnitemlevlcd + ".')]/reccnts");
- for (i=0; i<gridNodes.length; i++ )
- {
- gridNodes.item(i).value = "";
- }
- eval(degnitemkind+"_"+degnitemno).rebuild();
- }
- else if ( degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "CCN" )
- {
- var reccntsNodes = instance1.selectNodes("/root/main/recinfo/grid/recitem[degnitemkind = 'GSU' and contains(degnitemlevlcd,'" + degnitemlevlcd + ".')]/reccnts");
- var rectermcdNodes = instance1.selectNodes("/root/main/recinfo/grid/recitem[degnitemkind = 'GSU' and contains(degnitemlevlcd,'" + degnitemlevlcd + ".')]/rectermcd");
- var rectermnmNodes = instance1.selectNodes("/root/main/recinfo/grid/recitem[degnitemkind = 'GSU' and contains(degnitemlevlcd,'" + degnitemlevlcd + ".')]/rectermnm");
- for (i=0; i<reccntsNodes.length; i++ )
- {
- reccntsNodes.item(i).value = "";
- rectermcdNodes.item(i).value = "";
- rectermnmNodes.item(i).value = "";
- }
- //eval(degnitemkind+"_"+degnitemno).rebuild();
- }
- else
- {
- model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + degnitemlevlcd + "']/reccnts", "");
- }
- }
- else if ( degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "CCN" ) //진단명, 수술명, 주호소의 경우 노드가 없는 경우에도 버튼 disable
- {
- eval("BTN_"+degnitemno+"_EXT1").disabled = true; //진단명, 수술명, 주호소에 있는 돋보기 버튼 disable
- }
- }
- /**
- * @ver : 2009-10-26
- * @desc : url 컨트롤을 생성한다.
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawUrl(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "width");
- width = width.setReplaceWord("px", "");
-
- var height = getStyleValue(pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval"), "height");
- height = height.setReplaceWord("px", "");
-
- if(width == "")
- width = 80;
- if(height == "")
- height = 19;
- var degnitemno = pmodel.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemnm = pmodel.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var degnitemlevlno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemlevlno");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var srcaddr = getStyleValue(degnattrval, "ctrl.addr");
- var ctrltype = getStyleValue(degnattrval, "ctrl.type");
- var popWid = getStyleValue(degnattrval, "ctrl.popwid");
- var popHei = getStyleValue(degnattrval, "ctrl.pophei");
- var popMax = getStyleValue(degnattrval, "ctrl.popmax");
- var popUser = getStyleValue(degnattrval, "ctrl.popuser");
-
- if(popWid == "")
- popWid = "1200";
- if(popHei == "")
- popHei = "800";
-
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(ctrltype == "2") // 텍스트에 링크인 경우
- {
- x = 0;
- y = 0;
- }
-
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + parseInt(y);
- }
- else
- {
- parentCtrl = supCtrl;
- l = parseInt(x);
- t = parseInt(y);
- }
-
- var ctrlid = "";
- var ctrl = null;
-
- ctrlid = "URL_" + degnitemno;
-
- if(ctrltype == "1") // 버튼
- {
- var ctrlSize = new SIZE(width, height);
- var len = fBtnLength(degnitemnm);
- var classnm = "btn2_letter" + len;
-
- ctrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; class:" + classnm + "; cursor:hand; left:" + l +
- "px; top:0px; width:" + ctrlSize.cx + "px; height:" + ctrlSize.cy + "px; text:" + degnitemnm + "; url:" + srcaddr + "; " +
- "popWid:" + popWid + "; popHei:" + popHei + "; maxsize:" + popMax + "; userdefine:" + popUser + "; ");
-
- ctrl.attribute("ctrltype") = "ctrl";
-
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- }
- else // 캡션
- {
- var visible = "visible";
- var ctrlSize = new SIZE(0, parseInt(supCtrl.attribute("height")));
- ctrlSize.cx = parseInt(ctrlSize.cx) + parseInt(fGetLblWidth(degnitemno, degnitemnm));
-
- if(ctrlSize.cx < 120)
- ctrlSize.cx = 120;
- if(ctrlSize.cx < pageInfo.ctrlwidth)
- ctrlSize.cx = pageInfo.ctrlwidth;
- else
- ctrlSize.cx += Math.round((10 - (ctrlSize.cx % 10)) / 10) * 10;
-
- degnitemnm = degnitemnm.setReplaceWord("\"", "▩quatation");
-
- if(parseInt(degnitemlevlno) > 1)
- ctrl = parentCtrl.createChild("xforms:caption", "id:" + ctrlid + "; cursor:hand; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible + "; url:" + srcaddr + "; " +
- "popWid:" + popWid + "; popHei:" + popHei + "; maxsize:" + popMax + "; userdefine:" + popUser + "; ");
- else
- ctrl = parentCtrl.createChild("xforms:caption", "id:" + ctrlid + "; cursor:hand; left:" + l + "px; top:" + t + "px; width:" + ctrlSize.cx +
- "px; height:" + ctrlSize.cy + "px; vertical-align:middle; visibility:" + visible + "; font-weight:bold; url:" + srcaddr + "; "
- + "popWid:" + popWid + "; popHei:" + popHei + "; maxsize:" + popMax + "; userdefine:" + popUser + "; ");
-
- ctrl.attribute("text") = degnitemnm;
- ctrl.attribute("ctrltype") = "label";
-
- // label.top:-1 을 label.top:0 으로 조정
- var alignValue = getStyleValue(degnattrval, "label.top");
- if(alignValue == "-1")
- {
- degnattrval = degnattrval.setReplaceWord("label.top:" + alignValue, "label.top:0");
- }
-
- setDegnAttrVal(ctrl, degnattrval, "label");
- }
- ctrl.attribute("degnitemno") = degnitemno;
-
- //최종위치 보정(group 제거 관련)
- if(g_recordMode == "record")
- {
- if(parseInt(ctrl.attribute("left")) != l)
- ctrl.attribute("left") = parseInt(ctrl.attribute("left")) + parseInt(supCtrl.attribute("left")) + "px";
- if(parseInt(ctrl.attribute("top")) != t)
- ctrl.attribute("top") = parseInt(ctrl.attribute("top")) + parseInt(supCtrl.attribute("top")) + "px";
-
- ctrl.attribute("onclick") = "fRunUrl(" + degnitemno + ");";
- }
- /*
- supCtrl.attribute("width") = parseInt(x) + parseInt(ctrlSize.cx) + "px";
- if(ctrlSize.cy > parseInt(supCtrl.attribute("height")))
- supCtrl.attribute("height") = parseInt(ctrlSize.cy) + "px";
- */
- if(ctrltype == "1") // 버튼
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
-
- addChild(ctrl, g_recordMode);
- return ctrlSize;
- }
- function fRunUrl(degnitemno)
- {
- try
- {
- ctrlid = "URL_" + degnitemno;
-
- var btn = document.controls("URL_" + degnitemno);
-
- var addr = btn.attribute("url");
-
- addr = addr.setReplaceWord("colon", ":");
- addr = addr.setReplaceWord("slash", "/");
-
- var popWid = btn.attribute("popWid");
- var popHei = btn.attribute("popHei");
- var popMax = btn.attribute("maxsize");
- var popUser = btn.attribute("userdefine");
-
- var monNo = getCurrentMonitorNumber();
- var res = "";
-
- if(popMax == "true")
- {
- var resarr = app.monitorResolution;
- var reslist = resarr.split("|");
-
- if(reslist.length > 0)
- {
- if(monNo == "1")
- res = reslist[0].split(","); // 첫번째 메인 모니터
- else
- res = reslist[1].split(","); // 두번째 메인 모니터
- }
- if(res.length == 2)
- {
- popWid = res[0];
- popHei = res[1];
- }
- }
-
- if(addr != "")
- {
- setParameter("SPMRF05600_URL", addr);
- model.refresh();
-
- var attr = "";
-
- if(popWid != "" && popHei != "")
- {
- //attr = "width:" + popWid + "px; height:" + popHei + "px; caption:visible; resize:true;";
- //open("SPMRF05600", MonitorNum, 50, 0, "", "", "", attr);
- //attr = "scrollbars:yes; toolbar:yes; width:" + popWid + "px; height:" + popHei + "px; caption:visible; resize:true;";
- attr = "width:" + popWid + "; height:" + popHei + "; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;";
-
- open("SPMRF05600", monNo, 50, 0, "", "", "", attr);
- }
- else
- open("SPMRF05600", monNo, 50, 0, "", "", "", "width:1200px; height:800px; caption:visible; resize:true;");
- }
-
- }
- catch(e)
- {}
- }
- function fBtnLength(degnitemnm)
- {
- // Byte 수를 저장할 변수
- var rtnValue = 0;
- // Value 값의 길이만큼 loop
- for(var i=0; i < degnitemnm.length; i++)
- {
- //한글이 들어오면 255보다 크다
- (degnitemnm.charCodeAt(i) > 255) ? rtnValue += 1 : rtnValue += 0.5;
- }
- return Math.ceil(rtnValue);
- }
- function fSetEmptyValGrupcd(valgrupcd)
- {
- try
- {
- if(valgrupcd != "")
- {
- var vallistNode = findNodeset(model, "/root/main/forminfo/vallist[grupcd = '" + valgrupcd + "']");
-
- for(var idx = 0; idx < vallistNode.length; idx++)
- {
- var SubValNode = vallistNode.item(idx);
- if(SubValNode != null)
- {
- var valcd = SubValNode.selectSingleNode("valcd").text;
-
- if(SubValNode.selectSingleNode("emptyitemnm") == null)
- {
- var EmptyNode = instance1.createElement("emptyitemnm");
-
- SubValNode.appendChild(EmptyNode);
- }
-
- if(SubValNode.selectSingleNode("emptyitemnm") != null)
- {
- model.setValue("/root/main/forminfo/vallist[grupcd = '" + valgrupcd + "' and valcd='" + valcd +"']/emptyitemnm", " ", true);
- }
- }
- }
- model.refresh();
-
- /// Opener
- var vallistNode = findNodeset(opener.model, "/root/main/forminfo/vallist[grupcd = '" + valgrupcd + "']");
-
- for(var idx = 0; idx < vallistNode.length; idx++)
- {
- var SubValNode = vallistNode.item(idx);
- if(SubValNode != null)
- {
- var valcd = SubValNode.selectSingleNode("valcd").text;
-
- if(SubValNode.selectSingleNode("emptyitemnm") == null)
- {
- var EmptyNode = instance1.createElement("emptyitemnm");
-
- SubValNode.appendChild(EmptyNode);
- }
-
- if(SubValNode.selectSingleNode("emptyitemnm") != null)
- {
- opener.model.setValue("/root/main/forminfo/vallist[grupcd = '" + valgrupcd + "' and valcd='" + valcd +"']/emptyitemnm", " ", true);
- }
- }
- }
- }
- }
- catch(e)
- {
-
- }
- }
- function fSelCtrlHidden()
- {
- try
- {
- var pageInfo = new PAGEINFO();
-
- // 전체 formdegn 에서 RDO, CHK 아이템을 찾는다.
- var formdegnlistNode = findNodeset(model, "/root/main/forminfo/formdegn[degnitemkind = 'RDO' or degnitemkind = 'CHK']");
- var formdegnNode = "";
-
- var degnattrval = "";
- var valgrupcd = "";
- var degnitemno = "";
- var degnitemkind = "";
-
- // 아이템을 루프돌면서 degnattrval 을 확인한다.
- for(var idx = 0; idx < formdegnlistNode.length; idx++)
- {
- formdegnNode = formdegnlistNode.item(idx);
-
- if(formdegnNode != null)
- {
- degnattrval = formdegnNode.selectSingleNode("degnattrval").text;
- valgrupcd = formdegnNode.selectSingleNode("valgrupcd").text;
- degnitemno = formdegnNode.selectSingleNode("degnitemno").text;
- degnitemkind = formdegnNode.selectSingleNode("degnitemkind").text;
-
- if(isSearchString(degnattrval, "ctrl.sublabel") == true)
- {
- // 아이템명을 빈값으로 만든 노드를 추가한다.
- fSetEmptyValGrupcd(valgrupcd);
- }
- }
- }
-
- }
- catch(e)
- {
-
- }
-
- }
- function fBoolCheckFunc( itemno )
- {
- var ctrlid = "BOL_"+itemno;
- model.setValue("/root/main/recinfo/recitem[degnitemno='"+itemno+"']/rectermcd", eval(ctrlid).item(0).value );
- document.controls( ctrlid ).refresh();
- }
- /**
- * @ver : 2010-01-07
- * @desc : HELP
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fDrawHelp(pmodel, pageInfo, supCtrl, cursor, x, y, row)
- {
- var width = 15;
- var height = 15;
- var ctrlSize = new SIZE(width, height);
-
- var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
- var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
- var degnitemcd = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemcd");
- var degnitemno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemno");
- var degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + row + "]/degnitemkind");
- var degnitemlevlno = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemlevlno");
- var degnitemnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/degnitemnm");
- var unitnm = model.getValue(pageInfo.formdegnRef +"[" + row + "]/unitnm");
- var supdegnitemno = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/supdegnitemno");
- var valgrupcd = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/valgrupcd");
- var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[" + row + "]/degnattrval");
- var ctrlid = "HLP_" + degnitemno;
-
- var ctrl = null;
- var parentCtrl = null;
- var l = 0;
- var t = 0;
- if(g_recordMode == "record")
- {
- parentCtrl = body;
- //초기위치 보정
- l = parseInt(supCtrl.attribute("left")) + parseInt(x);
- t = parseInt(supCtrl.attribute("top")) + 0;// parseInt(y);
- }
- else if(g_recordMode == "design")
- {
- parentCtrl = supCtrl;
- l = x;
- t = 0;
- }
- else
- {
- parentCtrl = supCtrl;
- l = x;
- t = y;
- }
- ctrl = parentCtrl.createChild("xforms:button", "id:" + ctrlid + "; vertical-align:top; class:help ; _printable:false; cursor:hand; left:"+l+"px; top:"+t+"px;");
- ctrl.attribute("degnitemno") = degnitemno;
- ctrl.attribute("ctrltype") = "ctrl";
-
- supCtrl.attribute("width") = 15;
- supCtrl.attribute("height") = 15;
- setDegnAttrVal(ctrl, degnattrval, "ctrl");
- if(g_recordMode == "record")
- {
- ctrl.attribute("onclick") = "fClickHelp(" + degnitemno + ")";
- }
-
- pageInfo.curxpos += parseInt(ctrlSize.cx) + pageInfo.offsetx;
- addChild(ctrl, g_recordMode);
-
- model.setFocus(ctrlid);
- return ctrlSize;
- }
- /**
- * @ver : 2010-01-07
- * @desc : HELP버튼을 눌렀을 경우 링크된 도움말을 팝업시킨다.
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fClickHelp(degnitemno)
- {
- var itemattrval = model.getValue("/root/main/forminfo/formdegn[degnitemno='"+degnitemno+"']/itemattrval");
- var formcd = getStyleValue(itemattrval, "formcd");
-
- setParameter("formcd", formcd);
-
- open("SPMRF01100", "", "", "", "", "", "","width:645px; height:835px; resize:false;");
- }
- /**
- * @ver : 2010-03-19
- * @desc : 이전 선택한 컨트롤을 해제하지 않고 연속 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fAddSelect( ctrl )
- {
- var len = g_selectionlist.length;
- g_selectionlist[len] = ctrl.attribute("id");
- drawcp(ctrl);
- }
- /**
- * @ver : 2010-03-19
- * @desc : 시작인덱스 부터 끝인덱스까지 루프를 돌면서 해당 컨트롤 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectLoop( statidx, endidx, bMulti, selRow )
- {
- removeAllSelection(); //현재 선택되어 있는 아이템 모두 해제
- for(i=statidx; i<endidx; i++)
- {
- if ( selRow != null && selRow == i && bMulti==false) //현재 선택한 아이템은 제외하고 select할 때
- {
- continue;
- }
- else if ( bMulti == true )
- {
- var findidx = selRow.indexOf(i+"/");
- if ( findidx != -1)
- {
- continue;
- }
- }
- var degnitemno = model.getValue(g_pageInfo.formdegnRef + "[" + i + "]/degnitemno");
- var ctrl = fFindItemCtrl(degnitemno);
- if(ctrl != null)
- fAddSelect( ctrl );
- }
- model.setFocus("body");
- }
- /**
- * @ver : 2010-03-19
- * @desc : 디자인적용 모드에서 컨트롤 모두 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectAll()
- {
- var statidx = grd_pltte.fixedRows;
- var endidx = grd_pltte.Rows;
- fSelectLoop( statidx, endidx );
- }
- /**
- * @ver : 2010-03-19
- * @desc : 디자인적용 모드에서 선택한 컨트롤의 이후 컨트롤 모두 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectFwdItems(selRow)
- {
- var statidx = selRow+1;
- var endidx = grd_pltte.Rows;
- fSelectLoop( statidx, endidx );
- }
- /**
- * @ver : 2010-03-19
- * @desc : 디자인적용 모드에서 선택한 컨트롤의 이전 컨트롤 모두 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectPreItems(selRow)
- {
- var statidx = grd_pltte.fixedRows;
- var endidx = selRow;
- fSelectLoop( statidx, endidx );
- }
- /**
- * @ver : 2010-03-19
- * @desc : 디자인적용 모드에서 선택한 컨트롤만 제외하고 컨트롤 모두 select
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectReverse(bMulti, selRow)
- {
- var statidx = grd_pltte.fixedRows;
- var endidx = grd_pltte.Rows;
- fSelectLoop( statidx, endidx, bMulti, selRow );
- }
- /**
- * @ver : 2010-03-22
- * @desc : 현재 선택되어 있는 아이템 모두 해제
- * @
- * @by : 주희경
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSelectRemoveAll()
- {
- removeAllSelection(); //현재 선택되어 있는 아이템 모두 해제
- }
- //2010.04.07, 주희경
- //서식 디자인 화면에서 서식 테스트 시 bind의 계산이 자동 실행 되지 않아 값 변경 시 실행하도록 추가
- function xforms_value_changed()
- {
- if ( setParameter("SMMRF01000_ready") == "Y" )
- {
- model.refresh();
- model.recalculate();
- }
- }
- // 2011.12.28
- // 전원소견서 관련 전원 병원명에 팝업
- function fSrchHospital(){
- setParameter("hospital_formcd", opener.opener.javascript.model.getValue("/root/main/formcd"));
- modal("SPMRF08000");
- clearParameter("hospital_formcd");
- }
- // 2012.01.19 재활치료고려서식
- function fKoryo(){
- setParameter("opener_kind", "koryo");
- modal("SMMMR05000");
- }
- // 2012.10.25 신규서식 작성시 각종 데이터 당겨오기 (이윤주)
- function fSetInitData()
- {
-
- var formcd = model.getValue(g_pageInfo.formmastRef + "/formcd");
- var pid = opener.model.getValue("/root/main/paminfo/pid");
- var orddd = opener.model.getValue("/root/main/paminfo/orddd");
- var indd = opener.model.getValue("/root/main/paminfo/indd");
- var ioflag = opener.model.getValue("/root/main/paminfo/ioflag");
- var cretno = opener.model.getValue("/root/main/paminfo/cretno");
- var oprsrvno = opener.model.getValue("/root/main/recinfo/formrec/oprsrvno");
-
- if (ioflag !="O"){
- orddd = indd;
- }
-
- model.makeValue("/root/send/reqdata/hardcdno",5622);
- model.makeValue("/root/send/reqdata/trgtcd",formcd);
-
- submit("TRMRF01220");
-
- var nodeCnt = instance1.selectNodes("/root/tmp/recinfo");
- var loopcnt = nodeCnt.length;
-
- for (var i=1; i<=loopcnt; i++)
- {
- var recinfo = model.getValue("/root/tmp/recinfo[" + i + "]/trgtcdnm");
-
- model.makeValue("/root/send/recinfo/pid",pid);
- model.makeValue("/root/send/recinfo/cretno",cretno);
- model.makeValue("/root/send/recinfo/orddd",orddd);
- model.makeValue("/root/send/recinfo/formcd",formcd);
- model.makeValue("/root/send/recinfo/recinfo",recinfo);
- model.makeValue("/root/send/recinfo/oprsrvno",oprsrvno);
-
- submit("TRMRF01219");
-
- recinfo = recinfo.split("|");
-
- var levelcd = recinfo[0];
- var basecd = recinfo[1];
- var targetRef = recinfo[2];
-
- var itemval = model.getValue("/root/datainfo/itemval");
-
- fSetItemDataByItemBaseCd(levelcd, basecd, itemval, targetRef);
-
- }
-
- }
- //수진이력조회
- function fGetOrdSpec() {
- var s = GRD_1.nodeset;
-
- model.makeValue("/root/send/ordspec/pid", opener.model.getValue("/root/main/paminfo/pid"));
- model.makeValue("/root/send/ordspec/orddd", opener.model.getValue("/root/main/paminfo/orddd"));
- model.makeValue("/root/send/ordspec/orddrid", getUserId()); //로그인 사용자 추가 20121213
- model.makeValue("/root/send/ordspec/orddeptcd", opener.model.getValue("/root/main/paminfo/orddeptcd"));
-
-
- if (submit("TRMRF01221")) {
- //첫 빈행 삭제를 구현했으나.. 임시저장시 에러가 남.. 서식지의 특징인듯함.
- /*
- if (model.getValue(s+"/recitem[rowno = '0' and colno = '0']/reccnts") == "") {
- model.removeNodeset(s+"/recitem[rowno = '0']");
- }
-
- model.refresh();
- GRD_1.refresh();
- */
-
- var iCnt = getNodesetCount("/root/main/ordspecinfo");
- var iRow = getNodesetCount(s+"/recitem[colno = '0' and rowno != '']"); //현재 행의 갯수 구하기
- for (var i = 1; i <= iCnt; i++) {
- //model.setValue(s+"/recitem[colno = '0' and rowno = '"+ i+"']/reccnts", model.getValue("/root/main/ordspecinfo["+i+"]/orddd"));
- if (getNodesetCount(s+"/recitem[colno = '0' and reccnts = '"+ model.getValue("/root/main/ordspecinfo["+i+"]/orddd")+"']") == 0) { //같은 일자가 존재하지 않는 일자만
- BTN_1_EXT2.dispatch("onclick");
- //GRD_1.addRow();
- GRD_1.valueMatrix(++iRow, 0) = model.getValue("/root/main/ordspecinfo["+i+"]/orddd");
- GRD_1.valueMatrix(iRow, 2) = "치료실 선량 확인하였음(이상무)";
- GRD_1.valueMatrix(iRow, 4) = getUserName();
- //model.setValue(s+"/recitem[colno = '0' and rowno = '"+ (iRow++)+"']/reccnts", model.getValue("/root/main/ordspecinfo["+i+"]/orddd"));
- }
- }
- }
- return;
- }
- function fAddRow() {
- var s = GRD_1.nodeset;
-
- var formrecdd = parent.model.getValue("/root/main/recinfo/formrec/formrecdd");
- var formrechm = parent.model.getValue("/root/main/recinfo/formrec/formrechm");
-
- var iRow = getNodesetCount(s+"/recitem[colno = '0' and rowno != '']"); //현재 행의 갯수 구하기
-
- BTN_1_EXT2.dispatch("onclick");
- GRD_1.valueMatrix(++iRow, 0) = formrecdd;
- GRD_1.valueMatrix(iRow, 1) = formrechm;
-
- return;
- }]]></Script>
|