EMRCommon.xjs 273 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 진료 - emrcommon - JScript
  5. * Version :
  6. - Ver.1.00.01
  7. * 최초작성일:
  8. * 수정이력:
  9. 2008-11-24
  10. - getImgeData() 함수 수정(로컬이미지는 공통서식, 과별서식 구분 없이 무조건 저장.
  11. 편집가능 DB이미지는 공통서식의 경우 편집을 하지 않으면 Pass
  12. 과별서식의 경우 편집을 하지 않아도 저장하도록 수정)
  13. 2008-11-21
  14. - removeGridRowEx(degnitemno, type) 함수 수정(오지훈)
  15. 기존 함수는 old로 함수명 변경처리
  16. * 기타:
  17. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  18. */
  19. var INFO_CSV_DEL = "▦▩*^^*▩▦";
  20. /*
  21. var gPageInfo_EMR = new PAGEINFO();
  22. var gPrePath_recItemRef = gPageInfo_EMR.recItemRef;
  23. var gPrePath_formdegnRef = gPageInfo_EMR.formdegnRef;
  24. //var gPrePath_formdegnRef_degnitemno = gPageInfo_EMR.formdegnRef + "[degnitemno = '";
  25. var gPrePath_recItemGridRef = gPageInfo_EMR.RecinfoGridrecItemRef;
  26. var gPrePath_recInfoGridRef = gPageInfo_EMR.RecinfoGridRef;
  27. */
  28. // 그리드 컬럼 구분자
  29. // 예) ctrl.colwidth:23^23^23
  30. //var GRD_COL_DELIMETER = "^";
  31. var GRD_COL_DELIMETER = ",";
  32. /**********************************************************************************
  33. * Method Name : PAGEINFO
  34. * Description : page info 설정
  35. * argument :
  36. * return Type :
  37. * Creator :
  38. **********************************************************************************/
  39. function PAGEINFO()
  40. {
  41. this.formCd = "";
  42. this.srcFormCd = "";
  43. this.formDegnSeq = "";
  44. this.degnItemNo = "";
  45. this.degnItemCd = "";
  46. this.degnItemLevlCd = "";
  47. this.fstLevlItemCd = "";
  48. this.degnitemkind = "";
  49. this.degnitemlevlno = "";
  50. this.degnitemnm = "";
  51. this.rectermnm = "";
  52. this.comuseyn = "";
  53. this.fontFamily = "돋움, Arial";
  54. this.fontSize = 11;
  55. this.align = "";
  56. this.valign = "";
  57. }
  58. /**
  59. * @desc : page info 설정
  60. * @id :
  61. * @event :
  62. * @return :
  63. * @authur : 이상현
  64. */
  65. /*
  66. function PAGEINFO(viewerobj)
  67. {
  68. if(viewerobj == null){
  69. if( frmf_getCurrentFormKind() == "main" ){
  70. viewerobj = frmf_getMainViewer();
  71. }else{
  72. viewerobj = getOwnerFrame().form;
  73. }
  74. }
  75. this.paperwidth = 680;
  76. this.paperheight = 1000;
  77. // this.pagewidth = viewerobj.position.width;
  78. // this.pageheight = viewerobj.position.height;
  79. this.rowheight = 20;
  80. this.curxpos = 20;
  81. this.curypos = 10;
  82. this.ctrlwidth = 100;
  83. this.ctrlheight = 20;
  84. this.offsetx = 5;
  85. this.offsety = 5;
  86. this.fontengwidth = 8;
  87. this.fonthngwidth = 12;
  88. this.indentwidth = 15;
  89. this.leftmargin = 10;
  90. this.forminfoRef = "ds_main_forminfo";
  91. this.formmastRef = "ds_main_forminfo_formmast"; //this.formmastRef = "/root/main/forminfo/formmast";
  92. this.formdegnRef = "ds_main_forminfo_formdegn";
  93. this.vallistRef = "ds_main_forminfo_vallist";
  94. this.imgelistRef = "ds_main_forminfo_imgelist";
  95. this.recRef = "ds_main_recinfo";
  96. this.recRef2 = "ds_hidden_recinfo";
  97. this.initrecRef = "ds_temp_recinfo";
  98. this.extnrecRef = "ds_hidden_extnformrec_recinfo";
  99. this.recMastRef = "ds_main_recinfo_formrec";
  100. this.recItemRef = "ds_main_recinfo_recitem";
  101. this.recItemRef2 = "ds_hidden_recinfo_recitem";
  102. this.initrecItemRef = "ds_temp_recinfo_recitem";
  103. this.extnrecItemRef = "ds_hidden_extnformrec_recinfo_recitem";
  104. this.savedInfoRef = "ds_main_savedinfo_";
  105. this.savedInfoRef2 = "ds_hidden_savedinfo";
  106. this.savedInfoItemRef2 = "ds_hidden_savedinfo_recitem";
  107. this.grdNodeset = "ds_main_recinfo_recitem";
  108. this.grdCapRef = "ds_main_forminfo_GrdList";
  109. this.imgerecItemRef = "ds_temp_imgerec_recinfo_recitem";
  110. //가계도 처리를 위하여 추가(2008-09-25) 박종훈
  111. this.fmyrecItemRef = "ds_temp_fmyrec_recinfo";
  112. //추가기록 처리를 위하여 추가(2008-09-25) 박종훈
  113. this.etcrecItemRef = "ds_temp_etcrec_recinfo";
  114. //누적데이터 조회를 위하여 추가(2008-09-30) 박종훈
  115. this.acmlrecItemRef = "ds_acmltmp_recinfo_recitem";
  116. this.sortItemRef = "ds_temp_sort_recinfo_recitem";
  117. this.popForminfoRef = "ds_temp_pop_forminfo";
  118. this.popRecinfoRef = "ds_temp2_getrecinfo_recinfo";
  119. this.RecinfoGridRef = "ds_main_recinfo_grid";
  120. this.initRecinfoGridRef = "ds_temp_recinfo_grid";
  121. this.RecinfoGridrecItemRef = "ds_main_recinfo_grid_recitem";
  122. this.initRecinfoGridrecItemRef = "ds_temp_recinfo_grid_recitem";
  123. // this.xsltRecinfoRecitemRef = "/recinfo/recitem";
  124. // this.xsltRecinfoGridRef = "/recinfo/grid";
  125. //20080818 박종훈 추가(특수서식 로딩관련)
  126. this.initforminfoRef = "ds_temp_forminfo";
  127. this.initformmastRef = "ds_temp_forminfo_formmast";
  128. //2010-03-31 오전 9:33:12 강지훈 추가(최종진단명)
  129. this.lastdiagItemRef = "ds_temp_lastdiag_recinfo";
  130. this.formCd = "";
  131. this.srcFormCd = "";
  132. this.formDegnSeq = "";
  133. this.degnItemNo = "";
  134. this.degnItemCd = "";
  135. this.degnItemLevlCd = "";
  136. this.fstLevlItemCd = "";
  137. this.degnitemkind = "";
  138. this.degnitemlevlno = "";
  139. this.degnitemnm = "";
  140. this.rectermnm = "";
  141. this.comuseyn = "";
  142. this.fontFamily = "돋움, Arial";
  143. this.fontSize = 11;
  144. this.align = "";
  145. this.valign = "";
  146. }
  147. */
  148. /**********************************************************************************
  149. * Method Name : ITEMVAL
  150. * Description : 아이템 value 변수 초기화
  151. * argument :
  152. * return Type :
  153. * Creator : 서식관련 MMRCommon으로 이동
  154. **********************************************************************************/
  155. // function ITEMVAL()
  156. // {
  157. // }
  158. /**********************************************************************************
  159. * Method Name : PARAM
  160. * Description :
  161. * argument : 01. name
  162. * : 02. value
  163. * return Type :
  164. * Creator : 서식관련 MMRCommon으로 이동
  165. **********************************************************************************/
  166. // function PARAM(name, value)
  167. // {
  168. // }
  169. /**
  170. * @desc : 노드셋 카피
  171. * @id :
  172. * @event :
  173. * @return :
  174. * @authur : 이상현
  175. */
  176. function copyNodeset(strDest, strSrc, mode, destModel, srcModel)
  177. {
  178. if(mode == null)
  179. mode = "replace";
  180. if(destModel == null)
  181. destModel = model;
  182. if(srcModel == null)
  183. srcModel = model;
  184. if(mode == "replace")
  185. destModel.removeNodeset(strDest);// 대상 노드를 삭제한다.
  186. //var destListLen = 0;
  187. var destNodeList = destModel.instances(0).selectNodes(strDest);
  188. //if(destNodeList != null)
  189. var destListLen = destNodeList.length;
  190. var srcNodeList = srcModel.instances(0).selectNodes(strSrc);
  191. var prepath_strDest = strDest + "[";
  192. var idx;
  193. for(var i = 0; i < srcNodeList.length; i++)
  194. {
  195. idx = i + 1 + destListLen;
  196. var strDest1 = prepath_strDest + idx + "]";
  197. destModel.makeNode(strDest1);
  198. var destNode = destModel.instances(0).selectSingleNode(strDest1);
  199. var srcNode = srcNodeList.item(i);
  200. var srcChildList = srcNode.childNodes;
  201. for(var j = 0; j < srcChildList.length; j++)
  202. destNode.appendChild(srcChildList.item(j).cloneNode(true));
  203. }
  204. }
  205. /**
  206. * @desc : 노드 카피
  207. * @id :
  208. * @event :
  209. * @return :
  210. * @authur : 이상현
  211. */
  212. function copyNode(destModel, srcModel, strDest, strSrc)
  213. {
  214. if(findNode(srcModel, strSrc) == null)
  215. {
  216. alert("카피할 원본노드(" + strSrc + ")가 존재하지 않습니다..");
  217. return;
  218. }
  219. var destNode = findNode(destModel, strDest);
  220. if(destNode == null)
  221. destModel.makeNode(strDest);
  222. else
  223. {
  224. var childList = destNode.childNodes;
  225. for(var idx = 0; idx < childList.length; idx++)
  226. {
  227. var childNode = childList.item(idx);
  228. destModel.removenode(childNode);
  229. }
  230. }
  231. var destXml = destModel.instances(0);
  232. var destNode = destXml.selectSingleNode(strDest);
  233. var nodeList2 = destNode.childNodes;
  234. var temp_count = 0;
  235. var total_count = nodeList2.length;
  236. for (; temp_count<total_count; temp_count++)
  237. {
  238. destNode.removeChild( nodeList2.item(0) );
  239. }
  240. var srcXml = srcModel.instances(0);
  241. var srcNode = srcXml.selectSingleNode(strSrc);
  242. nodeList2 = srcNode.childNodes;
  243. var clone_node = null;
  244. temp_count = 0;
  245. total_count = nodeList2.length;
  246. for (; temp_count<total_count; temp_count++)
  247. {
  248. var node = nodeList2.item(temp_count);
  249. clone_node = node.cloneNode(true);
  250. destNode.appendChild( clone_node );
  251. }
  252. }
  253. /**
  254. * @desc : 노드 찾기
  255. * @id :
  256. * @event :
  257. * @return :
  258. * @authur : 이상현
  259. */
  260. function findNode(srchModel, strPath)
  261. {
  262. var insXml = srchModel.instances(0);
  263. var destNode = insXml.selectSingleNode(strPath);
  264. return destNode;
  265. }
  266. /**
  267. * @desc : 노드셋 찾기
  268. * @id :
  269. * @event :
  270. * @return :
  271. * @authur : 이상현
  272. */
  273. function findNodeset(srchModel, strPath)
  274. {
  275. var insXml = srchModel.instances(0);
  276. var destNodeList = insXml.selectNodes(strPath);
  277. return destNodeList;
  278. }
  279. /**
  280. * @desc : 노드셋 갯수 카운트
  281. * @id :
  282. * @event :
  283. * @return :
  284. * @authur : 이상현
  285. */
  286. function getNodesetCnt(srchModel, path)
  287. {
  288. var insXml = srchModel.instances(0);
  289. var nodeList = insXml.selectNodes(path);
  290. return nodeList.length;
  291. }
  292. /**
  293. * @desc : 그리드 트리 설정
  294. * @id :
  295. * @event :
  296. * @return :
  297. * @authur : 이상현
  298. */
  299. function setGridTree( gridObj, levelcol, targetcol, collapsed) {
  300. //tree 및 레벨설정
  301. for(var i = gridObj.fixedRows; i < gridObj.rows; i++)
  302. {
  303. //gridObj.issubtotal(i) = true;
  304. gridObj.outlinelevel(i)=gridObj.valuematrix(i, levelcol); //인스턴스 levl 값임
  305. }
  306. // tree 대상 컬럼 및 형태 설정
  307. gridObj.outlinecol=targetcol; //연결선이 표현되는 컬럼
  308. gridObj.outlinebar=2; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  309. gridObj.treecolor="#948777"
  310. // 자식 트리 접기
  311. if (collapsed)
  312. {
  313. for(var i = gridObj.fixedrows; i <gridObj.rows; i++)
  314. {
  315. gridObj.isCollapsed(i) = collapsed; //자식 트리 접기
  316. }
  317. }
  318. }
  319. function POSITION(x, y)
  320. {
  321. this.x = x;
  322. this.y = y;
  323. }
  324. function TABLE(rows, cols)
  325. {
  326. this.rows = rows;
  327. this.cols = cols;
  328. }
  329. function SIZE(cx, cy)
  330. {
  331. this.cx = cx;
  332. this.cy = cy;
  333. }
  334. /**********************************************************************************
  335. * Method Name : getStyleValue
  336. * Description : 컨트롤의 스타일 값 가져오기
  337. * argument : 01. attrs :
  338. * : 02. attrNm :
  339. * : 03. ctrltype:
  340. * return Type :
  341. * Creator : 서식관련 MMRCommon으로 이동
  342. **********************************************************************************/
  343. // function getStyleValue(attrs, attrNm, ctrltype)
  344. // {
  345. // }
  346. /**
  347. * @desc : 컨트롤의 포맷 값 가져오기
  348. * @id :
  349. * @event :
  350. * @return :
  351. * @authur : 이경희
  352. */
  353. function getFormatStyleValue(attrs, attrNm, ctrltype)
  354. {
  355. if(attrs == null || attrs == "")
  356. return "";
  357. if(ctrltype != null)
  358. attrNm = ctrltype + "." + attrNm;
  359. // "label.left:0;label.top:-1;label.width:50;label.height:20;ctrl.left:65;left:40;top:1127;border-style:none;
  360. // ctrl.border-style:sunken;format:99;ctrl.format:hh|nn;"
  361. var arrAttrs = attrs.split(";");
  362. var arrAttr = "";
  363. for(var i = 0; i < arrAttrs.length; i++)
  364. {
  365. if(isSearchString(arrAttrs[i], attrNm))
  366. {
  367. arrAttr = arrAttrs[i].setReplaceWord("ctrl.format:", "");
  368. arrAttr = arrAttr.setReplaceWord("|", ":");
  369. break;
  370. }
  371. }
  372. return arrAttr;
  373. }
  374. /**
  375. * @desc : 컨트롤의 스타일 값 셋팅
  376. * @id :
  377. * @event :
  378. * @return :
  379. * @authur : 이상현
  380. */
  381. function setStyleValue(attrs, attrNm, attrVal)
  382. {
  383. var arrAttrs = attrs.split(";");
  384. attrs = "";
  385. var bFind = false;
  386. for(var i = 0; i < arrAttrs.length; i++)
  387. {
  388. var arrAttr = arrAttrs[i].split(":");
  389. if(arrAttr.length < 2)
  390. continue;
  391. if(arrAttr[0] == attrNm)
  392. {
  393. arrAttr[1] = attrVal;
  394. bFind = true;
  395. if(attrVal == "")
  396. continue;
  397. }
  398. attrs += arrAttr[0] + ":" + arrAttr[1] + ";";
  399. }
  400. if(!bFind)
  401. attrs += attrNm + ":" + attrVal + ";";
  402. return attrs;
  403. }
  404. /**
  405. * @group :
  406. * @ver : 2007.05.15
  407. * @by :
  408. * @---------------------------------------------------
  409. * @type : function
  410. * @access : public
  411. * @desc : 구분자로 분리된 특정자료를 Reading
  412. * @param : pData : 원본데이터
  413. * @param : pRow : 찾고자 하는 위치의 row
  414. * @param : pCol : 찾고자 하는 위치의 column
  415. * @return : 해당 row, column의 문자열
  416. * @---------------------------------------------------
  417. */
  418. function getArrayData(pData, pRow, pCol, pRowSep, pColSep){
  419. var rowSep = "▩"; // row 구분자
  420. var colSep = "▦"; // column 구분자
  421. if(pRowSep != null && pRowSep != "undefined")
  422. rowSep = pRowSep;
  423. if(pColSep != null && pColSep != "undefined")
  424. colSep = pColSep;
  425. var arrRow = pData.split(rowSep);
  426. if(arrRow.length <= pRow) return "";
  427. var arrCol = arrRow[pRow].split(colSep);
  428. if(arrCol.length <= pCol) return "";
  429. return arrCol[pCol];
  430. }
  431. /**
  432. * @group :
  433. * @ver : 2007.06.13
  434. * @by :
  435. * @---------------------------------------------------
  436. * @type : function
  437. * @access : public
  438. * @desc : 두개의 노드셋을 비교한다.
  439. * @param : originalNode :
  440. * @param : copyNode :
  441. * @return : true, false
  442. * @---------------------------------------------------
  443. */
  444. function fCompareNodes(originalNode, copyNode){
  445. var ins = document.models( 0 ).instances( 0 );
  446. var original = ins.selectSingleNode(originalNode).xml;
  447. var copy = ins.selectSingleNode(copyNode).xml;
  448. if(original == null || copy == null){
  449. return false;
  450. }else if (original == copy){
  451. return true;
  452. }else{
  453. return false;
  454. }
  455. }
  456. /**
  457. * @desc : 조회해온 기록 값을 셋팅
  458. * @id :
  459. * @event :
  460. * @return :
  461. * @authur : 이상현 (2008-07-15)
  462. */
  463. function setSrchData(srcPath, viewobj)
  464. {
  465. model.addLog("[DEBUG] setSrchData srcPath::"+srcPath);
  466. var startTime = new Date().getTime(); //시작시간 체크(단위 ms)
  467. var pageInfo = new PAGEINFO(viewobj);
  468. var nodeList = model.instances(0).selectNodes(srcPath);
  469. viewobj.model.removeNodeset(pageInfo.recItemRef + "[orgdegnitemkind = 'DGN' or orgdegnitemkind = 'OPN' or orgdegnitemkind = 'CCN']");//"/root/main/recinfo/recitem";
  470. var initRowno = 0;
  471. var prevColno = 0;
  472. var cntGSL = 0;
  473. var prev_Grddegnitemlevlcd = "";
  474. var prev_Grddegnitemno = "";
  475. var prev_degnitemlevlcd = "";
  476. var prev_degnitemno = "";
  477. var prev_MSLdegnitemno = ""; //2010-03-16 오전 9:17:25 강지훈 : MSL타입 수정모드시 값설정이 제대로 되지않는 오류 수정
  478. //2010-02-08 오후 1:28:25 강지훈 수정 : default 값이 설정되어있을경우 default값을 빼기위해서 destNode의 값을 일괄삭제
  479. var delNodes = viewobj.model.instance1.selectNodes("/root/main/recinfo/recitem[rectermcd != '' or rectermnm != '' or reccnts != '']");
  480. for(var a = 0; a < delNodes.length; a++){
  481. var trgNode = delNodes.item(a);
  482. if(trgNode.selectSingleNode("rectermcd") != null){
  483. trgNode.selectSingleNode("rectermcd").text = "";
  484. }
  485. if(trgNode.selectSingleNode("rectermnm") != null){
  486. trgNode.selectSingleNode("rectermnm").text = "";
  487. }
  488. if(trgNode.selectSingleNode("reccnts") != null){
  489. trgNode.selectSingleNode("reccnts").text = "";
  490. }
  491. }
  492. model.addLog("[DEBUG] setSrchData nodeList.length::"+nodeList.length);
  493. for(var i = 0; i < nodeList.length; i++)
  494. {
  495. var srcNode = nodeList.item(i); // 기록노드 recitem 하나씩 가져옴.
  496. var srcCopyNode = srcNode.cloneNode(true);
  497. var formcdNode = srcNode.selectSingleNode("formcd");
  498. var formdegnseqNode = srcNode.selectSingleNode("formdegnseq");
  499. var degnitemcdNode = srcNode.selectSingleNode("degnitemcd");
  500. var degnitemnmNode = srcNode.selectSingleNode("degnitemnm");
  501. model.addLog("[DEBUG] setSrchData degnitemnmNode::"+degnitemnmNode.text);
  502. var degnitemnoNode = srcNode.selectSingleNode("degnitemno");
  503. model.addLog("[DEBUG] setSrchData degnitemnoNode::"+degnitemnoNode.text);
  504. var degnitemkindNode = srcNode.selectSingleNode("degnitemkind");
  505. var degnitemlevlcdNode = srcNode.selectSingleNode("degnitemlevlcd");
  506. model.addLog("[DEBUG] setSrchData degnitemkindNode::"+degnitemkindNode.text);
  507. model.addLog("[DEBUG] setSrchData reccnts::"+srcNode.selectSingleNode("reccnts").text);
  508. var rectermcdNode = srcNode.selectSingleNode("rectermcd");
  509. var rectermnmNode = srcNode.selectSingleNode("rectermnm");
  510. var recrefcdNode = srcNode.selectSingleNode("recrefcd");
  511. var recitemnmNode = srcNode.selectSingleNode("recitemnm");
  512. var reccntsNode = srcNode.selectSingleNode("reccnts");
  513. var rownoNode = srcNode.selectSingleNode("rowno");
  514. var colnoNode = srcNode.selectSingleNode("colno");
  515. //"/root/main/forminfo/formdegn";
  516. var supdegnitemnoNode = viewobj.instance1.selectSingleNode(pageInfo.formdegnRef + "[degnitemno = '" + degnitemnoNode.text + "']/supdegnitemno");
  517. var itemattrvalNode = null;
  518. if(supdegnitemnoNode != null)
  519. itemattrvalNode = viewobj.instance1.selectSingleNode(pageInfo.formdegnRef + "[degnitemno = '" + supdegnitemnoNode.text + "']/itemattrval");
  520. var grdtype = "";
  521. if(itemattrvalNode != null)
  522. grdtype = getStyleValue(itemattrvalNode.text, "gridtype");
  523. //"/root/main/forminfo/formmast";
  524. var destformcdNode = viewobj.model.instances(0).selectSingleNode(pageInfo.formmastRef + "/formcd");
  525. if(formcdNode.text != destformcdNode.text)
  526. continue;
  527. var condition = "formcd = '" + formcdNode.text + "' and degnitemlevlcd = '" + degnitemlevlcdNode.text + "'";
  528. var destNode = null;
  529. if(degnitemkindNode.text == "GSU")
  530. {
  531. // debugger;
  532. // GSU의 그리드가 어떤 타입인지 확인한다.
  533. //// 1. root/temp/recinfo 의 노드를 찾는다.
  534. var tempRecinfoNode = findNode(viewobj.model, pageInfo.initrecRef);
  535. //"/root/temp/recinfo/grid/recitem";
  536. var tmpRecitemNode = viewobj.instance1.selectSingleNode(pageInfo.initRecinfoGridrecItemRef + "[degnitemlevlcd = '" + degnitemlevlcdNode.text + "']");
  537. var tempParentNode = null;
  538. var mainGrdType = "";
  539. if(tmpRecitemNode != null)
  540. {
  541. tempParentNode = tmpRecitemNode.parentNode;
  542. var fst_recitemNode = tempParentNode.selectSingleNode("recitem");
  543. var top_degnitemnoNode = tempParentNode.selectSingleNode("degnitemno");
  544. var top_degnitemlevlcdNode = tempParentNode.selectSingleNode("degnitemlevlcd");
  545. var fst_degnitemkindNode = fst_recitemNode.selectSingleNode("degnitemkind");
  546. var fst_orgdegnitemkindNode = fst_recitemNode.selectSingleNode("orgdegnitemkind");
  547. var rootCond = "degnitemno = '" + top_degnitemnoNode.text + "' and degnitemlevlcd = '" + top_degnitemlevlcdNode.text + "'";
  548. if(top_degnitemnoNode !=null && top_degnitemlevlcdNode != null)
  549. {
  550. if(prev_Grddegnitemno == "" && prev_Grddegnitemlevlcd == "")
  551. {
  552. prev_Grddegnitemno = top_degnitemnoNode.text;
  553. prev_Grddegnitemlevlcd = top_degnitemlevlcdNode.text;
  554. }
  555. else
  556. {
  557. // Grid의 degnitemno와 degnitemlevlcd가 다르면 다른 그리드이므로 값을 초기화한다.
  558. if(prev_Grddegnitemno != top_degnitemnoNode.text && prev_Grddegnitemlevlcd != top_degnitemlevlcdNode.text)
  559. {
  560. prev_Grddegnitemno = top_degnitemnoNode.text;
  561. prev_Grddegnitemlevlcd = top_degnitemlevlcdNode.text;
  562. initRowno = 0;
  563. prevColno = -1;
  564. prev_degnitemlevlcd = "";
  565. prev_degnitemno = "";
  566. prev_row = -1;
  567. }
  568. }
  569. }
  570. if(fst_orgdegnitemkindNode == null)
  571. {
  572. // X축, Y축, G축, T축
  573. itemattrvalNode = viewobj.instance1.selectSingleNode(pageInfo.formdegnRef + "[degnitemlevlcd = '" + top_degnitemlevlcdNode.text + "']/itemattrval");
  574. if(itemattrvalNode != null)
  575. mainGrdType = getStyleValue(itemattrvalNode.text, "gridtype");
  576. //// 2. 찾을 조건을 정의한다.
  577. if(mainGrdType == "X")
  578. {
  579. condition = condition + " and rowno = '" + rownoNode.text + "' and colno = '" + colnoNode.text + "'";
  580. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  581. // 1. root/main/recinfo의 하위노드중에서 condition에 해당하는 grid 노드의 자식노드(recitem) 노드를 찾는다.
  582. var tmpDestNodeList = findNodeset(viewobj.model, pageInfo.RecinfoGridRef);
  583. // grid 노드의 자식노드recitem중 condition에 해당하는 노드를 찾는다.
  584. destNode = findNode(viewobj.model, pageInfo.RecinfoGridRef + "/descendant::recitem[" + condition + "]");
  585. if(destNode == null)
  586. {
  587. // X축 그리드의 빈 컬럼을 추가한다.
  588. var grdList = viewobj.instance1.selectNodes("/root/main/recinfo/grid[degnitemlevlcd='" + top_degnitemlevlcdNode.text + "']");
  589. var tmpgrdList = viewobj.instance1.selectNodes("/root/temp/recinfo/grid[degnitemlevlcd='" + top_degnitemlevlcdNode.text + "']");
  590. var len = grdList.length;
  591. var grdNode = "";
  592. var subRecitemNodeList = "";
  593. var sublength = 0;
  594. var subNode = "";
  595. var tmpNode = "";
  596. for(var x = 0; x < len; x++)
  597. {
  598. grdNode = grdList.item(x); // 첫번째 grid row를 선택
  599. subRecitemNodeList = grdNode.selectNodes("recitem");
  600. sublength = subRecitemNodeList.length;
  601. // recitem의 마지막 컬럼을 복사.
  602. subNode = subRecitemNodeList.item(sublength-1);
  603. tmpNode = subNode.cloneNode(true);
  604. tmpNode.selectSingleNode("colno").text = colnoNode.text;
  605. if(tmpNode.selectSingleNode("rowno").text == rownoNode.text)
  606. tmpNode.selectSingleNode("reccnts").text = reccntsNode.text;
  607. else
  608. tmpNode.selectSingleNode("reccnts").text = "";
  609. tmpNode.selectSingleNode("rectermcd").text = "";
  610. tmpNode.selectSingleNode("rectermnm").text = "";
  611. tmpNode.selectSingleNode("degnitemkind").text = "GSU";
  612. grdNode.appendChild(tmpNode);
  613. }
  614. // Grid 컨트롤을 생성할때에는 createchild 명령어가 제대로 작동하나,
  615. // 이미 생성된 컨트롤에서 컬럼을 추가할때에는 createchild 명령어는 작동하지 않음.
  616. var grd = viewobj.document.controls("GRD_" + top_degnitemnoNode.text);
  617. if(grd == null)
  618. continue;
  619. var cols = grd.cols;
  620. grd.addColumn("type:input; ref:recitem[colno='" + cols + "']/reccnts");
  621. grd.rebuild();
  622. model.refresh();
  623. }
  624. else
  625. {
  626. // 복사할 대상 노드를 찾은 경우
  627. // 기록된 grid의 recitem 노드셋(srcNode)를 하나씩 destNode를 찾아 교환한다.
  628. destNode.parentNode.replaceChild(srcCopyNode, destNode);
  629. }
  630. continue;
  631. }
  632. /*
  633. else if(mainGrdType == "Y")
  634. {
  635. // 이전 Colno 보다 colnoNode가 큰 경우
  636. if(prev_degnitemlevlcd == "")
  637. {
  638. prev_degnitemlevlcd = degnitemlevlcdNode.text;
  639. prev_degnitemno = degnitemnoNode.text;
  640. }
  641. else
  642. {
  643. if(prev_degnitemno != degnitemnoNode.text && prev_degnitemlevlcd == degnitemlevlcdNode.text && (parseInt(prevColno) < parseInt(colnoNode.text)))
  644. {
  645. prevColno =colnoNode.text;
  646. }
  647. // 이전 Colno 와 colnoNode가 같은 경우
  648. else if(prev_degnitemno != degnitemnoNode.text && prev_degnitemlevlcd == degnitemlevlcdNode.text && (parseInt(prevColno) >= parseInt(colnoNode.text)))
  649. {
  650. initRowno++;
  651. }
  652. else // 이전 Colno 보다 colnoNode가 작은 경우 다음 row로 넘어간다.
  653. {
  654. initRowno++;
  655. prevColno =colnoNode.text;
  656. }
  657. }
  658. //condition = condition + " and rowno = '" + initRowno + "' and colno = '" + colnoNode.text + "'";
  659. condition = condition + " and rowno = '" + rownoNode.text + "' and colno = '" + colnoNode.text + "'";
  660. }
  661. */
  662. else // Y축, G축, T축
  663. {
  664. // G축, T축 그리드
  665. // 행추가/삭제, 열추가/삭제가 없으므로 DB에 저장된 rowno, colno 그대로 맵핑한다.
  666. condition = condition + " and rowno = '" + rownoNode.text + "' and colno = '" + colnoNode.text + "'";
  667. }
  668. ///////////////////////////////////////////////////////////////////
  669. //// 3. root/main/recinfo 에서 Grid를 찾는다.
  670. var tmpDestNodeList = findNodeset(viewobj.model, pageInfo.RecinfoGridRef + "[" + rootCond + "]");
  671. var tmpdestNode = null;
  672. for(var idx = 0; idx < tmpDestNodeList.length; idx++)
  673. {
  674. var subgrdNode = tmpDestNodeList.item(idx);
  675. tmpdestNode = subgrdNode.selectSingleNode("recitem[" + condition + "]");
  676. if(tmpdestNode != null)
  677. {
  678. break;
  679. }
  680. }
  681. //// 4. root/main/recinfo 노드에 해당 GRD기 없으면 temp/recinfo 에서 찾은 grid 노드를 main으로 복사한다.
  682. // rowno 를 initRowno로 수정한 후 복사한다.
  683. if(tmpdestNode == null)
  684. {
  685. var mainParentNode = tempParentNode.cloneNode(true);
  686. var recitemList = mainParentNode.selectNodes("recitem");
  687. for(var tmpidx = 0; tmpidx < recitemList.length; tmpidx++)
  688. {
  689. var tmpSubRecNode = recitemList.item(tmpidx);
  690. tmpSubRecNode.selectSingleNode("rowno").text = rownoNode.text;
  691. }
  692. var recinfoNode = findNode(viewobj.model, pageInfo.recRef);
  693. if(recinfoNode == null)
  694. {
  695. viewobj.document.models(0).makeNode(pageInfo.recRef);
  696. recinfoNode = viewobj.document.models(0).instances(0).selectSingleNode(pageInfo.recRef);
  697. }
  698. recinfoNode.appendChild(mainParentNode);
  699. }
  700. }
  701. else
  702. {
  703. // DGN, OPN, CCN
  704. mainGrdType = fst_orgdegnitemkindNode.text;
  705. //// 2. 찾을 조건을 정의한다.
  706. // 이전 Colno 보다 colnoNode가 큰 경우
  707. if(prev_degnitemlevlcd == "")
  708. {
  709. prev_degnitemlevlcd = degnitemlevlcdNode.text;
  710. }
  711. else
  712. {
  713. // rowno는 같고 이전 Colno 보다 현재 colnoNode가 큰 경우
  714. if(prev_degnitemlevlcd != degnitemlevlcdNode.text && (parseInt(prevColno) < parseInt(colnoNode.text)))
  715. {
  716. prevColno =colnoNode.text;
  717. prev_degnitemlevlcd = degnitemlevlcdNode.text;
  718. }
  719. // 이전 Colno 와 colnoNode가 같은 경우 rowno를 증가시킴
  720. else if(prev_degnitemlevlcd == degnitemlevlcdNode.text && (parseInt(prevColno) == parseInt(colnoNode.text)))
  721. {
  722. initRowno++;
  723. prev_degnitemlevlcd = degnitemlevlcdNode.text;
  724. }
  725. else // 이전 Colno 보다 colnoNode가 작은 경우 다음 row로 넘어간다.
  726. {
  727. initRowno++;
  728. prevColno =colnoNode.text;
  729. prev_degnitemlevlcd = degnitemlevlcdNode.text;
  730. }
  731. }
  732. condition = condition + " and rowno = '" + initRowno + "' and colno = '" + colnoNode.text + "'";
  733. //// 3. root/main/recinfo 항목을 찾는다.
  734. var tmpDestNodeList = findNodeset(viewobj.model, pageInfo.RecinfoGridRef + "[" + rootCond + "]");
  735. var tmpdestNode = null;
  736. for(var idx = 0; idx < tmpDestNodeList.length; idx++)
  737. {
  738. var subgrdNode = tmpDestNodeList.item(idx);
  739. tmpdestNode = subgrdNode.selectSingleNode("recitem[" + condition + "]");
  740. if(tmpdestNode != null)
  741. {
  742. break;
  743. }
  744. }
  745. //// 4. root/main/recinfo 노드에 해당 GRD가 없으면 temp/recinfo 에서 찾은 grid 노드를 main으로 복사한다.
  746. //// rowno 를 initRowno로 수정한 후 복사한다.
  747. if(tmpdestNode == null)
  748. {
  749. var mainParentNode = tempParentNode.cloneNode(true);
  750. var recitemList = mainParentNode.selectNodes("recitem");
  751. for(var tmpidx = 0; tmpidx < recitemList.length; tmpidx++)
  752. {
  753. var tmpSubRecNode = recitemList.item(tmpidx);
  754. tmpSubRecNode.selectSingleNode("rowno").text = initRowno;
  755. }
  756. var recinfoNode = findNode(viewobj.model, pageInfo.recRef);
  757. if(recinfoNode == null)
  758. {
  759. viewobj.document.models(0).makeNode(pageInfo.recRef);
  760. recinfoNode = viewobj.document.models(0).instances(0).selectSingleNode(pageInfo.recRef);
  761. }
  762. recinfoNode.appendChild(mainParentNode);
  763. }
  764. srcCopyNode.selectSingleNode("rowno").text = initRowno;
  765. }
  766. }
  767. destNode = findNode(viewobj.model, pageInfo.RecinfoGridRef + "/descendant::recitem[" + condition + "]");
  768. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  769. //// 5. main/recinfo 노드에서 해당 노드를 찾지 못하면 다시한번 temp 에서 찾아 main으로 복사한다.
  770. if(destNode == null)
  771. {
  772. // 2. /root/main/recinfo 에서 못찾으면 /root/temp/recinfo 에서 찾아온다.
  773. var supdegnitemlevlcd = degnitemlevlcdNode.text.substr(0, degnitemlevlcdNode.text.lastIndexOf("."));
  774. // DB에서 불러온 서식의 instances 구조에 해당 노드가 없는 경우 /root/temp/recinfo/ 에서 찾아 복사한다.
  775. grdNode = viewobj.model.instances(0).selectSingleNode("/root/temp/recinfo/grid[degnitemlevlcd='" + supdegnitemlevlcd + "']");
  776. if(grdNode != null)
  777. {
  778. var orgdegnitemkindNode = grdNode.selectSingleNode("recitem/orgdegnitemkind");
  779. var grdCloneNode = grdNode.cloneNode(true);
  780. var recitemNodeList = grdCloneNode.selectNodes("recitem");
  781. for(var idx = 0; idx < recitemNodeList.length; idx++)
  782. {
  783. // recitem
  784. var recitemNode = recitemNodeList.item(idx);
  785. recitemNode.selectSingleNode("rowno").text = initRowno; //rownoNode.text;
  786. }
  787. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  788. // 5. /root/temp/recinfo 에서 가져온 grid 인스턴스가 진단명/수술명/주호소 인지를 판단한다.
  789. if(orgdegnitemkindNode != null)
  790. {
  791. if(orgdegnitemkindNode.text == "DGN" // 진단명
  792. || orgdegnitemkindNode.text == "OPN" // 수술
  793. || orgdegnitemkindNode.text == "CCN") // 주호소
  794. {
  795. recinfoNode.appendChild(grdCloneNode);
  796. }
  797. }
  798. else
  799. {
  800. // 현재 grdNode는 root/temp/recinfo의 그리드노드이므로, root/main/recinfo의 그리드노드를 찾는다.
  801. var grdNodeList = viewobj.instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemlevlcd = '" + supdegnitemlevlcd + "']");
  802. // rowno 순서를 맞추기 위해 srcNode의 rowno 이전의 GRD를 찾는다.
  803. for(var idx = 0; idx < grdNodeList.length; idx++)
  804. {
  805. var subgrdNode = grdNodeList.item(idx);
  806. if(subgrdNode.selectSingleNode("recitem/rowno").text == (rownoNode.text-1))
  807. {
  808. grdNode = subgrdNode;
  809. break;
  810. }
  811. }
  812. recinfoNode.insertAfter(grdCloneNode, grdNode);
  813. }
  814. grdNode = grdCloneNode;
  815. }
  816. //2010.06.08 김달현 수정. grdNode null 처리
  817. if(grdNode == null){
  818. continue;
  819. }
  820. //교체할 대상 gsu를 구한다.
  821. //var gsucond = "degnitemno = '" + degnitemnoNode.text + "' and colno = '" + colnoNode.text + "'";
  822. var gsucond = "degnitemlevlcd = '" + degnitemlevlcdNode.text + "' and colno = '" + colnoNode.text + "'";
  823. destNode = grdNode.selectSingleNode("recitem[" + gsucond +"]");
  824. if(destNode == null)
  825. {
  826. addGridCol(supdegnitemnoNode.text, viewobj);
  827. destNode = grdNode.selectSingleNode("recitem[" + gsucond +"]");
  828. if(destNode == null)
  829. continue;
  830. }
  831. // 기록된 grid의 recitem(srcNode)를 main/recinfo/grid의 recitem(destNode)로 교환한다.
  832. //replaceChild(node newChild, node oldChild)
  833. srcCopyNode.selectSingleNode("rowno").text = initRowno; // 저장된 rowno는 순서가 뒤바뀌어 있으므로 initRowno를 대입한다.
  834. grdNode.replaceChild(srcCopyNode, destNode);
  835. continue;
  836. }
  837. destNode.parentNode.replaceChild(srcCopyNode, destNode);
  838. }
  839. else if(degnitemkindNode.text == "CHK")
  840. {
  841. //condition = condition + " and rowno = '" + rownoNode.text + "' and colno = '" + colnoNode.text + "'";
  842. destNode = findNode(viewobj.model, pageInfo.recRef + "/descendant::recitem[" + condition + "]");
  843. if(destNode == null)
  844. continue;
  845. /*
  846. var srcdegnitemno = srcNode.selectSingleNode("degnitemno").text;
  847. srcNodeList = findNodeset(model, srcPath + "[degnitemno = '" + srcdegnitemno + "']");
  848. var rectermcd = "";
  849. for(var idx = 0; idx < srcNodeList.length; idx++)
  850. {
  851. var node = srcNodeList.item(idx);
  852. if(idx == 0)
  853. rectermcd += node.selectSingleNode("rectermcd").text;
  854. else
  855. rectermcd += " " + node.selectSingleNode("rectermcd").text;
  856. }
  857. destNode.selectSingleNode("rectermcd").text = rectermcd;
  858. */
  859. // CHK 아이템 정렬 문제 수정 setsrchdata, getCheckSaveData
  860. var srcdegnitemno = srcNode.selectSingleNode("degnitemno").text;
  861. /* 2010.01.27 안치원 - 수정모드시 degnitemno가 같은 item에 값이 설정되는 오류수정
  862. * 아래 srcPath + "[degnitemno = '" + srcdegnitemno + "']" 의 값이
  863. * "/root/hidden/recinfo/recitem[fstlevlitemcd='0000098001' and formcd = '0900004557'][degnitemno = '11']"
  864. * 으로 나옴으로 해서, 앞의 조건은 무시되고 degnitemno = '11'인 값을 가져와 설정하는 문제가 발생했음.
  865. * 그래서 path의 값이
  866. * "/root/hidden/recinfo/recitem[fstlevlitemcd='0000098001' and formcd = '0900004557' and degnitemno = '11']"
  867. * 로 나오도록 수정함.
  868. */
  869. //srcNodeList = findNodeset(model, srcPath + "[degnitemno = '" + srcdegnitemno + "']");
  870. var l_srcPath = srcPath + "[degnitemno = '" + srcdegnitemno + "']";
  871. l_srcPath = l_srcPath.replace("][", " and ");
  872. srcNodeList = findNodeset(model, l_srcPath);
  873. var rectermcd = "";
  874. var rectermnm = "";
  875. var reccnts = "";
  876. for(var idx = 0; idx < srcNodeList.length; idx++)
  877. {
  878. var node = srcNodeList.item(idx);
  879. reccnts = node.selectSingleNode("reccnts").text;
  880. var tmpRectermnm = node.selectSingleNode("rectermnm").text;
  881. if(tmpRectermnm == "")
  882. {
  883. tmpRectermnm = model.getValue(pageInfo.vallistRef + "[valcd='" + node.selectSingleNode("rectermcd").text + "']/valitemnm");
  884. }
  885. if(idx == 0)
  886. {
  887. rectermcd += node.selectSingleNode("rectermcd").text;
  888. rectermnm += tmpRectermnm; //node.selectSingleNode("rectermnm").text;
  889. }
  890. else
  891. {
  892. rectermcd += " " + node.selectSingleNode("rectermcd").text;
  893. rectermnm += "▦" + tmpRectermnm; //node.selectSingleNode("rectermnm").text;
  894. }
  895. }
  896. destNode.selectSingleNode("rectermcd").text = rectermcd;
  897. destNode.selectSingleNode("rectermnm").text = rectermnm;
  898. destNode.selectSingleNode("reccnts").text = reccnts;
  899. destNode.selectSingleNode("rowno").text = srcNode.selectSingleNode("rowno").text; //2010.04.29, 주희경, 기록 수정 시 수식 계산을 위해 기록시 저장한 rowno셋팅
  900. }
  901. else if(degnitemkindNode.text == "MSL")
  902. {
  903. condition = condition + " and degnitemno = '" + degnitemnoNode.text + "' and colno = '" + colnoNode.text + "'";
  904. destNode = findNode(viewobj.model, pageInfo.recRef + "/descendant::recitem[" + condition + "]");
  905. if(destNode == null)
  906. continue;
  907. //2010-03-16 오전 9:18:31 강지훈 : MSL 합계가 colno = 0 에 setting된다.
  908. if(prev_MSLdegnitemno != degnitemnoNode.text){
  909. //debugger;
  910. //colno 가 0인 targetNode를 찾는다.
  911. var zeroNodeSrchCond = "formcd = '" + formcdNode.text + "' and degnitemlevlcd = '" + degnitemlevlcdNode.text ;
  912. zeroNodeSrchCond += "' and degnitemno = '" + degnitemnoNode.text + "' and colno = '0'";
  913. var prev_recMSLSumNode = findNode(viewobj.model, pageInfo.recRef + "/descendant::recitem[" + zeroNodeSrchCond + "]");
  914. //targetNode가 존재한다면 기록된 동일degnitemno 값들을 sum하여 targetNode의 0번째 colno에 setting
  915. if(prev_recMSLSumNode != null){
  916. var recMSLSrchCond = "formcd = '" + formcdNode.text + "' and degnitemlevlcd = '" + degnitemlevlcdNode.text + "' and degnitemno = "+ degnitemnoNode.text;
  917. var recMSLSum = model.instances(0).getXPathString("sum("+ pageInfo.recRef + "/recitem[" + recMSLSrchCond +"]/rowno)") ;
  918. prev_recMSLSumNode.selectSingleNode("rowno").text = recMSLSum;
  919. }
  920. }
  921. //pointer 복사에서 값 복사로 변경
  922. //destNode.parentNode.replaceChild(srcNode.cloneNode(true), destNode);
  923. destNode.selectSingleNode("rectermcd").text = srcNode.selectSingleNode("rectermcd").text;
  924. destNode.selectSingleNode("rectermnm").text = srcNode.selectSingleNode("rectermnm").text;
  925. destNode.selectSingleNode("reccnts").text = srcNode.selectSingleNode("reccnts").text;
  926. //destNode.selectSingleNode("srcimge").text = srcNode.selectSingleNode("srcimge").text;
  927. destNode.selectSingleNode("recimge").text = srcNode.selectSingleNode("recimge").text;
  928. destNode.selectSingleNode("rowno").text = srcNode.selectSingleNode("rowno").text;
  929. destNode.selectSingleNode("colno").text = srcNode.selectSingleNode("colno").text;
  930. prev_MSLdegnitemno = degnitemnoNode.text;
  931. }
  932. else
  933. {
  934. //20100624-kys-연령감정서의 경우 로딩시 디폴트값으로 degnitemlevlcd의 값이 같은 STX가 존재하여 저정후 값셋팅이 되지 않음.
  935. //이러한 경우 condition에 degnitemno를 추가함.
  936. if(degnitemkindNode.text == "STX"){
  937. condition = condition + " and degnitemno = '" + degnitemnoNode.text + "'";
  938. }
  939. destNode = findNode(viewobj.model, pageInfo.recItemRef + "[" + condition + "]");
  940. if(destNode == null)
  941. continue;
  942. //pointer 복사에서 값 복사로 변경
  943. //destNode.parentNode.replaceChild(srcNode.cloneNode(true), destNode);
  944. destNode.selectSingleNode("rectermcd").text = srcNode.selectSingleNode("rectermcd").text;
  945. destNode.selectSingleNode("rectermnm").text = srcNode.selectSingleNode("rectermnm").text;
  946. destNode.selectSingleNode("reccnts").text = srcNode.selectSingleNode("reccnts").text;
  947. //destNode.selectSingleNode("srcimge").text = srcNode.selectSingleNode("srcimge").text;
  948. destNode.selectSingleNode("recimge").text = srcNode.selectSingleNode("recimge").text;
  949. destNode.selectSingleNode("rowno").text = srcNode.selectSingleNode("rowno").text;
  950. destNode.selectSingleNode("colno").text = srcNode.selectSingleNode("colno").text;
  951. //이미지 OCX처리
  952. if(degnitemkindNode.text == "IMG")
  953. {
  954. var degnitemno = degnitemnoNode.text;
  955. var imgedit = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemno = '']/itemattrval"), "imgedit");
  956. if(imgedit == "Y")
  957. {
  958. var ctrlid = "IMG_" + degnitemno;
  959. eval(ctrlid).SetShapeString(reccntsNode.text);
  960. }
  961. }
  962. }
  963. }
  964. //copyNodeset(pageInfo.recItemRef, srcPath, "replace", viewobj.model, model);
  965. var endTime = new Date().getTime(); //종료시간 체크(단위 ms)
  966. model.addLog("setSrchData 시간: " + ((endTime-startTime)/1000) );
  967. model.addLog("[DEBUG] setSrchData refresh");
  968. //viewobj.model.refresh();
  969. model.addLog("[DEBUG] setSrchData dispatch");
  970. viewobj.body.dispatch("onsubformdataloadcomp");
  971. }
  972. /**********************************************************************************
  973. * Method Name : clearData
  974. * Description : Data Clear
  975. * argument :
  976. * return Type :
  977. * Creator : 서식관련 MMRCommon으로 이동 (lf_clearFormRec 로 통합 사용안함)
  978. **********************************************************************************/
  979. // function clearData()
  980. // {
  981. // }
  982. function GetImgUrl(imgecd)
  983. {
  984. utlf_addLog("***** GetImgUrl("+imgecd+") EMRCommon -> MMRCommon *****");
  985. return getActionURI("TRMRF01212") + getUserSessionString() + "&imgecd=" + imgecd;
  986. }
  987. /**********************************************************************************
  988. * Method Name : clearImgeData
  989. * Description : 이미지데이터를 clear한다
  990. * argument : 01. targetPath
  991. * : 02. appendMode
  992. * : 03. pmodel
  993. * : 04. pageInfo
  994. * : 05. mode
  995. * return Type :
  996. * Creator : 서식관련 MMRCommon으로 이동 (lf_clearFormRec 로 통합 사용안함)
  997. **********************************************************************************/
  998. // function clearImgeData()
  999. // {
  1000. // }
  1001. /**
  1002. * @desc : 이미지데이터를 가져온다
  1003. * @id :
  1004. * @event :
  1005. * @return :
  1006. * @authur : 이상현
  1007. * @history:
  1008. 2008-11-24
  1009. - 로컬이미지는 공통서식, 과별서식 구분 없이 무조건 저장.
  1010. - 편집가능 DB이미지는 공통서식의 경우 편집을 하지 않으면 Pass
  1011. 과별서식의 경우 편집을 하지 않아도 저장하도록 수정
  1012. */
  1013. var BASE_SHAPE = "<Xvg viewMode='1' zoom='0' width='300' height='300'></Xvg>";
  1014. function getImgeData()
  1015. {
  1016. var pageInfo = new PAGEINFO();
  1017. var nodeList = instance1.selectNodes(pageInfo.recItemRef + "[degnitemkind = 'IMG']");
  1018. // 공통서식인지 과별서식인지 구분
  1019. var FormInfoNode = instance1.selectNodes(pageInfo.formmastRef);
  1020. var isFormMain = "";
  1021. var formkind = "";
  1022. var formprognm = "";
  1023. var formprogflag = "";
  1024. if(FormInfoNode.length > 0)
  1025. {
  1026. var formmastInfoNode = FormInfoNode.item(0);
  1027. formprogflag = formmastInfoNode.selectSingleNode("formprogflag").text;
  1028. formprognm = formmastInfoNode.selectSingleNode("formprognm").text;
  1029. formkind = formmastInfoNode.selectSingleNode("formkind").text;
  1030. if(formprognm != "-" && formkind == "C" && formprogflag != "-")
  1031. {
  1032. isFormMain = true;
  1033. }
  1034. else if(formkind == "U")
  1035. {
  1036. isFormMain = true; // 공통서식내의 부분 서식.
  1037. }
  1038. else
  1039. {
  1040. isFormMain = false;
  1041. }
  1042. }
  1043. for(var i = 0; i < nodeList.length; i++)
  1044. {
  1045. var itemNode = nodeList.item(i);
  1046. var degnitemno = itemNode.selectSingleNode("degnitemno").text;
  1047. var degnitemcd = itemNode.selectSingleNode("degnitemcd").text;
  1048. var degnitemlevlcd = itemNode.selectSingleNode("degnitemlevlcd").text;
  1049. var degnitemnm = itemNode.selectSingleNode("degnitemnm").text;
  1050. var fstlevlitemcd = itemNode.selectSingleNode("fstlevlitemcd").text;
  1051. var reccnts = itemNode.selectSingleNode("reccnts").text;
  1052. var imgedit = "";
  1053. if(formkind == "U")
  1054. {
  1055. var Tmpdegnitemlevlcd = degnitemlevlcd;
  1056. var Tmpfstlevlitemcd = "";
  1057. if(fstlevlitemcd != "")
  1058. {
  1059. Tmpfstlevlitemcd = fstlevlitemcd.substr(0, 7) + ".";
  1060. Tmpdegnitemlevlcd = Tmpdegnitemlevlcd.setReplaceWord(Tmpfstlevlitemcd, "");
  1061. }
  1062. imgedit = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemlevlcd = '" + Tmpdegnitemlevlcd + "']/itemattrval"), "imgedit");
  1063. }
  1064. else
  1065. imgedit = getStyleValue(model.getValue(pageInfo.formdegnRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/itemattrval"), "imgedit");
  1066. if(imgedit != "Y")
  1067. continue;
  1068. var ctrlid = "IMG_" + degnitemno;
  1069. var strShape = eval("IMG_" + degnitemno).GetShapeString();
  1070. var strRecImge = eval("IMG_" + degnitemno).SaveImageBase64();
  1071. var strImgSize = eval("IMG_" + degnitemno).GetImageSizeEx(false); // 이미지의 크기
  1072. var LocalImgNode = "/root/temp2/localimage/" + ctrlid + "/srcimge";
  1073. var LocalYNNode = "/root/temp2/localimage/" + ctrlid + "/LocalYN";
  1074. var LocalDegnitemlevlCDNode = "/root/temp2/localimage/" + ctrlid + "/degnitemlevlcd";
  1075. //var isLocalImge = model.getValue("/root/temp2/localimage");
  1076. var strSrcImge = model.getValue(LocalImgNode);
  1077. var strLocalYN = model.getValue(LocalYNNode);
  1078. var strLocalImgDegnitemlevlcd = model.getValue(LocalDegnitemlevlCDNode);
  1079. /*
  1080. if(degnitemnm == "빈이미지" && reccnts != "")
  1081. {
  1082. // MetaData
  1083. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemno = '" + degnitemno + "']/reccnts", strShape, true);
  1084. // recimage
  1085. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/recimge", strRecImge, true);
  1086. }
  1087. */
  1088. if(strLocalYN == "Y") // 로컬이미지 저장 루틴
  1089. {
  1090. if(degnitemlevlcd == strLocalImgDegnitemlevlcd)
  1091. {
  1092. // Image Size
  1093. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemno = '" + degnitemno + "']/unitnm", strImgSize);
  1094. // MetaData
  1095. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "' and degnitemno = '" + degnitemno + "']/reccnts", strShape, true);
  1096. // recimage
  1097. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/recimge", strRecImge, true);
  1098. // srcimage
  1099. var newNode = model.instance1.selectSingleNode(LocalImgNode);
  1100. var srcimgNode = itemNode.selectSingleNode("srcimge");
  1101. if(newNode != null && srcimgNode != null)
  1102. {
  1103. itemNode.replaceChild(newNode, srcimgNode);
  1104. }
  1105. // srcimage
  1106. /*
  1107. var newNode = model.instance1.selectSingleNode(LocalImgNode);
  1108. var srcimgNode = "";
  1109. srcimgNode = itemNode.selectSingleNode("srcimge");
  1110. if(srcimgNode != null) {
  1111. itemNode.replaceChild(newNode, srcimgNode);
  1112. }
  1113. else {
  1114. itemNode.appendChild(newNode);
  1115. }
  1116. */
  1117. // 진료기록메인에서 미리보기 쿼리 실행 시 로컬이미지를 찾기 위해 colno를 'FILE'로 설정
  1118. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/colno", "FILE");
  1119. // 미리보기시 로컬이미지와 DB이미지를 구분하기 위해 설정
  1120. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/degnitemnm", "LOCALIMG");
  1121. }
  1122. }
  1123. else // DB 이미지 저장 루틴
  1124. {
  1125. /*
  1126. // xvg패턴 제거
  1127. // 편집가능인 이미지에서 편집을 안했을 경우의 메타데이터가 들어가는 경우를 방지하기 위해서임.
  1128. var tmpShape = removeXvgTag(strShape);
  1129. if(tmpShape != "")
  1130. model.setValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts", strShape, true);
  1131. */
  1132. if(isFormMain == true) // 공통서식은 수정하지 않은 편집가능 이미지인 경우 저장하지 않음.
  1133. {
  1134. var tmpShape = removeXvgTag(strShape);
  1135. if(tmpShape != "")
  1136. {
  1137. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/reccnts", strShape, true);
  1138. // 진료기록메인에서 미리보기 쿼리 실행 시 로컬이미지를 찾기 위해 colno를 'FILE'로 설정
  1139. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/colno", "MAST", true);
  1140. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/recimge", strRecImge, true);
  1141. }
  1142. }
  1143. else // 과별서식
  1144. {
  1145. if(degnitemnm == "빈이미지" && strShape == "")
  1146. {
  1147. //itemNode.parentNode.removeChild(itemNode);
  1148. }
  1149. else
  1150. {
  1151. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/reccnts", strShape, true);
  1152. // 진료기록메인에서 미리보기 쿼리 실행 시 로컬이미지를 찾기 위해 colno를 'FILE'로 설정
  1153. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/colno", "MAST", true);
  1154. model.setValue(pageInfo.recItemRef + "[degnitemlevlcd = '" + degnitemlevlcd + "']/recimge", strRecImge, true);
  1155. }
  1156. }
  1157. }
  1158. }
  1159. model.refresh();
  1160. }
  1161. /**********************************************************************************
  1162. * Method Name : removeXvgTag
  1163. * Description : 메타데이터에서 <xvg> 태그를 삭제한다.
  1164. * argument : 01. metadata
  1165. * return Type :
  1166. * Creator :
  1167. **********************************************************************************/
  1168. function removeXvgTag(metadata)
  1169. {
  1170. var strMeta = metadata;
  1171. var grpexpSt = new RegExp('(<xvg[^<>]+>)', 'igm');
  1172. var grpexpEd = new RegExp('(</xvg>)', 'igm');
  1173. if (grpexpSt.test(strMeta) == true)
  1174. {
  1175. strMeta = strMeta.replace(grpexpSt, '');
  1176. }
  1177. if (grpexpEd.test(strMeta) == true)
  1178. {
  1179. strMeta = strMeta.replace(grpexpEd, '');
  1180. }
  1181. return strMeta;
  1182. }
  1183. /**********************************************************************************
  1184. * Method Name : getSaveData
  1185. * Description : 저장할 기록정보를 가져온다
  1186. * argument : 01. targetPath
  1187. * : 02. appendMode
  1188. * : 03. pmodel
  1189. * : 04. pageInfo
  1190. * : 05. mode
  1191. * return Type :
  1192. * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
  1193. **********************************************************************************/
  1194. // function getSaveData(targetPath, appendMode, pmodel, pageInfo, mode)
  1195. // {
  1196. // }
  1197. /**********************************************************************************
  1198. * Method Name : getSaveDataVal
  1199. * Description : 저장할 기록정보를 모두 가져온다
  1200. * argument : 01. targetPath
  1201. * : 02. appendMode
  1202. * : 03. pmodel
  1203. * : 04. pageInfo
  1204. * return Type :
  1205. * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
  1206. **********************************************************************************/
  1207. // function getSaveDataAll(targetPath, appendMode, pmodel, pageInfo)
  1208. // {
  1209. // }
  1210. /**********************************************************************************
  1211. * Method Name : getSaveDataVal
  1212. * Description : 저장할 기록정보 값을 가져온다
  1213. * argument : 01. targetPath
  1214. * : 02. appendMode
  1215. * : 03. pmodel
  1216. * : 04. pageInfo
  1217. * return Type :
  1218. * Creator : 서식관련 MMRCommon으로 이동 (lf_getRecDS 로 통합 사용안함)
  1219. **********************************************************************************/
  1220. // function getSaveDataVal(targetPath, appendMode, pmodel, pageInfo)
  1221. // {
  1222. // }
  1223. /**********************************************************************************
  1224. * Method Name : fSetFormRecItemHeader
  1225. * Description : 기본서식 기록 데이터가 없고 [추가기록, 이미지, 가계도, 확장서식]의 데이터가 있는경우 부분서식 타이틀 저장을 위해 체크 및 데이터 셋팅
  1226. * argument : 01. pageInfo
  1227. * : 02. etcNodeList
  1228. * : 03. resetDataFlag
  1229. * return Type :
  1230. * Creator : 서식관련 MMRCommon으로 이동 ( 추가기록, 이미지, 가계도, 확장서식 노드 삭제 및 lf_getRecDS 로 통합)
  1231. **********************************************************************************/
  1232. // function fSetFormRecItemHeader(pageInfo, etcNodeList, resetDataFlag)
  1233. // {
  1234. // }
  1235. /**
  1236. * @desc : 그리드의 저장할 기록정보를 가져온다
  1237. * @id :
  1238. * @event :
  1239. * @return :
  1240. * @authur : 이상현
  1241. * @history:
  1242. 2008-11-28 이경희
  1243. -그리드 저장시 셀에 입력된 값이 있으면 그리드 구조 통채로 저장하며, 입력된 값이 없으면 저장하지 않는다.
  1244. - Y, G축 DGN, OPN, CCN 저장시 그리드 제목은 처음 하나만 저장되는 기존 구조를 따르면서 내용은 모두 저장하도록 수정
  1245. 2010-03-24 주희경
  1246. - 그리드 저장 시 값을 select 할 때 그리드 기록 데이터의 순서가 꼬인 구조로 되어 있어 그룹별로 기록 데이터를 copy하도록 수정
  1247. 2010-04-14 김달현
  1248. - 그리드의 degnitemno별로 모으는 작업 할 때에 indexOf제외조건 오류 수정
  1249. */
  1250. function getGridSaveData(pageInfo)
  1251. {
  1252. var tmpGrdList = model.instances(0).selectNodes(pageInfo.RecinfoGridRef); // "/root/main/recinfo/grid";
  1253. var groupKeys = "";
  1254. for(var grdIdx = 0; grdIdx < tmpGrdList.length; grdIdx++)
  1255. {
  1256. var grdNode = tmpGrdList.item(grdIdx); // grid 리스트중에 grid 를 하나씩 가져온다.
  1257. var degnitemno = grdNode.selectSingleNode("degnitemno").text;
  1258. //2010.04.14 dhkim indexOf제외로 인한 오류 주석처리
  1259. /*
  1260. if(groupKeys.indexOf(degnitemno) == -1)
  1261. {
  1262. groupKeys = groupKeys + degnitemno + ",";
  1263. }
  1264. */
  1265. groupKeys = groupKeys + degnitemno + ",";
  1266. }
  1267. var arrGroupKey = groupKeys.split(",");
  1268. //2010.04.22 dhkim 배열을 순서대로 정렬한다.(순서대로 정렬되어있지 않은 경우는 skip시키지 않아 정렬 로직 추가)
  1269. if(arrGroupKey.length > 0){
  1270. var tmp;
  1271. for(var i = arrGroupKey.length; i >= 0; i--){
  1272. for(var j = 0; j < i; j++){
  1273. if(Number(arrGroupKey[j]) > Number(arrGroupKey[j+1])){
  1274. tmp = arrGroupKey[j];
  1275. arrGroupKey[j] = arrGroupKey[j+1];
  1276. arrGroupKey[j+1] = tmp;
  1277. }
  1278. }
  1279. }
  1280. groupKeys = "";
  1281. for(var i = 0; i < arrGroupKey.length; i++){
  1282. if(arrGroupKey.length -1 == i){
  1283. groupKeys += arrGroupKey[i];
  1284. }else{
  1285. groupKeys += arrGroupKey[i] + ",";
  1286. }
  1287. }
  1288. }
  1289. //2010.04.14 dhkim
  1290. //(기존의 indexOf로 string을 검색했을 때 degnitemno가 중복된 경우의 처리가 불가능함)
  1291. //ex) degnitemno가 7, 17, 27 등으로 들어가 있는 경우 indexOf에서 제외되어 7값만 가져가게됨.
  1292. //루프를 돌면서 key값이 같은게 있으면 skip시키면서 새로운 array를 만들어준다.
  1293. var tmpKey = ""; var _tmpKey;
  1294. groupKeys = "";
  1295. for(var x = 0; x < arrGroupKey.length ; x++){
  1296. _tmpKey = arrGroupKey[x];
  1297. if(tmpKey != _tmpKey){
  1298. groupKeys = groupKeys + _tmpKey + ",";
  1299. }
  1300. tmpKey = _tmpKey;
  1301. }
  1302. //if(groupKeys != null && groupKeys.length != 0 && groupKeys.indexOf(",") != -1){
  1303. // groupKeys = groupKeys.substring(0, groupKeys.length-1);
  1304. //}
  1305. arrGroupKey = groupKeys.split(",");
  1306. for (i=0; i<arrGroupKey.length-1; i++)
  1307. {
  1308. tmpGrdList = model.instances(0).selectNodes(pageInfo.RecinfoGridRef+"[degnitemno='"+arrGroupKey[i]+"']"); // "/root/main/recinfo/grid";
  1309. getGridData(pageInfo, tmpGrdList);
  1310. }
  1311. }
  1312. /**
  1313. * @desc : 그리드의 저장할 기록정보를 가져온다
  1314. * @id :
  1315. * @event :
  1316. * @return :
  1317. * @authur : 주희경
  1318. * @history:
  1319. 2010-03-24 주희경
  1320. - 그리드 저장 시 값을 select 할 때 그리드 기록 데이터의 순서가 꼬인 구조로 되어 있어 그룹별로 기록 데이터를 copy하도록 함수 분리
  1321. */
  1322. function getGridData(pageInfo, tmpGrdList)
  1323. {
  1324. var isGrd = false;
  1325. var tmpfstlevlitemcd = "";
  1326. var tmpdegnitemlevlcd = "";
  1327. var copycnt = 0;
  1328. for(var grdIdx = 0; grdIdx < tmpGrdList.length; grdIdx++)
  1329. {
  1330. var grdNode = tmpGrdList.item(grdIdx); // grid 리스트중에 grid 를 하나씩 가져온다.
  1331. var degnitemno = grdNode.selectSingleNode("recitem/degnitemno").text;
  1332. var degnitemnm = grdNode.selectSingleNode("recitem/degnitemnm").text;
  1333. var rowno = parseInt(grdNode.selectSingleNode("recitem/rowno").text);
  1334. var gridtype = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + grdNode.selectSingleNode("recitem/degnitemno").text + "']/itemattrval"), "gridtype");
  1335. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + grdNode.selectSingleNode("recitem/degnitemno").text + "']/degnitemkind");
  1336. var orgdegnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + grdNode.selectSingleNode("recitem/degnitemno").text + "']/orgdegnitemkind");
  1337. var degnitemlevlcd = grdNode.selectSingleNode("recitem/degnitemlevlcd").text;
  1338. var fstlevlitemcd = grdNode.selectSingleNode("recitem/fstlevlitemcd").text;
  1339. if(tmpdegnitemlevlcd != degnitemlevlcd)
  1340. {
  1341. tmpdegnitemlevlcd = degnitemlevlcd;
  1342. isGrd = false;
  1343. }
  1344. // 진단명, 수술명, 주호소인 경우 그리드 타입은 Y축 누적
  1345. if(degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "CCN")
  1346. gridtype = "Y";
  1347. if(gridtype == "X")
  1348. {
  1349. var len = grdNode.selectNodes("recitem[degnitemkind = 'GSU' and (rectermcd != '' or reccnts != '')]").length;
  1350. if(len == 0)
  1351. {
  1352. continue;
  1353. }
  1354. var degnitemno = grdNode.selectSingleNode("recitem/degnitemno").text;
  1355. var cnt = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']").length;
  1356. var GrdNodeList = instance1.selectSingleNode(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']");
  1357. // grdNode는 grid 컨트롤의 한 row 임.
  1358. colCnt = grdNode.selectNodes("recitem").length;
  1359. var grdClone = grdNode.cloneNode(true);
  1360. var subNodeList = grdClone.selectNodes("recitem"); // recitem 리스트노드
  1361. var subNode = subNodeList.item(0);
  1362. var degnitemnm = "";
  1363. for(var colIdx = 0; colIdx < colCnt; colIdx++)
  1364. {
  1365. var subNode = subNodeList.item(colIdx); // 첫번째 recitem 노드 선택
  1366. // 2009.05.04 이경희
  1367. // 그리드가 들어간 서식에서 그리드데이터 입력 후 단위를 포함한 일반아이템 기록시 단위가 밀리는 문제가 생기는 현상 수정
  1368. //
  1369. if(subNode.selectSingleNode("degnunitcd") == null)
  1370. {
  1371. var degnunitcdNode = instance1.createElement("degnunitcd");
  1372. subNode.appendChild(degnunitcdNode);
  1373. }
  1374. model.duplicate(pageInfo.savedInfoRef2, subNode);
  1375. copycnt++;
  1376. }
  1377. }
  1378. else if(gridtype == "Y" || gridtype == "G")
  1379. {
  1380. // 입력된 그리드 개수가 있는지 체크
  1381. //var len = grdNode.selectNodes("recitem[degnitemkind != 'GSL' and degnitemkind != 'GXB' and degnitemkind != 'GYB' and (rectermcd != '' or reccnts != '' or recrefcd != '' or recitemnm != '')]").length;
  1382. var len = 0;
  1383. if(degnitemkind == "DGN" || degnitemkind == "OPN" || degnitemkind == "CCN" ||
  1384. orgdegnitemkind == "DGN" || orgdegnitemkind == "OPN" || orgdegnitemkind == "CCN")
  1385. {
  1386. len = grdNode.selectNodes("recitem[degnitemkind != 'GSL' and degnitemkind != 'GXB' and degnitemkind != 'GYB' and ((rectermcd != '' or rectermnm != '') or reccnts != '')]").length;
  1387. }
  1388. else
  1389. {
  1390. len = grdNode.selectNodes("recitem[degnitemkind != 'GSL' and degnitemkind != 'GXB' and degnitemkind != 'GYB' and ((rectermcd != '' and rectermnm != '') or reccnts != '')]").length;
  1391. }
  1392. var tmllen = grdNode.selectNodes("recitem[degnitemkind != 'GRD' and degnitemkind != 'GSL' and degnitemkind != 'GXB' and degnitemkind != 'GYB' and ((rectermcd != '' and rectermnm == '') or (rectermcd == '' and rectermnm == '' and reccnts == ''))]").length;
  1393. if(len == 0 && tmllen > 0)
  1394. {
  1395. continue;
  1396. }
  1397. // grdClone은 <grid> 의 row 하나를 뜻함.
  1398. var grdClone = grdNode.cloneNode(true);
  1399. var subNodeList = grdClone.selectNodes("recitem[orgdegnitemkind != 'CCN' and orgdegnitemkind != 'DGN' and orgdegnitemkind != 'OPN'");
  1400. var subNode = subNodeList.item(0);
  1401. var fstlevlcdNode = subNode.selectSingleNode("fstlevlitemcd");
  1402. var levlnoNode = subNode.selectSingleNode("degnitemlevlno");
  1403. var levlcdNode = subNode.selectSingleNode("degnitemlevlcd");
  1404. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1405. //2008-07-28 박종훈 (그리드의 GRD이름이 한번만 저장되게하기 위함, 처음 한번만 저장되고 그다음 row부터는 저장되지 않도록..)
  1406. var subIdx = 0;
  1407. if (isGrd)
  1408. {
  1409. subIdx = 1;
  1410. }
  1411. //for(var subIdx = 0 ; subIdx < subNodeList.length; subIdx++)
  1412. for(subIdx; subIdx < subNodeList.length; subIdx++)
  1413. {
  1414. var subNode = subNodeList.item(subIdx);
  1415. if (subNode.selectSingleNode("degnitemkind").text != "GRD" && subNode.selectSingleNode("rectermcd").text == "" && subNode.selectSingleNode("rectermnm").text == "" && subNode.selectSingleNode("reccnts").text == "")
  1416. {
  1417. }
  1418. else
  1419. {
  1420. var subkindNode = subNode.selectSingleNode("degnitemkind");
  1421. var subcntsNode = subNode.selectSingleNode("reccnts");
  1422. var subrecrefcdNode = subNode.selectSingleNode("recrefcd");
  1423. var subrecitemnmNode = subNode.selectSingleNode("recitemnm");
  1424. var subtermcdNode = subNode.selectSingleNode("rectermcd");
  1425. var subfstlevlcdNode = subNode.selectSingleNode("fstlevlitemcd");
  1426. var sublevlcdNode = subNode.selectSingleNode("degnitemlevlcd");
  1427. var sublevlnoNode = subNode.selectSingleNode("degnitemlevlno");
  1428. var orgdegnitemkind = subNode.selectSingleNode("orgdegnitemkind");
  1429. var rownoNode = subNode.selectSingleNode("rowno");
  1430. var colnoNode = subNode.selectSingleNode("colno");
  1431. //다음 노드의 colno를 알기 위한 임시 노드 리스트(2008-07-28 박종훈)
  1432. //colno가 -1일 경우에만 GRD요소
  1433. var subNodeTmp = subNodeList.item(subIdx + 1);
  1434. if(subNodeTmp != null)
  1435. {
  1436. var tmpcolno = parseInt(subNodeTmp.selectSingleNode("colno").text);
  1437. var tmprowno = parseInt(subNodeTmp.selectSingleNode("rowno").text);
  1438. }
  1439. //////////////////////////////////////////////////////////////////
  1440. // 2009.05.04 이경희
  1441. // 그리드가 들어간 서식에서 그리드데이터 입력 후 단위를 포함한 일반아이템 기록시 단위가 밀리는 문제가 생기는 현상 수정
  1442. //
  1443. if(subNode.selectSingleNode("degnunitcd") == null)
  1444. {
  1445. var degnunitcdNode = instance1.createElement("degnunitcd");
  1446. subNode.appendChild(degnunitcdNode);
  1447. }
  1448. model.duplicate(pageInfo.savedInfoRef2, subNode);
  1449. copycnt++;
  1450. if(tmpcolno == -1 && tmprowno == 0)
  1451. {
  1452. isGrd = false;
  1453. }
  1454. else
  1455. {
  1456. isGrd = true;
  1457. }
  1458. }
  1459. }
  1460. }
  1461. else if(gridtype == "T")
  1462. {
  1463. //값을 갖지 않는 grid row는 제거한다.
  1464. var len = grdNode.selectNodes("recitem[degnitemkind = 'GSU' and (rectermcd != '' or reccnts != '')]").length;
  1465. if(len == 0)
  1466. {
  1467. continue;
  1468. }
  1469. var grdClone = grdNode.cloneNode(true);
  1470. var subNodeList = grdClone.selectNodes("recitem");
  1471. for(var subIdx = 0 ; subIdx < subNodeList.length; subIdx++)
  1472. {
  1473. var subNode = subNodeList.item(subIdx); // 한 컬럼값(뒤에서부터)
  1474. var subkindNode = subNode.selectSingleNode("degnitemkind"); // subNode에서 degnitemkind 값
  1475. var subcntsNode = subNode.selectSingleNode("reccnts"); // subNode에서 reccnts 값
  1476. var subtermcdNode = subNode.selectSingleNode("rectermcd"); // subNode에서 rectermcd 값
  1477. var subrecrefcdNode = subNode.selectSingleNode("recrefcd");
  1478. var subrecitemnmNode = subNode.selectSingleNode("recitemnm");
  1479. var subfstlevlcdNode = subNode.selectSingleNode("fstlevlitemcd");
  1480. var sublevlcdNode = subNode.selectSingleNode("degnitemlevlcd");
  1481. var sublevlnoNode = subNode.selectSingleNode("degnitemlevlno");
  1482. if(subkindNode.text == "GSL")
  1483. {
  1484. grdClone.removeChild(subNode);
  1485. continue;
  1486. }
  1487. // 2009.05.04 이경희
  1488. // 그리드가 들어간 서식에서 그리드데이터 입력 후 단위를 포함한 일반아이템 기록시 단위가 밀리는 문제가 생기는 현상 수정
  1489. //
  1490. if(subNode.selectSingleNode("degnunitcd") == null)
  1491. {
  1492. var degnunitcdNode = instance1.createElement("degnunitcd");
  1493. subNode.appendChild(degnunitcdNode);
  1494. }
  1495. model.duplicate(pageInfo.savedInfoRef2, subNode);
  1496. copycnt++;
  1497. }
  1498. }
  1499. }
  1500. return copycnt;
  1501. }
  1502. /**
  1503. * @desc : 체크박스 기록 데이터를 가져온다
  1504. * @id :
  1505. * @event :
  1506. * @return :
  1507. * @authur : 이상현
  1508. */
  1509. function getCheckSaveData(pageInfo)
  1510. {
  1511. var chkList = model.instances(0).selectNodes(pageInfo.savedInfoItemRef2 + "[degnitemkind = 'CHK']");
  1512. var colCnt;
  1513. //for(var chkIdx = 0; chkIdx < chkList.length; chkIdx++)
  1514. for(var chkIdx = chkList.length - 1; chkIdx >= 0; chkIdx--)
  1515. {
  1516. var chkNode = chkList.item(chkIdx);
  1517. var degnitemno = chkNode.selectSingleNode("degnitemno").text;
  1518. var supdegnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/supdegnitemno");
  1519. var rectermcd = chkNode.selectSingleNode("rectermcd").text;
  1520. var rectermnm = chkNode.selectSingleNode("rectermnm").text;
  1521. if(rectermcd == "")
  1522. continue;
  1523. //var condition = getSaveDataParent(supdegnitemno, "");
  1524. //alert(condition);
  1525. //if(condition != "")
  1526. // copyNodeset(pageInfo.savedInfoItemRef2, gPrePath_recItemRef + condition + "]", "append", model, model);
  1527. var arrTermcd = rectermcd.split(" ");
  1528. // CHK 아이템 정렬 문제 수정 setsrchdata, getCheckSaveData
  1529. //var arrTermnm = rectermnm.split(" ");
  1530. var arrTermnm = rectermnm.split("▦");
  1531. for(var i = 0; i < arrTermcd.length; i++)
  1532. {
  1533. var tmpNode = chkNode.cloneNode(true);
  1534. tmpNode.selectSingleNode("rectermcd").text = arrTermcd[i];
  1535. tmpNode.selectSingleNode("rectermnm").text = arrTermnm[i];
  1536. tmpNode.selectSingleNode("colno").text = i;
  1537. //model.duplicate(pageInfo.savedInfoRef2, tmpNode);
  1538. chkNode.parentNode.insertBefore(tmpNode, chkNode);
  1539. }
  1540. chkNode.parentNode.removeChild(chkNode);
  1541. }
  1542. }
  1543. var condAll = "";
  1544. /**
  1545. * @desc : 저장할 항목의 상위 정보를 가져온다
  1546. * @id :
  1547. * @event :
  1548. * @return :
  1549. * @authur : 이상현
  1550. */
  1551. function getSaveDataParent(degnitemno, condition)
  1552. {
  1553. var srchno = "'" + degnitemno + "'";
  1554. if(!isSearchString(condition, srchno) && !isSearchString(condAll, srchno))
  1555. {
  1556. if(condition == "")
  1557. condition = "degnitemno = '" + degnitemno + "'";
  1558. else
  1559. condition += " or degnitemno = '" + degnitemno + "'";
  1560. }
  1561. var pageInfo = new PAGEINFO();
  1562. var supdegnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/supdegnitemno");
  1563. if(supdegnitemno != "" && supdegnitemno != "0")
  1564. {
  1565. //var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + supdegnitemno + "']/degnitemkind");
  1566. //if(degnitemkind != "GRD")
  1567. condition = getSaveDataParent(supdegnitemno, condition);
  1568. if(condAll == "")
  1569. condAll = condition;
  1570. else
  1571. condAll += " or " + condition;
  1572. }
  1573. return condition;
  1574. /*if(!isSearchString(condition, degnitemno))
  1575. {
  1576. if(condition == "")
  1577. condition = "degnitemno = '" + degnitemno + "'";
  1578. else
  1579. condition += " or degnitemno = '" + degnitemno + "'";
  1580. }
  1581. var pageInfo = new PAGEINFO();
  1582. var supdegnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/supdegnitemno");
  1583. if(supdegnitemno != "" && supdegnitemno != "0")
  1584. {
  1585. //var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + supdegnitemno + "']/degnitemkind");
  1586. //if(degnitemkind != "GRD")
  1587. condition = getSaveDataParent(supdegnitemno, condition);
  1588. }
  1589. return condition;*/
  1590. }
  1591. /**********************************************************************************
  1592. * Method Name : makeRefByDegnitemno
  1593. * Description : 디자인아이템순번으로 인스턴스 연결
  1594. * argument :
  1595. * return Type :
  1596. * Creator :
  1597. **********************************************************************************/
  1598. function makeRefByDegnitemno()
  1599. {
  1600. utlf_addLog("***** EMRCommon makeRefByDegnitemno() *****");
  1601. var pageInfo = new PAGEINFO();
  1602. makeInstance(pageInfo);
  1603. /*
  1604. for(var i = 0; i < document.controls.length; i++)
  1605. {
  1606. var ctrl = document.controls.item(i);
  1607. var ctrltype = ctrl.elementName;
  1608. var degnitemno = ctrl.attribute("degnitemno");
  1609. //alert("degnitemno : " + degnitemno);
  1610. if(degnitemno == "")
  1611. continue;
  1612. var refitem = ctrl.attribute("refitem");
  1613. if(refitem == "")
  1614. {
  1615. if(ctrltype == "xforms:input" || ctrltype == "xforms:textarea")
  1616. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/reccnts";
  1617. else if(ctrltype == "xforms:select1" || ctrltype == "xforms:select")
  1618. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd";
  1619. //else if(ctrltype == "xforms:datagrid")
  1620. // ctrl.attribute("nodeset") = pageInfo.grdNodeset + "[@grupcd='" + valgrupcd + "']";
  1621. //alert("ctrl.ref : " + ctrl.attribute("ref"));
  1622. } else {
  1623. if(ctrltype == "xforms:input" || ctrltype == "xforms:textarea")
  1624. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermnm";
  1625. else if(ctrltype == "xforms:select1" || ctrltype == "xforms:select")
  1626. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemno='" + degnitemno + "']/rectermcd";
  1627. }
  1628. ctrl.refresh();
  1629. }
  1630. */
  1631. }
  1632. /**********************************************************************************
  1633. * Method Name : makeRefByDegnitemLevlCd
  1634. * Description : 디자인계층코드로 인스턴스 연결
  1635. * argument :
  1636. * return Type :
  1637. * Creator :
  1638. **********************************************************************************/
  1639. function makeRefByDegnitemLevlCd()
  1640. {
  1641. makeInstance(pageInfo);
  1642. /*
  1643. for(var i = 0; i < document.controls.length; i++)
  1644. {
  1645. var ctrl = document.controls.item(i);
  1646. var ctrltype = ctrl.elementName;
  1647. var degnitemlevlcd = ctrl.attribute("degnitemlevlcd");
  1648. //alert("degnitemno : " + degnitemno);
  1649. if(degnitemlevlcd == "")
  1650. continue;
  1651. var refitem = ctrl.attribute("refitem");
  1652. if(refitem == "")
  1653. {
  1654. if(ctrltype == "xforms:input" || ctrltype == "xforms:textarea")
  1655. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "']/reccnts";
  1656. else if(ctrltype == "xforms:select1" || ctrltype == "xforms:select")
  1657. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "']/rectermcd";
  1658. } else {
  1659. if(ctrltype == "xforms:input" || ctrltype == "xforms:textarea")
  1660. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "']/rectermnm";
  1661. else if(ctrltype == "xforms:select1" || ctrltype == "xforms:select")
  1662. ctrl.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + degnitemlevlcd + "']/rectermcd";
  1663. }
  1664. ctrl.refresh();
  1665. }
  1666. */
  1667. }
  1668. var g_maxdegnitemno;
  1669. var g_arrMslDefVal = "";
  1670. var g_arrImgDefVal = "";
  1671. /**********************************************************************************
  1672. * Method Name : makeInstance
  1673. * Description : 인스턴스 생성
  1674. * argument : pageInfo :
  1675. * : bInit :
  1676. * return Type :
  1677. * Creator :
  1678. * history: 2008/04/17 이경희 - 서식디자인에서 아이템 기본값 입력 후 캘린더에 값 적용이 안되는 문제 수정 CAL 조건 추가
  1679. 2008-10-28 이경희 - 서식디자인에서 아이템 기본값으로 설정된 기록을 CMB등의 아이템을 기본으로 저장시 뷰어에서
  1680. 보이지 않는 문제점이 있어서, rectermnm 노드값을 추가.
  1681. **********************************************************************************/
  1682. function makeInstance(pageInfo, bInit)
  1683. {
  1684. utlf_addLog("***** EMRCommon makeInstance("+pageInfo+", "+bInit+") 인스턴스 생성 *****");
  1685. if(utlf_isNull(pageInfo))
  1686. pageInfo = new PAGEINFO();
  1687. if(utlf_isNull(bInit))
  1688. bInit = true;
  1689. g_maxdegnitemno = ds_data_formdegn.getCaseMax("degnitemno > 0", "degnitemno");
  1690. utlf_addLog("@@@@ g_maxdegnitemno : " + g_maxdegnitemno );
  1691. var itemcnt = ds_data_formdegn.rowcount;
  1692. var reccnt = ds_data_recitem.rowcount;
  1693. var diff = 0;
  1694. var idxdiff = 0;
  1695. var selIdx = 0;
  1696. for(var idx = 0; idx < itemcnt; idx++)
  1697. {
  1698. var recMastRefDs = ds_data_formrec;
  1699. var formmastRefDs = ds_data_formmast;
  1700. var formdegnRefDs = ds_data_formdegn;
  1701. var rechistseq = recMastRefDs.getColumn(0, "rechistseq");
  1702. var formcd = formmastRefDs.getColumn(0, "formcd");
  1703. var formdegnseq = formmastRefDs.getColumn(0, "formdegnseq");
  1704. var degnitemno = formdegnRefDs.getColumn(idx, "degnitemno");
  1705. var degnitemkind = formdegnRefDs.getColumn(idx, "degnitemkind");
  1706. var degnitemcd = formdegnRefDs.getColumn(idx, "degnitemcd");
  1707. var supdegnitemno = formdegnRefDs.getColumn(idx, "supdegnitemno");
  1708. var supdegnitemkind = formdegnRefDs.lookup("degnitemno", supdegnitemno, "degnitemkind");
  1709. var degnitemlevlno = formdegnRefDs.getColumn(idx, "degnitemlevlno");
  1710. var degnitemnm = formdegnRefDs.getColumn(idx, "degnitemnm");
  1711. var degnitemdefltval = formdegnRefDs.getColumn(idx, "degnitemdefltval");
  1712. var unitcd = formdegnRefDs.getColumn(idx, "unitcd");
  1713. var unitnm = formdegnRefDs.getColumn(idx, "unitnm");
  1714. var valgrupcd = formdegnRefDs.getColumn(idx, "valgrupcd");
  1715. /*
  1716. // MSL, IMG의 경우 아이템기본값 처리 루틴 추가
  1717. // 수정자: 이경희
  1718. // 수정일: 2008.04.18
  1719. */
  1720. if(degnitemkind == "MSL" && !utlf_isNull(degnitemdefltval)) //0000903001 0000985001
  1721. {
  1722. g_arrMslDefVal = degnitemdefltval.split(" ");
  1723. }
  1724. if(degnitemkind == "IMG" && !utlf_isNull(degnitemdefltval)) //0012574001 0012679001
  1725. {
  1726. g_arrImgDefVal = degnitemdefltval.split(" ");
  1727. }
  1728. if(degnitemkind == "MSL" || supdegnitemkind == "SSL" && degnitemkind == "SSU")
  1729. {
  1730. if(degnitemkind == "MSL")
  1731. selIdx = 0;
  1732. diff++;
  1733. continue;
  1734. }
  1735. if(supdegnitemkind == "MSL" && degnitemkind == "SSU")
  1736. {
  1737. var MslDefVal = "";
  1738. var termcd = formdegnRefDs.getColumn(idx, "termcd");
  1739. var i = 0;
  1740. var DataSet = 0; // 아이템 기본값 설정 여부 확인 변수
  1741. while(i < g_arrMslDefVal.length)
  1742. {
  1743. // 전역 변수(g_MslDefVal) 의 값을 비교
  1744. MslDefVal = g_arrMslDefVal[i];
  1745. if(MslDefVal == termcd)
  1746. {
  1747. //alert("g_arrMslDefVal[" + i + "]: " + MslDefVal);
  1748. //alert("rectermnm:" + degnitemnm);
  1749. makeSubSelectInstance(pageInfo, supdegnitemno, selIdx++, degnitemnm, MslDefVal);
  1750. DataSet = 1;
  1751. break;
  1752. }
  1753. i++;
  1754. }
  1755. if(DataSet == 0) // 아이템 기본값 설정이 안되었을 경우
  1756. {
  1757. makeSelectInstance(pageInfo, supdegnitemno, selIdx++);
  1758. }
  1759. continue;
  1760. }
  1761. //selIdx = 0;
  1762. if(supdegnitemkind == "IMG" && degnitemkind == "ISU")
  1763. {
  1764. var ImgDefVal = "";
  1765. var termcd = formdegnRefDs.getColumn(idx, "termcd");
  1766. var i = 0;
  1767. var DataSet = 0; // 아이템 기본값 설정 여부 확인 변수
  1768. while(i < g_arrImgDefVal.length)
  1769. {
  1770. // 전역 변수(g_MslDefVal) 의 값을 비교
  1771. ImgDefVal = g_arrImgDefVal[i];
  1772. if(ImgDefVal == termcd)
  1773. {
  1774. //alert("g_arrImgDefVal[" + i+ "]: " + MslDefVal);
  1775. //alert("rectermnm:" + degnitemnm);
  1776. makeSubSelectInstance(pageInfo, degnitemno, selIdx++, degnitemnm, ImgDefVal);
  1777. DataSet = 1;
  1778. break;
  1779. }
  1780. i++;
  1781. }
  1782. if(DataSet == 0) // 아이템 기본값 설정이 안되었을 경우
  1783. {
  1784. makeSelectInstance(pageInfo, degnitemno, selIdx++);
  1785. }
  1786. continue;
  1787. // 기존 코드
  1788. //makeSelectInstance(pageInfo, degnitemno, selIdx++);
  1789. //continue;
  1790. }
  1791. if(degnitemkind == "GRD" || degnitemkind == "GSU")
  1792. {
  1793. // makeGridInstance(pageInfo, degnitemno);
  1794. // continue;
  1795. }
  1796. if(degnitemkind == "DGN")
  1797. {
  1798. // makeDGNInstance(pageInfo, degnitemno);
  1799. // continue;
  1800. }
  1801. if(degnitemkind == "OPN")
  1802. {
  1803. // makeOPNInstance(pageInfo, degnitemno);
  1804. // continue;
  1805. }
  1806. if(degnitemkind == "CCN")
  1807. {
  1808. // makeCCNInstance(pageInfo, degnitemno);
  1809. // continue;
  1810. }
  1811. if(degnitemkind == "BTN")
  1812. // continue;
  1813. //var termcd = model.getValue(gPrePath_formdegnRef + idx + "]/termcd");
  1814. var degnitemlevlcd = "";
  1815. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  1816. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + formdegnRefDs.getColumn(idx, "degnitemlevlcd");
  1817. else
  1818. degnitemlevlcd = formdegnRefDs.getColumn(idx, "degnitemlevlcd");
  1819. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  1820. var fstlevlitemcd = formdegnRefDs.lookup("degnitemlevlcd", fstlevlitembasecd, "degnitemcd");
  1821. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  1822. fstlevlitemcd = pageInfo.fstLevlItemCd;
  1823. idxdiff = idx - diff;
  1824. utlf_addLog("idx : " + idx + " diff : " + diff + " idxdiff : " + idxdiff ) ;
  1825. var recItemRefDs = this.objects["ds_data_recitem"];
  1826. dsf_makeValue(recItemRefDs, "instcd", "string", "", idxdiff);
  1827. dsf_makeValue(recItemRefDs, "rechistseq", "BIGDECIMAL", "", idxdiff);
  1828. dsf_makeValue(recItemRefDs, "recitemno", "INT", "", idxdiff);
  1829. dsf_makeValue(recItemRefDs, "fstlevlitemcd", "string", fstlevlitemcd, idxdiff);
  1830. dsf_makeValue(recItemRefDs, "formcd", "string", formcd, idxdiff);
  1831. dsf_makeValue(recItemRefDs, "formdegnseq", "BIGDECIMAL", formdegnseq, idxdiff);
  1832. dsf_makeValue(recItemRefDs, "degnitemno", "INT", degnitemno, idxdiff);
  1833. dsf_makeValue(recItemRefDs, "degnitemcd", "string", degnitemcd, idxdiff);
  1834. dsf_makeValue(recItemRefDs, "degnitemkind", "string", degnitemkind, idxdiff);
  1835. dsf_makeValue(recItemRefDs, "degnitemlevlno", "string", degnitemlevlno, idxdiff);
  1836. dsf_makeValue(recItemRefDs, "degnitemnm", "string", degnitemnm, idxdiff);
  1837. dsf_makeValue(recItemRefDs, "degnitemlevlcd", "string", degnitemlevlcd, idxdiff);
  1838. dsf_makeValue(recItemRefDs, "rectermcd", "string", "", idxdiff);
  1839. dsf_makeValue(recItemRefDs, "rectermnm", "string", "", idxdiff);
  1840. dsf_makeValue(recItemRefDs, "recrefcd", "string", "", idxdiff);
  1841. dsf_makeValue(recItemRefDs, "recitemnm", "string", "", idxdiff);
  1842. dsf_makeValue(recItemRefDs, "reccnts", "string", "", idxdiff);
  1843. dsf_makeValue(recItemRefDs, "unitnm", "string", unitnm, idxdiff);
  1844. dsf_makeValue(recItemRefDs, "recimge", "BLOB", "", idxdiff);
  1845. dsf_makeValue(recItemRefDs, "srcimge", "BLOB", "", idxdiff);
  1846. dsf_makeValue(recItemRefDs, "rowno", "string", "", idxdiff);
  1847. dsf_makeValue(recItemRefDs, "colno", "string", "", idxdiff);
  1848. dsf_makeValue(recItemRefDs, "supdegnitemno", "INT", supdegnitemno, idxdiff);
  1849. dsf_makeValue(recItemRefDs, "extdegnitemlevlcd", "string", "", idxdiff);
  1850. dsf_makeValue(recItemRefDs, "rectermflag", "string", "", idxdiff);
  1851. dsf_makeValue(recItemRefDs, "degnunitcd", "string", unitcd, idxdiff);
  1852. if(degnitemkind == "CHK" || degnitemkind == "RDO" || degnitemkind == "CMB" ||
  1853. degnitemkind == "SSL" || degnitemkind == "MSL" || degnitemkind == "BOL")
  1854. {
  1855. recItemRefDs.setColumn(idxdiff, "rectermcd", degnitemdefltval);
  1856. // BOL 기본값 처리
  1857. if(degnitemkind == "BOL")
  1858. {
  1859. if(!utlf_isNull(degnitemdefltval))
  1860. recItemRefDs.setColumn(idxdiff, "rectermnm", degnitemnm);
  1861. }
  1862. // SSL 기본값 처리
  1863. if(degnitemkind == "SSL")
  1864. {
  1865. var defltvalnm = formdegnRefDs.lookup("termcd", degnitemdefltval, "degnitemnm");
  1866. var tmpdefltvalnm = formdegnRefDs.lookup("termcd", degnitemdefltval, "itemnm");
  1867. if(utlf_isNull(defltvalnm))
  1868. defltvalnm = tmpdefltvalnm;
  1869. recItemRefDs.setColumn(idxdiff, "rectermnm", defltvalnm);
  1870. }
  1871. /*
  1872. // 추가 내용: 아이템 기본값으로 기록내용 저장 시 rectermnm이 없이 저장이 되어 통합기록조회에서 보이지 않음.
  1873. */
  1874. // 1. vallist 노드를 찾는다.
  1875. if(!utlf_isNull(valgrupcd))
  1876. {
  1877. var vallistRefDs = this.objects["ds_data_vallist"];
  1878. var cnt = vallistRefDs.getCaseCount("grupcd=='" + valgrupcd + "'");
  1879. var sLabel = "";
  1880. var sValue = "";
  1881. if(!utlf_isNull(degnitemdefltval))
  1882. {
  1883. var g_vallistRefDs = this.objects["ds_data_vallist"];
  1884. g_vallistRefDs.filter("grupcd=='" + valgrupcd + "'");
  1885. for(var i=0; i<cnt; i++)
  1886. {
  1887. sLabel = g_vallistRefDs.getColumn(i, "valitemnm");
  1888. sValue = g_vallistRefDs.getColumn(i, "valcd");
  1889. // 2. 아이템 기본값과 같은 값인 경우 rectermnm을 추가
  1890. if(sValue == degnitemdefltval)
  1891. {
  1892. recItemRefDs.setColumn(idxdiff, "rectermnm", sLabel);
  1893. break;
  1894. }
  1895. }
  1896. g_vallistRefDs.filter("");
  1897. }
  1898. }
  1899. }
  1900. else if(degnitemkind == "STX" || degnitemkind == "MTX" || degnitemkind == "CAL")
  1901. {
  1902. recItemRefDs.setColumn(idxdiff, "reccnts", degnitemdefltval);
  1903. }
  1904. }
  1905. //utlf_addLog(ds_data_recitem.saveXML());
  1906. if(bInit){
  1907. utlf_addLog("bInit : " + bInit);
  1908. dsf_copyDsList(arrDsTempRecinfo, arrDsRecinfo, "replace", this, this);
  1909. }
  1910. }
  1911. /**
  1912. * @desc : MSL 및 IMG 데이터의 하위 인스턴스를 생성함.
  1913. * @id :
  1914. * @event :
  1915. * @return :
  1916. * @authur : 이경희
  1917. */
  1918. function makeSubSelectInstance(pageInfo, degnitemno, selIdx, rectermnm, rectermcd)
  1919. {
  1920. utlf_addLog("***** makeSubSelectInstance("+pageInfo+", "+degnitemno+", "+selIdx+", "+rectermnm+", "+rectermcd+") *****");
  1921. var formmastRefDs = this.objects["ds_data_formmast"];
  1922. var formdegnRefDs = this.objects["ds_data_formdegn"];
  1923. var formcd = formmastRefDs.getColumn(0, "formcd");
  1924. var formdegnseq = formmastRefDs.getColumn(0, "formdegnseq");
  1925. var degnitemcd = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemcd");
  1926. var degnitemno = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemno");
  1927. var supdegnitemno = formdegnRefDs.lookup("degnitemno", degnitemno, "supdegnitemno");
  1928. var degnitemkind = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemkind");
  1929. var degnitemlevlno = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemlevlno");
  1930. var degnitemnm = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemnm");
  1931. var unitcd = formdegnRefDs.lookup("degnitemno", degnitemno, "unitnm");
  1932. var unitnm = formdegnRefDs.lookup("degnitemno", degnitemno, "unitnm");
  1933. var degnitemlevlcd = "";
  1934. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  1935. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + formdegnRefDs.getColumn(idx, "degnitemlevlcd");
  1936. else
  1937. degnitemlevlcd = formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemlevlcd");
  1938. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  1939. var fstlevlitemcd = formdegnRefDs.lookup("degnitemlevlcd", fstlevlitembasecd, "degnitemcd");
  1940. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  1941. fstlevlitemcd = pageInfo.fstLevlItemCd;
  1942. var recItemRefDs = this.objects["ds_data_recitem"];
  1943. var idx = recItemRefDs.rowcount;
  1944. var gPrePath_recItemRefDs = this.objects["ds_data_recitem"];
  1945. dsf_makeValue(gPrePath_recItemRefDs, "instcd" , "string" , "" , idx);
  1946. dsf_makeValue(gPrePath_recItemRefDs, "rechistseq" , "BIGDECIMAL" , "" , idx);
  1947. dsf_makeValue(gPrePath_recItemRefDs, "recitemno" , "INT" , "" , idx);
  1948. dsf_makeValue(gPrePath_recItemRefDs, "fstlevlitemcd" , "string" , fstlevlitemcd , idx);
  1949. dsf_makeValue(gPrePath_recItemRefDs, "formcd" , "string" , formcd , idx);
  1950. dsf_makeValue(gPrePath_recItemRefDs, "formdegnseq" , "BIGDECIMAL" , formdegnseq , idx);
  1951. dsf_makeValue(gPrePath_recItemRefDs, "degnitemno" , "INT" , degnitemno , idx);
  1952. dsf_makeValue(gPrePath_recItemRefDs, "degnitemcd" , "string" , degnitemcd , idx);
  1953. dsf_makeValue(gPrePath_recItemRefDs, "degnitemkind" , "string" , degnitemkind , idx);
  1954. dsf_makeValue(gPrePath_recItemRefDs, "degnitemlevlno" , "string" , degnitemlevlno , idx);
  1955. dsf_makeValue(gPrePath_recItemRefDs, "degnitemnm" , "string" , degnitemnm , idx);
  1956. dsf_makeValue(gPrePath_recItemRefDs, "degnitemlevlcd" , "string" , degnitemlevlcd , idx);
  1957. dsf_makeValue(gPrePath_recItemRefDs, "rectermcd" , "string" , rectermcd , idx);
  1958. dsf_makeValue(gPrePath_recItemRefDs, "rectermnm" , "string" , rectermnm , idx);
  1959. dsf_makeValue(gPrePath_recItemRefDs, "recrefcd" , "string" , "" , idx);
  1960. dsf_makeValue(gPrePath_recItemRefDs, "recitemnm" , "string" , "" , idx);
  1961. dsf_makeValue(gPrePath_recItemRefDs, "reccnts" , "string" , "" , idx);
  1962. dsf_makeValue(gPrePath_recItemRefDs, "unitnm" , "string" , unitnm , idx);
  1963. dsf_makeValue(gPrePath_recItemRefDs, "recimge" , "BLOB" , "" , idx);
  1964. dsf_makeValue(gPrePath_recItemRefDs, "srcimge" , "BLOB" , "" , idx);
  1965. dsf_makeValue(gPrePath_recItemRefDs, "rowno" , "string" , "" , idx);
  1966. dsf_makeValue(gPrePath_recItemRefDs, "colno" , "string" , selIdx , idx);
  1967. dsf_makeValue(gPrePath_recItemRefDs, "supdegnitemno" , "INT" , supdegnitemno , idx);
  1968. dsf_makeValue(gPrePath_recItemRefDs, "extdegnitemlevlcd", "string" , "" , idx);
  1969. dsf_makeValue(gPrePath_recItemRefDs, "rectermflag" , "string" , "" , idx);
  1970. dsf_makeValue(gPrePath_recItemRefDs, "degnunitcd" , "string" , unitcd , idx);
  1971. }
  1972. /**********************************************************************************
  1973. * Method Name : makeSelectInstance
  1974. * Description : 라디오, 콤보, 체크박스 인스턴스 생성
  1975. * argument : pageInfo :
  1976. * : degnitemno :
  1977. * : selIdx :
  1978. * return Type :
  1979. * Creator :
  1980. **********************************************************************************/
  1981. function makeSelectInstance(pageInfo, degnitemno, selIdx)
  1982. {
  1983. utlf_addLog("***** makeSelectInstance("+pageInfo+", "+degnitemno+", "+selIdx+") *****");
  1984. var formmastRefDs = this.objects["ds_data_formmast"];
  1985. var gPrePath_formdegnRefDs = this.objects["ds_data_formdegn"];
  1986. var formcd = formmastRefDs.getColumn(0, "formcd");
  1987. var formdegnseq = formmastRefDs.getColumn(0, "formdegnseq");
  1988. var degnitemcd = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemcd");
  1989. var degnitemno = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemno");
  1990. var supdegnitemno = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "supdegnitemno");
  1991. var degnitemkind = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemkind");
  1992. var degnitemlevlno = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemlevlno");
  1993. var degnitemnm = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemnm");
  1994. var unitcd = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "unitnm");
  1995. var unitnm = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "unitnm");
  1996. var degnitemlevlcd = "";
  1997. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  1998. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + gPrePath_formdegnRefDs.getColumn(idx, "degnitemlevlcd");
  1999. else
  2000. degnitemlevlcd = gPrePath_formdegnRefDs.lookup("degnitemno", degnitemno, "degnitemlevlcd");
  2001. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2002. var fstlevlitemcd = gPrePath_formdegnRefDs.lookup("degnitemlevlcd", fstlevlitembasecd, "degnitemcd");
  2003. // fstlevlitemcd 를 못찾는 경우.
  2004. // 일부 아이템의 degnitemlevlcd 에 가 001이 붙은 경우가 있어 fstlevlitemcd를 찾지 못함.
  2005. if(!utlf_isNull(pageInfo.fstLevlItemCd))
  2006. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2007. var recItemRefDs = this.objects["ds_data_recitem"];
  2008. var idx = recItemRefDs.rowcount; //getNodesetCnt(model, pageInfo.recItemRef) + 1;
  2009. var gPrePath_recItemRefDs = this.objects["ds_data_recitem"];
  2010. dsf_makeValue(gPrePath_recItemRefDs, "instcd" , "string" , "" , idx);
  2011. dsf_makeValue(gPrePath_recItemRefDs, "rechistseq" , "BIGDECIMAL" , "" , idx);
  2012. dsf_makeValue(gPrePath_recItemRefDs, "recitemno" , "INT" , "" , idx);
  2013. dsf_makeValue(gPrePath_recItemRefDs, "fstlevlitemcd" , "string" , fstlevlitemcd , idx);
  2014. dsf_makeValue(gPrePath_recItemRefDs, "formcd" , "string" , formcd , idx);
  2015. dsf_makeValue(gPrePath_recItemRefDs, "formdegnseq" , "BIGDECIMAL" , formdegnseq , idx);
  2016. dsf_makeValue(gPrePath_recItemRefDs, "degnitemno" , "INT" , degnitemno , idx);
  2017. dsf_makeValue(gPrePath_recItemRefDs, "degnitemcd" , "string" , degnitemcd , idx);
  2018. dsf_makeValue(gPrePath_recItemRefDs, "degnitemkind" , "string" , degnitemkind , idx);
  2019. dsf_makeValue(gPrePath_recItemRefDs, "degnitemlevlno" , "string" , degnitemlevlno , idx);
  2020. dsf_makeValue(gPrePath_recItemRefDs, "degnitemnm" , "string" , degnitemnm , idx);
  2021. dsf_makeValue(gPrePath_recItemRefDs, "degnitemlevlcd" , "string" , degnitemlevlcd , idx);
  2022. dsf_makeValue(gPrePath_recItemRefDs, "rectermcd" , "string" , "" , idx);
  2023. dsf_makeValue(gPrePath_recItemRefDs, "rectermnm" , "string" , "" , idx);
  2024. dsf_makeValue(gPrePath_recItemRefDs, "recrefcd" , "string" , "" , idx);
  2025. dsf_makeValue(gPrePath_recItemRefDs, "recitemnm" , "string" , "" , idx);
  2026. dsf_makeValue(gPrePath_recItemRefDs, "reccnts" , "string" , "" , idx);
  2027. dsf_makeValue(gPrePath_recItemRefDs, "unitnm" , "string" , unitnm , idx);
  2028. dsf_makeValue(gPrePath_recItemRefDs, "recimge" , "BLOB" , "" , idx);
  2029. dsf_makeValue(gPrePath_recItemRefDs, "srcimge" , "BLOB" , "" , idx);
  2030. dsf_makeValue(gPrePath_recItemRefDs, "rowno" , "string" , "" , idx);
  2031. dsf_makeValue(gPrePath_recItemRefDs, "colno" , "string" , selIdx , idx);
  2032. dsf_makeValue(gPrePath_recItemRefDs, "supdegnitemno" , "INT" , supdegnitemno , idx);
  2033. dsf_makeValue(gPrePath_recItemRefDs, "extdegnitemlevlcd", "string" , "" , idx);
  2034. dsf_makeValue(gPrePath_recItemRefDs, "rectermflag" , "string" , "" , idx);
  2035. dsf_makeValue(gPrePath_recItemRefDs, "degnunitcd" , "string" , unitcd , idx);
  2036. }
  2037. /**
  2038. * @desc : 그리드 인스턴스 생성
  2039. * @id :
  2040. * @event :
  2041. * @return :
  2042. * @authur : 이상현
  2043. */
  2044. function makeGridInstance(pageInfo, degnitemno)
  2045. {
  2046. var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
  2047. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  2048. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  2049. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  2050. var supdegnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/supdegnitemno");
  2051. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  2052. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  2053. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  2054. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  2055. var unitcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitcd");
  2056. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  2057. ///////////////////////////////////////////////////
  2058. var degnitemlevlcd = "";
  2059. if(pageInfo.fstLevlItemCd != "")
  2060. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  2061. else
  2062. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  2063. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2064. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  2065. if(pageInfo.fstLevlItemCd != "")
  2066. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2067. //model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  2068. /////////////////////////////////////////////////
  2069. var supdegnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/supdegnitemno");
  2070. var valgrupcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/valgrupcd");
  2071. var degnattrval = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnattrval");
  2072. var gridtype = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "gridtype");
  2073. var prepath_formdegnRef_GSUdegnitemno = pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno;
  2074. var subcnt = getNodesetCnt(model, prepath_formdegnRef_GSUdegnitemno + "']");
  2075. var recItemCnt = getNodesetCnt(model, pageInfo.recItemRef);
  2076. if(gridtype == "Y")
  2077. {
  2078. var startTime = new Date().getTime(); //시작시간 체크(단위 ms)
  2079. // row의 -1번째 컬럼(구분 컬럼)
  2080. var grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef); //getNodesetCnt(model, pageInfo.recItemRef);
  2081. //var grdCntIdx = grdCnt + 1;
  2082. var grdCntIdx = 0;
  2083. var row = -1;
  2084. var col = -1;
  2085. grdCnt += 1;
  2086. grdCntIdx = 1;
  2087. row++;
  2088. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]", "");
  2089. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemno", degnitemno);
  2090. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemlevlcd", degnitemlevlcd);
  2091. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2092. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2093. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2094. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2095. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2096. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2097. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", degnitemno);
  2098. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", degnitemcd);
  2099. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", degnitemkind);
  2100. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", degnitemlevlno);
  2101. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", degnitemnm);
  2102. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2103. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2104. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "");
  2105. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2106. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "");
  2107. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "");
  2108. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", unitnm);
  2109. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2110. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2111. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2112. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", "-1");
  2113. for(var i = 0; i < subcnt; i++)
  2114. {
  2115. var axflag = getStyleValue(model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/itemattrval").item(i).text, "axflag");
  2116. var subdegnitemcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemcd").item(i).text;
  2117. var subsupdegnitemno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/supdegnitemno").item(i).text;
  2118. var subdegnitemno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemno").item(i).text;
  2119. var subdegnitemkind = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemkind").item(i).text;
  2120. var subdegnitemlevlno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlno").item(i).text;
  2121. var subdegnitemnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(i).text;
  2122. var subunitcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/unitcd").item(i).text;
  2123. var subunitnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/unitnm").item(i).text;
  2124. var subdegnitemlevlcd = "";
  2125. if(pageInfo.fstLevlItemCd != "")
  2126. subdegnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(j).text;
  2127. else
  2128. subdegnitemlevlcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlcd").item(j).text;
  2129. var subfstlevlitembasecd = subdegnitemlevlcd.split(".")[0];
  2130. var subfstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + subfstlevlitembasecd + "']/degnitemcd");
  2131. if(pageInfo.fstLevlItemCd != "")
  2132. subfstlevlitemcd = pageInfo.fstLevlItemCd;
  2133. grdCntIdx++;
  2134. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2135. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2136. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2137. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", subfstlevlitemcd);
  2138. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2139. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2140. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", subdegnitemno);
  2141. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", subdegnitemcd);
  2142. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", subdegnitemkind);
  2143. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", parseInt(subdegnitemlevlno) + 1);
  2144. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", subdegnitemnm, true);
  2145. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", subdegnitemlevlcd);
  2146. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2147. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2148. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2149. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2150. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "", true);
  2151. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", subunitnm);
  2152. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2153. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2154. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2155. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", ++col);
  2156. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/supdegnitemno", subsupdegnitemno);
  2157. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/extdegnitemlevlcd", "");
  2158. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermflag", "");
  2159. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnunitcd", subunitcd);
  2160. }
  2161. var endTime = new Date().getTime(); //종료시간 체크(단위 ms)
  2162. model.addLog("Y축 증가 테이블 생성시간: " + ((endTime-startTime)/1000) );
  2163. }
  2164. else if(gridtype == "X")
  2165. {
  2166. var startTime = new Date().getTime(); //시작시간 체크(단위 ms)
  2167. // 개선 코드
  2168. var grdCnt = 0;
  2169. for(var j = 0; j < subcnt; j++)
  2170. {
  2171. //var label = model.instances(0).selectNodes(pageInfo.formdegnRef +
  2172. // "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
  2173. var axflag = getStyleValue(model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/itemattrval").item(j).text, "axflag");
  2174. var subdegnitemcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemcd").item(j).text;
  2175. var subdegnitemno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemno").item(j).text;
  2176. var subdegnitemkind = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemkind").item(j).text;
  2177. var subdegnitemlevlno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlno").item(j).text;
  2178. var subdegnitemnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(j).text;
  2179. var subunitnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/unitnm").item(j).text;
  2180. var subdegnitemlevlcd = "";
  2181. if(pageInfo.fstLevlItemCd != "")
  2182. subdegnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(j).text;
  2183. else
  2184. subdegnitemlevlcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlcd").item(j).text;
  2185. var subfstlevlitembasecd = subdegnitemlevlcd.split(".")[0];
  2186. var subfstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + subfstlevlitembasecd + "']/degnitemcd");
  2187. if(pageInfo.fstLevlItemCd != "")
  2188. subfstlevlitemcd = pageInfo.fstLevlItemCd;
  2189. grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef);
  2190. grdCnt += 1;
  2191. var grdCntIdx = 1;
  2192. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]", "");
  2193. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemno", degnitemno);
  2194. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemlevlcd", degnitemlevlcd);
  2195. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2196. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2197. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2198. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2199. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2200. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2201. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", degnitemno);
  2202. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", degnitemcd);
  2203. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", degnitemkind);
  2204. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", degnitemlevlno);
  2205. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", degnitemnm, true);
  2206. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2207. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2208. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2209. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2210. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2211. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "", true);
  2212. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", unitnm);
  2213. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2214. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2215. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", j);
  2216. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", "-1");
  2217. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/supdegnitemno", subsupdegnitemno);
  2218. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/extdegnitemlevlcd", "");
  2219. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermflag", "");
  2220. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnunitcd", subunitcd);
  2221. grdCntIdx++;
  2222. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2223. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2224. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recitemno", "");
  2225. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/fstlevlitemcd", subfstlevlitemcd);
  2226. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/formcd", formcd);
  2227. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/formdegnseq", formdegnseq);
  2228. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemno", subdegnitemno);
  2229. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemcd", subdegnitemcd);
  2230. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemkind", "GSL");
  2231. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemlevlno", subdegnitemlevlno);
  2232. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemnm", subdegnitemnm, true);
  2233. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemlevlcd", subdegnitemlevlcd);
  2234. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermcd", "");
  2235. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermnm", "", true);
  2236. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recrefcd", "");
  2237. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recitemnm", "", true);
  2238. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/reccnts", subdegnitemnm, true);
  2239. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/unitnm", subunitnm);
  2240. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recimge", "");
  2241. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/srcimge", "");
  2242. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rowno", j);
  2243. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/colno", "0");
  2244. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/supdegnitemno", degnitemno);
  2245. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/extdegnitemlevlcd", "");
  2246. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermflag", "");
  2247. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnunitcd", subunitcd);
  2248. // create empty column
  2249. grdCntIdx++;
  2250. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2251. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2252. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recitemno", "");
  2253. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/fstlevlitemcd", subfstlevlitemcd);
  2254. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/formcd", formcd);
  2255. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/formdegnseq", formdegnseq);
  2256. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemno", subdegnitemno);
  2257. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemcd", subdegnitemcd);
  2258. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemkind", "GSU");
  2259. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemlevlno", subdegnitemlevlno);
  2260. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemnm", subdegnitemnm, true);
  2261. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnitemlevlcd", subdegnitemlevlcd);
  2262. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermcd", "");
  2263. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermnm", "", true);
  2264. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recrefcd", "");
  2265. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recitemnm", "", true);
  2266. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/reccnts", "", true);
  2267. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/unitnm", subunitnm);
  2268. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/recimge", "");
  2269. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/srcimge", "");
  2270. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rowno", j);
  2271. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/colno", "1");
  2272. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/supdegnitemno", degnitemno);
  2273. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/extdegnitemlevlcd", "");
  2274. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/rectermflag", "");
  2275. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem["+ grdCntIdx + "]/degnunitcd", subunitcd);
  2276. }
  2277. var endTime = new Date().getTime(); //종료시간 체크(단위 ms)
  2278. model.addLog("X축 증가 테이블 생성시간: " + ((endTime-startTime)/1000) );
  2279. }
  2280. else if(gridtype =="T") //Table
  2281. {
  2282. var startTime = new Date().getTime(); //시작시간 체크(단위 ms)
  2283. var arrX = new Array();
  2284. var arrY = new Array();
  2285. var xCnt = 0;
  2286. var yCnt = 0;
  2287. var fstcolwidth = 0;
  2288. for(var j = 0; j < subcnt; j++) // 그리드 테이블 컬럼만 얻기
  2289. {
  2290. var label = model.instances(0).selectNodes(pageInfo.formdegnRef +
  2291. "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/degnitemnm").item(j).text;
  2292. var axflag = getStyleValue(model.instances(0).selectNodes(pageInfo.formdegnRef +
  2293. "[degnitemkind='GSU' and supdegnitemno='" + degnitemno + "']/itemattrval").item(j).text, "axflag");
  2294. if(axflag == "X")
  2295. {
  2296. arrX[xCnt++] = label;
  2297. }
  2298. else if(axflag == "Y")
  2299. {
  2300. arrY[yCnt++] = label;
  2301. }
  2302. }
  2303. var nArrXLength = arrX.length;
  2304. var totalcnt = nArrXLength * arrY.length; // 테이블의 값이 들어가는 컬럼수만 계산
  2305. var grdCnt = 0;
  2306. var grdCntIdx = 0;
  2307. var colIdx = 1;
  2308. var row = -1;
  2309. var col = 0;
  2310. for(var i = 0; i < totalcnt; i++)
  2311. {
  2312. if(i % nArrXLength == 0) // row의 -1번째 컬럼(구분 컬럼)
  2313. {
  2314. grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef); //recItemRef);
  2315. //grdCntIdx = (grdCnt*(arrX.length+2)) + 1;
  2316. grdCnt += 1;
  2317. grdCntIdx = 1;
  2318. row++;
  2319. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]", "");
  2320. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemno", degnitemno);
  2321. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemlevlcd", degnitemlevlcd);
  2322. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2323. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2324. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2325. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2326. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2327. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2328. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", degnitemno);
  2329. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", degnitemcd);
  2330. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", degnitemkind);
  2331. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", degnitemlevlno);
  2332. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", degnitemnm);
  2333. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2334. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2335. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "");
  2336. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2337. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "");
  2338. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "");
  2339. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", unitnm);
  2340. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2341. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2342. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2343. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", "-1");
  2344. grdCntIdx++;
  2345. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2346. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2347. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2348. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2349. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2350. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2351. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:Y')]/degnitemno").item(row).text);
  2352. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:Y')]/degnitemcd").item(row).text);
  2353. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", "GXB");
  2354. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:Y')]/degnitemlevlno").item(row).text);
  2355. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:Y')]/degnitemnm").item(row).text, true);
  2356. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:Y')]/degnitemlevlcd").item(row).text);
  2357. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2358. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2359. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2360. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2361. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", arrY[row], true);
  2362. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/unitnm").item(nArrXLength + row).text);
  2363. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2364. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2365. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2366. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", "0");
  2367. col = 0;
  2368. }
  2369. var subdegnitemcd = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemcd").item(col).text;
  2370. var subdegnitemno = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemno").item(col).text;
  2371. var subdegnitemkind = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemkind").item(col).text;
  2372. var subdegnitemlevlcd = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemlevlcd").item(col).text;
  2373. var subdegnitemlevlno = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemlevlno").item(col).text;
  2374. var subdegnitemnm = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/degnitemnm").item(col).text;
  2375. var subunitnm = model.instances(0).selectNodes(pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='"+degnitemno+"' and contains(itemattrval, 'axflag:X')]/unitnm").item(col).text;
  2376. if(pageInfo.fstLevlItemCd != "")
  2377. subdegnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + subdegnitemlevlcd;
  2378. var subfstlevlitembasecd = subdegnitemlevlcd.split(".")[0];
  2379. var subfstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + subfstlevlitembasecd + "']/degnitemcd");
  2380. if(pageInfo.fstLevlItemCd != "")
  2381. subfstlevlitemcd = pageInfo.fstLevlItemCd;
  2382. grdCntIdx++;
  2383. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2384. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2385. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2386. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", subfstlevlitemcd);
  2387. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2388. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2389. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", subdegnitemno);
  2390. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", subdegnitemcd);
  2391. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", subdegnitemkind);
  2392. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", parseInt(subdegnitemlevlno) + 1);
  2393. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", subdegnitemnm, true);
  2394. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", subdegnitemlevlcd);
  2395. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2396. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2397. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2398. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2399. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "", true);
  2400. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", subunitnm);
  2401. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2402. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2403. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2404. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", ++col);
  2405. }
  2406. var endTime = new Date().getTime(); //종료시간 체크(단위 ms)
  2407. model.addLog("일반 테이블 생성시간: " + ((endTime-startTime)/1000) );
  2408. }
  2409. else if(gridtype == "G") //Grid
  2410. {
  2411. var startTime = new Date().getTime(); //시작시간 체크(단위 ms)
  2412. // row의 -1번째 컬럼(구분 컬럼)
  2413. var grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef);
  2414. var grdCntIdx = 0;
  2415. var row = -1;
  2416. var col = -1;
  2417. grdCnt += 1;
  2418. grdCntIdx = 1;
  2419. row++;
  2420. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]", "");
  2421. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemno", degnitemno);
  2422. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/degnitemlevlcd", degnitemlevlcd);
  2423. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2424. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2425. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2426. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2427. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2428. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2429. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", degnitemno);
  2430. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", degnitemcd);
  2431. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", degnitemkind);
  2432. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", degnitemlevlno);
  2433. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", degnitemnm, true);
  2434. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2435. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2436. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2437. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2438. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2439. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "");
  2440. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", unitnm);
  2441. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2442. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2443. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2444. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", "-1");
  2445. for(var j = 0; j < subcnt; j++)
  2446. {
  2447. var axflag = getStyleValue(model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/itemattrval").item(j).text, "axflag");
  2448. var subdegnitemcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemcd").item(j).text;
  2449. var subdegnitemno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemno").item(j).text;
  2450. var subdegnitemkind = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemkind").item(j).text;
  2451. var subdegnitemlevlno = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlno").item(j).text;
  2452. var subdegnitemnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(j).text;
  2453. var subunitnm = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/unitnm").item(j).text;
  2454. var subdegnitemlevlcd = "";
  2455. if(pageInfo.fstLevlItemCd != "")
  2456. subdegnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemnm").item(j).text;
  2457. else
  2458. subdegnitemlevlcd = model.instances(0).selectNodes(prepath_formdegnRef_GSUdegnitemno + "']/degnitemlevlcd").item(j).text;
  2459. var subfstlevlitembasecd = subdegnitemlevlcd.split(".")[0];
  2460. var subfstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + subfstlevlitembasecd + "']/degnitemcd");
  2461. if(pageInfo.fstLevlItemCd != "")
  2462. subfstlevlitemcd = pageInfo.fstLevlItemCd;
  2463. grdCntIdx++;
  2464. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/instcd", "");
  2465. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rechistseq", "");
  2466. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemno", "");
  2467. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/fstlevlitemcd", subfstlevlitemcd);
  2468. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formcd", formcd);
  2469. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/formdegnseq", formdegnseq);
  2470. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemno", subdegnitemno);
  2471. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemcd", subdegnitemcd);
  2472. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemkind", subdegnitemkind);
  2473. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlno", subdegnitemlevlno);
  2474. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemnm", subdegnitemnm, true);
  2475. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/degnitemlevlcd", subdegnitemlevlcd);
  2476. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermcd", "");
  2477. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rectermnm", "", true);
  2478. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recrefcd", "");
  2479. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recitemnm", "", true);
  2480. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/reccnts", "", true);
  2481. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/unitnm", subunitnm);
  2482. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/recimge", "");
  2483. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/srcimge", "");
  2484. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/rowno", row);
  2485. model.makeValue(gPrePath_recInfoGridRef + grdCnt + "]/recitem[" + grdCntIdx + "]/colno", ++col);
  2486. }
  2487. var endTime = new Date().getTime(); //종료시간 체크(단위 ms)
  2488. model.addLog("그리드 생성 시간: " + ((endTime-startTime)/1000) );
  2489. }
  2490. }
  2491. /**
  2492. * @desc : 진단명 인스턴스 생성
  2493. * @id :
  2494. * @event :
  2495. * @return :
  2496. * @authur : 이상현(2008-07-15)
  2497. */
  2498. function makeDGNInstance(pageInfo, degnitemno)
  2499. {
  2500. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  2501. if(type == "btn")
  2502. return;
  2503. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  2504. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  2505. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  2506. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  2507. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  2508. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  2509. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  2510. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  2511. var degnitemlevlcd = "";
  2512. if(pageInfo.fstLevlItemCd != "")
  2513. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  2514. else
  2515. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  2516. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2517. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  2518. if(pageInfo.fstLevlItemCd != "")
  2519. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2520. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  2521. var columnIdx = 1;
  2522. //DGN 그리드
  2523. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  2524. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  2525. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  2526. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2527. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2528. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2529. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2530. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2531. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2532. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2533. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  2534. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  2535. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "DGN");
  2536. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  2537. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  2538. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2539. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2540. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2541. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2542. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2543. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2544. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  2545. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2546. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2547. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2548. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  2549. columnIdx++;
  2550. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2551. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2552. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2553. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2554. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2555. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2556. //DGN, OPN, CCN은 디자인정보가 1개밖에 존재하지 않기 때문에.. degnitemno를 통일한다. (snoweye : 2008-07-15)
  2557. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2558. //model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2559. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0004249001");
  2560. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2561. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2562. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "R/O");
  2563. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0004249");
  2564. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2565. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2566. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2567. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2568. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2569. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2570. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2571. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2572. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2573. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  2574. columnIdx++;
  2575. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2576. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2577. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2578. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2579. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2580. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2581. //DGN, OPN, CCN은 디자인정보가 1개밖에 존재하지 않기 때문에.. degnitemno를 통일한다. (snoweye : 2008-07-15)
  2582. //model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2583. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2584. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0001443001");
  2585. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2586. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2587. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "주부");
  2588. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0001443");
  2589. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2590. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2591. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2592. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2593. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2594. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2595. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2596. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2597. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2598. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "1");
  2599. columnIdx++;
  2600. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2601. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2602. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2603. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2604. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2605. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2606. //DGN, OPN, CCN은 디자인정보가 1개밖에 존재하지 않기 때문에.. degnitemno를 통일한다. (snoweye : 2008-07-15)
  2607. //model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2608. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2609. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000960001");
  2610. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2611. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2612. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "진단명");
  2613. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0000960");
  2614. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2615. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2616. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2617. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2618. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2619. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2620. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2621. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2622. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2623. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "2");
  2624. }
  2625. /**
  2626. * @desc : 진단명 인스턴스 생성
  2627. * @id :
  2628. * @event :
  2629. * @return :
  2630. * @authur : 이상현
  2631. */
  2632. function makeDGNInstance_old(pageInfo, degnitemno)
  2633. {
  2634. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  2635. if(type == "btn")
  2636. return;
  2637. //var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
  2638. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  2639. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  2640. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  2641. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  2642. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  2643. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  2644. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  2645. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  2646. var degnitemlevlcd = "";
  2647. if(pageInfo.fstLevlItemCd != "")
  2648. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  2649. else
  2650. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  2651. //var fstlevlitemcd = degnitemlevlcd.split(".")[0];
  2652. //if(pageInfo.fstLevlItemCd != "")
  2653. // fstlevlitemcd = pageInfo.fstLevlItemCd;
  2654. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2655. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  2656. if(pageInfo.fstLevlItemCd != "")
  2657. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2658. //var idx = getNodesetCnt(model, pageInfo.recItemRef) + 1;
  2659. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  2660. var columnIdx = 1;
  2661. //DGN 그리드
  2662. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  2663. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  2664. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2665. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2666. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2667. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2668. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2669. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2670. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2671. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  2672. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  2673. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "DGN");
  2674. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  2675. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  2676. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2677. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2678. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2679. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2680. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2681. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2682. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  2683. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2684. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2685. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2686. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  2687. columnIdx++;
  2688. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2689. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2690. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2691. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2692. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2693. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2694. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2695. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0004249001");
  2696. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2697. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2698. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "R/O");
  2699. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0004249");
  2700. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2701. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2702. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2703. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2704. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2705. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2706. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2707. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2708. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2709. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  2710. columnIdx++;
  2711. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2712. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2713. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2714. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2715. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2716. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2717. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2718. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0001443001");
  2719. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2720. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2721. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "주부");
  2722. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0001443");
  2723. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2724. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2725. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2726. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2727. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2728. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2729. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2730. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2731. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2732. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "1");
  2733. columnIdx++;
  2734. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2735. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2736. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2737. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2738. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000899");
  2739. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2740. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2741. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000960001");
  2742. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2743. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2744. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "진단명");
  2745. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0000960");
  2746. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2747. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2748. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2749. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2750. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2751. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2752. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2753. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2754. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2755. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "2");
  2756. /*
  2757. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/instcd", "");
  2758. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rechistseq", "");
  2759. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemno", "");
  2760. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/fstlevlitemcd", fstlevlitemcd);
  2761. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formcd", formcd);//"0000000899");
  2762. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formdegnseq", formdegnseq);
  2763. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemno", degnitemno);
  2764. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemcd", degnitemcd);
  2765. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemkind", "GRD");
  2766. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/orgdegnitemkind", "DGN");
  2767. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlno", degnitemlevlno);
  2768. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemnm", degnitemnm);
  2769. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  2770. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermcd", "");
  2771. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermnm", "");
  2772. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recrefcd", "");
  2773. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemnm", "");
  2774. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/reccnts", "");
  2775. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/unitnm", unitnm);
  2776. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recimge", "");
  2777. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rowno", "0");
  2778. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/colno", "");
  2779. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/instcd", "");
  2780. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rechistseq", "");
  2781. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemno", "");
  2782. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/fstlevlitemcd", fstlevlitemcd);
  2783. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formcd", formcd);//"0000000899");
  2784. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formdegnseq", formdegnseq);
  2785. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemno", ++g_maxdegnitemno);
  2786. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemcd", "0004249001");
  2787. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemkind", "GSU");
  2788. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2789. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemnm", "R/O");
  2790. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlcd", degnitemlevlcd + "." + "0004249");
  2791. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermcd", "");
  2792. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermnm", "");
  2793. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recrefcd", "");
  2794. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemnm", "");
  2795. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/reccnts", "");
  2796. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/unitnm", "");
  2797. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recimge", "");
  2798. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rowno", "0");
  2799. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/colno", "0");
  2800. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/instcd", "");
  2801. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rechistseq", "");
  2802. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recitemno", "");
  2803. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/fstlevlitemcd", fstlevlitemcd);
  2804. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/formcd", formcd);//"0000000899");
  2805. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/formdegnseq", formdegnseq);
  2806. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemno", ++g_maxdegnitemno);
  2807. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemcd", "0001443001");
  2808. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemkind", "GSU");
  2809. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2810. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemnm", "주부");
  2811. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemlevlcd", degnitemlevlcd + "." + "0001443");
  2812. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rectermcd", "");
  2813. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rectermnm", "");
  2814. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recrefcd", "");
  2815. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recitemnm", "");
  2816. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/reccnts", "");
  2817. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/unitnm", "");
  2818. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recimge", "");
  2819. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rowno", "0");
  2820. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/colno", "1");
  2821. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/instcd", "");
  2822. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/rechistseq", "");
  2823. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/recitemno", "");
  2824. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/fstlevlitemcd", fstlevlitemcd);
  2825. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/formcd", formcd);//"0000000899");
  2826. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/formdegnseq", formdegnseq);
  2827. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemno", ++g_maxdegnitemno);
  2828. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemcd", "0000960001");
  2829. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemkind", "GSU");
  2830. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2831. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemnm", "진단명");
  2832. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/degnitemlevlcd", degnitemlevlcd + "." + "0000960");
  2833. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/rectermcd", "");
  2834. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/rectermnm", "");
  2835. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/recrefcd", "");
  2836. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/recitemnm", "");
  2837. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/reccnts", "");
  2838. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/unitnm", "");
  2839. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/recimge", "");
  2840. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/rowno", "0");
  2841. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[3]/colno", "2");
  2842. */
  2843. }
  2844. /**
  2845. * @desc : 수술명 인스턴스 생성
  2846. * @id :
  2847. * @event :
  2848. * @return :
  2849. * @authur : 이상현
  2850. */
  2851. function makeOPNInstance(pageInfo, degnitemno)
  2852. {
  2853. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  2854. if(type == "btn")
  2855. return;
  2856. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  2857. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  2858. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  2859. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  2860. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  2861. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  2862. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  2863. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  2864. var degnitemlevlcd = "";
  2865. if(pageInfo.fstLevlItemCd != "")
  2866. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  2867. else
  2868. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  2869. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2870. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  2871. if(pageInfo.fstLevlItemCd != "")
  2872. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2873. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  2874. var columnIdx = 1;
  2875. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  2876. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  2877. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  2878. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2879. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2880. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2881. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2882. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);
  2883. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2884. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2885. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  2886. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  2887. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "OPN");
  2888. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  2889. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  2890. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2891. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2892. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2893. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2894. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2895. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2896. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  2897. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2898. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2899. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2900. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  2901. columnIdx++;
  2902. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2903. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2904. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2905. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2906. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);
  2907. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2908. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2909. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000509001");
  2910. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2911. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2912. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "수술명");
  2913. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0000509");
  2914. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2915. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2916. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2917. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2918. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2919. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  2920. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2921. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2922. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2923. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  2924. }
  2925. /**
  2926. * @desc : 수술명 인스턴스 생성
  2927. * @id :
  2928. * @event :
  2929. * @return :
  2930. * @authur : 이상현
  2931. */
  2932. function makeOPNInstance_Old(pageInfo, degnitemno)
  2933. {
  2934. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  2935. if(type == "btn")
  2936. return;
  2937. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  2938. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  2939. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  2940. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  2941. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  2942. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  2943. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  2944. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  2945. var degnitemlevlcd = "";
  2946. if(pageInfo.fstLevlItemCd != "")
  2947. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  2948. else
  2949. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  2950. //var fstlevlitemcd = degnitemlevlcd.split(".")[0];
  2951. //if(pageInfo.fstLevlItemCd != "")
  2952. // fstlevlitemcd = pageInfo.fstLevlItemCd;
  2953. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  2954. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  2955. if(pageInfo.fstLevlItemCd != "")
  2956. fstlevlitemcd = pageInfo.fstLevlItemCd;
  2957. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  2958. var columnIdx = 1;
  2959. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  2960. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  2961. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2962. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2963. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2964. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2965. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000900");
  2966. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2967. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  2968. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  2969. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  2970. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "OPN");
  2971. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  2972. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  2973. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  2974. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2975. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2976. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  2977. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  2978. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  2979. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  2980. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  2981. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  2982. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  2983. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  2984. columnIdx++;
  2985. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  2986. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  2987. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  2988. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  2989. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000900");
  2990. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  2991. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  2992. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000509001");
  2993. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  2994. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  2995. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "수술명");
  2996. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + "." + "0000509");
  2997. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  2998. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  2999. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3000. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3001. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3002. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  3003. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3004. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3005. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3006. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  3007. /*
  3008. var idx = getNodesetCnt(model, pageInfo.recItemRef) + 1;
  3009. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/instcd", "");
  3010. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rechistseq", "");
  3011. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemno", "");
  3012. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/fstlevlitemcd", fstlevlitemcd);
  3013. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formcd", formcd);//"0000000900");
  3014. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formdegnseq", formdegnseq);
  3015. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemno", degnitemno);
  3016. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemcd", degnitemcd);
  3017. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemkind", "GRD");
  3018. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/orgdegnitemkind", "OPN");
  3019. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlno", degnitemlevlno);
  3020. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemnm", degnitemnm);
  3021. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  3022. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermcd", "");
  3023. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermnm", "");
  3024. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recrefcd", "");
  3025. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemnm", "");
  3026. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/reccnts", "");
  3027. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/unitnm", unitnm);
  3028. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recimge", "");
  3029. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rowno", "0");
  3030. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/colno", "");
  3031. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/instcd", "");
  3032. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rechistseq", "");
  3033. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemno", "");
  3034. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/fstlevlitemcd", fstlevlitemcd);
  3035. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formcd", formcd);//"0000000900");
  3036. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formdegnseq", formdegnseq);
  3037. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemno", ++g_maxdegnitemno);
  3038. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemcd", "0000509001");
  3039. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemkind", "GSU");
  3040. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3041. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemnm", "수술명");
  3042. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlcd", degnitemlevlcd + "." + "0000509");
  3043. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermcd", "");
  3044. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermnm", "");
  3045. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recrefcd", "");
  3046. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemnm", "");
  3047. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/reccnts", "");
  3048. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/unitnm", "");
  3049. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recimge", "");
  3050. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rowno", "0");
  3051. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/colno", "0");
  3052. */
  3053. }
  3054. /**
  3055. * @desc : 주호소 인스턴스 생성
  3056. * @id :
  3057. * @event :
  3058. * @return :
  3059. * @authur : 이상현
  3060. */
  3061. function makeCCNInstance(pageInfo, degnitemno)
  3062. {
  3063. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  3064. if(type == "btn")
  3065. return;
  3066. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  3067. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  3068. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  3069. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  3070. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  3071. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  3072. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  3073. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  3074. var degnitemlevlcd = "";
  3075. if(pageInfo.fstLevlItemCd != "")
  3076. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  3077. else
  3078. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  3079. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  3080. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  3081. if(pageInfo.fstLevlItemCd != "")
  3082. fstlevlitemcd = pageInfo.fstLevlItemCd;
  3083. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  3084. var columnIdx = 1;
  3085. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  3086. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  3087. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  3088. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3089. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3090. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3091. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3092. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3093. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3094. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  3095. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  3096. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  3097. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "CCN");
  3098. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  3099. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  3100. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  3101. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3102. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3103. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3104. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3105. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3106. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  3107. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3108. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3109. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3110. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  3111. columnIdx++;
  3112. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3113. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3114. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3115. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3116. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3117. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3118. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  3119. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000931001");
  3120. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  3121. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3122. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "주호소");
  3123. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + ".0000931");
  3124. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3125. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3126. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3127. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3128. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3129. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  3130. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3131. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3132. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3133. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  3134. columnIdx++;
  3135. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3136. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3137. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3138. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3139. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3140. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3141. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  3142. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000299002");
  3143. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  3144. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3145. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "발생일");
  3146. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + ".0000299");
  3147. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3148. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3149. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3150. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3151. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3152. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  3153. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3154. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3155. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3156. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "1");
  3157. }
  3158. /**
  3159. * @desc : 주호소 인스턴스 생성
  3160. * @id :
  3161. * @event :
  3162. * @return :
  3163. * @authur : 이상현
  3164. */
  3165. function makeCCNInstance_Old(pageInfo, degnitemno)
  3166. {
  3167. var type = getStyleValue(model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/itemattrval"), "type");
  3168. if(type == "btn")
  3169. return;
  3170. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  3171. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  3172. var degnitemcd = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemcd");
  3173. var degnitemno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemno");
  3174. var degnitemkind = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemkind");
  3175. var degnitemlevlno = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemlevlno");
  3176. var degnitemnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/degnitemnm");
  3177. var unitnm = model.getValue(gPrePath_formdegnRef_degnitemno + degnitemno + "']/unitnm");
  3178. var degnitemlevlcd = "";
  3179. if(pageInfo.fstLevlItemCd != "")
  3180. degnitemlevlcd = pageInfo.fstLevlItemCd.substr(0, 7) + "." + model.getValue(pageInfo.formdegnRef + "[" + degnitemno + "']/degnitemlevlcd");
  3181. else
  3182. degnitemlevlcd = model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  3183. //alert(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno + "']/degnitemlevlcd");
  3184. //alert(degnitemlevlcd);
  3185. //var fstlevlitemcd = degnitemlevlcd.split(".")[0];
  3186. //if(pageInfo.fstLevlItemCd != "")
  3187. // fstlevlitemcd = pageInfo.fstLevlItemCd;
  3188. var fstlevlitembasecd = degnitemlevlcd.split(".")[0];
  3189. var fstlevlitemcd = model.getValue(gPrePath_formdegnRef + "degnitemlevlcd = '" + fstlevlitembasecd + "']/degnitemcd");
  3190. if(pageInfo.fstLevlItemCd != "")
  3191. fstlevlitemcd = pageInfo.fstLevlItemCd;
  3192. var idx = getNodesetCnt(model, pageInfo.RecinfoGridRef) + 1;
  3193. var columnIdx = 1;
  3194. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]", "");
  3195. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/degnitemno", degnitemno);
  3196. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3197. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3198. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3199. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3200. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3201. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3202. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", degnitemno);
  3203. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", degnitemcd);
  3204. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GRD");
  3205. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/orgdegnitemkind", "CCN");
  3206. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", degnitemlevlno);
  3207. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", degnitemnm);
  3208. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd);
  3209. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3210. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3211. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3212. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3213. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3214. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", unitnm);
  3215. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3216. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3217. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3218. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "-1");
  3219. columnIdx++;
  3220. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3221. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3222. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3223. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3224. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3225. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3226. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  3227. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000931001");
  3228. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  3229. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3230. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "주호소");
  3231. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + ".0000931");
  3232. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3233. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3234. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3235. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3236. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3237. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  3238. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3239. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3240. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3241. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "0");
  3242. columnIdx++;
  3243. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/instcd", "");
  3244. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rechistseq", "");
  3245. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemno", "");
  3246. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/fstlevlitemcd", fstlevlitemcd);
  3247. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formcd", formcd);//"0000000901");
  3248. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/formdegnseq", formdegnseq);
  3249. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemno", ++g_maxdegnitemno);
  3250. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemcd", "0000299002");
  3251. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemkind", "GSU");
  3252. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3253. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemnm", "발생일");
  3254. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/degnitemlevlcd", degnitemlevlcd + ".0000299");
  3255. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermcd", "");
  3256. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rectermnm", "");
  3257. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recrefcd", "");
  3258. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recitemnm", "");
  3259. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/reccnts", "");
  3260. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/unitnm", "");
  3261. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/recimge", "");
  3262. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/srcimge", "");
  3263. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/rowno", "0");
  3264. model.makeValue(pageInfo.RecinfoGridRef + "[" + idx + "]/recitem[" + columnIdx + "]/colno", "1");
  3265. /*
  3266. var idx = getNodesetCnt(model, pageInfo.recItemRef) + 1;
  3267. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/instcd", "");
  3268. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rechistseq", "");
  3269. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemno", "");
  3270. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/fstlevlitemcd", fstlevlitemcd);
  3271. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formcd", formcd);//"0000000901");
  3272. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/formdegnseq", formdegnseq);
  3273. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemno", degnitemno);
  3274. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemcd", degnitemcd);
  3275. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemkind", "GRD");
  3276. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/orgdegnitemkind", "CCN");
  3277. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlno", degnitemlevlno);
  3278. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemnm", degnitemnm);
  3279. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/degnitemlevlcd", degnitemlevlcd);
  3280. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermcd", "");
  3281. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rectermnm", "");
  3282. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recrefcd", "");
  3283. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitemnm", "");
  3284. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/reccnts", "");
  3285. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/unitnm", unitnm);
  3286. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recimge", "");
  3287. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/rowno", "0");
  3288. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/colno", "");
  3289. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/instcd", "");
  3290. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rechistseq", "");
  3291. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemno", "");
  3292. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/fstlevlitemcd", fstlevlitemcd);
  3293. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formcd", formcd);//"0000000901");
  3294. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/formdegnseq", formdegnseq);
  3295. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemno", ++g_maxdegnitemno);
  3296. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemcd", "0000931001");
  3297. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemkind", "GSU");
  3298. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3299. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemnm", "주호소");
  3300. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/degnitemlevlcd", degnitemlevlcd + ".0000931");
  3301. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermcd", "");
  3302. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rectermnm", "");
  3303. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recrefcd", "");
  3304. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recitemnm", "");
  3305. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/reccnts", "");
  3306. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/unitnm", "");
  3307. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/recimge", "");
  3308. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/rowno", "0");
  3309. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[1]/colno", "0");
  3310. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/instcd", "");
  3311. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rechistseq", "");
  3312. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recitemno", "");
  3313. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/fstlevlitemcd", fstlevlitemcd);
  3314. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/formcd", formcd);//"0000000901");
  3315. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/formdegnseq", formdegnseq);
  3316. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemno", ++g_maxdegnitemno);
  3317. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemcd", "0000299002");
  3318. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemkind", "GSU");
  3319. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemlevlno", parseInt(degnitemlevlno) + 1);
  3320. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemnm", "발생일");
  3321. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/degnitemlevlcd", degnitemlevlcd + ".0000299");
  3322. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rectermcd", "");
  3323. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rectermnm", "");
  3324. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recrefcd", "");
  3325. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recitemnm", "");
  3326. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/reccnts", "");
  3327. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/unitnm", "");
  3328. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/recimge", "");
  3329. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/rowno", "0");
  3330. model.makeValue(pageInfo.recItemRef + "[" + idx + "]/recitem[2]/colno", "1");
  3331. */
  3332. }
  3333. /**
  3334. * @desc : 서식디스플레이 함수
  3335. * @id :
  3336. * @event :
  3337. * @return :
  3338. * @authur : 이상현
  3339. */
  3340. function previewByDegnItems(formmastRef, degnitemRef, vallistRef, imglistRef, recMode, supdegnitemcd, viewobj, bDraw)
  3341. {
  3342. //if(viewobj == null)
  3343. // viewobj = window;
  3344. //if(pageInfo == null)
  3345. var pageInfo = new PAGEINFO(viewobj);
  3346. //if(supdegnitemcd == null)
  3347. // supdegnitemcd = "";
  3348. if(bDraw == null)
  3349. bDraw = true;
  3350. pageInfo.fstLevlItemCd = supdegnitemcd;
  3351. if(vallistRef == null || imglistRef == null)
  3352. {
  3353. copyNodeset(grd_pltte.attribute("nodeset"), degnitemRef, "replace", model, opener.model);
  3354. grd_pltte.rebuild();
  3355. for(var i = grd_pltte.fixedRows; i < grd_pltte.rows; i++)
  3356. {
  3357. grd_pltte.rowstatus(i) = 1;
  3358. }
  3359. model.makeValue("/root/send/degnitems", grd_pltte.getUpdateData());
  3360. submit("TRMRF01304");
  3361. }
  3362. else
  3363. {
  3364. copyNodeset(pageInfo.formmastRef, formmastRef, "replace", model, opener.model);
  3365. copyNodeset(pageInfo.formdegnRef, degnitemRef, "replace", model, opener.model);
  3366. copyNodeset(pageInfo.vallistRef, vallistRef, "replace", model, opener.model);
  3367. copyNodeset(pageInfo.imgelistRef, imglistRef, "replace", model, opener.model);
  3368. }
  3369. if(bDraw)
  3370. fCreateDegnBySelfInfo(pageInfo, viewobj, recMode);
  3371. }
  3372. var gLogNo = 0;
  3373. /**
  3374. * @desc : User Log 생성
  3375. * @id :
  3376. * @event :
  3377. * @return :
  3378. * @authur : 이상현
  3379. */
  3380. function SetUserLog(lognm, clsnm, cnts, show)
  3381. {
  3382. if (show == null)
  3383. {
  3384. show = false;
  3385. }
  3386. if (show)
  3387. {
  3388. alert(lognm +" / "+ clsnm +" / "+ cnts);
  3389. return;
  3390. }
  3391. try
  3392. {
  3393. var pathlog = "/root/temp/userlog/log";
  3394. if (gLogNo > 1000)
  3395. {
  3396. model.removeNodeset(pathlog);
  3397. gLogNo = 0;
  3398. idx = 1;
  3399. }
  3400. gLogNo++;
  3401. model.makeValue(pathlog+ "[" +gLogNo+ "]/no", gLogNo);
  3402. model.makeValue(pathlog+ "[" +gLogNo+ "]/time", getCurrentTime());
  3403. model.makeValue(pathlog+ "[" +gLogNo+ "]/lognm", lognm);
  3404. model.makeValue(pathlog+ "[" +gLogNo+ "]/clsnm", ""+clsnm);
  3405. if (cnts.indexOf("<", 0) > -1 || cnts.indexOf(">", 0) > -1)
  3406. {
  3407. model.makeValue(pathlog+ "[" +gLogNo+ "]/cnts", "");
  3408. model.setValue(pathlog+ "[" +gLogNo+ "]/cnts", cnts, true);
  3409. }
  3410. else
  3411. {
  3412. model.makeValue(pathlog+ "[" +gLogNo+ "]/cnts", cnts);
  3413. }
  3414. }
  3415. catch (e)
  3416. {
  3417. SetUserLog("[ERROR! SetUserLog]" + lognm, clsnm, cnts, true)
  3418. throw e;
  3419. }
  3420. }
  3421. var butter;
  3422. var StringBuffer = function() {
  3423. this.buffer = new Array();
  3424. }
  3425. StringBuffer.prototype.append = function(obj) {
  3426. this.buffer.push(obj);
  3427. }
  3428. StringBuffer.prototype.toString = function() {
  3429. return this.buffer.join("");
  3430. }
  3431. /**
  3432. * @desc : 프로그램 서식의 인스턴스 생성
  3433. * @id :
  3434. * @event :
  3435. * @return :
  3436. * @authur : 이상현
  3437. */
  3438. function makeProgInstance(pageInfo, instance, nodelistMain)
  3439. {
  3440. var instance = document.models(0).instances(0);
  3441. var nodelistMain = instance.selectNodes("/root/main/selectdiaglist");
  3442. var nodelistRecitem = instance.selectNodes("/root/main/recinfo/grid");
  3443. var iRecleng = nodelistRecitem.length;
  3444. var rechistseq = model.getValue(pageInfo.recMastRef + "/rechistseq");
  3445. var formcd = model.getValue(pageInfo.formmastRef +"/formcd");
  3446. var formdegnseq = model.getValue(pageInfo.formmastRef +"/formdegnseq");
  3447. var degnitemcd = model.getValue(gPrePath_formdegnRef + 1 + "]/degnitemcd");
  3448. var degnitemno = model.getValue(gPrePath_formdegnRef + 1 + "]/degnitemno");
  3449. var degnitemkind = model.getValue(gPrePath_formdegnRef + 1 + "]/degnitemkind");
  3450. var degnitemlevlno = "";
  3451. var degnitemnm = model.getValue(gPrePath_formdegnRef + 1 + "]/degnitemnm");
  3452. var unitnm = model.getValue(gPrePath_formdegnRef + 1 + "]/unitnm");
  3453. var degnitemlevlcd = "";
  3454. var orgdegnitemkind = "";
  3455. var subcnt = getNodesetCnt(model, pageInfo.formdegnRef + "[supdegnitemno='"+degnitemno+"' and degnitemkind='GSU']");
  3456. var fstlevlitemcd = degnitemlevlcd.split(".")[0];
  3457. var supdegnitemno = model.getValue(gPrePath_formdegnRef + 1 + "]/supdegnitemno");
  3458. var valgrupcd = model.getValue(gPrePath_formdegnRef + 1 + "]/valgrupcd");
  3459. var degnattrval = model.getValue(gPrePath_formdegnRef + 1 + "]/degnattrval");
  3460. var supdegnitemno = model.getValue(gPrePath_formdegnRef + 1 + "]/supdegnitemno");
  3461. var degnunitcd = model.getValue(gPrePath_formdegnRef + 1 + "]/degnunitcd");
  3462. var gridtype = getStyleValue(model.getValue(gPrePath_formdegnRef + 1 + "]/itemattrval"), "gridtype");
  3463. //var subcnt = getNodesetCnt(model, pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + 1 + "']");
  3464. var iFndRow = 0;
  3465. var iLeng = 0;
  3466. var col = 0;
  3467. var prepath_formdegnRef_GSUdegnitemno = pageInfo.formdegnRef + "[degnitemkind='GSU' and supdegnitemno='" + degnitemno;
  3468. var tempgrdNodeList = instance1.selectNodes(gPageInfo_EMR.initRecinfoGridRef);
  3469. if(nodelistMain.length >= 1){
  3470. for(var i = 1; i <= nodelistMain.length; i++)
  3471. {
  3472. //var diff = 0;
  3473. var tempMainNode = nodelistMain.item(i - 1);
  3474. var compcd = model.getValue("/root/main/selectdiaglist[" + i + "]/col[comp='true']/rectermcd");
  3475. var compcnts = model.getValue("/root/main/selectdiaglist[" + i + "]/col[comp='true']/reccnts");
  3476. var colno = model.getValue("/root/main/selectdiaglist[" + i + "]/col[comp='true']/colno");
  3477. degnitemno = tempgrdNodeList.item(0).selectSingleNode("degnitemno").text;
  3478. degnitemlevlcd = tempgrdNodeList.item(0).selectSingleNode("degnitemlevlcd").text;
  3479. fstlevlitemcd = tempgrdNodeList.item(0).selectNodes("recitem").item(0).selectSingleNode("fstlevlitemcd").text;
  3480. orgdegnitemkind = tempgrdNodeList.item(0).selectNodes("recitem").item(0).selectSingleNode("orgdegnitemkind").text;
  3481. degnitemlevlno = tempgrdNodeList.item(0).selectNodes("recitem").item(0).selectSingleNode("degnitemlevlno").text;
  3482. orgdegnitemkind = tempgrdNodeList.item(0).selectNodes("recitem").item(0).selectSingleNode("orgdegnitemkind").text;
  3483. if(compcnts != "" || compcd == "-"){
  3484. iFndRow = getNodesetCnt(model, pageInfo.recInfoGridRef + "/recitem[recitemnm='" + compcnts + "' and colno='" + colno + "']"); //중복항목 존재여부검사
  3485. if(iFndRow > 0){
  3486. iRecleng = iRecleng - 1;
  3487. //diff++;
  3488. }else if(iFndRow <= 0){
  3489. //iLeng = (i + iRecleng) - col;
  3490. iLeng = i + iRecleng;
  3491. //alert("iLeng="+iLeng);
  3492. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]", "");
  3493. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/degnitemno", degnitemno);
  3494. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/degnitemlevlcd", degnitemlevlcd);
  3495. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/instcd", "");
  3496. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/rechistseq", "");
  3497. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/recitemno", "");
  3498. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/fstlevlitemcd", fstlevlitemcd);
  3499. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/formcd", formcd);
  3500. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/formdegnseq", formdegnseq);
  3501. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemno", degnitemno);
  3502. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemcd", degnitemcd);
  3503. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemkind", degnitemkind);
  3504. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/orgdegnitemkind", orgdegnitemkind);
  3505. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemlevlno", degnitemlevlno);
  3506. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemnm", degnitemnm);
  3507. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/degnitemlevlcd", degnitemlevlcd);
  3508. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/rectermcd", "");
  3509. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/rectermnm", "");
  3510. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/recrefcd", "");
  3511. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/recitemnm", "");
  3512. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/reccnts", "");
  3513. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/unitnm", unitnm);
  3514. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/recimge", "");
  3515. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/srcimge", "");
  3516. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/rowno", iLeng - 1);
  3517. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i-col) + "]/colno", "-1");
  3518. var itemNodeList = tempgrdNodeList.item(0).selectNodes("recitem");
  3519. for(var j = 0; j < subcnt; j++)
  3520. {
  3521. var recitemNode = itemNodeList.item(j + 1);
  3522. var rectermcd = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/rectermcd");
  3523. var reccnts = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/reccnts");
  3524. if (reccnts == "-")
  3525. {
  3526. reccnts = "";
  3527. }
  3528. var cntsyn = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/cntsyn");
  3529. var ccflag = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/ccflag");
  3530. var rectermflag = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/rectermflag");
  3531. var cccnts = "";
  3532. if (ccflag == "CC")
  3533. {
  3534. cccnts = model.getValue("/root/main/selectdiaglist[" + i + "]/col[colno='" + j + "']/cccnts");
  3535. //주호소의 경우 termcd가 없을경우가 있으므로, tremcd가 없을경우 저장시 배제됨
  3536. if (rectermcd == "" && (cntsyn == "N" || cntsyn == "") && reccnts != "")
  3537. {
  3538. rectermcd = "-";
  3539. }
  3540. }
  3541. var jIdx = j + 1;
  3542. var subfstlevlitemcd = recitemNode.selectSingleNode("fstlevlitemcd").text;
  3543. var subdegnitemno = recitemNode.selectSingleNode("degnitemno").text;
  3544. var subdegnitemcd = recitemNode.selectSingleNode("degnitemcd").text;
  3545. var subdegnitemkind = recitemNode.selectSingleNode("degnitemkind").text;
  3546. var subdegnitemlevlno = recitemNode.selectSingleNode("degnitemlevlno").text;
  3547. var subdegnitemnm = recitemNode.selectSingleNode("degnitemnm").text;
  3548. var subdegnitemlevlcd = recitemNode.selectSingleNode("degnitemlevlcd").text;
  3549. var subunitnm = recitemNode.selectSingleNode("unitnm").text;
  3550. var subsupdegnitemno = recitemNode.selectSingleNode("supdegnitemno").text;
  3551. var subdegnunitcd = recitemNode.selectSingleNode("degnunitcd").text;
  3552. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/instcd", "");
  3553. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rechistseq", "");
  3554. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/recitemno", "");
  3555. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/fstlevlitemcd", subfstlevlitemcd);
  3556. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/formcd", formcd);
  3557. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/formdegnseq", formdegnseq);
  3558. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemno", subdegnitemno);
  3559. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemcd", subdegnitemcd);
  3560. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemkind", subdegnitemkind);
  3561. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemlevlno", subdegnitemlevlno);
  3562. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemnm", subdegnitemnm);
  3563. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnitemlevlcd", subdegnitemlevlcd);
  3564. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rectermcd", rectermcd);
  3565. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/recitemnm", "");
  3566. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/recrefcd", "");
  3567. if(cntsyn == "N" || cntsyn == "")
  3568. {
  3569. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rectermnm", reccnts);
  3570. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/reccnts", cccnts);
  3571. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rectermflag", rectermflag);
  3572. } else if(cntsyn == "Y") {
  3573. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rectermnm", "");
  3574. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/reccnts", reccnts);
  3575. }
  3576. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/unitnm", subunitnm);
  3577. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/recimge", "");
  3578. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/srcimge", "");
  3579. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/rowno", iLeng - 1);
  3580. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/colno", j);
  3581. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/supdegnitemno", subsupdegnitemno);
  3582. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/extdegnitemlevlcd", "");
  3583. model.makeValue(gPrePath_recInfoGridRef + iLeng + "]/recitem[" + (i+jIdx-col) + "]/degnunitcd", subdegnunitcd);
  3584. }
  3585. }
  3586. col++;
  3587. }
  3588. }
  3589. grd_diaglist.rebuild();
  3590. }
  3591. model.removeNodeset("/root/main/selectdiaglist");
  3592. }
  3593. /**
  3594. * @desc : 디자인항목순번으로 데이터를 가져온다
  3595. * @id :
  3596. * @event :
  3597. * @return :
  3598. * @authur : 이상현
  3599. */
  3600. function getItemDataByDegnItemNo(degnitemno, pmodel)
  3601. {
  3602. if(pmodel == null)
  3603. pmodel = model;
  3604. var pageInfo = new PAGEINFO();
  3605. var itemVal = new ITEMVAL();
  3606. itemVal.rectermcd = pmodel.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/rectermcd");
  3607. itemVal.rectermcd = pmodel.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/rectermnm");
  3608. itemVal.reccnts = pmodel.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts");
  3609. itemVal.recimge = pmodel.getValue(pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/recimge");
  3610. return itemVal;
  3611. }
  3612. /**
  3613. * @desc : 디자인항목코드로 데이터를 가져온다
  3614. * @id :
  3615. * @event :
  3616. * @return :
  3617. * @authur : 이상현
  3618. */
  3619. function getItemDataByDegnItemCd(degnitemcd, pmodel)
  3620. {
  3621. if(pmodel == null)
  3622. pmodel = model;
  3623. var pageInfo = new PAGEINFO();
  3624. var ins = pmodel.instances(0);
  3625. var nodeList = ins.selectNodes(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval");
  3626. var arrItemVal = new Array();
  3627. for(var i = 0; i < nodeList.length; i++)
  3628. {
  3629. var node = nodeList.item(i);
  3630. arrItemVal[i] = node.text;
  3631. }
  3632. return arrItemVal;
  3633. }
  3634. /**
  3635. * @desc : 디자인항목순번으로 데이터를 셋팅한다
  3636. * @id :
  3637. * @event :
  3638. * @return :
  3639. * @authur : 이상현
  3640. */
  3641. function setItemDataByDegnItemNo(degnitemno, itemval, type, pmodel, overWrite)
  3642. {
  3643. // type : 1 - rectermcd, 2 - reccnts, 3 - recimge
  3644. if(utlf_isNull(pmodel))
  3645. pmodel = this.getOwnerFrame().form;
  3646. if(utlf_isNull(overWrite))
  3647. overWrite = true;
  3648. var path = parent.objects["ds_data_reditem"];
  3649. var nRow = path.findRow("degnitemno",degnitemno);
  3650. var item = "";
  3651. if(type == 1)
  3652. {
  3653. item = "rectermcd";
  3654. }
  3655. else if(type == 2)
  3656. {
  3657. item = "reccnts";
  3658. }
  3659. else if(type == 3)
  3660. {
  3661. item = "recimge";
  3662. }
  3663. if(!overWrite)
  3664. {
  3665. overWrite = pmodel.value == "" ? true : false;
  3666. }
  3667. if(overWrite)
  3668. {
  3669. pmodel.value = itemval;
  3670. }
  3671. else
  3672. {
  3673. pmodel.value = path.getColumn(nRow,item) + "\n\n" + itemval;
  3674. }
  3675. pmodel.redraw();
  3676. // // type : 1 - rectermcd, 2 - reccnts, 3 - recimge
  3677. // if(pmodel == null)
  3678. // pmodel = model;
  3679. //
  3680. // if(overWrite == null)
  3681. // overWrite = true;
  3682. //
  3683. // var pageInfo = new PAGEINFO();
  3684. // var path = "";
  3685. // if(type == 1)
  3686. // {
  3687. // path = pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/rectermcd";
  3688. // }
  3689. // else if(type == 2)
  3690. // {
  3691. // path = pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/reccnts";
  3692. // }
  3693. // else if(type == 3)
  3694. // {
  3695. // path = pageInfo.recItemRef + "[degnitemno = '" + degnitemno + "']/recimge";
  3696. // }
  3697. //
  3698. // if(!overWrite)
  3699. // {
  3700. // overWrite = pmodel.getValue(path) == "" ? true : false;
  3701. // }
  3702. //
  3703. // if(overWrite)
  3704. // {
  3705. // pmodel.setValue(path, itemval);
  3706. // }
  3707. // else
  3708. // {
  3709. // pmodel.setValue(path, pmodel.getValue(path) + "\n\n" + itemval);
  3710. // }
  3711. //
  3712. // pmodel.refresh();
  3713. }
  3714. /**
  3715. * @desc : 디자인항목코드로 데이터를 셋팅한다
  3716. * @id :
  3717. * @event :
  3718. * @return :
  3719. * @authur : 이상현
  3720. */
  3721. function setItemDataByDegnItemCd(degnitemcd, itemval, pmodel)
  3722. {
  3723. if(pmodel == null)
  3724. pmodel = model;
  3725. var pageInfo = new PAGEINFO();
  3726. var nodeList = ins.selectNodes(pageInfo.recItemRef + "[degnitemcd = '" + degnitemcd + "']/itemval");
  3727. for(var i = 0; i < nodeList.length; i++)
  3728. {
  3729. var node = nodeList.item(i);
  3730. node.text = itemval;
  3731. }
  3732. }
  3733. /**
  3734. * @desc : 팝업으로 띄우는 서식여부
  3735. * @id :
  3736. * @event :
  3737. * @return :
  3738. * @authur : 이상현
  3739. */
  3740. function isOpenModalForm(formprogflag)
  3741. {
  3742. if (isPopup())
  3743. return false;
  3744. else if (formprogflag == "-" || formprogflag == "PROF" || formprogflag == "OCR")
  3745. return true;
  3746. else
  3747. return false;
  3748. }
  3749. /**
  3750. * @desc : 선택아이템 여부
  3751. * @id :
  3752. * @event :
  3753. * @return :
  3754. * @authur : 이상현
  3755. */
  3756. function isSelectItem(degnitemkind)
  3757. {
  3758. if(degnitemkind == "RDO" || degnitemkind == "CHK" || degnitemkind == "CMB" ||
  3759. degnitemkind == "BOL" || degnitemkind == "SSU" || degnitemkind == "ISU")
  3760. return true;
  3761. return false;
  3762. }
  3763. /**
  3764. * @desc : 컨텍스트메뉴 추가
  3765. * @id :
  3766. * @event :
  3767. * @return :
  3768. * @authur : 이상현
  3769. */
  3770. function addCntxMenu(name, func, paramlist, menuRef)
  3771. {
  3772. if(menuRef == null)
  3773. menuRef = "/root/hidden/menu/item";
  3774. var idx = getNodesetCnt(model, "/root/hidden/menu/item") + 1;
  3775. model.makeValue(menuRef + "[" + idx + "]/name", name);
  3776. model.makeValue(menuRef + "[" + idx + "]/func", func);
  3777. if(paramlist == null)
  3778. return;
  3779. for(var i = 0; i < paramlist.length; i++)
  3780. {
  3781. var param = paramlist[i];
  3782. model.makeValue(menuRef + "[" + idx + "]/param[" + (i + 1) + "]/name", param.name);
  3783. model.makeValue(menuRef + "[" + idx + "]/param[" + (i + 1) + "]/value", param.value);
  3784. }
  3785. }
  3786. /**
  3787. * @desc : 컨텍스트메뉴 삭제
  3788. * @id :
  3789. * @event :
  3790. * @return :
  3791. * @authur : 이상현
  3792. */
  3793. function removeCntxMenu(func, menuRef)
  3794. {
  3795. if(menuRef == null)
  3796. menuRef = "/root/hidden/menu/item";
  3797. var menuNode = model.instances(0).selectSingleNode(menuRef + "[func = '" + func + "']");
  3798. if(menuNode != null)
  3799. menuNode.parentNode.removeChild(menuNode);
  3800. }
  3801. /**
  3802. * @desc : 컨텍스트메뉴 찾기
  3803. * @id :
  3804. * @event :
  3805. * @return :
  3806. * @authur : 이상현
  3807. */
  3808. function findCntxMenu(func, menuRef)
  3809. {
  3810. if(menuRef == null)
  3811. menuRef = "/root/hidden/menu/item";
  3812. var menuNode = model.instances(0).selectSingleNode(menuRef + "[func = '" + func + "']");
  3813. return menuNode;
  3814. }
  3815. /**
  3816. * @desc : 파라미터로 컨텍스트메뉴 추가
  3817. * @id :
  3818. * @event :
  3819. * @return :
  3820. * @authur : 이상현
  3821. */
  3822. function findCntxMenuParamList(menuNode)
  3823. {
  3824. var paramNodeList = menuNode.selectNodes("param");
  3825. var arrParam = new Array();
  3826. for(var i = 0; i < paramNodeList.length; i++)
  3827. {
  3828. var paramNode = paramNodeList.item(i);
  3829. var param = new PARAM(paramNode.selectSingleNode("name").text, paramNode.selectSingleNode("value").text);
  3830. arrParam[i] = param;
  3831. }
  3832. return arrParam;
  3833. }
  3834. /**
  3835. * @desc : 문자열 길이 구함
  3836. * @id :
  3837. * @event :
  3838. * @return :
  3839. * @authur : 이상현
  3840. */
  3841. function getSrchStrCnt(srcStr, srchStr)
  3842. {
  3843. var arrStr = srcStr.split(srchStr);
  3844. return arrStr.length - 1;
  3845. }
  3846. /**
  3847. * @desc : 시간로그 셋팅
  3848. * @id :
  3849. * @event :
  3850. * @return :
  3851. * @authur : 이상현
  3852. */
  3853. function setTimeLog(pModel, pFlag, pTime)
  3854. {
  3855. var cnt = getNodesetCnt(pModel, "/root/emrtemp/times/" + pFlag)+1;
  3856. model.makeValue("/root/emrtemp/times/"+pFlag+"[" +cnt+ "]/time", pTime);
  3857. }
  3858. /****************************************************************************************
  3859. * Function : addEmrLog
  3860. * Description : 로그 셋팅
  3861. * Argument : 01.logcnts :
  3862. * return type :
  3863. * Creator :
  3864. ****************************************************************************************/
  3865. function addEmrLog(logcnts)
  3866. {
  3867. trace("[EMR FORM LOG] " + logcnts);
  3868. }
  3869. //var gTimeLogCnt = 0;
  3870. /****************************************************************************************
  3871. * Function : SetUserTimeLog
  3872. * Description : 사용자 시간로그 셋팅
  3873. * Argument : 01.lognm :
  3874. * : 02.clsenm :
  3875. * : 03.pmodel :
  3876. * return type :
  3877. * Creator :
  3878. ****************************************************************************************/
  3879. function SetUserTimeLog(lognm, clsenm, pmodel)
  3880. {
  3881. //utlf_addLog("***** SetUserTimeLog("+lognm+", "+clsenm+", "+pmodel+") *****");
  3882. if(utlf_isNull(pmodel))
  3883. {
  3884. if (frmf_isPopup())
  3885. pmodel = (this.getOwnerFrame().form).opener;
  3886. else
  3887. pmodel = this;
  3888. }
  3889. if (frmf_isPopup())
  3890. {
  3891. lognm = "(p)" + lognm;
  3892. }
  3893. if (sysf_getUserId() == "EMR" || sysf_getURLprefix().indexOf("localhost") > -1 || sysf_getUserId() == "emr")
  3894. {
  3895. var dt = new Date();
  3896. // var logCnt = getNodesetCnt(pmodel, "/root/timelog/log");
  3897. // logCnt++;
  3898. //
  3899. // var log = lognm +"\t"+ clsenm +"\t"+ dt.getTime()+"\t";
  3900. // pmodel.makeValue("/root/timelog/log[" +logCnt+ "]", log);
  3901. var log = lognm +"\t"+ clsenm +"\t"+ dt.getTime()+"\t";
  3902. if( pmodel.objects["ds_timelog"] == null ){
  3903. var sDsName = "ds_timelog";
  3904. var objDs = new Dataset(sDsName);
  3905. pmodel.addChild(sDsName, objDs);
  3906. objDs.name = sDsName;
  3907. }
  3908. var nRow = pmodel.ds_timelog.addRow();
  3909. dsf_makeValue(pmodel.ds_timelog, "log", "string", log, nRow);
  3910. addEmrLog(log);
  3911. }
  3912. else
  3913. {
  3914. var dt = new Date();
  3915. var log = lognm +"\t"+ clsenm +"\t"+ dt.getTime()+"\t";
  3916. addEmrLog(log);
  3917. }
  3918. }
  3919. /****************************************************************************************
  3920. * Function : setComnEvent
  3921. * Description : 이벤트 셋팅
  3922. * Argument : 01.srcformcd :
  3923. * : 02.degnitemno :
  3924. * : 03.ctrlid :
  3925. * return type :
  3926. * Creator : 사용하지 않음(fComnFormMtxChanged 으로 대체)
  3927. ****************************************************************************************/
  3928. function setComnEvent(srcformcd, degnitemno, ctrlid)
  3929. {
  3930. utlf_addLog("***** setComnEvent("+srcformcd+", "+degnitemno+", "+ctrlid+") EMRCommon 이벤트 셋팅 MTX 이벤트 삭제 recitem 에서 처리*****");
  3931. if(utlf_isNull(ctrlid))
  3932. ctrlid = "MTX_" + degnitemno;
  3933. var ctrl = ComnFormObj.components[ctrlid];
  3934. // ctrl.onlbuttonup.addHandler(saveSelectionText); // "saveSelectionText('" + degnitemno + "', '" + ctrlid +"')";
  3935. // ctrl.onkeyup.addHandler(saveSelectionText);
  3936. // ctrl.onrbuttondown.addHandler(showComnMenu); //"if(event.button == 3){showComnMenu('" + srcformcd + "', '" + degnitemno + "', '" + ctrlid +"');}";
  3937. }
  3938. /****************************************************************************************
  3939. * Function : setComnEvent
  3940. * Description : 마우스오른쪽버튼 클릭 메뉴 표시
  3941. * Argument : 01.srcformcd :
  3942. * : 02.degnitemno :
  3943. * : 03.ctrlid :
  3944. * return type :
  3945. * Creator : 사용하지 않음(fComnFormMtxChanged 으로 대체)
  3946. ****************************************************************************************/
  3947. function showComnMenu(srcFormCd, degnitemno, ctrlid)
  3948. {
  3949. setParameter("comn_srcFormCd", srcFormCd);
  3950. setParameter("comn_degnitemno", degnitemno);
  3951. setParameter("comn_ctrlid", ctrlid);
  3952. //메뉴 초기화
  3953. model.removeNodeset("/root/hidden/menu/item");
  3954. addCntxMenu("상용구 선택", "selectComnuseMenu");
  3955. //박종훈 작업(뷰어테스트가 완료되지 않아 주석처리)
  3956. addCntxMenu("", "");
  3957. addCntxMenu("잘라내기 Ctrl+X", "selectCutMenu");
  3958. addCntxMenu("복사 Ctrl+C ", "selectCopyMenu");
  3959. addCntxMenu("붙여넣기 Ctrl+V", "selectPasteMenu");
  3960. addCntxMenu("삭제 Del", "selectDeleteMenu");
  3961. addCntxMenu("", "");
  3962. addCntxMenu("모두선택 Ctrl+A", "selectSelAllMenu");
  3963. //박종훈 작업 끝
  3964. if(document.controls(event.focus) != null)
  3965. {
  3966. if(document.controls(event.focus).elementName == "xforms:textarea")
  3967. window.setPopupMenu(true, "/root/hidden/menu/item", "name", "func", false);//사용자지정팝업메뉴설정
  3968. }
  3969. }
  3970. /**
  3971. * @desc : 키누름 이벤트
  3972. * @id :
  3973. * @event :
  3974. * @return :
  3975. * @authur : 이상현
  3976. */
  3977. function keyPress(srcFormCd, degnitemno, ctrlid)
  3978. {
  3979. return;
  3980. if(ctrlid == null)
  3981. ctrlid = "MTX_" + degnitemno;
  3982. if(event.ctrlKey)
  3983. {
  3984. switch(event.keyCode)
  3985. {
  3986. case 17 : //'q' 113
  3987. selectComnuse(srcFormCd, degnitemno, 'C', ctrlid);
  3988. break;
  3989. case 23 : //'w' 119
  3990. selectComnuse(srcFormCd, degnitemno, 'E', ctrlid);
  3991. break;
  3992. case 5 : //'e' 101
  3993. addComnuse(srcFormCd, degnitemno, 'C', ctrlid);
  3994. break;
  3995. case 18 : //'r' 114
  3996. addComnuse(srcFormCd, degnitemno, 'E', ctrlid);
  3997. break;
  3998. }
  3999. }
  4000. }
  4001. /**********************************************************************************
  4002. * Method Name : selectComnuseMenu
  4003. * Description : 상용구메뉴선택
  4004. * argument :
  4005. * return Type :
  4006. * Creator : 서식관련 MMRCommon으로 이동
  4007. **********************************************************************************/
  4008. // function selectComnuseMenu()
  4009. // {
  4010. // }
  4011. /**********************************************************************************
  4012. * Method Name : selectCopyMenu
  4013. * Description : 복사하기(메뉴)
  4014. * argument :
  4015. * return Type :
  4016. * Creator : 서식관련 MMRCommon으로 이동
  4017. **********************************************************************************/
  4018. // function selectCopyMenu()
  4019. // {
  4020. // }
  4021. /**********************************************************************************
  4022. * Method Name : selectCutMenu
  4023. * Description : 잘라내기(메뉴)
  4024. * argument :
  4025. * return Type :
  4026. * Creator : 서식관련 MMRCommon으로 이동
  4027. **********************************************************************************/
  4028. // function selectCutMenu()
  4029. // {
  4030. // }
  4031. /**********************************************************************************
  4032. * Method Name : selectSelAllMenu
  4033. * Description : 모두선택(메뉴)
  4034. * argument :
  4035. * return Type :
  4036. * Creator : 서식관련 MMRCommon으로 이동
  4037. **********************************************************************************/
  4038. // function selectSelAllMenu()
  4039. // {
  4040. // }
  4041. /**********************************************************************************
  4042. * Method Name : selectPasteMenu
  4043. * Description : 붙여넣기(메뉴)
  4044. * argument :
  4045. * return Type :
  4046. * Creator : 서식관련 MMRCommon으로 이동
  4047. **********************************************************************************/
  4048. // function selectPasteMenu()
  4049. // {
  4050. // }
  4051. /**********************************************************************************
  4052. * Method Name : selectDeleteMenu
  4053. * Description : 삭제(메뉴)
  4054. * argument :
  4055. * return Type :
  4056. * Creator : 서식관련 MMRCommon으로 이동
  4057. **********************************************************************************/
  4058. // function selectDeleteMenu()
  4059. // {
  4060. // }
  4061. /**
  4062. * @desc : 예문 메뉴 선택
  4063. * @id :
  4064. * @event :
  4065. * @return :
  4066. * @authur : 이상현
  4067. */
  4068. function selectExamuseMenu()
  4069. {
  4070. selectComnuse(getParameter("comn_srcFormCd"), getParameter("comn_degnitemno"), "E", getParameter("comn_ctrlid"));
  4071. }
  4072. /**
  4073. * @desc : 상용구 메뉴 추가
  4074. * @id :
  4075. * @event :
  4076. * @return :
  4077. * @authur : 이상현
  4078. */
  4079. function addComnuseMenu()
  4080. {
  4081. addComnuse(getParameter("comn_srcFormCd"), getParameter("comn_degnitemno"), "C", getParameter("comn_ctrlid"));
  4082. }
  4083. /**
  4084. * @desc : 예문 메뉴 추가
  4085. * @id :
  4086. * @event :
  4087. * @return :
  4088. * @authur : 이상현
  4089. */
  4090. function addExamuseMenu()
  4091. {
  4092. addComnuse(getParameter("comn_srcFormCd"), getParameter("comn_degnitemno"), "E", getParameter("comn_ctrlid"));
  4093. }
  4094. /**
  4095. * @desc : 상용구전용 모달 함수
  4096. * @id :
  4097. * @event :
  4098. * @return :
  4099. * @authur : 이경희
  4100. */
  4101. /*
  4102. HIT 가이드는 openInternal 일 경우 frmf_openForm 으로 전환
  4103. 누락부분 체트! frmf_openForm parameter 는 sScreenID, objScrnInfo, objParam만 있음.
  4104. */
  4105. function modalForComnUse(id,monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos, authCode)
  4106. {
  4107. var rtn = "";
  4108. //body.disabled = true;
  4109. if (userProp == null) {
  4110. userProp = "min:hidden;max:hidden;";
  4111. } else {
  4112. userProp = "min:hidden;max:hidden;" + userProp;
  4113. }
  4114. if (authCode == null) {
  4115. sysf_setGlobalVariable("spclscrnauth", frmf_getScreenAuth(""));
  4116. } else {
  4117. sysf_setGlobalVariable("spclscrnauth", frmf_getScreenAuth(authCode));
  4118. }
  4119. //rtn = openInternal("modal",id,"scn",monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos);
  4120. rtn = frmf_openForm(id,null,null);
  4121. //body.disabled = false;
  4122. return rtn;
  4123. }
  4124. /**********************************************************************************
  4125. * Method Name : selectComnuse
  4126. * Description : 상용구 선택
  4127. * argument :
  4128. * return Type :
  4129. * Creator : 서식관련 MMRCommon으로 이동
  4130. **********************************************************************************/
  4131. // function selectComnuse(srcFormCd, degnitemno, chosflag, ctrlid)
  4132. // {
  4133. // }
  4134. /**********************************************************************************
  4135. * Method Name : selectCopy
  4136. * Description : 복사하기
  4137. * argument : 01. srcFormcd
  4138. * : 02. degnitemnm
  4139. * : 03. chosflag
  4140. * : 04. ctrlid
  4141. * return Type :
  4142. * Creator : 서식관련 MMRCommon으로 이동
  4143. **********************************************************************************/
  4144. // function selectCopy(srcFormCd, degnitemno, chosflag, ctrlid)
  4145. // {
  4146. // }
  4147. /**********************************************************************************
  4148. * Method Name : selectCut
  4149. * Description : 잘라내기
  4150. * argument : 01. srcFormcd
  4151. * : 02. degnitemnm
  4152. * : 03. chosflag
  4153. * : 04. ctrlid
  4154. * return Type :
  4155. * Creator : 서식관련 MMRCommon으로 이동
  4156. **********************************************************************************/
  4157. // function selectCut(srcFormCd, degnitemno, chosflag, ctrlid)
  4158. // {
  4159. // }
  4160. /**********************************************************************************
  4161. * Method Name : selectDelete
  4162. * Description : 삭제
  4163. * argument : 01. srcFormcd
  4164. * : 02. degnitemnm
  4165. * : 03. chosflag
  4166. * : 04. ctrlid
  4167. * return Type :
  4168. * Creator : 서식관련 MMRCommon으로 이동
  4169. **********************************************************************************/
  4170. // function selectDelete(srcFormCd, degnitemno, chosflag, ctrlid)
  4171. // {
  4172. // }
  4173. /**********************************************************************************
  4174. * Method Name : selectSelAll
  4175. * Description : 모두선택
  4176. * argument : 01. srcFormcd
  4177. * : 02. degnitemnm
  4178. * : 03. chosflag
  4179. * : 04. ctrlid
  4180. * return Type :
  4181. * Creator : 서식관련 MMRCommon으로 이동
  4182. **********************************************************************************/
  4183. // function selectSelAll(srcFormCd, degnitemno, chosflag, ctrlid)
  4184. // {
  4185. // }
  4186. /**********************************************************************************
  4187. * Method Name : selectPaste
  4188. * Description : 붙여넣기
  4189. * argument : 01. srcFormcd
  4190. * : 02. degnitemnm
  4191. * : 03. chosflag
  4192. * : 04. ctrlid
  4193. * return Type :
  4194. * Creator : 서식관련 MMRCommon으로 이동
  4195. **********************************************************************************/
  4196. // function selectPaste(srcFormCd, degnitemno, chosflag, ctrlid)
  4197. // {
  4198. // }
  4199. var gMaxSectionID = "";
  4200. function expanSubsection(itemcd)
  4201. {
  4202. var pageInfo = new PAGEINFO();
  4203. var bFold = itemcd == gMaxSectionID ? true : false;
  4204. var ctrl = null;
  4205. var prevItemCd = gMaxSectionID;
  4206. var unitformcd = "";
  4207. var secCtrl = document.controls("lbl_" + itemcd);
  4208. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemcd+"']/formdegnseq");
  4209. unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemcd+"']/formcd");
  4210. if(formdegnseq == "")
  4211. ctrl = document.controls("tar_" + itemcd);
  4212. else
  4213. ctrl = document.controls("ivw_" + itemcd);
  4214. //섹션 선택시 해당 섹션의 부분서식의 로딩되어있는지 확인하여
  4215. //로딩되어 있지 않으면 부분서식로딩
  4216. var ivwObj = document.controls("ivw_" +itemcd);
  4217. if(ivwObj != null)
  4218. {
  4219. if(ivwObj.src == "")
  4220. {
  4221. //var unitformcd = model.getValue(gPageInfo.formdegnRef + "[supdegnitemcd='" + itemCds[i] +
  4222. // "' and degnitemkind = 'FRM' and itemuseflag = 'F0']/degnitemcd");
  4223. var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemcd+"']/formcd");
  4224. if (unitformcd != "")
  4225. {
  4226. ivwObj.attribute("supdegnitemcd") = itemcd;
  4227. ivwObj.attribute("unitformcd") = unitformcd;
  4228. model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  4229. loadUnitForm(ivwObj, itemcd);
  4230. model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  4231. }
  4232. }
  4233. }
  4234. gMaxSectionID = "";
  4235. if(ctrl != null)
  4236. {
  4237. ctrl.attribute("top") = ctrl.attribute("orgtop");
  4238. ctrl.attribute("height") = ctrl.attribute("orgheight");
  4239. //secCtrl.attribute("background-color") = "#99ccff";//secCtrl.attribute("orgbackground-color");
  4240. ctrl.visible = true;
  4241. if (unitformcd == "0000000901" || unitformcd == "0000000899" || unitformcd == "0000000900")
  4242. {
  4243. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
  4244. }
  4245. }
  4246. }
  4247. /**
  4248. * @desc : 상용구추가
  4249. * @id :
  4250. * @event :
  4251. * @return :
  4252. * @authur : 이상현
  4253. */
  4254. function addComnuse(srcFormCd, degnitemno, chosflag, ctrlid)
  4255. {
  4256. if(ctrlid == null)
  4257. ctrlid = "MTX_" + degnitemno;
  4258. var ctrl = document.controls(ctrlid);
  4259. selBegin = model.getValue("/root/hidden/selectiontext/begin");
  4260. selEnd = model.getValue("/root/hidden/selectiontext/end");
  4261. var curText = ctrl.currentText;
  4262. var selText = curText.substring(ctrl.selBegin, ctrl.selEnd);
  4263. var pageInfo = new PAGEINFO();
  4264. var fstlevlitemcd = model.getValue(pageInfo.recItemRef +
  4265. "[degnitemno='" + degnitemno + "']/fstlevlitemcd");
  4266. //var itembasecd = fstlevlitemcd.substr(0,7);
  4267. if(srcFormCd == "")
  4268. {
  4269. messageBox("서식 정보가", "I004");
  4270. return;
  4271. }
  4272. if(fstlevlitemcd == "")
  4273. {
  4274. messageBox("항목 정보가", "I004");
  4275. return;
  4276. }
  4277. setParameter("openmode", "insert");
  4278. setParameter("comn_chosflag", chosflag);
  4279. setParameter("comn_degnitemcd", fstlevlitemcd);
  4280. setParameter("comn_srcformcd", srcFormCd);
  4281. setParameter("comncnts", selText);
  4282. modal("SMMRF02400",1 ,50, 50);
  4283. var ctrl = document.controls(ctrlid);
  4284. var txtSelPos = ctrl.selBegin;
  4285. var curText = ctrl.currentText;
  4286. var curTextBefore = curText.substr(0, txtSelPos);
  4287. var curTextAfter = curText.substr(txtSelPos, curText.length);
  4288. var commuse = getParameter("comncnts"); //내용
  4289. model.setFocus("MTX_" + degnitemno);
  4290. ctrl.currentText = curTextBefore + commuse + curTextAfter;
  4291. ctrl.selBegin = txtSelPos + commuse.length;
  4292. ctrl.dispatch("onkeyup");
  4293. //setParameter("comnseq", ""); //상용구순번
  4294. //setParameter("reprnm", ""); //대표명
  4295. setParameter("comncnts", ""); //내용
  4296. }
  4297. /****************************************************************************************
  4298. * Function : saveSelectionText
  4299. * Description : 선택된 텍스트 저장
  4300. * Argument : 01.obj :
  4301. * : 02.e :
  4302. * return type :
  4303. * Creator : (사용안함 fComnFormMtxChanged 대체)
  4304. ****************************************************************************************/
  4305. function saveSelectionText(obj, e)
  4306. {
  4307. utlf_addLog("***** saveSelectionText("+degnitemno+", "+ctrlid+") EMRCommon 선택된 텍스트 저장 *****");
  4308. var degnitemno = obj.name.split("_");
  4309. var ctrlid = "";
  4310. if(utlf_isNull())
  4311. ctrlid = "MTX_" + degnitemno;
  4312. var ctrl = this.components[ctrlid];
  4313. var oDs = this.objects["ds_hidden_selectiontext"];
  4314. if( oDs == null ) dsf_createDs("ds_hidden_selectiontext");
  4315. if( ctrl == null ) var selidx = ["",""]
  4316. else var selidx = ctrl.getSelect();
  4317. dsf_makeValue(ds_hidden_selectiontext, "begin", "string", selidx[0]);
  4318. dsf_makeValue(ds_hidden_selectiontext, "end", "string", selidx[1]);
  4319. }
  4320. /**
  4321. * @desc : 로컬, 개발환경 여부
  4322. * @id :
  4323. * @event :
  4324. * @return :
  4325. * @authur : 이상현
  4326. */
  4327. function isDevMode()
  4328. {
  4329. if (window.document.location == "C:/CMCProject/application/webapps/emr/medirecweb/xrw/" ||
  4330. window.document.location == "D:/CMCProject/application/webapps/emr/medirecweb/xrw/" ||
  4331. window.document.location.indexOf("dev999") > -1)
  4332. {
  4333. return true;
  4334. }
  4335. else
  4336. {
  4337. return false;
  4338. }
  4339. }
  4340. /**
  4341. * @desc : 이미지 로드용 대화상자 열기
  4342. * @id :
  4343. * @event :
  4344. * @return :
  4345. * @authur : 이상현
  4346. */
  4347. function openImageFileDialogEx(maxBytes, bMulti)
  4348. {
  4349. if(bMulti == null)
  4350. bMulti = false;
  4351. var file = window.fileDialog("open","",bMulti,"","","All Files (*.*)|*.*|JPEG Files(*.jpg)|*.jpg|GIF Files(*.gif)|*.gif|BMP Files(*.bmp)|*.bmp");
  4352. var arrFile = file.split("|");
  4353. for(var i = 0; i < arrFile.length; i++)
  4354. {
  4355. var subfile = arrFile[i];
  4356. if (subfile != "" && maxBytes != null) { // 파일 크기 확인
  4357. var fso = new ActiveXObject("Scripting.FileSystemObject");
  4358. var f = fso.GetFile(subfile);
  4359. if (f.size > maxBytes) {
  4360. messageBox("파일 크기가 최대 크기인 4M를","E003");
  4361. return "";
  4362. }
  4363. }
  4364. }
  4365. return file;
  4366. }
  4367. /**
  4368. * @desc : 서식 데이터 가져온다
  4369. * @id :
  4370. * @event :
  4371. * @return :
  4372. * @authur : 이상현
  4373. */
  4374. function getFormData(formcd, formrecseq, ref, rsltref)
  4375. {
  4376. var pageInfo = new PAGEINFO();
  4377. if(ref == null)
  4378. ref = "/root/send/formreq";
  4379. if(rsltref == null)
  4380. rsltref = pageInfo.forminfoRef;
  4381. pageInfo.formmastRef = rsltref + "/formmast";
  4382. pageInfo.formdegnRef = rsltref + "/formdegn";
  4383. if(getFormDegnInfoByFormcd(formcd, ref, rsltref) == false)
  4384. return;
  4385. makeInstance(pageInfo, true);
  4386. if(formrecseq == null)
  4387. return;
  4388. var recRef = "/root/hidden/recinfo";
  4389. if(getFormRecData(formrecseq, ref, recRef) == false)
  4390. return;
  4391. setSrchData(recRef + "/recitem", window);
  4392. }
  4393. /**
  4394. * @desc : 서식코드로 서식디자인 정보 조회
  4395. * @id :
  4396. * @event :
  4397. * @return :
  4398. * @authur : 이상현
  4399. */
  4400. function getFormDegnInfoByFormcd(formcd, ref, rsltref)
  4401. {
  4402. if(ref == null)
  4403. ref = "/root/send/formreq";
  4404. if(rsltref == null)
  4405. rsltref = "/root/main/forminfo";
  4406. var tmpRsltRef = "/root/hidden/formdegn/forminfo";
  4407. model.removeNode(tmpRsltRef);
  4408. model.makeNode(tmpRsltRef);
  4409. model.makeValue(ref + "/formcd", formcd);
  4410. model.makeValue(ref + "/formdegnseq", "");
  4411. model.makeValue(ref + "/extnunitformlistyn", "N");
  4412. model.makeValue(ref + "/cashedformdegnseq", "");
  4413. model.makeValue(ref + "/sysformrecdt", "");
  4414. model.makeValue(ref + "/mode", "D");
  4415. if(submit("TRMRF02001", "false", ref, tmpRsltRef))
  4416. {
  4417. //model.copyNode(rsltref, tmpRsltRef);
  4418. copyNodeset(rsltref, tmpRsltRef);
  4419. model.removeNode(tmpRsltRef);
  4420. return true;
  4421. }
  4422. return false;
  4423. }
  4424. /**
  4425. * @desc : 서식 기록값을 가져온다
  4426. * @id :
  4427. * @event :
  4428. * @return :
  4429. * @authur : 이상현
  4430. */
  4431. function getFormRecData(formrecseq, ref, rsltref)
  4432. {
  4433. if(ref == null)
  4434. ref = "/root/send/formreq";
  4435. if(rsltref == null)
  4436. rsltref = "/root/hidden/recinfo";
  4437. model.makeValue(ref + "/formrecseq", formrecseq);
  4438. if(submit("TRMMR01301", "false", ref, rsltref))
  4439. {
  4440. doReplaceLtGt(rsltref + "/recitem");
  4441. return true;
  4442. }
  4443. return false;
  4444. }
  4445. /**
  4446. * @desc : 그리드 행 추가
  4447. * @id :
  4448. * @event :
  4449. * @return :
  4450. * @authur : 이상현
  4451. */
  4452. function addGridRow(degnitemno, type)
  4453. {
  4454. try
  4455. {
  4456. if(type == null)
  4457. type = "GRD";
  4458. var pageInfo = new PAGEINFO();
  4459. var cnt = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno='" + degnitemno + "']").length;
  4460. var GrdNodeList = instance1.selectSingleNode(pageInfo.initRecinfoGridRef + "[degnitemno='" + degnitemno + "']");
  4461. if(GrdNodeList == null)
  4462. return;
  4463. var tmpNode = GrdNodeList.cloneNode(true);
  4464. var recitemNode = tmpNode.selectSingleNode("recitem");
  4465. var rownoNode = recitemNode.selectSingleNode("rowno");
  4466. if(rownoNode != null)
  4467. rownoNode.text = cnt;
  4468. var nodeList = tmpNode.selectNodes("recitem");
  4469. for(var i = 0; i < nodeList.length; i++)
  4470. {
  4471. var node = nodeList.item(i); // recitem 한 노드
  4472. var rownoNode = node.selectSingleNode("rowno");
  4473. if(rownoNode != null)
  4474. rownoNode.text = cnt;
  4475. var colnoNode = node.selectSingleNode("colno");
  4476. var reccntsNode = node.selectSingleNode("reccnts");
  4477. if(reccntsNode != null)
  4478. reccntsNode.text = "";
  4479. var rectermcdNode = node.selectSingleNode("rectermcd");
  4480. if(rectermcdNode != null)
  4481. rectermcdNode.text = "";
  4482. var rectermnmNode = node.selectSingleNode("rectermnm");
  4483. if(rectermnmNode != null)
  4484. rectermnmNode.text = "";
  4485. }
  4486. var recinfoNode = instance1.selectSingleNode(pageInfo.recRef);
  4487. model.duplicate(recinfoNode, tmpNode);
  4488. //model.duplicate(recinfoNode, recitemNode);
  4489. var grd = document.controls(type + "_" + degnitemno);
  4490. grd.rebuild();
  4491. model.refresh();
  4492. }
  4493. catch(e)
  4494. {
  4495. return;
  4496. }
  4497. }
  4498. /**
  4499. * @desc : 그리드 행추가 Version2
  4500. * @id :
  4501. * @event :
  4502. * @return :
  4503. * @authur : 이상현
  4504. */
  4505. function addGridRowEx(degnitemno, type)
  4506. {
  4507. addGridRow(degnitemno, type);
  4508. var grd = document.controls(type + "_" + degnitemno);
  4509. grd.isreadonly(grd.rows - 1, grd.colRef("recitem[colno = '2']/recitemnm")) = false;
  4510. grd.isreadonly(grd.rows - 1, grd.colRef("recitem[colno = '2']/rectermcd")) = false;
  4511. }
  4512. /**
  4513. * @desc : 그리드 열 추가
  4514. * @id :
  4515. * @event :
  4516. * @return :
  4517. * @authur : 이상현
  4518. */
  4519. function addGridCol(degnitemno, viewobj)
  4520. {
  4521. try
  4522. {
  4523. var pageInfo = new PAGEINFO();
  4524. var pmodel = null;
  4525. if(viewobj == null)
  4526. {
  4527. viewobj = window;
  4528. pmodel = model;
  4529. }
  4530. else
  4531. pmodel = viewobj.model;
  4532. ////////////////
  4533. var degnattrval = pmodel.getValue(pageInfo.formdegnRef + "[degnitemno='" + degnitemno + "']/degnattrval");
  4534. var ctrltype = "ctrl";
  4535. var strStyle = "";
  4536. strStyle += getCtrlAttribute("font-family", getStyleValue(degnattrval, ctrltype + ".font-family"));
  4537. strStyle += getCtrlAttribute("font-size", getStyleValue(degnattrval, ctrltype + ".font-size"));
  4538. strStyle += getCtrlAttribute("font-weight", getStyleValue(degnattrval, ctrltype + ".font-weight"));
  4539. strStyle += getCtrlAttribute("font-style", getStyleValue(degnattrval, ctrltype + ".font-style"));
  4540. strStyle += getCtrlAttribute("color", getStyleValue(degnattrval, ctrltype + ".color"));
  4541. strStyle += getCtrlAttribute("text-decoration", getStyleValue(degnattrval, ctrltype + ".text-decoration"));
  4542. strStyle += getCtrlAttribute("text-align", getStyleValue(degnattrval, ctrltype + ".text-align"));
  4543. strStyle += getCtrlAttribute("vertical-align", getStyleValue(degnattrval, ctrltype + ".vertical-align"));
  4544. strStyle += getCtrlAttribute("word-wrap", getStyleValue(degnattrval, ctrltype + ".word-wrap"));
  4545. strStyle += getCtrlAttribute("line-spacing", getStyleValue(degnattrval, ctrltype + ".line-spacing"));
  4546. strStyle += getCtrlAttribute("text-select", getStyleValue(degnattrval, ctrltype + ".text-select"));
  4547. var grd = viewobj.document.controls("GRD_" + degnitemno);
  4548. if(grd != null)
  4549. {
  4550. var cols = grd.cols;
  4551. var coltype = grd.colType(cols-1);
  4552. switch(coltype)
  4553. {
  4554. case "OUTPUT": // OUTPUT
  4555. case "output":
  4556. grd.addColumn("type:output; ref:test_col; " + strStyle);
  4557. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4558. break;
  4559. case "INPUT": // INPUT
  4560. case "input":
  4561. case "":
  4562. grd.addColumn("type:input; ref:test_col; " + strStyle);
  4563. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4564. break;
  4565. case "INPUTBUTTON": // INPUT+BUTTON
  4566. case "inputbutton":
  4567. grd.addColumn("type:inputbutton; ref:test_col; " + strStyle);
  4568. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4569. break;
  4570. case "INPUTDATE": // INPUT+DATE
  4571. case "inputdate":
  4572. grd.addColumn("type:inputdate; ref:test_col; " + strStyle);
  4573. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4574. break;
  4575. case "COMBO": // COMBO
  4576. case "combo":
  4577. {
  4578. var colid = "GSU_" + cols;
  4579. grd.addColumn("type:combo; ref:recitem[colno='" + cols + "']/reccnts; id:" + colid + "; " + strStyle);
  4580. var subctrl = eval(colid);
  4581. var choices = subctrl.createChild("xforms:choices" , "");
  4582. var nodesetPath = grd.cellComboNodeset(1, cols-1);
  4583. var itemset = choices.createChild("xforms:itemset", "nodeset:" + nodesetPath);
  4584. itemset.createChild("xforms:label", "ref:valitemnm");
  4585. itemset.createChild("xforms:value", "ref:valitemnm");
  4586. //itemset.createChild("xforms:value", "ref:valcd");
  4587. break;
  4588. }
  4589. case "CHECKBOX": // CHECKBOX
  4590. case "checkbox":
  4591. grd.addColumn("type:checkbox; ref:test_col; " + strStyle);
  4592. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4593. break;
  4594. case "RADIO": // RADIO
  4595. case "radio":
  4596. grd.addColumn("type:radio; ref:test_col; " + strStyle);
  4597. grd.colAttribute(cols, "ref") = "recitem[colno='" + cols + "']/reccnts";
  4598. break;
  4599. }
  4600. // TF 버그로 인하여 color를 재설정(strStyle 에서 color를 설정했음에도 변경되지 않음.)
  4601. grd.allstyle( "data", "color" ) = getStyleValue(degnattrval, ctrltype + ".color");
  4602. pmodel.removeNodeset("/root/main/descendant::test_col");
  4603. var grdList = viewobj.instance1.selectNodes("/root/main/recinfo/grid[degnitemno='" + degnitemno + "']");
  4604. var len = grdList.length;
  4605. for(var i = 0; i < len; i++)
  4606. {
  4607. var grdNode = grdList.item(i);
  4608. var recitemNodeList = grdNode.selectNodes("recitem");
  4609. // recitem노드리스트에서 항상 마지막 recitem을 선택한다.
  4610. var recitemNode = recitemNodeList.item(recitemNodeList.length-1);
  4611. if(recitemNode != null)
  4612. {
  4613. //var subNode = grdNode.selectSingleNode("recitem");
  4614. var tmpNode = recitemNode.cloneNode(true);
  4615. var colnoNode = tmpNode.selectSingleNode("colno");
  4616. if(colnoNode != null)
  4617. colnoNode.text = cols;
  4618. var reccntsNode = tmpNode.selectSingleNode("reccnts");
  4619. if(reccntsNode != null)
  4620. reccntsNode.text = "";
  4621. //reccntsNode = tmpNode.selectSingleNode("reccnts");
  4622. var rectermcdNode = tmpNode.selectSingleNode("rectermcd");
  4623. if(rectermcdNode != null)
  4624. rectermcdNode.text = "";
  4625. var rectermnmNode = tmpNode.selectSingleNode("rectermnm");
  4626. if(rectermnmNode != null)
  4627. rectermnmNode.text = "";
  4628. var degnitemkindNode = tmpNode.selectSingleNode("degnitemkind");
  4629. if(degnitemkindNode != null)
  4630. degnitemkindNode.text = "GSU";
  4631. //var degnitemlevlcdNode = tmpNode.selectSingleNode("degnitemlevlcd");
  4632. //if(degnitemlevlcdNode != null)
  4633. //{
  4634. //}
  4635. var supdegnitemnoNode = tmpNode.selectSingleNode("supdegnitemno");
  4636. if(supdegnitemnoNode == null)
  4637. {
  4638. // 임시로 추가 노드를 생성한다.
  4639. model.makeValue("/root/temp/tempinfo/supdegnitemno", degnitemno);
  4640. model.makeValue("/root/temp/tempinfo/extdegnitemlevlcd", "");
  4641. model.makeValue("/root/temp/tempinfo/rectermflag", "");
  4642. model.makeValue("/root/temp/tempinfo/degnunitcd", "");
  4643. var supdegnitemnoNode = model.instance1.selectSingleNode("/root/temp/tempinfo/supdegnitemno");
  4644. var extdegnitemlevlcdNode = model.instance1.selectSingleNode("/root/temp/tempinfo/extdegnitemlevlcd");
  4645. var rectermflagNode = model.instance1.selectSingleNode("/root/temp/tempinfo/rectermflag");
  4646. var degnunitcdNode = model.instance1.selectSingleNode("/root/temp/tempinfo/degnunitcd");
  4647. tmpNode.appendChild(supdegnitemnoNode);
  4648. tmpNode.appendChild(extdegnitemlevlcdNode);
  4649. tmpNode.appendChild(rectermflagNode);
  4650. tmpNode.appendChild(degnunitcdNode);
  4651. }
  4652. else
  4653. {
  4654. tmpNode.selectSingleNode("supdegnitemno").text = degnitemno;
  4655. }
  4656. grdNode.appendChild(tmpNode);
  4657. }
  4658. }
  4659. grd.rebuild();
  4660. }
  4661. }
  4662. catch(e)
  4663. {
  4664. return;
  4665. }
  4666. model.refresh();
  4667. }
  4668. /**
  4669. * @desc : 그리드 행제거
  4670. * @id :
  4671. * @event :
  4672. * @return :
  4673. * @authur : 이상현
  4674. */
  4675. function removeGridRow(degnitemno, type)
  4676. {
  4677. var rows = instance1.selectNodes("/root/main/recinfo/grid[degnitemno='" + degnitemno + "']").length;
  4678. var lastRow = rows - 1; //grd.row - grd.fixedRows;
  4679. if(lastRow == "0")
  4680. {
  4681. messageBox("더 이상은 삭제", "E001");
  4682. return;
  4683. }
  4684. if(type == null)
  4685. type = "GRD";
  4686. var pageInfo = new PAGEINFO();
  4687. var grd = document.controls(type + "_" + degnitemno);
  4688. // 전체 그리드 개수
  4689. var grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']");
  4690. var cnt = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']").length;
  4691. var GridNodesList = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']");
  4692. // 선택한 row만 삭제한다.
  4693. var selectedrow = grd.selectedRows;
  4694. if(selectedrow == 0)
  4695. {
  4696. // 행 선택없이 삭제를 누른 경우 Default로 마지막 행이 삭제되도록 한다.
  4697. for(var idx=0; idx < cnt; idx++)
  4698. {
  4699. var subNode = GridNodesList.item(idx);
  4700. if(subNode != null)
  4701. {
  4702. var subDegnItemNo = subNode.selectSingleNode("degnitemno").text;
  4703. if(subDegnItemNo == degnitemno)
  4704. {
  4705. var subRecNode = subNode.selectSingleNode("recitem");
  4706. var subRow = subRecNode.selectSingleNode("rowno").text;
  4707. if(lastRow == subRow)
  4708. {
  4709. subNode.parentNode.removeChild(subNode);
  4710. //break;
  4711. //model.removenode("/root/main/recinfo/grid[" + (idx+1) + "]"); //[degnitemno='" + degnitemno + "']");
  4712. }
  4713. }
  4714. }
  4715. }
  4716. }
  4717. else
  4718. {
  4719. var selRow = "";
  4720. // 선택한 행이 있을 경우 선택한 행만 지운다.
  4721. for(var row = 0; row < selectedrow; row++)
  4722. {
  4723. selRow = grd.selectedRow(row);
  4724. // 그리드를 삭제한다.
  4725. var subNode = GridNodesList.item(selRow-1);
  4726. subNode.parentNode.removeChild(subNode);
  4727. }
  4728. // 변경된 row를 재지정
  4729. var newRow = 0;
  4730. grdCnt = getNodesetCnt(model, pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']");
  4731. cnt = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']").length;
  4732. GridNodesList = instance1.selectNodes(pageInfo.RecinfoGridRef + "[degnitemno = '" + degnitemno + "']");
  4733. for(var row = 0; row < cnt; row++)
  4734. {
  4735. var subNode = GridNodesList.item(row);
  4736. if(subNode != null)
  4737. {
  4738. var recitemNodelist = subNode.selectNodes("recitem");
  4739. for(var col = 0; col < recitemNodelist.length; col++)
  4740. {
  4741. var recitemNode = recitemNodelist.item(col);
  4742. recitemNode.selectSingleNode("rowno").text = row;
  4743. }
  4744. }
  4745. }
  4746. }
  4747. grd.rebuild();
  4748. model.refresh();
  4749. }
  4750. /**
  4751. * @desc : 그리드 열 제거 Version2
  4752. * @id :
  4753. * @event :
  4754. * @return :
  4755. * @authur : 이상현
  4756. */
  4757. function removeGridRowEx(degnitemno, type)
  4758. {
  4759. if(type == null){
  4760. type = "GRD";
  4761. }
  4762. try
  4763. {
  4764. var grdobj = document.controls(type + "_" + degnitemno);
  4765. for(var i = grdobj.selectedRows-1; i >= 0; i--)
  4766. {
  4767. var currow = grdobj.selectedRow(i);
  4768. var node = instance1.selectNodes("/root/main/recinfo/grid[degnitemno='" + degnitemno + "']");
  4769. currow--;
  4770. model.removenode(node.item(currow));
  4771. }
  4772. //var currow = grdobj.row - 1;
  4773. //model.removenode("/root/main/recinfo/grid[" + (currow + 1) + "]");
  4774. //grid node remove후, grid rowno재설정
  4775. var nodelist = model.instance1.selectNodes("/root/main/recinfo/grid[degnitemno='" + degnitemno + "']");
  4776. var totrow = nodelist.length;
  4777. var irowcnt = 0;
  4778. for(var i = 0; i < totrow; i++){
  4779. var node = nodelist.item(i);
  4780. var path1 = node.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960']/rowno"); //진단header
  4781. var path2 = node.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960.0004249']/rowno"); //R/O
  4782. var path3 = node.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960.0001443']/rowno"); //주부
  4783. var path4 = node.selectSingleNode("recitem[degnitemlevlcd='0016650.0000960.0000960']/rowno"); //진단명
  4784. if(path1 != null)
  4785. path1.text = irowcnt;
  4786. if(path2 != null)
  4787. path2.text = irowcnt;
  4788. if(path3 != null)
  4789. path3.text = irowcnt;
  4790. if(path4 != null)
  4791. path4.text = irowcnt;
  4792. irowcnt++;
  4793. }
  4794. grdobj.rebuild();
  4795. }
  4796. catch(e)
  4797. {
  4798. }
  4799. }
  4800. /**
  4801. * @desc : 그리드 열 제거
  4802. * @id :
  4803. * @event :
  4804. * @return :
  4805. * @authur : 이상현
  4806. */
  4807. function removeGridCol(degnitemno, type)
  4808. {
  4809. if(type == null)
  4810. type = "GRD";
  4811. var ctrlid = type + "_" + degnitemno;
  4812. var grd = document.controls(ctrlid);
  4813. if(grd != null)
  4814. {
  4815. var cols = grd.cols;
  4816. if(cols == 1)
  4817. {
  4818. messageBox("더 이상은 삭제", "E001");
  4819. return;
  4820. }
  4821. // 전체 그리드 개수
  4822. var grdCnt = getNodesetCnt(model, "/root/main/recinfo/grid"); //pageInfo.RecinfoGridRef);
  4823. var GridNodesList = instance1.selectNodes("/root/main/recinfo/grid");
  4824. var cnt = 0;
  4825. for(var idx=0; idx < grdCnt; idx++)
  4826. {
  4827. var subNode = GridNodesList.item(idx);
  4828. if(subNode != null)
  4829. {
  4830. var subDegnItemNo = subNode.selectSingleNode("degnitemno").text;
  4831. if(subDegnItemNo == degnitemno)
  4832. {
  4833. model.removeNode("/root/main/recinfo/grid[" + (idx+1) + "]/recitem[" + (cols + 1) + "][rowno = " + cnt + " colno='" + (cols - 1) + "']");
  4834. cnt++;
  4835. }
  4836. }
  4837. }
  4838. grd.removeColumn();
  4839. }
  4840. }
  4841. /****************************************************************************************
  4842. * Function : getFormRecItemExist
  4843. * Description : 기록아이템 값을 가져온다
  4844. * Argument : 01. :
  4845. * retrun type :
  4846. * Creator : 서식관련 MMRCommon으로 이동
  4847. ****************************************************************************************/
  4848. // function getFormRecItemExist()
  4849. // {
  4850. // }
  4851. /****************************************************************************************
  4852. * Function : getRemoveLeftChar
  4853. * Description : 첫글자 제거 후 리턴(첫글자가 str과 동일할 경우)
  4854. * Argument : 01.srcdata : 문자
  4855. * : 02.str : 제거할 문자
  4856. * retrun type :
  4857. * Creator :
  4858. ****************************************************************************************/
  4859. function getRemoveLeftChar(srcdata, str)
  4860. {
  4861. var i, j = 0;
  4862. srcdata = utlf_transNullToEmpty(srcdata);
  4863. for (i = 0; i < srcdata.length; i++) {
  4864. if (srcdata.charAt(i) == str) j = j + 1;
  4865. else break;
  4866. }
  4867. return srcdata.substr(j, srcdata.length - j + 1);
  4868. }
  4869. /*****************************************************************************
  4870. 튜닝
  4871. ******************************************************************************/
  4872. var LOAD_COMPLETE = true;
  4873. var LOAD_INCOMPLETE = false;
  4874. var COMN_FORM = 1;
  4875. var UNIT_FORM = 2;
  4876. var GENL_FORM = 3;
  4877. /****************************************************************************************
  4878. * Function : dispOnLoadComplete
  4879. * Description : 부모 화면으로 onloadcomplete 이벤트를 dispatch
  4880. * Argument : 01. curformtype : 로딩이 완료된 서식의 종류 (COMN_FORM/UNIT_FORM/GENL_FORM)
  4881. * 02. formcd : iviewer에 로딩된 서식의 코드
  4882. * retrun type :
  4883. * Creator : 서식관련 MMRCommon으로 이동
  4884. ****************************************************************************************/
  4885. //function dispOnLoadComplete(curformtype, formcd)
  4886. //{
  4887. //}
  4888. /****************************************************************************************
  4889. * Function : setFstLevlItemCd
  4890. * Description : 부분서식의 아이템에 부분서식 상위코드를 세팅
  4891. * Argument : 01. ivwObj : 최상위 아이템 코드를 세팅할 iviewer 객체
  4892. * 02. formcd : iviewer에 로딩된 서식의 코드
  4893. * retrun type :
  4894. * Creator : 서식관련 MMRCommon으로 이동
  4895. ****************************************************************************************/
  4896. // function setFstLevlItemCd(ivwObj, formcd)
  4897. // {
  4898. // }
  4899. /****************************************************************************************
  4900. * Function : setFstLevlItemCdOnUnitForm
  4901. * Description : 부분서식의 아이템에 부분서식 상위코드를 세팅
  4902. * 동일한 부분서식이 두개이상일때 문제점이 발견되어 보완함.
  4903. * Argument : 01. ivwObj : 최상위 아이템 코드를 세팅할 iviewer 객체
  4904. * 02. orgSupDegnItemNo
  4905. * retrun type :
  4906. * Creator : 서식관련 MMRCommon으로 이동
  4907. ****************************************************************************************/
  4908. // function setFstLevlItemCdOnUnitForm(ivwObj, orgSupDegnItemNo)
  4909. // {
  4910. // }
  4911. /****************************************************************************************
  4912. * Function : fGetReadOnlyStat
  4913. * Description : 서식 저장 시 필수 입력 체크 할 때 해당 컨트롤이 disable상태인지 체크한다.
  4914. * Argument : 01. degnitemno :
  4915. * retrun type : true / false
  4916. * Creator : (확인 필요)
  4917. ****************************************************************************************/
  4918. function fGetReadOnlyStat( degnitemno )
  4919. {
  4920. utlf_addLog("**** fGetReadOnlyStat( degnitemno ) return 서식저장시 필수입력체크 할때 해당 컨트롤이 disable상태인지 체크");
  4921. return;
  4922. var modelchildren = model.children;
  4923. var length = modelchildren.length;
  4924. for (i=0; i< length; i++)
  4925. {
  4926. if( modelchildren.item(i).elementName == "xforms:bind" )
  4927. {
  4928. var ref = modelchildren.item(i).attribute("ref");
  4929. if ( ref.indexOf("degnitemno='"+degnitemno+"'") > -1 )
  4930. {
  4931. var ctrlid = modelchildren.item(i).attribute("id").substr(5, modelchildren.item(i).attribute("id").length);
  4932. var pCtrl = document.all(ctrlid);
  4933. if ( pCtrl.disabled == true )
  4934. return true;
  4935. else
  4936. return false;
  4937. }
  4938. }
  4939. }
  4940. return false;
  4941. }
  4942. /****************************************************************************************
  4943. * Function : lf_setRegistry
  4944. * Description : 진료기록 미리보기에서 셋팅한 사용자변 글자크기를 레지스트리에 등록한다
  4945. * Argument : 01. regnm : 레지스트리 명
  4946. * retrun type : regval : 레지스트리 값
  4947. * Creator :
  4948. ****************************************************************************************/
  4949. function lf_setRegistry(regnm, regval)
  4950. {
  4951. var objExtCommon = new ExtCommon();
  4952. objExtCommon.regSetValue("HKEY_LOCAL_MACHINE", "SOFTWARE\\HIS\\Config\\" + sysf_getUserId(), regnm, regval + "" );
  4953. }
  4954. /****************************************************************************************
  4955. * Function : lf_getRegistry
  4956. * Description : 진료기록 미리보기에서 셋팅한 사용자변 글자크기를 레지스트리에 등록한다
  4957. * Argument : 01. regnm : 레지스트리 명
  4958. * retrun type : regval : 레지스트리 값
  4959. * Creator :
  4960. ****************************************************************************************/
  4961. function lf_getRegistry(regnm)
  4962. {
  4963. var objExtCommon = new ExtCommon();
  4964. var regval = objExtCommon.regGetValue("HKEY_LOCAL_MACHINE", "SOFTWARE\\HIS\\Config\\" + sysf_getUserId(), regnm, "S" );
  4965. return regval;
  4966. }
  4967. /****************************************************************************************
  4968. * Function : getCretCheckNo
  4969. * Description : Check Number
  4970. * Argument : 01.sPid : 등록번호
  4971. * : 02.sInstcd : 기관코드
  4972. * retrun type : PID
  4973. * Creator :
  4974. ****************************************************************************************/
  4975. function getCretCheckNo(sPid, sInstcd){
  4976. var iBowl = 0;
  4977. var iStock = 0;
  4978. var iLength = sPid.length;
  4979. switch(sInstcd){
  4980. case "012": // 강남성모병원 Check Number 생성로직
  4981. for(var i = 0; i < iLength; i ++) {
  4982. iBowl = parseInt(sPid.substring(i, i+1)) * (parseInt(iLength) - parseInt(i) );
  4983. iStock = parseInt(iStock) + parseInt(iBowl);
  4984. }
  4985. iBowl = (parseInt(iStock) - 5)/11;
  4986. if(parseInt(sPid) < 1950909){ // 2008-10-03 오픈시 원무 check 번호 로직 문제로 인하여 최초 생성번호 이후에는 버림처리로 분기함
  4987. iBowl = (parseInt(iStock) - (parseInt(Math.round(iBowl)) * 11) );
  4988. } else {
  4989. iBowl = (parseInt(iStock) - (parseInt(Math.floor(iBowl)) * 11) );
  4990. }
  4991. iBowl = 11 - parseInt(iBowl);
  4992. if( iBowl == 11 || iBowl == 10) {
  4993. iBowl = 0;
  4994. // iBowl 이 음수일 경우 '-'부호가 환자번호에 들어가서 양수로 변환해준다..
  4995. }else if( iBowl < 0) {
  4996. iBowl = parseInt(iBowl) * -1;
  4997. }
  4998. sPid = sPid.concat(parseInt(iBowl));
  4999. break;
  5000. case "017": // 빈센트병원 Check Number 생성로직
  5001. for( i = 0; i < iLength; i ++) {
  5002. iBowl = parseInt(sPid.substring(i, i+1)) * (i+2);
  5003. iStock = iStock + iBowl;
  5004. }
  5005. iBowl2 = (parseInt(iStock) - 5)/11;
  5006. iBowl = (iStock - parseInt((Math.round(iBowl2) * 11)) );
  5007. iBowl = 11 - iBowl;
  5008. if( iBowl == 11 || iBowl == 10) {
  5009. iBowl = 0;
  5010. // iBowl 이 음수일 경우 '-'부호가 환자번호에 들어가서 양수로 변환해준다..
  5011. }else if( iBowl < 0) {
  5012. iBowl = iBowl * -1;
  5013. }
  5014. sPid = sPid + "" + iBowl;
  5015. }
  5016. return sPid;
  5017. }
  5018. /****************************************************************************************
  5019. * Function : SetCdata
  5020. * Description : 메타데이터에서 caption을 CDATA로 감싼다.
  5021. * Argument : 01. metadata : metadata
  5022. * retrun type :
  5023. * Creator :
  5024. ****************************************************************************************/
  5025. function SetCdata(metadata)
  5026. {
  5027. var strMeta = metadata;
  5028. // 1. CDATA로 감싸져 있는지 확인.
  5029. if(utlf_isSearchString(strMeta, "CDATA") == false)
  5030. {
  5031. var strStCaptionOld = "";
  5032. var strEdCaptionOld = "";
  5033. var strStCaptionNew = "";
  5034. var strEdCaptionNew = "";
  5035. // 배열로 반환
  5036. strStCaptionOld = GetXvgStCaption(strMeta);
  5037. strEdCaptionOld = GetXvgEdCaption(strMeta);
  5038. // for문으로 반복
  5039. for(var idx = 0; idx < strStCaptionOld.length; idx++)
  5040. {
  5041. if(idx == 0)
  5042. {
  5043. // 모든 </caption> 을 ]]]]><![CDATA[></caption> 으로 변경
  5044. strEdCaptionNew = "]]]]><![CDATA[>" + strEdCaptionOld[idx];
  5045. strMeta = strMeta.setReplaceWord(strEdCaptionOld[idx], strEdCaptionNew);
  5046. }
  5047. strStCaptionNew = strStCaptionOld[idx] + "<![CDATA[";
  5048. strMeta = strMeta.setReplaceWord(strStCaptionOld[idx], strStCaptionNew);
  5049. }
  5050. }
  5051. return strMeta;
  5052. }
  5053. /****************************************************************************************
  5054. * Function : GetXvgStCaption
  5055. * Description : 메타데이터에서 caption의 시작 태그를 반환한다.
  5056. * Argument : 01. metadata : metadata
  5057. * retrun type :
  5058. * Creator :
  5059. ****************************************************************************************/
  5060. function GetXvgStCaption(metadata)
  5061. {
  5062. var strMeta = metadata;
  5063. var getStCaption = new Array();
  5064. var grpexpSt = new RegExp('(<caption[^<>]+>)', 'igm');
  5065. if(grpexpSt.test(strMeta) == true)
  5066. {
  5067. getStCaption = strMeta.match(grpexpSt);
  5068. strMeta = strMeta.replace(grpexpSt, "");
  5069. }
  5070. if(getStCaption.length > 0)
  5071. return getStCaption;
  5072. else
  5073. return "";
  5074. }
  5075. /****************************************************************************************
  5076. * Function : GetXvgEdCaption
  5077. * Description : 메타데이터에서 caption의 종료 태그를 반환한다.
  5078. * Argument : 01. metadata : metadata
  5079. * retrun type :
  5080. * Creator :
  5081. ****************************************************************************************/
  5082. function GetXvgEdCaption(metadata)
  5083. {
  5084. var strMeta = metadata;
  5085. var getEdCaption = new Array();
  5086. var grpexpEd = new RegExp('(</caption>)', 'igm');
  5087. if (grpexpEd.test(strMeta) == true)
  5088. {
  5089. getEdCaption = strMeta.match(grpexpEd);
  5090. strMeta = strMeta.replace(grpexpEd, "");
  5091. }
  5092. if(getEdCaption.length > 0)
  5093. return getEdCaption;
  5094. else
  5095. return "";
  5096. }
  5097. /****************************************************************************************
  5098. * Function : getCtrlAttribute
  5099. * Description : 메타데이터에서 viewmode, width, height 를 배열로 반환한다.
  5100. * Argument : 01. str : metadata
  5101. * retrun type :
  5102. * Creator :
  5103. ****************************************************************************************/
  5104. function GetMetaMode(str)
  5105. {
  5106. var strXrw = str;
  5107. var regexp = new RegExp('(<Xvg [^<>]+>)', 'igm');
  5108. if (regexp.test(strXrw) == true)
  5109. {
  5110. var xvginfo = strXrw.match(regexp);
  5111. var strRtn = "";
  5112. for(var idx =0; idx < xvginfo.length; idx++)
  5113. {
  5114. strRtn += xvginfo[idx];
  5115. }
  5116. // ViewMode 얻기
  5117. strRtn = strRtn.setReplaceWord("<", "");
  5118. strRtn = strRtn.setReplaceWord(">", "");
  5119. strRtn = strRtn.setReplaceWord("'", "");
  5120. var arrAttrs = strRtn.split(" ");
  5121. var viewMode = "";
  5122. var viewWidth = "";
  5123. var viewHeight = "";
  5124. var strXvgInfo = new Array(3);
  5125. for(var i = 0; i < arrAttrs.length; i++)
  5126. {
  5127. var strSplit = arrAttrs[i].split("=");
  5128. if(strSplit[0] == "viewMode") {
  5129. viewMode = strSplit[1];
  5130. strXvgInfo[0] = viewMode;
  5131. continue;
  5132. }
  5133. if(strSplit[0] == "width") {
  5134. viewWidth = strSplit[1];
  5135. strXvgInfo[1] = viewWidth;
  5136. continue;
  5137. }
  5138. if(strSplit[0] == "height") {
  5139. viewHeight = strSplit[1];
  5140. strXvgInfo[2] = viewHeight;
  5141. continue;
  5142. }
  5143. }
  5144. return strXvgInfo;
  5145. }
  5146. else
  5147. {
  5148. return "";
  5149. }
  5150. }
  5151. /****************************************************************************************
  5152. * Function : getCtrlAttribute
  5153. * Description : XSLT 속성을 얻어온다.
  5154. * Argument : 01. type :
  5155. * : 02. vlaue
  5156. * retrun type :
  5157. * Creator :
  5158. ****************************************************************************************/
  5159. function getCtrlAttribute(type, value)
  5160. {
  5161. if(!utlf_isNull(value)) return type+":"+value+"; ";
  5162. return "";
  5163. }
  5164. /****************************************************************************************
  5165. * Function : fGetCSV
  5166. * Description : 무인수납가능여부 표시
  5167. * Argument : 01. pid : 등록번호
  5168. * retrun type :
  5169. * Creator : 2010.03.08 주희경
  5170. ****************************************************************************************/
  5171. function fSetRcptpossynmsg( pid )
  5172. {
  5173. oDs_main = this.objects["ds_main"];
  5174. if( oDs_main == null ){
  5175. var objColInfo = new Array();
  5176. objColInfo.push({col: "rcptpossynmsg", type:"string", size:256, val:""});
  5177. dsf_createDsRow("ds_main", objColInfo);
  5178. }else{
  5179. if( oDs_main.getColumnInfo("rcptpossynmsg") == null ){
  5180. oDs_main.addColumn("rcptpossynmsg", "string");
  5181. }
  5182. }
  5183. dsf_createDs("ds_init_PAM_P0029");
  5184. pamfGetCodeList([{dsNm: "ds_init_PAM_P0029", cdGrpId: "P0029"}]);
  5185. var p0029_msg = "";
  5186. var sSendDsNm = dsf_createDsRow("ds_inds_txpao99906", [{col: "pid", type:"string", size:256, val:pid}
  5187. , {col: "sessuserid", type:"string", size:256, val:sysf_getUserInfo("userid")}
  5188. , {col: "sessinstcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  5189. , {col: "checkyn", type:"string", size:256, val:"Y"}
  5190. , {col: "kioskioflag", type:"string", size:256, val:""}
  5191. , {col: "gubun", type:"string", size:256, val:""}
  5192. , {col: "kiosktype", type:"string", size:256, val:""}]);
  5193. var objSandDS:Dataset = new Dataset;
  5194. objSendDS = this.objects[sSendDsNm];
  5195. //dsf_setDefaultVal(objSendDS, "kioskioflag:O,gubun:Y");
  5196. dsf_setDefaultVal(objSendDS, "kioskioflag:O,gubun:I,kiosktype:0");
  5197. var sRtnDsNm = dsf_createDs("ds_main_rsv_h_opmi_opmi", [{col: "error", type:"string", size:256}
  5198. , {col: "errortype", type:"string", size:256}
  5199. , {col: "errormsg", type:"string", size:256}]);
  5200. var objRtnDS:Dataset = new Dataset;
  5201. objRtnDS = this.objects[sRtnDsNm];
  5202. var oParam = {};
  5203. oParam.id = "TXPAO99906";
  5204. oParam.service = "kioskmngtapp.KioskRcpt";
  5205. oParam.method = "reqKioskOutOrdAmtCalc";
  5206. oParam.inds = "ptbs="+sSendDsNm;
  5207. oParam.outds = sRtnDsNm+"=opmi";
  5208. oParam.async = false;
  5209. oParam.progress = false;
  5210. //oParam.callback = "cf_TXPAO99906";
  5211. tranf_submit(oParam);
  5212. /*
  5213. if(!utlf_isNull(objRtnDS.getColumn(0, "error"))) {
  5214. p0029_msg = "무인수납불가"
  5215. + frmf_removeMask(ds_init_PAM_P0029.lookup("cdid", objRtnDS.getColumn(0, "error"), "detldesc"), "죄송합니다.수납창구에서 번호표를 뽑고 대기하십시오");
  5216. }
  5217. if(utlf_isNull(objRtnDS.getColumn(0, "error"))) {
  5218. p0029_msg = "무인수납가능";
  5219. }
  5220. */
  5221. var errorcode = utlf_transNullToEmpty(objRtnDS.getColumn(0, "error"));
  5222. p0029_msg = "";
  5223. if (utlf_isNull(errorcode)) {
  5224. p0029_msg = "자동수납가능";
  5225. }
  5226. else {
  5227. var sDetldesc = utlf_transNullToEmpty(ds_init_PAM_P0029.lookup("cdid", errorcode, "detldesc"));
  5228. p0029_msg = "자동수납불가"
  5229. + frmf_removeMask(sDetldesc, "죄송합니다.수납창구에서 번호표를 뽑고 대기하십시오");
  5230. }
  5231. ds_main.setColumn(0, "rcptpossynmsg", p0029_msg);
  5232. txt_rcptpossynmsg.tooltiptext = ds_main.getColumn(0, "rcptpossynmsg");
  5233. dsf_deleteDs(sSendDsNm);
  5234. dsf_deleteDs(sRtnDsNm);
  5235. }
  5236. /****************************************************************************************
  5237. * Function : fGetCSV
  5238. * Description : path의 노들르 CSV로 가져옴
  5239. * Argument : 01. path : Dataset
  5240. * retrun type :
  5241. * Creator :
  5242. ****************************************************************************************/
  5243. function fGetCSV( path )
  5244. {
  5245. utlf_addLog("***** fGetCSV( "+path+" ) MMR01300 path 노드를 CSV로 가져옴*****");
  5246. if (path == "formrec")
  5247. {
  5248. return fGetFormRec("formrecdd") +"▦"+ fGetFormRec("formrechm") +"▦"+ fGetFormRec("formrecextnnm");
  5249. }
  5250. else// if (flag == "recitem")
  5251. {
  5252. var saveRgstInfo = "";
  5253. var sRectermcd = "";
  5254. var sRectermnm = "";
  5255. var sReccnts = "";
  5256. eval(path).keystring = "S:degnitemlevlcd"; // 계층코드 기준 기록데이터 정렬
  5257. for(var i = 0; i < eval(path).rowcount; i++)
  5258. {
  5259. nRow = eval(path).findRowExpr(" (rectermcd != '"+null+"' || reccnts != '"+null+"') && degnitemkind != 'GRD'", i, i+1);
  5260. if(nRow != -1)
  5261. {
  5262. sRectermcd = eval(path).getColumn(nRow, "rectermcd");
  5263. sRectermnm = eval(path).getColumn(nRow, "rectermnm");
  5264. sReccnts = eval(path).getColumn(nRow, "reccnts");
  5265. if(!utlf_isNull(sRectermcd))
  5266. saveRgstInfo += sRectermcd + ".";
  5267. if(!utlf_isNull(sRectermnm))
  5268. saveRgstInfo += sRectermnm + ".";
  5269. if(!utlf_isNull(sReccnts))
  5270. saveRgstInfo += sReccnts + ".";
  5271. }
  5272. }
  5273. eval(path).keystring = "";
  5274. return saveRgstInfo;
  5275. }
  5276. }
  5277. /**********************************************************************************
  5278. * Method Name : chkEssentialitem
  5279. * Description : 진료기록에서 서식 저장시 필수입력 아이템 입력 여부를 체크한다.
  5280. * argument : 01. supdegnitemcd
  5281. * return Type :
  5282. * Creator : 서식관련 MMRCommon으로 이동
  5283. **********************************************************************************/
  5284. // function chkEssentialitem(supdegnitemcd){
  5285. //
  5286. // }
  5287. ]]></Script>