SMPMP01600_콜센터접수화면.xrw 236 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>전화예약</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <patinfo>
  11. <patinfolist>
  12. <pid/>
  13. <hngnm/>
  14. <engnm/>
  15. <chinm/>
  16. <rrgstno1/>
  17. <rrgstno2/>
  18. <brthdd/>
  19. <sex/>
  20. <age/>
  21. <bindpid/>
  22. <hometel/>
  23. <mpphontel/>
  24. <etctel1/>
  25. <etctel2/>
  26. <smsaprvyn/>
  27. <email/>
  28. <zipcd1/>
  29. <zipcd2/>
  30. <zipcdseq/>
  31. <addr/>
  32. <detladdr/>
  33. <btype/>
  34. <rh/>
  35. <forgeryn/>
  36. <nati/>
  37. <psptno/>
  38. <recmyn/>
  39. <recmerid/>
  40. <recmerrela/>
  41. <vipyn/>
  42. <viprem/>
  43. <religncd/>
  44. <baptnm/>
  45. <chchnm/>
  46. <dethyn/>
  47. <dethdt/>
  48. <chosresn/>
  49. <animyn/>
  50. <exptresncd/>
  51. <inhospyn/>
  52. <remfact/>
  53. <outuncoamt/>
  54. <dschuncoamt/>
  55. <fstrgstrid/>
  56. <fstrgstdt/>
  57. <lastupdtrid/>
  58. <lastupdtdt/>
  59. <flag/>
  60. </patinfolist>
  61. </patinfo>
  62. <popupendflag/>
  63. <reservation>
  64. <orddeptcd/>
  65. <orddeptnm/>
  66. <orddrid/>
  67. <specordyn/>
  68. <ordfild/>
  69. <fstexamrem/>
  70. <reexamrem/>
  71. <orddd/>
  72. <ordtm/>
  73. <specorddescyn>N</specorddescyn>
  74. <insuchrgyn>N</insuchrgyn>
  75. <ordreqdescyn>N</ordreqdescyn>
  76. <ordreqhospgrde>1</ordreqhospgrde>
  77. <acptdd/>
  78. <acptno/>
  79. <rsrvflag/>
  80. <fstacptid/>
  81. <fstacptdt/>
  82. <cretno/>
  83. <acptseqno/>
  84. <oldorddd/>
  85. <telrsrvrem/>
  86. <telrsrvremcd/>
  87. <updtcnclresn/>
  88. <rqstflag/>
  89. <rqsthospcd/>
  90. <rqstdrid/>
  91. <onestop/>
  92. <fsexamflag/>
  93. <calcyn/>
  94. <calcflag/>
  95. <medamtestmyn/>
  96. <histstat/>
  97. <dracptyn/>
  98. <prcpgenryn/>
  99. <tablename/>
  100. <remark/>
  101. <centcd/>
  102. <subdeptcd/>
  103. <etcordflag/>
  104. <centcd/>
  105. <cnstteamnm/>
  106. </reservation>
  107. <result>
  108. <outhist>
  109. <outhistlist/>
  110. </outhist>
  111. <temp/>
  112. <chart>
  113. <chartlist/>
  114. </chart>
  115. </result>
  116. <outhist>
  117. <outhistlist/>
  118. </outhist>
  119. <outrgst>
  120. <outrgstlist/>
  121. </outrgst>
  122. <outtelrsrv>
  123. <outtelrsrvlist/>
  124. </outtelrsrv>
  125. <rsrvflag>T</rsrvflag>
  126. <h_dcuc>
  127. <dcuc>
  128. <disccd/>
  129. <discunconm/>
  130. </dcuc>
  131. </h_dcuc>
  132. <caloption>1</caloption>
  133. <oneminute/>
  134. <srchtelrsrv>
  135. <hngnm/>
  136. <rrgstno1/>
  137. <rrgstno2/>
  138. <fromdd/>
  139. <todd/>
  140. </srchtelrsrv>
  141. <patdetlinfo>
  142. <rsrvinfocnt>
  143. <ordrsrvinfocnt/>
  144. <testrsrvinfocnt/>
  145. </rsrvinfocnt>
  146. <ordinfo>
  147. <inreq/>
  148. <opdd/>
  149. <reqcnst/>
  150. <ordcost/>
  151. <diagdocu/>
  152. <copyiss/>
  153. <serdiag/>
  154. <rem/>
  155. <formrecseq/>
  156. </ordinfo>
  157. <prcpspec>
  158. <acptyn/>
  159. <prcpflag/>
  160. <prcphngflag/>
  161. <prcpspec/>
  162. <execdept/>
  163. <rcptflag/>
  164. <precureprcpflag/>
  165. <erprcpflag/>
  166. <prcpdelivefact/>
  167. <prcpcd/>
  168. <prcpnm/>
  169. <prcpengnm/>
  170. <prcpvol/>
  171. <prcpvolunit/>
  172. <prcpqty/>
  173. <prcpqtyunit/>
  174. <prcptims/>
  175. <drugmthdspccd/>
  176. <abbrnm/>
  177. <prcpdayno/>
  178. <payflagcd/>
  179. <prcphopedd/>
  180. <c2yn/>
  181. <orddd/>
  182. <orddeptcd/>
  183. <cretno/>
  184. <prcpdd/>
  185. <pid/>
  186. </prcpspec>
  187. <outerspec>
  188. <acptdt/>
  189. <centcdnm/>
  190. <orddeptnm/>
  191. <subdeptcdnm/>
  192. <usernm/>
  193. <diagnm/>
  194. <rem/>
  195. <orddeptcd/>
  196. </outerspec>
  197. <inspec>
  198. <indd/>
  199. <dschdd/>
  200. <orddeptnm/>
  201. <orddrid/>
  202. <diagnm/>
  203. <dschward/>
  204. </inspec>
  205. <ordrsrvinfo>
  206. <prcsstat/>
  207. <rsrvdt/>
  208. <centcdnm/>
  209. <orddeptnm/>
  210. <subdeptcdnm/>
  211. <usernm/>
  212. <rcptflag/>
  213. <execflag/>
  214. <rem/>
  215. </ordrsrvinfo>
  216. <testrsrvinfo>
  217. <rsrvdt/>
  218. <prcpcd/>
  219. <prcpnm/>
  220. <execdept/>
  221. <rcptflag/>
  222. <execflag/>
  223. <rem/>
  224. </testrsrvinfo>
  225. <prcpcmbdatainfo>
  226. <pid/>
  227. <orddd/>
  228. <orddeptcd/>
  229. <orddrid/>
  230. <instcd/>
  231. <cdid/>
  232. <cdnm/>
  233. </prcpcmbdatainfo>
  234. <cpginfo>
  235. <cpgyn/>
  236. </cpginfo>
  237. </patdetlinfo>
  238. <chosspecflag>1</chosspecflag>
  239. <rsrvinfoflag>1</rsrvinfoflag>
  240. <ebulstat/>
  241. <rsrvposstmlist>
  242. <rsrvposstm>
  243. <rsrvtm/>
  244. <count/>
  245. <max/>
  246. </rsrvposstm>
  247. <rsrvlist>
  248. <srchrsrvtm/>
  249. <pid/>
  250. <hngnm/>
  251. <prcpcd/>
  252. <rgstdepthngnm/>
  253. </rsrvlist>
  254. <deptmemo>
  255. <memodt/>
  256. <memorem/>
  257. </deptmemo>
  258. <updtlist>
  259. <updtresndesc/>
  260. </updtlist>
  261. </rsrvposstmlist>
  262. <exculist>
  263. <mainordlist5>
  264. <chk/>
  265. <rsrvflagyn/>
  266. <rcptyn/>
  267. <telrsrvyn/>
  268. <prcpdd/>
  269. <orddepthngnm/>
  270. <orddrnm/>
  271. <calcscorcd/>
  272. <prcpnm/>
  273. <excuroom/>
  274. <prcphopedd/>
  275. <srchrsrvtm/>
  276. <excutm/>
  277. <endtime/>
  278. <roomcd/>
  279. <rsrvrem/>
  280. <excuroomnm/>
  281. <genrflag/>
  282. <prcpdd/>
  283. <execprcpuniqno/>
  284. <execprcpstatcd/>
  285. <prcpkindcd/>
  286. <excupartcd/>
  287. <indd/>
  288. <actorddd/>
  289. <orddrid/>
  290. <execrid/>
  291. <suppdeptcd/>
  292. <cnclrescd/>
  293. <pid/>
  294. <prcpdelivefact/>
  295. <rsrvplceflag/>
  296. <rsrvexcupossyn/>
  297. <rsrvexmptmplcd/>
  298. <tmpldata/>
  299. <rsrvflag/>
  300. <cretno/>
  301. <orddd/>
  302. <rsrvdt/>
  303. <excuroomcd/>
  304. <bf_srchrsrvtm/>
  305. <pacsnocretyn/>
  306. <rgsttm/>
  307. <rgstrid/>
  308. <orddeptcd/>
  309. <rsrvtmcntlyn/>
  310. <rsrvpsnnocntlyn/>
  311. <excucdrem/>
  312. <prcpgenrflag/>
  313. <pexcuroomnm/>
  314. <prcpexecdeptcd/>
  315. <eqmtifyn/>
  316. <baseexcuroomcd/>
  317. <glycostestyn/>
  318. <bonedentestyn/>
  319. <glycosyn/>
  320. <glycoscure/>
  321. <reqhospcd/>
  322. </mainordlist5>
  323. <subordlist2>
  324. <rsrvflagyn/>
  325. <rcptyn/>
  326. <prcpdd/>
  327. <orddepthngnm/>
  328. <orddrnm/>
  329. <execprcpstatcd/>
  330. <calcscorcd/>
  331. <prcpnm/>
  332. <excuroom/>
  333. <prcphopedd/>
  334. <srchrsrvtm/>
  335. <exectm/>
  336. <excutm/>
  337. <endtime/>
  338. <rsrvrem/>
  339. </subordlist2>
  340. <subordlist3>
  341. <rows>
  342. <pid/>
  343. <cmtdd/>
  344. <patcmt/>
  345. <iudgb/>
  346. </rows>
  347. </subordlist3>
  348. <mainordlist1>
  349. <ordnm/>
  350. <orddt/>
  351. <orddrnm/>
  352. <deptengabbr/>
  353. <orddd/>
  354. <pid/>
  355. <orddrid/>
  356. <orddeptcd/>
  357. </mainordlist1>
  358. <mainordlist2>
  359. <suminfo/>
  360. <orddt/>
  361. </mainordlist2>
  362. <mainordlist3>
  363. <opschedd/>
  364. </mainordlist3>
  365. <mainordlist4>
  366. <rsrvdt/>
  367. <prcpnm/>
  368. <basecdflagdesc/>
  369. <execprcpstatcd/>
  370. <acttime/>
  371. <usernm/>
  372. <rsrvrid/>
  373. </mainordlist4>
  374. <mainordlist6>
  375. <inhopedd/>
  376. </mainordlist6>
  377. <patinfo>
  378. <patinfolist/>
  379. </patinfo>
  380. <mainordlist8>
  381. <prcpcd/>
  382. <prcpdd/>
  383. <rsrvdd/>
  384. <execdd/>
  385. <payflagcdnm/>
  386. <prcpgenrflag/>
  387. </mainordlist8>
  388. </exculist>
  389. <orddeptinfo>
  390. <orddeptlist>
  391. <orddeptcd/>
  392. </orddeptlist>
  393. </orddeptinfo>
  394. <exculist2>
  395. <subordlist2>
  396. <excuroomnm/>
  397. <prcpdd/>
  398. <prcpnm/>
  399. <calcscorcd/>
  400. <execprcpstatcd/>
  401. </subordlist2>
  402. </exculist2>
  403. <curfile>
  404. <filename/>
  405. <rtfcode/>
  406. </curfile>
  407. <rtflist/>
  408. <patinfo>
  409. <patinfolist/>
  410. </patinfo>
  411. <comment1>
  412. <prcpcmt/>
  413. </comment1>
  414. <popupendflag/>
  415. <ordlist1>
  416. <mainordlist>
  417. <no/>
  418. <pid/>
  419. <patnm/>
  420. <prcpgenrflag/>
  421. <roomcd/>
  422. <depthngnm/>
  423. <execprcpuniqno/>
  424. <orddeptcd/>
  425. <rsrvdd/>
  426. <execprcpstatcd/>
  427. <prcpdd/>
  428. <sna/>
  429. <roomcd/>
  430. <orddrid/>
  431. <rcptyn/>
  432. </mainordlist>
  433. </ordlist1>
  434. </main>
  435. <send>
  436. <pid/>
  437. <checkfnexam/>
  438. <acptdd/>
  439. <acptno/>
  440. <orddrid/>
  441. <orddeptcd/>
  442. <subdeptcd/>
  443. <orddd/>
  444. <hngnm/>
  445. <rrgstno1/>
  446. <rrgstno2/>
  447. <date/>
  448. <updatedata>
  449. </updatedata>
  450. <reqpredata/>
  451. <data>
  452. <cmb_info>
  453. <initexecroom>
  454. <excuroomcdid/>
  455. </initexecroom>
  456. </cmb_info>
  457. <srchpid/>
  458. <hngnm/>
  459. <acptlistflag/>
  460. <orddd/>
  461. <rsrvdd/>
  462. <excuroomcd/>
  463. <suppdeptcd/>
  464. <suppdeptcd1/>
  465. <chkflag/>
  466. <rsrvdate/>
  467. <orddeptcd/>
  468. <autorsrvtmset>
  469. <autorsrvtm/>
  470. </autorsrvtmset>
  471. <excuroomnm/>
  472. <print/>
  473. <prcpgenrflag/>
  474. <excucd/>
  475. <srchdate1/>
  476. <cmb_info1>
  477. <initexcuroomgrp>
  478. <excuroomgrpcdid/>
  479. <excuroomgrpcdnm/>
  480. </initexcuroomgrp>
  481. </cmb_info1>
  482. </data>
  483. </send>
  484. <init>
  485. <orddeptcd>
  486. <orddeptcdlist>
  487. <cd/>
  488. <nm/>
  489. <deptengabbr/>
  490. </orddeptcdlist>
  491. </orddeptcd>
  492. <orddrid>
  493. <orddridlist>
  494. <cd/>
  495. <nm/>
  496. <dp/>
  497. <sp/>
  498. <nmsp/>
  499. </orddridlist>
  500. </orddrid>
  501. <P0021list>
  502. <P0021>
  503. <cdnm/>
  504. <cdid/>
  505. </P0021>
  506. </P0021list>
  507. <P0008list>
  508. <P0008>
  509. <cdnm/>
  510. <cdid/>
  511. </P0008>
  512. </P0008list>
  513. <P0341list>
  514. <P0341>
  515. <cdnm/>
  516. <cdid/>
  517. </P0341>
  518. </P0341list>
  519. <P0313list>
  520. <P0313>
  521. <cdnm/>
  522. <cdid/>
  523. </P0313>
  524. </P0313list>
  525. <P0020list>
  526. </P0020list>
  527. <P0329list>
  528. <P0329>
  529. <cdnm/>
  530. <cdid/>
  531. </P0329>
  532. </P0329list>
  533. <A0420list>
  534. <A0420>
  535. <cdnm/>
  536. <cdid/>
  537. </A0420>
  538. </A0420list>
  539. <P0414list>
  540. <P0414>
  541. <cdnm/>
  542. <cdid/>
  543. </P0414>
  544. </P0414list>
  545. <P0029list>
  546. <P0029>
  547. <cdnm/>
  548. <cdid/>
  549. </P0029>
  550. </P0029list>
  551. <subdeptcd>
  552. <subdeptcdlist>
  553. <dp/>
  554. </subdeptcdlist>
  555. </subdeptcd>
  556. <P0022list>
  557. <P0022>
  558. <cdnm/>
  559. <cdid/>
  560. </P0022>
  561. </P0022list>
  562. <P0380list>
  563. <P0380>
  564. <cdnm/>
  565. <cdid/>
  566. </P0380>
  567. </P0380list>
  568. </init>
  569. <hidden>
  570. <source>
  571. <srchcond/>
  572. <autoflag/>
  573. <pid/>
  574. <hngnm/>
  575. <rrgstno1/>
  576. <rrgstno2/>
  577. <acptdd/>
  578. <fromdd/>
  579. <todd/>
  580. <checkfnexam/>
  581. </source>
  582. <calendarinfo>
  583. <calendarinfolist/>
  584. </calendarinfo>
  585. <holdrrgstno>
  586. <rrgstno1/>
  587. <rrgstno2/>
  588. <hngnm/>
  589. </holdrrgstno>
  590. <session/>
  591. <init>
  592. <cntrorddeptdoctorlist>
  593. <user/>
  594. </cntrorddeptdoctorlist>
  595. </init>
  596. <calendar>
  597. <year/>
  598. <month/>
  599. <weeklist>
  600. <list>
  601. <sun/>
  602. <mon/>
  603. <tue/>
  604. <wed/>
  605. <thu/>
  606. <fri/>
  607. <sat/>
  608. <sun_memo/>
  609. <mon_memo/>
  610. <tue_memo/>
  611. <wed_memo/>
  612. <thu_memo/>
  613. <fri_memo/>
  614. <sat_memo/>
  615. </list>
  616. </weeklist>
  617. </calendar>
  618. <calendar1>
  619. <year/>
  620. <month/>
  621. <weeklist>
  622. <list>
  623. <sun/>
  624. <mon/>
  625. <tue/>
  626. <wed/>
  627. <thu/>
  628. <fri/>
  629. <sat/>
  630. <sun_memo/>
  631. <mon_memo/>
  632. <tue_memo/>
  633. <wed_memo/>
  634. <thu_memo/>
  635. <fri_memo/>
  636. <sat_memo/>
  637. </list>
  638. </weeklist>
  639. </calendar1>
  640. <boolcontrol>
  641. <bool/>
  642. </boolcontrol>
  643. <rsrvrem/>
  644. <grdcellcolor>
  645. <calrow/>
  646. <calcol/>
  647. <bfcalrow/>
  648. <bfcalcol/>
  649. <color/>
  650. </grdcellcolor>
  651. </hidden>
  652. <tmp>
  653. <patinfolist/>
  654. <reservation/>
  655. <cellColor/>
  656. <userinfo>
  657. <userinfolist>
  658. <deptcd/>
  659. <depthngnm/>
  660. <userid/>
  661. <usernm/>
  662. </userinfolist>
  663. </userinfo>
  664. </tmp>
  665. <sd>
  666. <deptcd/>
  667. <deptnm/>
  668. </sd>
  669. </root>
  670. </instance>
  671. <script type="javascript" ev:event="xforms-ready">
  672. <![CDATA[
  673. fGetUserInfosSampling(); //세션/root/hidden/session
  674. zbcfGetCodeList(new Array("P0021", "P0008", "P0341", "P0313", "P0020", "P0329", "A0420", "P0414", "P0029", "P0022", "P0380"),
  675. new Array("/root/init/P0021list", "/root/init/P0008list", "/root/init/P0341list", "/root/init/P0313list", "/root/init/P0020list", "/root/init/P0329list", "/root/init/A0420list", "/root/init/P0414list", "/root/init/P0029list", "/root/init/P0022list", "/root/init/P0380list"),false);
  676. //협력의뢰시 초기 세팅.
  677. RC = getScreenMenuParameter();
  678. //RC = '1';
  679. //alert( RC );
  680. if( RC == '1' ){
  681. //협진 그룹을 표시한다.
  682. cmb_rqstflag.visible = true;
  683. caption33.visible = true;
  684. cmb_onestop.visible = true;
  685. caption36.visible = true;
  686. ipt_rqsthospcd.visible = true;
  687. caption51.visible = true;
  688. ipt_rqstdrid.visible = true;
  689. model.setValue("/root/main/reservation/rqstflag", '1');
  690. RSRVFLAG = '1'; //협력의뢰
  691. }else{
  692. //협진 그룹을 숨긴다.
  693. cmb_rqstflag.visible = false;
  694. caption33.visible = false;
  695. cmb_onestop.visible = false;
  696. caption36.visible = false;
  697. ipt_rqsthospcd.visible = false;
  698. caption51.visible = false;
  699. ipt_rqstdrid.visible = false;
  700. model.setValue("/root/main/reservation/rqstflag", '-');
  701. RSRVFLAG = '2'; //전화예약
  702. }
  703. //센터 선 적용 여부 체크
  704. CENTERYN = fCheckCenterYN();
  705. if( CENTERYN == 'Y' ){
  706. cmb_centcd.disabled = false;
  707. cnstteamnm.disabled = false;
  708. combo5.visible = false;
  709. combo6.visible = false;
  710. }else{
  711. cmb_centcd.disabled = true;
  712. cnstteamnm.disabled = true;
  713. combo5.visible = false;
  714. combo6.visible = false;
  715. }
  716. //진료과코드 진료의사ID 조회
  717. pamGetDeptCDDrIDList();
  718. //초기화
  719. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  720. fInitialize();
  721. //접속user 정보
  722. submit("TRPMC02511");
  723. //외래이력 라디오버튼 초기화
  724. radio13.dispatch("xforms-value-changed");
  725. btn_case1.selected = true;
  726. model.toggle("case5");
  727. btn_sel1.selected = true;
  728. model.toggle("case1");
  729. initCalendar();
  730. fChangeButtonColor();
  731. model.refresh();
  732. model1.setFocus("ipt_rrgstno1");
  733. ]]>
  734. </script>
  735. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  736. <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  737. <submission id="TRPMO00123" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/centeryn"/>
  738. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  739. <submission id="TRPMO10013" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvpossyn" resultref="/root/send/rsrvpossyn/result"/>
  740. <submission id="TRPMO00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/result"/>
  741. <submission id="TRPMO00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/result"/>
  742. <submission id="TRPMO00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/outrgst"/>
  743. <submission id="TRPMO00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/h_dcuc"/>
  744. <submission id="TRPMO00207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/getfsexamflag" resultref="/root/main/result/fsexam"/>
  745. <submission id="TRPMB01001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/calendarinfo"/>
  746. <submission id="TRPMC02511" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/tmp/userinfo"/>
  747. <submission id="TXPMO00208" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/patinfo/patinfolist" resultref="/root/main/result/temp"/>
  748. <submission id="TRPMC02500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/source" resultref="/root/main/result/patinfo"/>
  749. <submission id="TRMNO00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqpredata" resultref="/root/main/patdetlinfo"/>
  750. <submission id="TRPMO00116" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/erpat" resultref="/root/hidden/rcv/temp"/>
  751. <submission id="TRPAC00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/emrcnst/send" resultref="/root/temp/emrcnst/temp"/>
  752. <submission id="TRPMO01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/ordreqform/send" resultref="/root/temp/ordreqform"/>
  753. <submission id="submission1" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvpossyn" resultref="/root/send/rsrvpossyn/result"/>
  754. <submission id="TRPMO00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/temp/send" resultref="/root/hidden/temp/result"/>
  755. <submission id="TXPMO00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata" resultref="/root/main/result"/>
  756. <submission id="TXPMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/chart" resultref="/root/result/rcv"/>
  757. </model>
  758. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  759. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  760. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  761. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  762. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  763. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  764. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  765. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  766. <script type="javascript" src="../../../pam/opatmngtweb/js/PMO001.js"/>
  767. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  768. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  769. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  770. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  771. <script type="javascript">
  772. <![CDATA[
  773. //global variable
  774. var CENTERYN = 'N';
  775. var RC = '';
  776. var RSRVFLAG = '2'; //예약구분 : default '2' - 전화예약
  777. var INSUKIND = gsInsu_IlBan; //보험유형 일반
  778. //var ETCORDFLAG = '-'; //기타구분 : default '-'
  779. //최근 보험정보 조회
  780. function fGetInsuKind(){
  781. //최근 접수한 내역에서 보험유형을 구한다. 접수한건이 없을 경우 일반으로 세팅
  782. var cnt = getNodesetCount("/root/main/outhist/outhistlist/histstat");
  783. var insukindtmp = '';
  784. for( var i = 0; i <= cnt; i++){
  785. if( model.getValue("/root/main/outhist/outhistlist[" + i + "]/histstat") == 'R' ){
  786. insukindtmp = model.getValue("/root/main/outhist/outhistlist[" + i + "]/insukind");
  787. if( insukindtmp != '' && insukindtmp != '-' && insukindtmp != ' ' ){
  788. INSUKIND = insukindtmp;
  789. return true;
  790. }
  791. }
  792. }
  793. INSUKIND = gsInsu_IlBan; //보험유형 일반
  794. return false;
  795. }
  796. //예약내역 체크
  797. function fCheckRsrvHist(){
  798. //해당과에 이미 예약된 내역이 있는지 체크
  799. model.makeNode("/root/send/rsrvpossyn/orddeptcd");
  800. model.makeNode("/root/send/rsrvpossyn/hngnm");
  801. model.makeNode("/root/send/rsrvpossyn/rrgstno1");
  802. model.makeNode("/root/send/rsrvpossyn/rrgstno2");
  803. model.makeNode("/root/send/rsrvpossyn/result");
  804. model.setValue("/root/send/rsrvpossyn/orddeptcd", model.getValue("/root/main/reservation/orddeptcd"));
  805. model.setValue("/root/send/rsrvpossyn/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  806. model.setValue("/root/send/rsrvpossyn/rrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  807. model.setValue("/root/send/rsrvpossyn/rrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  808. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  809. if( submit("TRPMO10013") ){
  810. var possyn = model.getValue("/root/send/rsrvpossyn/result/rsrvpossyn/possyn");
  811. if( model.getValue("/root/send/rsrvpossyn/result/rsrvpossyn/possyn") != 'Y' ){
  812. if( messageBox("해당 진료과로 이미 예약된 내역이 있습니다. ", "E999", "") != 6 ){
  813. model.removeNodeset("/root/send/rsrvpossyn");
  814. return false;
  815. }
  816. }
  817. }else{
  818. if( messageBox("해당 진료과 예약내역 조회에 실패했습니다. 무시하고 계속 진행하시겠습니까?", "Q999", "") != 6 ){
  819. model.removeNodeset("/root/send/rsrvpossyn");
  820. return false;
  821. }
  822. }
  823. model.removeNodeset("/root/send/rsrvpossyn");
  824. return true;
  825. }
  826. //외래이력 조회
  827. function fSearch(){
  828. model.copyNode("/root/tmp/patinfolist", "/root/main/patinfo/patinfolist");
  829. //예약정보 / 외래등록내역(달력) / 외래등록내역 초기화
  830. btn_clear.dispatch("DOMActivate");
  831. if( model.getValue("/root/main/popupendflag") == "ok" ){
  832. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  833. model.setValue("/root/send/pid", pid );
  834. if( pid.length > 1 ){
  835. //구환
  836. model.setValue("/root/send/checkfnexam", 2);
  837. }else{
  838. //신환
  839. model.setValue("/root/send/checkfnexam", 1);
  840. }
  841. model.setValue("/root/send/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm") );
  842. model.setValue("/root/send/rrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1") );
  843. model.setValue("/root/send/rrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2") );
  844. model.resetInstanceNode("/root/main/result");
  845. model.makeNode("/root/main/result/outhist");
  846. if( submit("TRPMO00201") ){
  847. model.copyNode("/root/main/outhist", "/root/main/result/outhist");
  848. fGetInsuKind(); //최근보험유형 검색
  849. model.refresh();
  850. }
  851. //재원체크
  852. fInhospynCheck();
  853. }
  854. }
  855. //재원환자체크
  856. function fInhospynCheck()
  857. {
  858. if (model.getValue("/root/main/patinfo/patinfolist/inhospyn") == "I")
  859. {
  860. messageBox("확인! " + model.getValue("/root/main/patinfo/patinfolist/hngnm") + " 환자는 현재 재원 중입니다!","E999","");
  861. return false;
  862. }else if (model.getValue("/root/main/patinfo/patinfolist/inhospyn") == "D")
  863. {
  864. messageBox("확인! " + model.getValue("/root/main/patinfo/patinfolist/hngnm") + " 환자는 당일 DSC/CHEMO 환자입니다. 입원수납에서 수납하세요!","E999","");
  865. return false;
  866. }else if (model.getValue("/root/main/patinfo/patinfolist/inhospyn") == "E")
  867. {
  868. messageBox("확인! " + model.getValue("/root/main/patinfo/patinfolist/hngnm") + " 환자는 응급 환자입니다!","E999","");
  869. return false;
  870. }
  871. return true;
  872. }
  873. function fDisableInputBox(){
  874. if( model.getValue("/root/hidden/source/checkfnexam") == "1" ){
  875. ipt_pid.disabled = true;
  876. cmb_sex.disabled = false;
  877. ipt_hometel.disabled = false;
  878. ipt_mpphontel.disabled = false;
  879. ipt_etctel1.disabled = false;
  880. ipt_engnm.disabled = false;
  881. ipt_zipcd1.disabled = false;
  882. ipt_zipcd2.disabled = false;
  883. ipt_zipcdseq.disabled = false;
  884. ipt_detladdr.disabled = false;
  885. model.setFocus("ipt_hngnm");
  886. }else if( model.getValue("/root/hidden/source/checkfnexam") == "2" ){
  887. ipt_pid.disabled = false;
  888. cmb_sex.disabled = true;
  889. ipt_hometel.disabled = true;
  890. ipt_mpphontel.disabled = true;
  891. ipt_etctel1.disabled = true;
  892. ipt_engnm.disabled = true;
  893. ipt_zipcd1.disabled = true;
  894. ipt_zipcd2.disabled = true;
  895. ipt_zipcdseq.disabled = true;
  896. ipt_detladdr.disabled = true;
  897. model.setFocus("ipt_rrgstno1");
  898. }
  899. }
  900. function fMakeRsrv( histstat ){
  901. //send node reset
  902. model.resetInstanceNode("/root/send/updatedata");
  903. model.refresh();
  904. //make nodes
  905. model.makeNode("/root/send/updatedata/patinfolist");
  906. model.makeNode("/root/send/updatedata/reservation");
  907. model.makeNode("/root/send/updatedata/checkfnexam");
  908. var dd = model.getValue("/root/main/reservation/orddd");
  909. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag")
  910. var etcordflag = model.getValue("/root/main/reservation/etcordflag");
  911. //기타진료에 null값 들어가는 문제 방지
  912. if(etcordflag == '' || etcordflag == ' '){
  913. model.setValue("/root/main/reservation/etcordflag", '-');
  914. }
  915. fGetBirthDD();
  916. var remark = model.getValue("/root/main/reservation/onestop");
  917. if(remark == '-' || remark == ''){
  918. model.setValue("/root/main/reservation/onestop" , '');
  919. }else{
  920. model.setValue("/root/main/reservation/remark" , "ONE STOP:" + cmb_onestop.label );
  921. }
  922. // //send node 값 세팅..
  923. var rsrvflag;
  924. if( histstat == 'T' ){
  925. if(fsexamflag == 'R' || fsexamflag == 'S')
  926. {
  927. if( getDateInterval( getCurrentDate(), dd) <= 1 ){
  928. messageBox("재진환자 예약은 2일후 부터가능합니다.", "E999", "");
  929. model.removeNodeset("/root/main/outrgst/outrgstlist");
  930. grd_outrgst.refresh();
  931. return false;
  932. }
  933. }else if(fsexamflag == 'F' || fsexamflag == 'D' || fsexamflag == '4'){
  934. if( getDateInterval( getCurrentDate(), dd) <= 0 ){
  935. messageBox("초진환자는 금일 혹은 금일 이전으로 예약 불가능합니다.", "E999", "");
  936. model.removeNodeset("/root/main/outrgst/outrgstlist");
  937. grd_outrgst.refresh();
  938. return false;
  939. }
  940. }
  941. //예약구분
  942. if(RSRVFLAG == '1'){
  943. model.setValue("/root/main/reservation/rsrvflag", RSRVFLAG);
  944. }else{
  945. model.setValue("/root/main/reservation/rsrvflag", '2'); //전화예약
  946. }
  947. }else{
  948. }
  949. model.setValue("/root/send/updatedata/checkfnexam", model.getValue("/root/hidden/source/checkfnexam"));
  950. //환자정보 값을 send 노드 아래로 복사한다.
  951. model.copyNode("/root/send/updatedata/patinfolist", "/root/main/patinfo/patinfolist");
  952. //환자정보에 있는 진료일자, 진료과, 접수일, 접수번호, 예약 구분 플래그를 삭제한다. - PMOHTEMP 테이블에서 초진환자 정보를 가져올때 같이 가져오기 때문에..
  953. model.removenode("/root/send/updatedata/patinfolist/orddd");
  954. model.removenode("/root/send/updatedata/patinfolist/orddeptcd");
  955. model.removenode("/root/send/updatedata/patinfolist/acptdd");
  956. model.removenode("/root/send/updatedata/patinfolist/acptno");
  957. model.removenode("/root/send/updatedata/patinfolist/rsrvflag");
  958. //예약정보를 SEND로 복사한다.
  959. model.copyNode("/root/send/updatedata/reservation", "/root/main/reservation");
  960. //alert(instance1.selectNodesXml("/root/send/updatedata/reservation"));
  961. model.setValue("/root/send/updatedata/reservation/histstat", histstat);
  962. //변경전 데이터를 가져가기 위해 변경전의 데이터도 함께 SEND로 복사한다.
  963. if( histstat == 'C'){
  964. //변경전의 데이터 세팅..
  965. model.makeNode("/root/send/updatedata/reservation/bforddd");
  966. model.makeNode("/root/send/updatedata/reservation/bfordtm");
  967. model.makeNode("/root/send/updatedata/reservation/bforddeptcd");
  968. model.makeNode("/root/send/updatedata/reservation/bforddrid");
  969. model.makeNode("/root/send/updatedata/reservation/bfacptseqno");
  970. model.makeNode("/root/send/updatedata/reservation/bfcretno");
  971. //model.makeNode("/root/send/updatedata/reservation/updtcnclresn");
  972. model.makeNode("/root/send/updatedata/reservation/bfhiststat");
  973. model.setValue("/root/send/updatedata/reservation/bforddd", model.getValue("/root/tmp/reservation/orddd"));
  974. model.setValue("/root/send/updatedata/reservation/bfordtm", model.getValue("/root/tmp/reservation/ordtm"));
  975. model.setValue("/root/send/updatedata/reservation/bforddeptcd", model.getValue("/root/tmp/reservation/orddeptcd"));
  976. model.setValue("/root/send/updatedata/reservation/bforddrid", model.getValue("/root/tmp/reservation/orddrid"));
  977. model.setValue("/root/send/updatedata/reservation/bfhiststat", model.getValue("/root/tmp/reservation/histstat"));
  978. model.setValue("/root/send/updatedata/reservation/bfacptseqno", model.getValue("/root/tmp/reservation/acptseqno"));
  979. model.setValue("/root/send/updatedata/reservation/bfcretno", model.getValue("/root/tmp/reservation/cretno"));
  980. }else if( histstat == 'X'){
  981. }
  982. //2007-10-08 이동식 추가
  983. if( histstat != 'X' ){
  984. if(histstat == 'C'){
  985. if( model.getValue("/root/main/reservation/orddeptcd") != model.getValue("/root/tmp/reservation/orddeptcd") ||
  986. model.getValue("/root/main/reservation/orddrid") != model.getValue("/root/tmp/reservation/orddrid") ||
  987. model.getValue("/root/main/reservation/orddd") != model.getValue("/root/tmp/reservation/orddd") ||
  988. model.getValue("/root/main/reservation/ordtm") != model.getValue("/root/tmp/reservation/ordtm")){
  989. var orddrid = model.getValue("/root/main/reservation/orddrid");
  990. var orddeptcd = model.getValue("/root/main/reservation/orddeptcd");
  991. var orddd = model.getValue("/root/main/reservation/orddd");
  992. var ordtm = model.getValue("/root/main/reservation/ordtm");
  993. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  994. var subdeptcd = model.getValue("/root/main/reservation/subdeptcd");
  995. var retVal = fGetVerifyHoli(orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, RSRVFLAG);
  996. if( retVal == false ){
  997. return false;
  998. }else if( retVal != true ){
  999. if( CENTERYN != 'Y' ){
  1000. //센터접수
  1001. model.setValue("/root/send/updatedata/reservation/centcd", retVal);
  1002. model.setValue("/root/main/reservation/centcd", retVal);
  1003. }
  1004. }else{
  1005. if( CENTERYN != 'Y' ){
  1006. //센터코드 초기화
  1007. model.setValue("/root/send/updatedata/reservation/centcd", '-');
  1008. model.setValue("/root/main/reservation/centcd", '-');
  1009. }
  1010. }
  1011. }
  1012. }else{
  1013. var orddrid = model.getValue("/root/main/reservation/orddrid");
  1014. var orddeptcd = model.getValue("/root/main/reservation/orddeptcd");
  1015. var orddd = model.getValue("/root/main/reservation/orddd");
  1016. var ordtm = model.getValue("/root/main/reservation/ordtm");
  1017. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  1018. var subdeptcd = model.getValue("/root/main/reservation/subdeptcd");
  1019. var retVal = fGetVerifyHoli(orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, RSRVFLAG);
  1020. if( retVal == false ){
  1021. return false;
  1022. }else if( retVal != true ){
  1023. //센터접수
  1024. model.setValue("/root/send/updatedata/reservation/centcd", retVal);
  1025. model.setValue("/root/main/reservation/centcd", retVal);
  1026. }else{
  1027. //센터코드 초기화
  1028. model.setValue("/root/send/updatedata/reservation/centcd", '-');
  1029. model.setValue("/root/main/reservation/centcd", '-');
  1030. }
  1031. }
  1032. }
  1033. //END..
  1034. //reset result node
  1035. model.resetInstanceNode("/root/main/result");
  1036. model.makeNode("/root/main/result/outhist");
  1037. if(submit("TXPMO00202")){
  1038. model.copyNode("/root/main/outhist", "/root/main/result/outhist");
  1039. model.refresh();
  1040. }else{
  1041. return false;
  1042. }
  1043. //2007-10-22 이동식 추가
  1044. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 1 ){ //신환일경우 차트대출 안함.
  1045. if( getNodesetCount("/root/main/result/chart/chartlist") < 1 || model.getValue("/root/main/reservation/tablename") == 'temp'){
  1046. return false;
  1047. }
  1048. model.removeNodeset("/root/send/chart");
  1049. if( histstat == 'T' ){ //예약
  1050. model.makeValue("/root/send/chart/high_flag", "I");
  1051. model.makeValue("/root/send/chart/flag", "I");
  1052. model.makeValue("/root/send/chart/pid", model.getValue("/root/main/result/chart/chartlist/pid"));
  1053. model.makeValue("/root/send/chart/orddd", model.getValue("/root/main/result/chart/chartlist/orddd"));
  1054. model.makeValue("/root/send/chart/cretno", model.getValue("/root/main/result/chart/chartlist/cretno"));
  1055. model.makeValue("/root/send/chart/acptseqno", model.getValue("/root/main/result/chart/chartlist/acptseqno"));
  1056. model.makeValue("/root/send/chart/orddeptcd", model.getValue("/root/main/result/chart/chartlist/orddeptcd"));
  1057. model.makeValue("/root/send/chart/orddrid", model.getValue("/root/main/result/chart/chartlist/orddrid"));
  1058. model.makeValue("/root/send/chart/ordtm", model.getValue("/root/main/result/chart/chartlist/ordtm"));
  1059. model.makeValue("/root/send/chart/fsexamflag", model.getValue("/root/main/result/chart/chartlist/fsexamflag"));
  1060. model.makeValue("/root/send/chart/rsrvflag", '2');
  1061. model.makeValue("/root/send/chart/msgcnts", '-');
  1062. model.makeValue("/root/send/chart/subdeptcd", model.getValue("/root/main/reservation/subdeptcd"));
  1063. model.makeValue("/root/send/chart/centcd", model.getValue("/root/main/reservation/centcd"));
  1064. //alert( instance1.selectSingleNode("/root/send/chart").xml);
  1065. }else if( histstat == 'C' ){ //변경
  1066. model.makeValue("/root/send/chart[1]/high_flag", "U");
  1067. model.makeValue("/root/send/chart[1]/flag", "D");
  1068. model.makeValue("/root/send/chart[1]/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1069. model.makeValue("/root/send/chart[1]/orddd", model.getValue("/root/tmp/reservation/orddd"));
  1070. model.makeValue("/root/send/chart[1]/cretno", model.getValue("/root/tmp/reservation/cretno"));
  1071. model.makeValue("/root/send/chart[1]/acptseqno", model.getValue("/root/tmp/reservation/acptseqno"));
  1072. model.makeValue("/root/send/chart[1]/orddeptcd", model.getValue("/root/tmp/reservation/orddeptcd"));
  1073. model.makeValue("/root/send/chart[1]/orddrid", model.getValue("/root/tmp/reservation/orddrid"));
  1074. model.makeValue("/root/send/chart[1]/ordtm", model.getValue("/root/tmp/reservation/ordtm"));
  1075. model.makeValue("/root/send/chart[1]/fsexamflag", model.getValue("/root/tmp/reservation/fsexamflag"));
  1076. model.makeValue("/root/send/chart[1]/rsrvflag", model.getValue("/root/tmp/reservation/rsrvflag"));
  1077. model.makeValue("/root/send/chart[1]/msgcnts", '-');
  1078. model.makeValue("/root/send/chart[1]/subdeptcd", model.getValue("/root/tmp/reservation/subdeptcd"));
  1079. model.makeValue("/root/send/chart[1]/centcd", model.getValue("/root/tmp/reservation/centcd"));
  1080. model.makeValue("/root/send/chart[2]/high_flag", "U");
  1081. model.makeValue("/root/send/chart[2]/flag", "I");
  1082. model.makeValue("/root/send/chart[2]/pid", model.getValue("/root/main/result/chart/chartlist/pid"));
  1083. model.makeValue("/root/send/chart[2]/orddd", model.getValue("/root/main/result/chart/chartlist/orddd"));
  1084. model.makeValue("/root/send/chart[2]/cretno", model.getValue("/root/main/result/chart/chartlist/cretno"));
  1085. model.makeValue("/root/send/chart[2]/acptseqno", model.getValue("/root/main/result/chart/chartlist/acptseqno"));
  1086. model.makeValue("/root/send/chart[2]/orddeptcd", model.getValue("/root/main/result/chart/chartlist/orddeptcd"));
  1087. model.makeValue("/root/send/chart[2]/orddrid", model.getValue("/root/main/result/chart/chartlist/orddrid"));
  1088. model.makeValue("/root/send/chart[2]/ordtm", model.getValue("/root/main/result/chart/chartlist/ordtm"));
  1089. model.makeValue("/root/send/chart[2]/fsexamflag", model.getValue("/root/main/result/chart/chartlist/fsexamflag"));
  1090. model.makeValue("/root/send/chart[2]/rsrvflag", model.getValue("/root/main/reservation/rsrvflag"));
  1091. model.makeValue("/root/send/chart[2]/msgcnts", '-');
  1092. model.makeValue("/root/send/chart[2]/subdeptcd", model.getValue("/root/main/reservation/subdeptcd"));
  1093. model.makeValue("/root/send/chart[2]/centcd", model.getValue("/root/main/reservation/centcd"));
  1094. }else if( histstat == 'X' ){ //취소
  1095. model.makeValue("/root/send/chart/high_flag", "D");
  1096. model.makeValue("/root/send/chart/flag", "D");
  1097. model.makeValue("/root/send/chart/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1098. model.makeValue("/root/send/chart/orddd", model.getValue("/root/tmp/reservation/orddd"));
  1099. model.makeValue("/root/send/chart/cretno", model.getValue("/root/tmp/reservation/cretno"));
  1100. model.makeValue("/root/send/chart/acptseqno", model.getValue("/root/tmp/reservation/acptseqno"));
  1101. model.makeValue("/root/send/chart/orddeptcd", model.getValue("/root/tmp/reservation/orddeptcd"));
  1102. model.makeValue("/root/send/chart/orddrid", model.getValue("/root/tmp/reservation/orddrid"));
  1103. model.makeValue("/root/send/chart/ordtm", model.getValue("/root/tmp/reservation/ordtm"));
  1104. model.makeValue("/root/send/chart/fsexamflag", model.getValue("/root/tmp/reservation/fsexamflag"));
  1105. model.makeValue("/root/send/chart/rsrvflag", model.getValue("/root/tmp/reservation/rsrvflag"));
  1106. model.makeValue("/root/send/chart/msgcnts", '-');
  1107. model.makeValue("/root/send/chart/subdeptcd", model.getValue("/root/main/reservation/subdeptcd"));
  1108. model.makeValue("/root/send/chart/centcd", model.getValue("/root/main/reservation/centcd"));
  1109. }
  1110. submit("TXPMO00105");
  1111. model.removeNodeset("/root/send/chart");
  1112. //END..
  1113. }
  1114. //예약/수정/취소가 성공하면 화면 클리어한다.
  1115. fClearAfterSave();
  1116. model.resetInstanceNode("/root/main/h_dcuc/dcuc");
  1117. model.refresh();
  1118. return true;
  1119. }
  1120. function fInitialize(){
  1121. model.resetInstanceNode("/root/main/reservation");
  1122. model.resetInstanceNode("/root/main/srchtelrsrv");
  1123. model.resetInstanceNode("/root/hidden/holdrrgstno");
  1124. model.resetInstanceNode("/root/main/h_dcuc/dcuc");
  1125. model.removeNodeset("/root/main/outhist/outhistlist");
  1126. model.removeNodeset("/root/main/outrgst/outrgstlist");
  1127. model.removeNodeset("/root/main/outtelrsrv/outtelrsrvlist");
  1128. model.resetInstanceNode("/root/tmp");
  1129. //1분 간격 풀기 초기화
  1130. model.setValue("/root/main/oneminute", "");
  1131. //달력 초기화
  1132. var isMonth = model.getValue("/root/hidden/calendar/month");
  1133. var isYear = model.getValue("/root/hidden/calendar/year");
  1134. var isDate = (isYear+isMonth+1).toDate();
  1135. setCalendar(isDate);
  1136. //환자특이내역 존재여부 표기 초기화
  1137. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  1138. //설명여부 디폴트값 세팅
  1139. model.setValue("/root/main/reservation/specorddescyn", 'N');
  1140. model.setValue("/root/main/reservation/insuchrgyn", 'N');
  1141. model.setValue("/root/main/reservation/ordreqdescyn", ' ');
  1142. model.setValue("/root/main/reservation/ordreqhospgrde", '1');
  1143. model.setValue("/root/main/patinfo/patinfolist/zipcd1", '000');
  1144. model.setValue("/root/main/patinfo/patinfolist/zipcd2", '000');
  1145. model.setValue("/root/main/patinfo/patinfolist/zipcdseq", '0');
  1146. //예약 세팅
  1147. model.setValue("/root/main/reservation/telrsrvrem", '-');
  1148. model.setValue("/root/main/reservation/updtcnclresn", '-');
  1149. //신환 + 구환 조회 플래그 세팅
  1150. model.setValue("/root/hidden/source/checkfnexam", "1");
  1151. //협력의뢰 디폴트 세팅
  1152. if( RC == '1' ){
  1153. model.setValue("/root/main/reservation/rqstflag", '1');
  1154. }
  1155. model.setValue("/root/main/reservation/etcordflag", "-");
  1156. //보험정보 초기화
  1157. INSUKIND = gsInsu_IlBan; //보험유형 일반
  1158. model.refresh();
  1159. }
  1160. function fGetOutRgst(){
  1161. model.setValue("/root/send/orddeptcd", model.getValue("/root/main/reservation/orddeptcd"));
  1162. model.setValue("/root/send/subdeptcd", model.getValue("/root/main/reservation/subdeptcd"));
  1163. model.setValue("/root/send/orddrid", model.getValue("/root/main/reservation/orddrid"));
  1164. model.setValue("/root/send/orddd", model.getValue("/root/main/reservation/orddd"));
  1165. if( submit("TRPMO00204") ){
  1166. grd_outrgst.rebuildStyle();
  1167. setRowStyle("grd_outrgst", "4^4^4", "F^D", "fsexamflag");
  1168. }
  1169. }
  1170. //검사일정 정원 지우기
  1171. function fRemoveCapa(){
  1172. var rows = grd_calendar.rows;
  1173. var cols = grd_calendar.cols;
  1174. var cellColor = '';
  1175. for( var row = 1; row < rows; row++ ){
  1176. for( var col = 0; col < 7; col++){
  1177. cellColor = grd_calendar.cellStyle("background-color", row, col);
  1178. if( cellColor == "#99ff66" ){
  1179. grd_calendar.valueMatrix(row , col + 7) = '';
  1180. }
  1181. }
  1182. }
  1183. grd_calendar.refresh();
  1184. }
  1185. //달력을 클릭(선택) 했을 때
  1186. function fClickOnCalendar(){
  1187. var calRow = grd_calendar.row;
  1188. var calCol = grd_calendar.col;
  1189. if(calRow > 0 && calCol >= 0 ){
  1190. calCol = calCol % 7;
  1191. }else{
  1192. return false;
  1193. }
  1194. //달력색상을 저장을 위한 노드
  1195. model.makeNode("/root/tmp/cellColor");
  1196. //검사일정 체크위해
  1197. var cellColor = grd_calendar.cellStyle("background-color", calRow, calCol);
  1198. //선택된 셀 표시
  1199. setCellColor(calRow, calCol);
  1200. //달력색상을 저장(예약시 마감된 날짜를 처리하기 위해)
  1201. model.setValue("/root/tmp/cellColor", cellColor);
  1202. var isDay = grd_calendar.valueMatrix(calRow, calCol);
  1203. if( isDay != "" ){
  1204. if( isDay.length == 1 ) isDay = "0" + isDay;
  1205. var dd = ( (model.getValue("/root/hidden/calendar/year")).concat(model.getValue("/root/hidden/calendar/month")) ).concat(isDay);
  1206. if( cellColor == "#99ff66" ){
  1207. messageBox("의사일정이 검사로 잡힌 날은 전화예약 할 수 없습니다.", "E999", "");
  1208. model.removeNodeset("/root/main/outrgst/outrgstlist");
  1209. grd_outrgst.refresh();
  1210. return false;
  1211. }else if( grd_calendar.valueMatrix(calRow, calCol + 7) == '' || grd_calendar.valueMatrix(calRow, calCol + 7) == ' ' || grd_calendar.valueMatrix(calRow, calCol + 7).getTrim() == '\n'){
  1212. var userid = model.getValue("/root/tmp/userinfo/userinfolist/userid");
  1213. if( userid != '81030220'){
  1214. messageBox("의사 진료일정이 없는 날입니다.", "E999", "");
  1215. model.removeNodeset("/root/main/outrgst/outrgstlist");
  1216. grd_outrgst.refresh();
  1217. return false;
  1218. }
  1219. }
  1220. //달력날짜 세팅
  1221. model.setValue("/root/main/reservation/orddd", dd);
  1222. model.refresh();
  1223. ipt_orddd.dispatch("xforms-value-changed");
  1224. if( model.getValue("/root/main/reservation/orddeptcd") != "" && model.getValue("/root/main/reservation/orddrid") != ""
  1225. && model.getValue("/root/main/reservation/orddd") != ""){
  1226. fGetOutRgst();
  1227. }
  1228. }
  1229. }
  1230. function fGetCalendarData(){
  1231. //1분 간격 풀기 초기화
  1232. model.setValue("/root/main/oneminute", "");
  1233. //외래등록내역 삭제
  1234. model.removeNodeset("/root/main/outrgst/outrgstlist");
  1235. model.resetInstanceNode("/root/send");
  1236. model.setValue("/root/send/orddeptcd", model.getValue("/root/main/reservation/orddeptcd"));
  1237. model.setValue("/root/send/subdeptcd", model.getValue("/root/main/reservation/subdeptcd"));
  1238. model.setValue("/root/send/orddrid", model.getValue("/root/main/reservation/orddrid"));
  1239. model.setValue("/root/send/date", model.getValue("/root/hidden/calendar/year") + model.getValue("/root/hidden/calendar/month"));
  1240. model.resetInstanceNode("/root/main/result");
  1241. model.makeNode("/root/main/result/orddrfild");
  1242. model.makeNode("/root/main/result/calendarinfo");
  1243. var isMonth = model.getValue("/root/hidden/calendar/month");
  1244. var isYear = model.getValue("/root/hidden/calendar/year");
  1245. var isDate = (isYear+isMonth+1).toDate();
  1246. //진료의사 정보가 없을 경우
  1247. if( model.getValue("/root/send/orddrid") == '' ){
  1248. setCalendar(isDate);
  1249. }else{
  1250. if(submit("TRPMO00203")){
  1251. if( getNodesetCount("/root/main/result/calendarinfo/calendarinfolist") > 0 ){
  1252. model.copyNode("/root/hidden/calendarinfo", "/root/main/result/calendarinfo");
  1253. setCalendar2(isDate);
  1254. }else{
  1255. setCalendar(isDate);
  1256. }
  1257. model.setValue("/root/main/reservation/ordfild", model.getValue("/root/main/result/orddrfild/orddrfildlist/ordfild"));
  1258. model.setValue("/root/main/reservation/fstexamrem", model.getValue("/root/main/result/orddrfild/orddrfildlist/fstexamrem"));
  1259. model.setValue("/root/main/reservation/reexamrem", model.getValue("/root/main/result/orddrfild/orddrfildlist/reexamrem"));
  1260. model.refresh();
  1261. }
  1262. }
  1263. }
  1264. function fCheckSearchCond(){
  1265. if( model.getValue("/root/hidden/source/checkfnexam") == '1' ){
  1266. return true;
  1267. }else{
  1268. model.setValue("/root/hidden/source/checkfnexam", '1');
  1269. fDisableInputBox();
  1270. model.refresh();
  1271. return true;
  1272. }
  1273. }
  1274. function fOneMinuteSpread(){
  1275. if( model.getValue("/root/main/oneminute") == 'Y' || model.getValue("/root/main/oneminute") == 'y' ){
  1276. var rowCount = grd_outrgst.rows - grd_outrgst.fixedRows;
  1277. var timeNow;
  1278. var timeNext;
  1279. var orddd;
  1280. var interval;
  1281. for( var outer = 1; outer < rowCount; outer++ ){
  1282. orddd = grd_outrgst.valueMatrix( outer, 4);
  1283. timeNow = grd_outrgst.valueMatrix( outer, 0);
  1284. timeNext = grd_outrgst.valueMatrix( outer + 1, 0);
  1285. interval = getTimeInterval( timeNow, timeNext ) / 60;
  1286. for( inner = 1; inner < interval; inner++ ){
  1287. grd_outrgst.insertRow(outer, 'below', false, false);
  1288. outer = outer + 1;
  1289. rowCount = rowCount + 1;
  1290. timeNow = ((timeNow.toDate("hhmm")).getAddDate(1, 'm')).getDateFormat("hhmm");
  1291. grd_outrgst.valueMatrix(outer, 0) = timeNow;
  1292. grd_outrgst.valueMatrix(outer, 4) = orddd;
  1293. }
  1294. }
  1295. grd_outrgst.rebuild();
  1296. }else{
  1297. fGetOutRgst();
  1298. grd_outrgst.rebuild();
  1299. }
  1300. }
  1301. function fGetSexAgeBirthDD(){
  1302. model.resetInstanceNode("/root/main/patinfo/patinfolist/brthdd");
  1303. var brthdd;
  1304. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  1305. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1306. if (rrgstno1.length != 6) {
  1307. model.setFocus("ipt_rrgstno1");
  1308. return false;
  1309. }
  1310. if (rrgstno2.length != 7) {
  1311. model.setFocus("ipt_rrgstno2");
  1312. return false;
  1313. }
  1314. var gubn = rrgstno2.substr(0,1);
  1315. switch(gubn){
  1316. case '1' :
  1317. case '2' :
  1318. case '5' :
  1319. case '6' :
  1320. brthdd = '19'.concat(rrgstno1);
  1321. break;
  1322. case '3' :
  1323. case '4' :
  1324. case '7' :
  1325. case '8' :
  1326. brthdd = '20'.concat(rrgstno1);
  1327. break;
  1328. case '9' :
  1329. case '0' :
  1330. brthdd = '18'.concat(rrgstno1);
  1331. break;
  1332. default :
  1333. brthdd = '19'.concat(rrgstno1);
  1334. break;
  1335. }
  1336. if (isValidDateTime(brthdd, "YYYYMMDD") == false) {
  1337. messageBox("주민번호 앞6자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  1338. model.setValue("/root/main/patinfo/patinfolist/brthdd","00000000");
  1339. model.setFocus("ipt_rrgstno1");
  1340. return false;
  1341. }
  1342. if( isValidDateTime(model.getValue("/root/main/patinfo/patinfolist/brthdd")) == false){
  1343. model.setValue("/root/main/patinfo/patinfolist/brthdd",brthdd);
  1344. }
  1345. var sex = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1346. if( model.getValue("/root/main/patinfo/patinfolist/sex") != 'M' || model.getValue("/root/main/patinfo/patinfolist/sex") != 'F' ){
  1347. model.setValue("/root/main/patinfo/patinfolist/sex",getGender(sex));
  1348. }
  1349. var rrgstno = rrgstno1.concat(rrgstno2);
  1350. model.setValue("/root/main/patinfo/patinfolist/age",getFullAge(model.getValue("/root/main/patinfo/patinfolist/brthdd")));
  1351. if (isResidentNo(rrgstno) == false)
  1352. {
  1353. messageBox("유효하지 않은 주민번호입니다!","E999","");
  1354. model.setFocus("ipt_rrgstno1");
  1355. return false;
  1356. }
  1357. return true;
  1358. }
  1359. //예약데이터가 정상적으로 모두 입력되었는지 체크한다.
  1360. function fIsRsrvDataOK(){
  1361. //환자이름 체크
  1362. if( model.getValue("/root/main/patinfo/patinfolist/hngnm").getTrim().length < 2 ){
  1363. messageBox("환자 이름을 정확히 입력하지 않았습니다. 다시 시도해 주십시오.", "E999", "" );
  1364. model.setFocus("ipt_pid");
  1365. return false;
  1366. }
  1367. //환자 휴대전화번호 체크
  1368. if( model.getValue("/root/main/patinfo/patinfolist/mpphontel").getTrim().length < 1 && model.getValue("/root/main/patinfo/patinfolist/hometel").getTrim().length < 1 ){
  1369. messageBox("환자 휴대전화 번호 또는 연락처는 필수 입력입니다. 다시 시도해 주십시오.", "E999", "" );
  1370. if(model.getValue("/root/main/patinfo/patinfolist/mpphontel").getTrim().length < 1){
  1371. model.setFocus("ipt_mpphontel");
  1372. }else{
  1373. model.setFocus("ipt_hometel");
  1374. }
  1375. return false;
  1376. }
  1377. //환자 주민번호 체크
  1378. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1").getTrim();
  1379. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2").getTrim();
  1380. var rrgstno = rrgstno1.concat(rrgstno2);
  1381. if( rrgstno1.length != 6 || rrgstno2.length != 7){
  1382. if( messageBox("주민등록번호를 정확히 입력하지 않았습니다. 무시하고 계속 진행하시겠습니까?", "Q999", "") != 6){
  1383. model.setFocus("ipt_rrgstno1");
  1384. return false;
  1385. }
  1386. //사용자 요청사항 주민등록번호를 입력하지 않아도 예약이 진행되도록!!
  1387. if(rrgstno1.length != 6){
  1388. model.setValue("/root/main/patinfo/patinfolist/rrgstno1", "000000");
  1389. }
  1390. if(rrgstno2.length != 7){
  1391. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", "0000000");
  1392. }
  1393. }else if (isResidentNo(rrgstno) == false){
  1394. if( messageBox("유효하지 않은 주민등록번호입니다. 무시하고 계속 진행하시겠습니까?", "Q999", "") != 6){
  1395. model.setFocus("ipt_rrgstno1");
  1396. return false;
  1397. }
  1398. }
  1399. //환자 주소 체크 - 우편번호 포함. 2007-10-06 수정 - 조주희 선생님 요구사항 오류체크하지 말것!
  1400. var zipcd1 = model.getValue("/root/main/patinfo/patinfolist/zipcd1");
  1401. var zipcd2 = model.getValue("/root/main/patinfo/patinfolist/zipcd2");
  1402. if( zipcd1.length != 3 || zipcd2.length != 3 ){
  1403. model.setValue("/root/main/patinfo/patinfolist/zipcd1", '000');
  1404. model.setValue("/root/main/patinfo/patinfolist/zipcd2", '000');
  1405. model.setValue("/root/main/patinfo/patinfolist/zipcdseq", '0');
  1406. model.refresh();
  1407. }
  1408. var orddeptcd = model.getValue("/root/main/reservation/orddeptcd");
  1409. var orddrid = model.getValue("/root/main/reservation/orddrid");
  1410. var orddd = model.getValue("/root/main/reservation/orddd");
  1411. var ordtm = model.getValue("/root/main/reservation/ordtm");
  1412. var nowDD = getCurrentDate();
  1413. var nowTM = getCurrentTime();
  1414. if( orddeptcd == '' || orddeptcd == null || orddeptcd == '-' || orddeptcd == ' ' ){
  1415. messageBox("진료과가 선택되지 않았습니다. 다시 시도해 주십시오.", "E999", "" );
  1416. model.setFocus("cmb_deptcd");
  1417. return false;
  1418. }else if( orddrid == '' || orddrid == null || orddrid == '-' || orddrid == ' ' ){
  1419. messageBox("진료의사가 선택되지 않았습니다. 다시 시도해 주십시오.", "E999", "" );
  1420. model.setFocus("cmb_orddrid");
  1421. return false;
  1422. }else if( ! isValidDateTime( orddd, "YYYYMMDD")){
  1423. messageBox("잘못된 진료일자를 입력하셨습니다. 다시 시도해 주십시오.", "E999", "" );
  1424. model.setFocus("ipt_orddd");
  1425. return false;
  1426. }else if( ! isValidDateTime( ordtm, "hhmm")){
  1427. messageBox("잘못된 진료시간을 입력하셨습니다. 다시 시도해 주십시오.", "E999", "" );
  1428. model.setFocus("ipt_ordtm");
  1429. return false;
  1430. }
  1431. var ordreqdesc = model.getValue("/root/main/reservation/ordreqdescyn");
  1432. //의뢰서 설명 여부 체크
  1433. if( ordreqdesc == '' || ordreqdesc == null || ordreqdesc == '-' || ordreqdesc == ' ')
  1434. {
  1435. messageBox("의뢰서 설명 여부가 선택되지 않았습니다. 다시 시도해 주십시오", "E999");
  1436. return false;
  1437. }
  1438. return true;
  1439. }
  1440. //예약/접수 정보 변경시 변경 할 수 있는 정보인지 또는 데이터를 올바르게 변경하였는지 등을 체크한다.
  1441. function fIsRsrvUpdtDataOK(){
  1442. var histstat = model.getValue("/root/main/reservation/histstat");
  1443. var dracptyn = model.getValue("/root/main/reservation/dracptyn");
  1444. var prcpgenryn = model.getValue("/root/main/reservation/prcpgenryn");
  1445. //예약이력
  1446. if( histstat == 'T' ){
  1447. return true;
  1448. //접수이력
  1449. }else if( histstat == 'R' ){
  1450. //의사접수여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  1451. if( dracptyn == 'Y' ){
  1452. messageBox("의사가 접수한 내역은 변경/취소할 수 없습니다.", "E999", "");
  1453. return false;
  1454. //처방발생여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  1455. }else if( prcpgenryn != '-' && prcpgenryn != '1A' && prcpgenryn != '1C'){
  1456. messageBox("처방이 발생한 내역은 변경/취소할 수 없습니다.", "E999", "");
  1457. return false;
  1458. }else{
  1459. var specordyn = model.getValue("/root/main/reservation/specorddescyn");
  1460. var specordyn_old = model.getValue("/root/tmp/reservation/specorddescyn");
  1461. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  1462. var fsexamflag_old = model.getValue("/root/tmp/reservation/fsexamflag");
  1463. //선택진료여부가 변경될 경우
  1464. if( specordyn != specordyn_old ){
  1465. model.setValue("/root/main/reservation/calcyn", 'Y');
  1466. model.setValue("/root/main/reservation/calcflag", 'Y');
  1467. messageBox("선택진료여부가 변경되었습니다. 진찰료에 대해 추가금액 또는 환불금액이 발생할 수 있습니다.", "I999", "");
  1468. }
  1469. //초재진구분이 변경될 경우
  1470. if( (fsexamflag != fsexamflag_old) && (fsexamflag == 'R' || fsexamflag_old=='R') ){
  1471. model.setValue("/root/main/reservation/calcyn", 'Y');
  1472. model.setValue("/root/main/reservation/calcflag", 'Y');
  1473. messageBox("초재진구분이 변경되었습니다. 진찰료에 대해 추가금액 또는 환불금액이 발생할 수 있습니다.", "I999", "");
  1474. }
  1475. return true;
  1476. }
  1477. //변경/취소할 수 없는 이력내역
  1478. }else{
  1479. messageBox("수정/삭제 하실 수 없는 외래이력내역입니다.", "E999", "");
  1480. return false;
  1481. }
  1482. }
  1483. //초재진여부 조회
  1484. function fGetFsexamFlag(){
  1485. //신환/구환 체크
  1486. if( model.getValue("/root/main/patinfo/patinfolist/pid") == '' || model.getValue("/root/main/patinfo/patinfolist/pid") == null ){
  1487. model.setValue("/root/hidden/source/checkfnexam", "1");
  1488. }else{
  1489. model.setValue("/root/hidden/source/checkfnexam", "2");
  1490. }
  1491. //구환환자
  1492. if( model.getValue("/root/hidden/source/checkfnexam") == 2 ){
  1493. var orddd = model.getValue("/root/main/reservation/orddd");
  1494. var nowDD = getCurrentDate();
  1495. var orddeptcd = model.getValue("/root/main/reservation/orddeptcd");
  1496. var orddrid = model.getValue("/root/main/reservation/orddrid");
  1497. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1498. var oldcretno = model.getValue("/root/tmp/reservation/cretno");
  1499. var oldacptseqno = model.getValue("/root/tmp/reservation/acptseqno");
  1500. var oldorddd = model.getValue("/root/tmp/reservation/orddd");
  1501. if( orddd == '' ){
  1502. orddd = nowDD;
  1503. }
  1504. if( isValidDateTime(orddd, "YYYYMMDD") && getDateInterval( nowDD, orddd) >= 0 ){
  1505. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  1506. model.setValue("/root/main/reservation/fsexamflag", '');
  1507. if( orddeptcd == '' ){ // || orddrid == '' ){
  1508. return false;
  1509. }else if( pid == '' ){
  1510. return false;
  1511. }else{
  1512. model.removeNodeset("/root/send/getfsexamflag");
  1513. model.makeValue("/root/send/getfsexamflag/flag", 'B');
  1514. model.makeValue("/root/send/getfsexamflag/mskind", 'M');
  1515. model.makeValue("/root/send/getfsexamflag/ordtype", 'O');
  1516. model.makeValue("/root/send/getfsexamflag/tmp", '-');
  1517. model.makeValue("/root/send/getfsexamflag/pid", pid);
  1518. model.makeValue("/root/send/getfsexamflag/orddrid", orddrid);
  1519. model.makeValue("/root/send/getfsexamflag/orddeptcd", orddeptcd);
  1520. model.makeValue("/root/send/getfsexamflag/orddd", orddd);
  1521. model.makeValue("/root/send/getfsexamflag/oldcretno", oldcretno);
  1522. model.makeValue("/root/send/getfsexamflag/oldacptseqno", oldacptseqno);
  1523. model.makeValue("/root/send/getfsexamflag/oldorddd", oldorddd);
  1524. model.makeNode("/root/main/result/fsexam");
  1525. if(submit("TRPMO00207")){
  1526. var fsexamflag = model.getValue("/root/main/result/fsexam/otpt/fsexamflag");
  1527. model.setValue("/root/main/reservation/fsexamflag", fsexamflag);
  1528. // model.alert(fsexamflag);
  1529. if( fsexamflag == "R" ){
  1530. //alert( fsexamflag );
  1531. opt_remfact.attribute("ref") = "/root/main/reservation/reexamrem";
  1532. model.refresh();
  1533. }else{
  1534. //alert( fsexamflag );
  1535. opt_remfact.attribute("ref") = "/root/main/reservation/fstexamrem";
  1536. model.refresh();
  1537. }
  1538. }
  1539. model.removeNodeset("/root/main/result/fsexam");
  1540. model.removeNodeset("/root/send/getfsexamflag");
  1541. }
  1542. }
  1543. //신환환자
  1544. }else{
  1545. model.setValue("/root/main/reservation/fsexamflag", 'F');
  1546. opt_remfact.attribute("ref") = "/root/main/reservation/fstexamrem";
  1547. model.refresh();
  1548. }
  1549. }
  1550. //2007-10-05 이동식 - 예약/변경/취소 후 화면 클리어, 주민등록번호는 하단에 따로 보관한다.
  1551. function fClearAfterSave(){
  1552. //주민등록번호 보관
  1553. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  1554. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1555. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  1556. //화면클리어
  1557. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1558. //fInitialize();
  1559. btn_clear.dispatch("DOMActivate");
  1560. //주민등록번호를 화면 하단에 저장.
  1561. model.setValue("/root/hidden/holdrrgstno/rrgstno1", rrgstno1);
  1562. model.setValue("/root/hidden/holdrrgstno/rrgstno2", rrgstno2);
  1563. model.setValue("/root/hidden/holdrrgstno/hngnm", hngnm);
  1564. model.refresh();
  1565. }
  1566. //END..
  1567. //2008-04-23일 김상민 - 취소시 변경 내역 체크
  1568. function fCnclCheck() {
  1569. if ( (model.getValue("/root/main/reservation/orddeptcd") ) != ( model.getValue("/root/tmp/reservation/orddeptcd")) ) return true; //진료과
  1570. if ( (model.getValue("/root/main/reservation/orddrid") ) != ( model.getValue("/root/tmp/reservation/orddrid")) ) return true; //진료의
  1571. if ( (model.getValue("/root/main/reservation/orddd") ) != ( model.getValue("/root/tmp/reservation/orddd")) ) return true; //진료일자
  1572. if ( (model.getValue("/root/main/reservation/ordtm") ) != ( model.getValue("/root/tmp/reservation/ordtm")) ) return true; //진료시간
  1573. if ( (model.getValue("/root/main/reservation/specorddescyn") ) != ( model.getValue("/root/tmp/reservation/specorddescyn")) ) return true; //선택진료설명여부
  1574. if ( (model.getValue("/root/main/reservation/insuchrgyn") ) != ( model.getValue("/root/tmp/reservation/insuchrgyn")) ) return true; //보험회사직원여부
  1575. if ( (model.getValue("/root/main/reservation/ordreqdescyn") ) != ( model.getValue("/root/tmp/reservation/ordreqdescyn")) ) return true; //의뢰서설명여부
  1576. if ( (model.getValue("/root/main/reservation/ordreqhospgrde") ) != ( model.getValue("/root/tmp/reservation/ordreqhospgrde")) ) return true; //의뢰서병원등급
  1577. if ( (model.getValue("/root/main/reservation/telrsrvrem") ) != ( model.getValue("/root/tmp/reservation/telrsrvrem")) ) return true; //통화내용
  1578. return false;
  1579. }
  1580. //예약시 생일 한번더 체크
  1581. function fGetBirthDD(){
  1582. model.resetInstanceNode("/root/main/patinfo/patinfolist/brthdd");
  1583. var brthdd;
  1584. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  1585. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1586. var gubn = rrgstno2.substr(0,1);
  1587. switch(gubn){
  1588. case '1' :
  1589. case '2' :
  1590. case '5' :
  1591. case '6' :
  1592. brthdd = '19'.concat(rrgstno1);
  1593. break;
  1594. case '3' :
  1595. case '4' :
  1596. case '7' :
  1597. case '8' :
  1598. brthdd = '20'.concat(rrgstno1);
  1599. break;
  1600. case '9' :
  1601. case '0' :
  1602. brthdd = '18'.concat(rrgstno1);
  1603. break;
  1604. default :
  1605. brthdd = '19'.concat(rrgstno1);
  1606. break;
  1607. }
  1608. if( isValidDateTime(model.getValue("/root/main/patinfo/patinfolist/brthdd")) == false){
  1609. model.setValue("/root/main/patinfo/patinfolist/brthdd",brthdd);
  1610. }
  1611. var sex = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1612. if( model.getValue("/root/main/patinfo/patinfolist/sex") != 'M' || model.getValue("/root/main/patinfo/patinfolist/sex") != 'F' ){
  1613. model.setValue("/root/main/patinfo/patinfolist/sex",getGender(sex));
  1614. }
  1615. var rrgstno = rrgstno1.concat(rrgstno2);
  1616. model.setValue("/root/main/patinfo/patinfolist/age",getFullAge(model.getValue("/root/main/patinfo/patinfolist/brthdd")));
  1617. return true;
  1618. }
  1619. function outhistColorChange(){
  1620. grd_outhist.allStyle("all","background-color") = "#ffffff"; // 배경색을 초기화 한다.
  1621. setRowStyle("grd_outhist", "2","Y","holiyn","equal"); //row의 색상을 변경한다.
  1622. grd_outhist.rebuild();
  1623. }
  1624. // 달력
  1625. var beforeId = "";
  1626. function fChangeButtonColor(){
  1627. var curMonth = model.getValue("/root/hidden/calendar/month");
  1628. //alert( curMonth );
  1629. switch( curMonth ){
  1630. case '01' : //button1.attribute("class") = "btn5_letter2";
  1631. btn_jan.disabled = true;
  1632. beforeId = 'btn_jan';
  1633. break;
  1634. case '02' : //button2.attribute("class") = "btn5_letter2";
  1635. btn_feb.disabled = true;
  1636. beforeId = 'btn_feb';
  1637. break;
  1638. case '03' : //button3.attribute("class") = "btn5_letter2";
  1639. btn_mar.disabled = true;
  1640. beforeId = 'btn_mar';
  1641. break;
  1642. case '04' : //button4.attribute("class") = "btn5_letter2";
  1643. btn_apr.disabled = true;
  1644. beforeId = 'btn_apr';
  1645. break;
  1646. case '05' : //button5.attribute("class") = "btn5_letter2";
  1647. btn_may.disabled = true;
  1648. beforeId = 'btn_may';
  1649. break;
  1650. case '06' : //button6.attribute("class") = "btn5_letter2";
  1651. btn_jun.disabled = true;
  1652. beforeId = 'btn_jun';
  1653. break;
  1654. case '07' : //button7.attribute("class") = "btn5_letter2";
  1655. btn_jul.disabled = true;
  1656. beforeId = 'btn_jul';
  1657. break;
  1658. case '08' : //button8.attribute("class") = "btn5_letter2";
  1659. btn_aug.disabled = true;
  1660. beforeId = 'btn_aug';
  1661. break;
  1662. case '09' : //button9.attribute("class") = "btn5_letter2";
  1663. btn_sep.disabled = true;
  1664. beforeId = 'btn_sep';
  1665. break;
  1666. case '10' : //button10.attribute("class") = "btn5_letter2";
  1667. btn_oct.disabled = true;
  1668. beforeId = 'btn_oct';
  1669. break;
  1670. case '11' : //button11.attribute("class") = "btn5_letter2";
  1671. btn_nov.disabled = true;
  1672. beforeId = 'btn_nov';
  1673. break;
  1674. case '12' : //button12.attribute("class") = "btn5_letter2";
  1675. btn_dec.disabled = true;
  1676. beforeId = 'btn_dec';
  1677. break;
  1678. }
  1679. }
  1680. function initCalendar() {
  1681. if( model.getValue("/root/hidden/calendar/year") == "" || model.getValue("/root/hidden/calendar/month") == "" ){
  1682. var curDate = getCurrentDate().toDate();
  1683. model.setValue("/root/hidden/calendar/year", curDate.getDateFormat('YYYY'));
  1684. model.setValue("/root/hidden/calendar/month", curDate.getDateFormat('MM'));
  1685. model.refresh();
  1686. setCalendar(curDate);
  1687. }
  1688. }
  1689. function fGetHospitalCalendar(){
  1690. var dd = (model.getValue("/root/hidden/calendar/year")).concat(model.getValue("/root/hidden/calendar/month"));
  1691. model.makeNode("/root/send/date");
  1692. model.setValue("/root/send/date",dd);
  1693. if (submit("TRPMB01001") == true) return true;
  1694. else return false;
  1695. }
  1696. function setCalendar(dateObj) {
  1697. //서버로 자료 요청
  1698. if ( fGetHospitalCalendar() != true ){
  1699. messageBox("병원일정 데이터를 가져올 수", "I004");
  1700. }
  1701. // 그리드 초기화
  1702. model.removeNodeset("/root/hidden/calendar/weeklist/list");
  1703. //grd_calendar.rebuild()
  1704. dateObj.setDate(1);
  1705. var startDay = dateObj.getDay();
  1706. var days = dateObj.getMonthDay();
  1707. var rows = Math.ceil( ( startDay + days ) / 7 );
  1708. for( var i = 0; i < rows; i++ )
  1709. grd_calendar.addRow(false);
  1710. grd_calendar.rebuild();
  1711. grd_calendar.rebuildStyle();
  1712. var rowIndex = grd_calendar.fixedRows;
  1713. var colIndex = startDay;
  1714. var dutflag = '';
  1715. for( var i = 1; i <= days; i++ ) {
  1716. //write date
  1717. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  1718. grd_calendar.cellStyle("font-weight", rowIndex, colIndex) = "bold";
  1719. //write memo
  1720. grd_calendar.valueMatrix(rowIndex , colIndex + 7) = fGetCalendarMemo( i );
  1721. dutflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/dutflag");
  1722. if( dutflag == '8' ){ //'0' 평일, '4' 토요일, '8' 휴일
  1723. fSetTextColor(rowIndex, colIndex, '#ff0000');
  1724. }
  1725. colIndex++;
  1726. if( colIndex == 7 ) {
  1727. colIndex = 0;
  1728. rowIndex++;
  1729. }
  1730. }
  1731. grd_calendar.resizeCells();
  1732. }
  1733. function setCalendar2(dateObj) {
  1734. // 그리드 초기화
  1735. model.removeNodeset("/root/hidden/calendar/weeklist/list");
  1736. dateObj.setDate(1);
  1737. var startDay = dateObj.getDay();
  1738. var days = dateObj.getMonthDay();
  1739. var rows = Math.ceil( ( startDay + days ) / 7 );
  1740. for( var i = 0; i < rows; i++ )
  1741. grd_calendar.addRow(false);
  1742. grd_calendar.rebuild();
  1743. grd_calendar.rebuildStyle();
  1744. var rowIndex = grd_calendar.fixedRows;
  1745. var colIndex = startDay;
  1746. var ampmflag = '';
  1747. var dutflag = '';
  1748. var ordendresn = '';
  1749. //var holiflag = '';
  1750. var reglscheflag = '';
  1751. for( var i = 1; i <= days; i++ ) {
  1752. //write date
  1753. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  1754. grd_calendar.cellStyle("font-weight", rowIndex, colIndex) = "bold";
  1755. ampmflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ampmflag");
  1756. dutflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/dutflag");
  1757. ordendresn = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1758. ordendresnmin = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresnmin"); //휴진구분
  1759. reglscheflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/reglscheflag");
  1760. //write memo
  1761. if((reglscheflag != 'X') || (ordendresnmin != 'H' && ordendresnmin != 'T')){ //검사일정이고, 마감이 아닐경우 정원표시 안함.!
  1762. //if((reglscheflag != 'X') || (ordendresnmin != "-")){ //검사일정이고, 마감일 경우 정원표시 안함.!
  1763. grd_calendar.valueMatrix(rowIndex , colIndex + 7) = fGetCalendarMemo2( i );
  1764. grd_calendar.tooltipText(rowIndex, colIndex) = ordendresn;
  1765. grd_calendar.tooltipText(rowIndex, colIndex + 7) = ordendresn;
  1766. }
  1767. if( ordendresnmin != 'H' && ordendresnmin != 'T'){
  1768. //if( ordendresnmin == '-' ){
  1769. if( ampmflag == '1' ){ //오전
  1770. if( reglscheflag == 'Y' ){ //정규일정
  1771. fSetBGColor(rowIndex, colIndex, '#ffff99');
  1772. }else if( reglscheflag == 'N' ){ //임시일정
  1773. fSetBGColor(rowIndex, colIndex, '#c9c299');
  1774. grd_calendar.tooltipText(rowIndex, colIndex) = '임시';
  1775. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '임시';
  1776. }else if( reglscheflag == 'Z' ){ //대진
  1777. fSetBGColor(rowIndex, colIndex, '#c9c299');
  1778. grd_calendar.tooltipText(rowIndex, colIndex) = '대진';
  1779. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '대진';
  1780. }
  1781. }else if( ampmflag == '10' ){ //오후
  1782. if( reglscheflag == 'Y' ){ //정규일정
  1783. fSetBGColor(rowIndex, colIndex, '#ccffff');
  1784. }else if( reglscheflag == 'N' ){ //임시일정
  1785. fSetBGColor(rowIndex, colIndex, '#ffccff');
  1786. grd_calendar.tooltipText(rowIndex, colIndex) = '임시';
  1787. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '임시';
  1788. }else if( reglscheflag == 'Z' ){ //대진
  1789. fSetBGColor(rowIndex, colIndex, '#ffccff');
  1790. grd_calendar.tooltipText(rowIndex, colIndex) = '대진';
  1791. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '대진';
  1792. }
  1793. }else if( ampmflag == '11' || ampmflag == '110' || ampmflag == '101' || ampmflag == '111' || ampmflag == '100'){ //전일, 야간포함
  1794. if( reglscheflag == 'Y' ){ //정규일정
  1795. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1796. }else if( reglscheflag == 'N' ){ //임시일정
  1797. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1798. grd_calendar.tooltipText(rowIndex, colIndex) = '임시';
  1799. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '임시';
  1800. }else if( reglscheflag == 'Z' ){ //대진
  1801. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1802. grd_calendar.tooltipText(rowIndex, colIndex) = '대진';
  1803. grd_calendar.tooltipText(rowIndex, colIndex + 7) = '대진';
  1804. }
  1805. }
  1806. }else{
  1807. if( ordendresnmin == 'H' ){
  1808. fSetBGColor(rowIndex, colIndex, '#ffffff'); //휴진마감
  1809. }else if( ordendresnmin == 'T' ){
  1810. fSetBGColor(rowIndex, colIndex, '#999999'); //부분마감
  1811. }
  1812. }
  1813. if( dutflag == '8' ){
  1814. fSetTextColor(rowIndex, colIndex, '#ff0000');
  1815. }
  1816. colIndex++;
  1817. if( colIndex == 7 ) {
  1818. colIndex = 0;
  1819. rowIndex++;
  1820. }
  1821. }
  1822. grd_calendar.resizeCells();
  1823. }
  1824. //그리드의 배경색상을 변경한다.
  1825. function fSetBGColor(calRow, calCol, bgColor) {
  1826. if( calCol < 7 ){
  1827. //calCol = calCol + 7;
  1828. grd_calendar.cellStyle("background-color", calRow, calCol) = bgColor;
  1829. grd_calendar.cellStyle("background-color", calRow, calCol + 7) = bgColor;
  1830. }else{
  1831. //calCol = calCol - 7;
  1832. grd_calendar.cellStyle("background-color", calRow, calCol) = bgColor;
  1833. grd_calendar.cellStyle("background-color", calRow, calCol - 7) = bgColor;
  1834. }
  1835. }
  1836. //그리드의 폰트 색상을 변경한다.
  1837. function fSetTextColor(calRow, calCol, bgColor) {
  1838. if( calCol < 7 ){
  1839. //calCol = calCol + 7;
  1840. grd_calendar.cellStyle("color", calRow, calCol) = bgColor;
  1841. grd_calendar.cellStyle("color", calRow, calCol + 7) = bgColor;
  1842. }else{
  1843. //calCol = calCol - 7;
  1844. grd_calendar.cellStyle("color", calRow, calCol) = bgColor;
  1845. grd_calendar.cellStyle("color", calRow, calCol - 7) = bgColor;
  1846. }
  1847. }
  1848. function setCellColor(calRow, calCol) {
  1849. var isMonth = model.getValue("/root/hidden/calendar/month");
  1850. var isYear = model.getValue("/root/hidden/calendar/year");
  1851. var isDate = (isYear+isMonth+1).toDate();
  1852. setCalendar2(isDate);
  1853. if( calCol < 7 ){
  1854. //calCol = calCol + 7;
  1855. grd_calendar.cellStyle("background-color", calRow, calCol) = "#c0c0c0";
  1856. grd_calendar.cellStyle("background-color", calRow, calCol + 7) = "#c0c0c0";
  1857. }else{
  1858. //calCol = calCol - 7;
  1859. grd_calendar.cellStyle("background-color", calRow, calCol) = "#c0c0c0";
  1860. grd_calendar.cellStyle("background-color", calRow, calCol - 7) = "#c0c0c0";
  1861. }
  1862. }
  1863. //해당 일자의 병원 일정 정보를 얻어 온다
  1864. function fGetCalendarMemo( i )
  1865. {
  1866. var holiflag = "";
  1867. var holinm = "";
  1868. holiflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holiflag");
  1869. holinm = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holinm");
  1870. if( holinm == '-' ){
  1871. holinm = "";
  1872. }
  1873. return holinm;
  1874. }
  1875. //달력에 예약인원 및 예약현황 메모
  1876. function fGetCalendarMemo2( i )
  1877. {
  1878. //var holiflag = "";
  1879. //var dutflag = "";
  1880. var holinm = "";
  1881. var ordendresn = "";
  1882. var fstexamcnt = 0;
  1883. var reexamcnt = 0;
  1884. var totalexamcnt = 0;
  1885. //var fstexamcap = 0;
  1886. //var reexamcap = 0;
  1887. var totalexamcap = 0;
  1888. var totalrsrvcnt = 0;
  1889. var telrsrvcnt = 0;
  1890. var reglscheflag = '';
  1891. holinm = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holinm");
  1892. if( holinm == '-' ){
  1893. holinm = "";
  1894. }
  1895. ordendresn = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1896. ordendresnmin = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresnmin");
  1897. var caloption = model.getValue("/root/main/caloption");
  1898. var retValue = "";
  1899. var memo = "";
  1900. var checkSche = '';
  1901. //예약 현황
  1902. if( caloption == '2' ){
  1903. totalrsrvcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalrsrvcnt");
  1904. telrsrvcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/telrsrvcnt");
  1905. totalexamcap = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalexamcap");
  1906. //의사일정이 있을 경우
  1907. if( ordendresn == "" || ordendresn == null || ordendresn == "0" || ordendresn == "00" || ordendresn == "-"){
  1908. memo = telrsrvcnt + "/" + totalrsrvcnt;
  1909. checkSche = totalexamcap + totalrsrvcnt;
  1910. if( memo.getTrim() == '/' || checkSche.getTrim() == '0'){
  1911. memo = '';
  1912. }
  1913. retValue = holinm + "\n" + memo;
  1914. }else{ //의사진료일정이 없을 경우
  1915. memo = telrsrvcnt + "/" + totalrsrvcnt;
  1916. checkSche = totalexamcap + totalrsrvcnt;
  1917. if( memo.getTrim() == '/' || checkSche.getTrim() == '0'){
  1918. memo = '';
  1919. }
  1920. if(ordendresnmin == 'H'){
  1921. retValue = "휴진" + "\n" + memo;
  1922. }else if(ordendresnmin == 'T'){
  1923. retValue = "당일" + "\n" + memo;
  1924. }else{
  1925. retValue = "\n" + memo;
  1926. }
  1927. }
  1928. //예약가능 인원
  1929. }else{
  1930. fstexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/fstexamcnt");
  1931. reexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/reexamcnt");
  1932. totalexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalexamcnt");
  1933. totalexamcap = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalexamcap");
  1934. if( ordendresn == "" || ordendresn == null || ordendresn == "0" || ordendresn == "00" || ordendresn == "-"){
  1935. if( totalexamcap == '0' || totalexamcap == ''){
  1936. memo = fstexamcnt + "/" + reexamcnt;
  1937. if( memo.getTrim() == '/' || memo.getTrim() == '0/0'){
  1938. memo = '';
  1939. }
  1940. retValue = holinm + "\n" + memo;
  1941. //전일마감
  1942. if( ordendresn == ordendresnmin ){
  1943. //retValue = holinm + "\n" + fstexamcnt + "/" + reexamcnt;
  1944. }else { //부분마감
  1945. retValue = holinm + "\n" + memo;
  1946. }
  1947. }else{
  1948. retValue = holinm + "\n" + totalexamcnt;
  1949. }
  1950. }else{
  1951. if( totalexamcap == '0' || totalexamcap == ''){
  1952. memo = fstexamcnt + "/" + reexamcnt;
  1953. if( memo.getTrim() == '/' || memo.getTrim() == '0/0'){
  1954. memo = '';
  1955. }
  1956. //전일마감
  1957. if( ordendresn == ordendresnmin ){
  1958. //retValue = holinm + "\n" + fstexamcnt + "/" + reexamcnt;
  1959. }else { //부분마감
  1960. if(ordendresnmin == 'H'){
  1961. retValue = "휴진" + "\n" + memo;
  1962. }else if(ordendresnmin == 'T'){
  1963. retValue = "당일" + "\n" + memo;
  1964. }else{
  1965. retValue = "\n" + memo;
  1966. }
  1967. }
  1968. }else{
  1969. }
  1970. }
  1971. }
  1972. return retValue;
  1973. }
  1974. function fSetMonth(newMonth){
  1975. model.setValue("/root/hidden/calendar/month", newMonth);
  1976. var isMonth = model.getValue("/root/hidden/calendar/month");
  1977. var isYear = model.getValue("/root/hidden/calendar/year");
  1978. var isDate = (isYear+isMonth+1).toDate();
  1979. fGetCalendarData();
  1980. }
  1981. function fGetCalendar(arg) {
  1982. var isMonth = model.getValue("/root/hidden/calendar/month");
  1983. var isYear = model.getValue("/root/hidden/calendar/year");
  1984. if(model.getValue("/root/hidden/calendar/month") < arg) {
  1985. var num = arg- isMonth ;
  1986. var isDate = (isYear+isMonth+1).toDate().getAddDate(+num,'M');
  1987. }
  1988. if(model.getValue("/root/hidden/calendar/month") > arg) {
  1989. var num = isMonth - arg ;
  1990. var isDate = (isYear+isMonth+1).toDate().getAddDate(-num,'M');
  1991. }
  1992. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  1993. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  1994. model.refresh();
  1995. setCalendar(isDate);
  1996. }
  1997. ]]>
  1998. </script>
  1999. </xhtml:head>
  2000. <xhtml:body guideline="1,1196;" style="vertical-align:top; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  2001. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  2002. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:93px; height:14px; ">콜센터접수</caption>
  2003. </group>
  2004. <group id="group2" style="left:0px; top:15px; width:1195; height:719px; ">
  2005. <line id="line5" class="line_2" style="x1:0px; y1:152px; x2:397px; y2:152px; "/>
  2006. <line id="line4" class="line_2" style="x1:0px; y1:127px; x2:397px; y2:127px; "/>
  2007. <line id="line3" class="line_2" style="x1:0px; y1:103px; x2:397px; y2:103px; "/>
  2008. <line id="line2" class="line_2" style="x1:0px; y1:52px; x2:397px; y2:52px; "/>
  2009. <input id="ipt_hometel" ref="/root/main/patinfo/patinfolist/hometel" class="input_default" navindex="6" maxlength="13" appearance="input" style="left:88px; top:105px; width:127px; height:19px; "/>
  2010. <caption id="caption1" class="tit_2" style="left:5px; top:10px; width:74px; height:13px; ">인적사항</caption>
  2011. <input id="ipt_hngnm" ref="/root/main/patinfo/patinfolist/hngnm" class="input_s_essential" navindex="3" imemode="hangul" style="left:88px; top:55px; width:103px; height:19px; ">
  2012. <script type="javascript" ev:event="onkeypress">
  2013. <![CDATA[
  2014. if (event.keyCode == "13")
  2015. {
  2016. model.setValue("/root/main/patinfo/patinfolist/hngnm", ipt_hngnm.currentText);
  2017. model.setFocus("ipt_rrgstno1");
  2018. }
  2019. ]]>
  2020. </script>
  2021. </input>
  2022. <input id="ipt_engnm" ref="/root/main/patinfo/patinfolist/engnm" class="input_default" navindex="4" appearance="input" style="left:219px; top:55px; width:182px; height:19px; "/>
  2023. <input id="ipt_mpphontel" ref="/root/main/patinfo/patinfolist/mpphontel" class="input_default" navindex="5" maxlength="13" appearance="input" style="left:219px; top:105px; width:182px; height:19px; "/>
  2024. <input id="ipt_detladdr" ref="/root/main/patinfo/patinfolist/detladdr" class="input_default" navindex="9" appearance="input" style="left:87px; top:155px; width:315px; height:19px; "/>
  2025. <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:401px; y2:25px; "/>
  2026. <input id="ipt_rrgstno1" ref="/root/main/patinfo/patinfolist/rrgstno1" class="input_s_essential" navindex="1" format="999999" style="left:88px; top:80px; width:60px; height:19px; ">
  2027. <script type="javascript" ev:event="onkeypress">
  2028. <![CDATA[
  2029. var hngnm = ipt_hngnm.currentText;
  2030. var rrgstno1 = ipt_rrgstno1.currentText;
  2031. var rrgstno2 = ipt_rrgstno2.currentText;
  2032. if( hngnm.length > 1 ){
  2033. model.setValue("/root/hidden/source/srchcond", "4");
  2034. model.setValue("/root/hidden/source/hngnm", hngnm);
  2035. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  2036. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  2037. }else{
  2038. model.setValue("/root/hidden/source/srchcond", "3");
  2039. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  2040. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  2041. }
  2042. inputEnterKey("btn_search", "DOMActivate");
  2043. ]]>
  2044. </script>
  2045. </input>
  2046. <input id="ipt_pid" ref="/root/main/patinfo/patinfolist/pid" class="input_s_essential" appearance="input" style="left:88px; top:31px; width:127px; height:19px; ">
  2047. <script type="javascript" ev:event="onkeypress">
  2048. <![CDATA[
  2049. if(event.keyCode == "13") {
  2050. //환자등록번호 체크
  2051. if(ipt_pid.currentText.length > 0 ){
  2052. //조회 조건 세팅.
  2053. model.setValue("/root/hidden/source/srchcond", "1");
  2054. model.setValue("/root/hidden/source/pid", ipt_pid.currentText);
  2055. model.resetInstanceNode("/root/main/result");
  2056. model.makeNode("/root/main/result/patinfo");
  2057. if(submit("TRPMC02500")){
  2058. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  2059. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  2060. model.setValue("/root/main/popupendflag", "ok");
  2061. //구환 표시
  2062. model.setValue("/root/hidden/source/checkfnexam", "2");
  2063. //환자특이내역 존재여부 표시
  2064. var patspcfyn = model.getValue("/root/main/patinfo/patinfolist/patspcfyn");
  2065. //alert( patspcfyn );
  2066. if( patspcfyn == 'Y' || patspcfyn == 'y'){
  2067. btn_patspcfyn.attribute("background-color") = "#ff0000";
  2068. //alert( 'Y' );
  2069. }else{
  2070. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  2071. //alert( 'N' );
  2072. }
  2073. //감면 내역 있으면 표시
  2074. var pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  2075. if( pid != '' && pid != ' ' && pid != '-' ){
  2076. model.setValue( "/root/send/pid", pid);
  2077. submit("TRPMO00205");
  2078. }
  2079. //감면 내역 있으면 표시 끝
  2080. fSearch();
  2081. }else{
  2082. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  2083. model.resetInstanceNode("/root/main/reservation");
  2084. model.setValue("/root/main/popupendflag", "cancel");
  2085. messageBox("없는 환자 번호 입니다.", "E999", "");
  2086. model.removenode("/root/main/outhist/outhistlist");
  2087. //model.resetInstanceNode("");
  2088. }
  2089. }
  2090. }else{
  2091. messageBox("환자등록번호를 정확히", "C001");
  2092. }
  2093. //팝업으로 넘겨준 데이터 초기화
  2094. var checkfnexam = model.getValue("/root/hidden/source/checkfnexam");
  2095. model.resetInstanceNode("/root/hidden/source");
  2096. model.setValue("/root/hidden/source/checkfnexam", checkfnexam);
  2097. outhistColorChange();
  2098. model.refresh();
  2099. }
  2100. ]]>
  2101. </script>
  2102. <script type="javascript" ev:event="xforms-value-changed">
  2103. <![CDATA[
  2104. ]]>
  2105. </script>
  2106. </input>
  2107. <input id="opt_age" ref="/root/main/patinfo/patinfolist/age" class="input_default" appearance="input" style="left:346px; top:31px; width:55px; height:19px; "/>
  2108. <caption id="caption10" class="cell_1" style="left:0px; top:129px; width:85px; height:23px; vertical-align:middle; ">우편번호</caption>
  2109. <caption id="caption11" class="cell_1" style="left:0px; top:54px; width:85px; height:23px; vertical-align:middle; ">성명[한/영]</caption>
  2110. <caption id="caption13" class="cell_1" style="left:0px; top:154px; width:85px; height:23px; vertical-align:middle; ">하위주소</caption>
  2111. <caption id="caption14" class="cell_1" style="left:0px; top:79px; width:85px; height:23px; vertical-align:middle; ">주민번호</caption>
  2112. <caption id="caption7" class="cell_1" style="left:0px; top:30px; width:85px; height:23px; vertical-align:middle; ">등록번호</caption>
  2113. <caption id="caption8" class="cell_1" style="left:219px; top:30px; width:67px; height:23px; vertical-align:middle; ">성별/나이</caption>
  2114. <caption id="caption9" class="cell_1" style="left:0px; top:104px; width:85px; height:23px; vertical-align:middle; ">연락처/휴대폰</caption>
  2115. <input id="ipt_rrgstno2" ref="/root/main/patinfo/patinfolist/rrgstno2" class="input_s_essential" navindex="2" autonext="false" format="9999999" style="left:151px; top:80px; width:63px; height:19px; ">
  2116. <script type="javascript" ev:event="onkeypress">
  2117. <![CDATA[
  2118. if (event.keyCode == "13"){
  2119. var hngnm = ipt_hngnm.currentText;
  2120. var rrgstno1 = ipt_rrgstno1.currentText;
  2121. var rrgstno2 = ipt_rrgstno2.currentText;
  2122. var rgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  2123. var rgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  2124. if( hngnm.length > 1 ){
  2125. model.setValue("/root/hidden/source/srchcond", "4");
  2126. model.setValue("/root/hidden/source/hngnm", hngnm);
  2127. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  2128. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  2129. }else{
  2130. model.setValue("/root/hidden/source/srchcond", "3");
  2131. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  2132. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  2133. }
  2134. //model.alert(rrgstno2);
  2135. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", rrgstno2);
  2136. if(rgstno1 == "000000" ){
  2137. messageBox("주민번호 앞6자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  2138. model.setFocus("ipt_rrgstno1");
  2139. return;
  2140. }else if(rgstno2 == "0000000 "){
  2141. messageBox("주민번호 뒤7자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  2142. model.setFocus("ipt_rrgstno2");
  2143. return;
  2144. }
  2145. if( rrgstno1.length == 6 && rrgstno2.length == 7 ){
  2146. if(submit("TRPMC02500")){
  2147. if( getNodesetCount("/root/main/result/patinfo/patinfolist") == 1 ){
  2148. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  2149. model.setValue("/root/main/popupendflag", "ok");
  2150. //구환 표시
  2151. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 2 ){
  2152. model.setValue("/root/hidden/source/checkfnexam", "2");
  2153. }else{
  2154. model.setValue("/root/hidden/source/checkfnexam", "1");
  2155. }
  2156. //환자특이내역 존재여부 표시
  2157. var patspcfyn = model.getValue("/root/main/patinfo/patinfolist/patspcfyn");
  2158. //alert( patspcfyn );
  2159. if( patspcfyn == 'Y' || patspcfyn == 'y'){
  2160. btn_patspcfyn.attribute("background-color") = "#ff0000";
  2161. //alert( 'Y' );
  2162. }else{
  2163. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  2164. //alert( 'N' );
  2165. }
  2166. //감면 내역 있으면 표시
  2167. var pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  2168. if( pid != '' && pid != ' ' && pid != '-' ){
  2169. model.setValue( "/root/send/pid", pid);
  2170. submit("TRPMO00205");
  2171. }
  2172. //감면 내역 있으면 표시 끝
  2173. fSearch();
  2174. }else if(getNodesetCount("/root/main/result/patinfo/patinfolist") > 1 ){
  2175. inputEnterKey("btn_search", "DOMActivate");
  2176. }else{
  2177. model.setValue("/root/main/popupendflag", "cancel");
  2178. messageBox("일치하는 환자가 없습니다.", "E999", "");
  2179. }
  2180. }
  2181. }else{
  2182. inputEnterKey("btn_search", "DOMActivate");
  2183. }
  2184. fGetSexAgeBirthDD();
  2185. //외래이력 휴진일 구분
  2186. outhistColorChange();
  2187. model.refresh();
  2188. }
  2189. ]]>
  2190. </script>
  2191. </input>
  2192. <input id="ipt_zipcd1" ref="/root/main/patinfo/patinfolist/zipcd1" class="input_default" appearance="input" style="left:88px; top:130px; width:30px; height:19px; "/>
  2193. <output id="opt_addr" ref="/root/main/patinfo/patinfolist/addr" class="output_fix" appearance="output" style="left:195px; top:130px; width:207px; height:19px; "/>
  2194. <input id="ipt_zipcd2" ref="/root/main/patinfo/patinfolist/zipcd2" class="input_default" appearance="input" style="left:121px; top:130px; width:30px; height:19px; "/>
  2195. <input id="ipt_zipcdseq" ref="/root/main/patinfo/patinfolist/zipcdseq" class="input_default" appearance="input" style="left:154px; top:130px; width:15px; height:19px; "/>
  2196. <button id="btn_srchzipcd" accesskey="f2" class="icon_search" navindex="8" style="left:175px; top:131px; width:16px; height:16px; ">
  2197. <caption/>
  2198. <script type="javascript" ev:event="DOMActivate">
  2199. <![CDATA[
  2200. zbcfOpenZipCodeList("combination", "", "/root/main/patinfo/patinfolist/zipcd1", "/root/main/patinfo/patinfolist/zipcd2", "/root/main/patinfo/patinfolist/zipcdseq", "/root/main/patinfo/patinfolist/addr")
  2201. ]]>
  2202. </script>
  2203. </button>
  2204. <select1 id="cmb_sex" ref="/root/main/patinfo/patinfolist/sex" class="combo_default" appearance="minimal" style="left:289px; top:31px; width:54px; height:19px; ">
  2205. <choices>
  2206. <itemset nodeset="/root/init/P0313list/P0313">
  2207. <label ref="cdnm"/>
  2208. <value ref="cdid"/>
  2209. </itemset>
  2210. </choices>
  2211. </select1>
  2212. <button id="button4" class="btn5_letter6" style="left:306px; top:4px; width:86px; height:19px; ">
  2213. <caption>인적정보수정</caption>
  2214. <script type="javascript" ev:event="DOMActivate">
  2215. <![CDATA[
  2216. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2217. var acptdd = model.getValue("/root/main/patinfo/patinfolist/acptdd");
  2218. var acptno = model.getValue("/root/main/patinfo/patinfolist/acptno");
  2219. if( pid.length > 1 ){
  2220. model.makeNode("/root/main/patinfo/patinfolist/flag");
  2221. model.setValue("/root/main/patinfo/patinfolist/flag", 's')
  2222. if( ! pamCompareNodes( "/root/main/patinfo/patinfolist", "/root/tmp/patinfolist" ) ){
  2223. if( model.getValue("/root/tmp/patinfolist/pid") != ''){
  2224. model.makeNode("/root/main/patinfo/patinfolist/oldpid");
  2225. model.setValue("/root/main/patinfo/patinfolist/oldpid", model.getValue("/root/tmp/patinfolist/pid"));
  2226. if( submit("TXPMO00208") ){
  2227. model.setValue("/root/main/popupendflag", "ok");
  2228. fSearch();
  2229. messageBox("환자정보가 정상적으로 수정되었습니다.", "I999", "");
  2230. }
  2231. }
  2232. }else{
  2233. messageBox("변경된 사항이 없거나 환자정보가 잘못 수정되었습니다. 환자인적사항을 재조회 후 다시 수정하세요.", "E999", "");
  2234. return false;
  2235. }
  2236. }else{
  2237. model.makeNode("/root/main/patinfo/patinfolist/flag");
  2238. model.setValue("/root/main/patinfo/patinfolist/flag", 'f')
  2239. if( ! pamCompareNodes( "/root/main/patinfo/patinfolist", "/root/tmp/patinfolist" ) ){
  2240. if( model.getValue("/root/tmp/patinfolist/rrgstno1") != ''
  2241. && model.getValue("/root/tmp/patinfolist/rrgstno2") != ''
  2242. && model.getValue("/root/tmp/patinfolist/hngnm") != ''){
  2243. model.makeNode("/root/main/patinfo/patinfolist/oldhngnm");
  2244. model.makeNode("/root/main/patinfo/patinfolist/oldrrgstno1");
  2245. model.makeNode("/root/main/patinfo/patinfolist/oldrrgstno2");
  2246. model.setValue("/root/main/patinfo/patinfolist/oldhngnm", model.getValue("/root/tmp/patinfolist/hngnm"));
  2247. model.setValue("/root/main/patinfo/patinfolist/oldrrgstno1", model.getValue("/root/tmp/patinfolist/rrgstno1"));
  2248. model.setValue("/root/main/patinfo/patinfolist/oldrrgstno2", model.getValue("/root/tmp/patinfolist/rrgstno2"));
  2249. if( submit("TXPMO00208") ){
  2250. model.setValue("/root/main/popupendflag", "ok");
  2251. fSearch();
  2252. messageBox("환자정보가 정상적으로 수정되었습니다.", "I999", "");
  2253. }
  2254. }
  2255. }else{
  2256. messageBox("변경된 사항이 없거나 환자정보가 잘못 수정되었습니다. 환자인적사항을 재조회 후 다시 수정하세요.", "E999", "");
  2257. return false;
  2258. }
  2259. }
  2260. ]]>
  2261. </script>
  2262. </button>
  2263. <line id="line6" class="line_2" style="x1:0px; y1:77px; x2:397px; y2:77px; "/>
  2264. <line id="line7" class="line_3" style="x1:0px; y1:179px; x2:402px; y2:179px; "/>
  2265. <switch id="switch1" style="left:0px; top:205px; width:1185px; height:510px; ">
  2266. <case id="case1">
  2267. <line id="line51" class="line_1" style="x1:565px; y1:25px; x2:952px; y2:25px; "/>
  2268. <caption id="caption32" class="tit_2" style="left:964px; top:10px; width:144px; height:13px; ">외래등록내역</caption>
  2269. <caption id="caption38" class="tit_2" style="left:570px; top:10px; width:154px; height:13px; ">외래등록내역</caption>
  2270. <group id="group4" style="left:565px; top:30px; width:390px; height:465px; ">
  2271. <shape id="rectangle1" class="calendar_header" appearance="rectangle" style="left:0px; top:1px; width:387px; height:30px; "/>
  2272. <group id="group5" style="left:15px; top:38px; width:360px; height:30px; ">
  2273. <button id="btn_jan" class="icon_month" style="left:0px; top:3px; width:27px; height:27px; ">
  2274. <caption>1</caption>
  2275. </button>
  2276. <button id="btn_feb" class="icon_month" style="left:30px; top:3px; width:27px; height:27px; ">
  2277. <caption>2</caption>
  2278. </button>
  2279. <button id="btn_mar" class="icon_month" style="left:60px; top:3px; width:27px; height:27px; ">
  2280. <caption>3</caption>
  2281. </button>
  2282. <button id="btn_apr" class="icon_month" style="left:90px; top:3px; width:27px; height:27px; ">
  2283. <caption>4</caption>
  2284. </button>
  2285. <button id="btn_may" class="icon_month" style="left:120px; top:3px; width:27px; height:27px; ">
  2286. <caption>5</caption>
  2287. </button>
  2288. <button id="btn_jun" class="icon_month" style="left:150px; top:3px; width:27px; height:27px; ">
  2289. <caption>6</caption>
  2290. </button>
  2291. <button id="btn_jul" class="icon_month" style="left:180px; top:3px; width:27px; height:27px; ">
  2292. <caption>7</caption>
  2293. </button>
  2294. <button id="btn_aug" class="icon_month" style="left:210px; top:3px; width:27px; height:27px; ">
  2295. <caption>8</caption>
  2296. </button>
  2297. <button id="btn_sep" class="icon_month" style="left:240px; top:3px; width:27px; height:27px; ">
  2298. <caption>9</caption>
  2299. </button>
  2300. <button id="btn_oct" class="icon_month" style="left:270px; top:3px; width:27px; height:27px; ">
  2301. <caption>10</caption>
  2302. </button>
  2303. <button id="btn_nov" class="icon_month" style="left:300px; top:3px; width:27px; height:27px; ">
  2304. <caption>11</caption>
  2305. </button>
  2306. <button id="btn_dec" class="icon_month" style="left:330px; top:3px; width:27px; height:27px; ">
  2307. <caption>12</caption>
  2308. </button>
  2309. <script type="javascript" ev:event="onclick">
  2310. <![CDATA[
  2311. var trgObj = document.controls.item(event.target);
  2312. if( trgObj.elementName == "xforms:button" ) {
  2313. var btnMark = trgObj.label;
  2314. if(beforeId != ""){
  2315. beforeObj = document.controls(beforeId);
  2316. if(beforeObj != null) beforeObj.disabled = "false";
  2317. }
  2318. trgObj.disabled = "true";
  2319. beforeId = trgObj.attribute("id");
  2320. //달력 변경
  2321. if( btnMark.length == 1 ){
  2322. btnMark = '0' + btnMark;
  2323. }
  2324. fSetMonth(btnMark);
  2325. }
  2326. ]]>
  2327. </script>
  2328. </group>
  2329. <output id="opt_month" ref="/root/hidden/calendar/month" class="calendar_output" visibility="hidden" style="left:310px; top:5px; width:30px; height:19px; "/>
  2330. <caption id="caption12" class="calendar_output" style="left:208px; top:7px; width:20px; height:19px; ">년</caption>
  2331. <caption id="caption15" class="calendar_output" visibility="hidden" style="left:340px; top:5px; width:20px; height:19px; ">월</caption>
  2332. <button id="btn_premonth" class="icon_pre_month" visibility="hidden" style="left:117px; top:9px; width:16px; height:16px; ">
  2333. <caption/>
  2334. <script type="javascript" ev:event="DOMActivate">
  2335. <![CDATA[
  2336. var isMonth = model.getValue("/root/hidden/calendar/month");
  2337. var isYear = model.getValue("/root/hidden/calendar/year");
  2338. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'M');
  2339. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  2340. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  2341. model.refresh();
  2342. model.resetInstanceNode("/root/hidden/calendarinfo")
  2343. fGetCalendarData();
  2344. ]]>
  2345. </script>
  2346. </button>
  2347. <caption id="caption16" style="left:0px; top:437px; width:35px; height:20px; text-align:center; background-color:#ffff99; ">오전</caption>
  2348. <multilinegrid id="grd_calendar" nodeset="/root/hidden/calendar/weeklist/list" class="gridcalendar" autoresize="true" backcoloralternate="transparent" caption="일^월^화^수^목^금^토" colsep="^" colwidth="55, 55, 55, 55, 55, 55, 55" ellipsis="true" focuscolor="transparent" rowsep="|" tooltip="true" selectionmode="free" mergecellsfixedrows="bycolrec" style="left:0px; top:75px; width:387px; height:355px; font-size:10pt; ">
  2349. <row>
  2350. <col class="color_sun" ref="sun"/>
  2351. <col ref="mon"/>
  2352. <col ref="tue"/>
  2353. <col ref="wed"/>
  2354. <col ref="thu"/>
  2355. <col ref="fri"/>
  2356. <col class="color_sat" ref="sat"/>
  2357. </row>
  2358. <row>
  2359. <col ref="sun_memo"/>
  2360. <col ref="mon_memo"/>
  2361. <col ref="tue_memo"/>
  2362. <col ref="wed_memo"/>
  2363. <col ref="thu_memo"/>
  2364. <col ref="fri_memo" style="height:46; "/>
  2365. <col ref="sat_memo"/>
  2366. </row>
  2367. <script type="javascript" ev:event="onclick">
  2368. <![CDATA[
  2369. fClickOnCalendar();
  2370. ]]>
  2371. </script>
  2372. </multilinegrid>
  2373. <caption id="caption17" style="left:31px; top:437px; width:35px; height:20px; text-align:center; background-color:#ccffff; ">오후</caption>
  2374. <caption id="caption18" style="left:67px; top:437px; width:35px; height:20px; text-align:center; background-color:#ffcc99; ">전일</caption>
  2375. <button id="button31" class="icon_pre_year" style="left:140px; top:9px; width:16px; height:16px; ">
  2376. <caption/>
  2377. <script type="javascript" ev:event="DOMActivate">
  2378. <![CDATA[
  2379. var isMonth = model.getValue("/root/hidden/calendar/month");
  2380. var isYear = model.getValue("/root/hidden/calendar/year");
  2381. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
  2382. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  2383. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  2384. model.refresh();
  2385. model.resetInstanceNode("/root/hidden/calendarinfo")
  2386. fGetCalendarData();
  2387. ]]>
  2388. </script>
  2389. </button>
  2390. <caption id="caption19" style="left:215px; top:438px; width:55px; height:20px; text-align:center; background-color:#999999; ">당일마감</caption>
  2391. <button id="button1" class="icon_next_year" style="left:231px; top:9px; width:16px; height:16px; ">
  2392. <caption/>
  2393. <script type="javascript" ev:event="DOMActivate">
  2394. <![CDATA[
  2395. var isMonth = model.getValue("/root/hidden/calendar/month");
  2396. var isYear = model.getValue("/root/hidden/calendar/year");
  2397. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
  2398. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  2399. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  2400. model.refresh();
  2401. model.resetInstanceNode("/root/hidden/calendarinfo")
  2402. fGetCalendarData();
  2403. ]]>
  2404. </script>
  2405. </button>
  2406. <caption id="caption20" style="left:103px; top:437px; width:55px; height:20px; text-align:center; background-color:#c9c299; ">임시오전</caption>
  2407. <output id="opt_year" ref="/root/hidden/calendar/year" class="calendar_output" style="left:158px; top:7px; width:50px; height:19px; "/>
  2408. <button id="button2" class="icon_next_month" visibility="hidden" style="left:254px; top:9px; width:16px; height:16px; ">
  2409. <caption/>
  2410. <script type="javascript" ev:event="DOMActivate">
  2411. <![CDATA[
  2412. var isMonth = model.getValue("/root/hidden/calendar/month");
  2413. var isYear = model.getValue("/root/hidden/calendar/year");
  2414. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
  2415. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  2416. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  2417. model.refresh();
  2418. model.resetInstanceNode("/root/hidden/calendarinfo")
  2419. fGetCalendarData();
  2420. ]]>
  2421. </script>
  2422. </button>
  2423. <caption id="caption5" style="left:159px; top:437px; width:55px; height:20px; text-align:center; background-color:#ffccff; ">임시오후</caption>
  2424. </group>
  2425. <select id="checkbox1" ref="/root/main/oneminute" overflow="visible" appearance="full" style="left:1065px; top:5px; width:100px; height:20px; border-style:none; ">
  2426. <choices>
  2427. <item>
  2428. <label>1분간격 풀기</label>
  2429. <value>Y</value>
  2430. </item>
  2431. </choices>
  2432. <script type="javascript" ev:event="xforms-value-changed">
  2433. <![CDATA[
  2434. if( getNodesetCount("/root/main/outrgst/outrgstlist") > 1 ){
  2435. fOneMinuteSpread();
  2436. }
  2437. ]]>
  2438. </script>
  2439. </select>
  2440. <datagrid id="grd_outrgst" nodeset="/root/main/outrgst/outrgstlist" class="datagrid2" backcoloralternate="transparent" caption="시간^등록번호^환자명^초/재^예약&#xA;구분^최초접수시간^통화내용" colsep="^" colwidth="39, 71, 57, 60, 50, 130, 100" dataheight="23" defaultrows="2" extendlastcol="scroll" rowheight="23" rowsep="|" style="left:960px; top:30px; width:219px; height:430px; ">
  2441. <col ref="ordtm" format="hh:nn"/>
  2442. <col ref="pid"/>
  2443. <col ref="hngnm"/>
  2444. <col ref="fsexamflag" type="combo">
  2445. <choices>
  2446. <itemset nodeset="/root/init/P0021list/P0021">
  2447. <label ref="cdnm"/>
  2448. <value ref="cdid"/>
  2449. </itemset>
  2450. </choices>
  2451. </col>
  2452. <col disabled="true" ref="rsrvflag" type="combo">
  2453. <choices>
  2454. <itemset nodeset="/root/init/P0341list/P0341">
  2455. <label ref="cdnm"/>
  2456. <value ref="cdid"/>
  2457. </itemset>
  2458. </choices>
  2459. </col>
  2460. <col ref="fstacptdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
  2461. <col ref="telrsrvrem"/>
  2462. <script type="javascript" ev:event="onclick">
  2463. <![CDATA[
  2464. var cur_row = grd_outrgst.row;
  2465. var cur_col = grd_outrgst.col;
  2466. var checkflag = model.getValue("/root/main/outrgst/outrgstlist[" + cur_row + "]/fsexamflag");
  2467. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  2468. var hngnm = model.getValue("/root/main/outrgst/outrgstlist[" + cur_row + "]/hngnm");
  2469. if(cur_row > 0 && cur_col >= 0){
  2470. if(fsexamflag == 'R' || fsexamflag == 'S'){
  2471. if(checkflag == 'F' || checkflag == 'D'){
  2472. messageBox("재진환자는 재진시간만 예약이 가능합니다.", "E999", "");
  2473. return;
  2474. }
  2475. if( hngnm.length != 0){
  2476. messageBox("이미 예약이 되어 있는 시간입니다.", "E999", "");
  2477. return;
  2478. }
  2479. }else if(fsexamflag == 'F' || fsexamflag == 'D' || fsexamflag == '4'){
  2480. if(checkflag == 'R' || checkflag == 'S'){
  2481. messageBox("초진환자는 초진시간만 예약이 가능합니다.", "E999", "");
  2482. return;
  2483. }
  2484. if(hngnm.length != 0){
  2485. // model.alert("kkk");
  2486. messageBox("이미 예약이 되어 있는 시간입니다.", "E999", "");
  2487. return;
  2488. }
  2489. }
  2490. model.setValue("/root/main/reservation/ordtm", model.getValue("/root/main/outrgst/outrgstlist[" + cur_row + "]/ordtm"));
  2491. //model.setValue("/root/main/reservation/orddd", model.getValue("/root/main/outrgst/outrgstlist[" + cur_row + "]/orddd"));
  2492. model.refresh();
  2493. }
  2494. ]]>
  2495. </script>
  2496. </datagrid>
  2497. <line id="line28" class="line_1" style="x1:959px; y1:25px; x2:1179px; y2:25px; "/>
  2498. <input id="input2" ref="/root/main/reservation/ordtm" format="hh:nn" style="left:1023px; top:471px; width:55px; height:19px; "/>
  2499. <caption id="caption26" class="cell_1" style="left:960px; top:470px; width:60px; height:23px; vertical-align:middle; ">진료시간</caption>
  2500. <shape id="roundrect1" class="roundrect_example" appearance="roundrect" style="left:1084px; top:468px; width:96px; height:26px; "/>
  2501. <caption id="caption21" style="left:1153px; top:474px; width:27px; height:15px; ">초진</caption>
  2502. <caption id="caption22" style="left:1135px; top:473px; width:15px; height:15px; background-color:#b9e5fb; "/>
  2503. <caption id="caption23" class="cell_2" style="left:1090px; top:471px; width:42px; height:20px; ">범 례</caption>
  2504. <button id="button3" class="btn2_letter2" style="left:459px; top:4px; width:42px; height:19px; ">
  2505. <caption>선택</caption>
  2506. <script type="javascript" ev:event="DOMActivate">
  2507. <![CDATA[
  2508. var rrgstno1 = model.getValue("/root/hidden/holdrrgstno/rrgstno1");
  2509. var rrgstno2 = model.getValue("/root/hidden/holdrrgstno/rrgstno2");
  2510. var hngnm = model.getValue("/root/hidden/holdrrgstno/hngnm");
  2511. if( rrgstno1 == '' || rrgstno2 == '' ){
  2512. return false;
  2513. }else{
  2514. model.setValue("/root/main/patinfo/patinfolist/rrgstno1", rrgstno1);
  2515. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", rrgstno2);
  2516. model.setValue("/root/main/patinfo/patinfolist/hngnm", hngnm);
  2517. model.setValue("/root/hidden/source/srchcond", "4");
  2518. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  2519. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  2520. model.setValue("/root/hidden/source/hngnm", hngnm);
  2521. //btn_search.dispatch("DOMActivate");
  2522. if(submit("TRPMC02500")){
  2523. if( getNodesetCount("/root/main/result/patinfo/patinfolist") == 1 ){
  2524. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  2525. model.setValue("/root/main/popupendflag", "ok");
  2526. //구환 표시
  2527. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 2 ){
  2528. model.setValue("/root/hidden/source/checkfnexam", "2");
  2529. }else{
  2530. model.setValue("/root/hidden/source/checkfnexam", "1");
  2531. }
  2532. //환자특이내역 존재여부 표시
  2533. var patspcfyn = model.getValue("/root/main/patinfo/patinfolist/patspcfyn");
  2534. //alert( patspcfyn );
  2535. if( patspcfyn == 'Y' || patspcfyn == 'y'){
  2536. btn_patspcfyn.attribute("background-color") = "#ff0000";
  2537. //alert( 'Y' );
  2538. }else{
  2539. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  2540. //alert( 'N' );
  2541. }
  2542. //감면 내역 있으면 표시
  2543. var pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  2544. if( pid != '' && pid != ' ' && pid != '-' ){
  2545. model.setValue( "/root/send/pid", pid);
  2546. submit("TRPMO00205");
  2547. }
  2548. //감면 내역 있으면 표시 끝
  2549. fSearch();
  2550. }else if(getNodesetCount("/root/main/result/patinfo/patinfolist") > 1 ){
  2551. inputEnterKey("btn_search", "DOMActivate");
  2552. }else{
  2553. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  2554. model.resetInstanceNode("/root/main/reservation");
  2555. model.setValue("/root/main/popupendflag", "cancel");
  2556. messageBox("일치하는 환자가 없습니다.", "E999", "");
  2557. //model.resetInstanceNode("");
  2558. }
  2559. }
  2560. //fSearch();
  2561. }
  2562. ]]>
  2563. </script>
  2564. </button>
  2565. <select1 id="cmb_rqstflag" ref="/root/main/reservation/rqstflag" class="combo_default" visibility="hidden" appearance="minimal" style="left:58px; top:5px; width:75px; height:19px; ">
  2566. <choices>
  2567. <itemset nodeset="/root/init/P0329list/P0329">
  2568. <label ref="cdnm"/>
  2569. <value ref="cdid"/>
  2570. </itemset>
  2571. </choices>
  2572. </select1>
  2573. <caption id="caption27" class="tit_2" style="left:5px; top:10px; width:43px; height:13px; ">예약</caption>
  2574. <output id="opt_rrgstno1" ref="/root/hidden/holdrrgstno/rrgstno1" class="output_fix" format="999999" appearance="output" style="left:330px; top:4px; width:60px; height:19px; "/>
  2575. <output id="opt_rrgstno2" ref="/root/hidden/holdrrgstno/rrgstno2" class="output_fix" format="9999999" appearance="output" style="left:393px; top:4px; width:63px; height:19px; "/>
  2576. <button id="btn_clear" class="btn2_letter3" style="left:504px; top:4px; width:53px; height:19px; ">
  2577. <caption>Clear</caption>
  2578. <script type="javascript" ev:event="DOMActivate">
  2579. <![CDATA[
  2580. model.resetInstanceNode("/root/main/reservation");
  2581. model.removeNodeset("/root/main/outrgst/outrgstlist");
  2582. model.resetInstanceNode("/root/tmp/reservation");
  2583. model.resetInstanceNode("/root/main/outhist/outhistlist");
  2584. //1분 간격 풀기 초기화
  2585. model.setValue("/root/main/oneminute", "");
  2586. var isMonth = model.getValue("/root/hidden/calendar/month");
  2587. var isYear = model.getValue("/root/hidden/calendar/year");
  2588. var isDate = (isYear+isMonth+1).toDate();
  2589. setCalendar(isDate);
  2590. //설명여부 디폴트값 세팅
  2591. model.setValue("/root/main/reservation/specorddescyn", 'N');
  2592. model.setValue("/root/main/reservation/insuchrgyn", 'N');
  2593. model.setValue("/root/main/reservation/ordreqdescyn", ' ');
  2594. model.setValue("/root/main/reservation/ordreqhospgrde", '1');
  2595. model.setValue("/root/main/reservation/etcordflag", "-");
  2596. //협력의뢰 디폴트 세팅
  2597. if( RC == '1' ){
  2598. model.setValue("/root/main/reservation/rqstflag", '1');
  2599. }
  2600. model.refresh();
  2601. ]]>
  2602. </script>
  2603. </button>
  2604. <datagrid id="grd_outhist" nodeset="/root/main/outhist/outhistlist" class="datagrid2" caption="진료일자^시간^진료과ID^진료과^진료의ID^진료의사^선택진료^진료여부^변경&#xA;여부^예약&#xA;구분^접수상태^초/재^보험유형^의뢰서구분^선후불^수납여부^최초입력자ID^최초입력시간^가예약&#xA;접수일자^가예약&#xA;접수일련번호^선택진료&#xA;설명여부^보험회사&#xA;직원여부^진료의뢰서&#xA;설명여부^의뢰서&#xA;병원등급^최초접수자&#xA;ID^최초접수&#xA;일시^외래등록&#xA;생성번호^외래등록&#xA;생성일련번호^전화예약&#xA;통화내용^변경취소사유^정산여부^계산구분^진찰료산정여부^처방발생여부^협력의뢰구분^협력의뢰&#xA;병원코드^협력의뢰의ID^원스탑^테이블명^센터코드^sub진료과^기타진료구분^최종수정자^최종수정일시^휴진여부" colsep="^" colwidth="70, 40, 90, 110, 64, 60, 35, 35, 35, 65, 54, 60, 80, 80, 42, 35, 78, 107, 60, 87, 60, 60, 82, 67, 81, 63, 75, 90, 67, 100, 100, 100, 100, 100, 84, 70, 100, 100, 100, 100, 100, 50, 100, 100, 100" dataheight="23" defaultrows="2" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:5px; top:370px; width:545px; height:125px; ">
  2605. <col ref="orddd" format="yyyy-mm-dd"/>
  2606. <col ref="ordtm" format="hh:nn"/>
  2607. <col disabled="true" ref="orddeptcd" type="combo" visibility="hidden">
  2608. <choices>
  2609. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  2610. <label ref="nm"/>
  2611. <value ref="cd"/>
  2612. </itemset>
  2613. </choices>
  2614. </col>
  2615. <col ref="orddeptnm"/>
  2616. <col ref="orddrid" visibility="hidden"/>
  2617. <col ref="orddrnm"/>
  2618. <col ref="specordyn"/>
  2619. <col ref="dracptyn"/>
  2620. <col ref="bfordddyn"/>
  2621. <col disabled="true" ref="rsrvflag" type="combo">
  2622. <choices>
  2623. <itemset nodeset="/root/init/P0341list/P0341">
  2624. <label ref="cdnm"/>
  2625. <value ref="cdid"/>
  2626. </itemset>
  2627. </choices>
  2628. </col>
  2629. <col disabled="true" ref="histstat" type="combo">
  2630. <choices>
  2631. <itemset nodeset="/root/init/P0029list/P0029">
  2632. <label ref="cdnm"/>
  2633. <value ref="cdid"/>
  2634. </itemset>
  2635. </choices>
  2636. </col>
  2637. <col disabled="true" ref="fsexamflag" type="combo">
  2638. <choices>
  2639. <itemset nodeset="/root/init/P0021list/P0021">
  2640. <label ref="cdnm"/>
  2641. <value ref="cdid"/>
  2642. </itemset>
  2643. </choices>
  2644. </col>
  2645. <col disabled="true" ref="insukind" type="combo">
  2646. <choices>
  2647. <itemset nodeset="/root/init/P0008list/P0008">
  2648. <label ref="cdnm"/>
  2649. <value ref="cdid"/>
  2650. </itemset>
  2651. </choices>
  2652. </col>
  2653. <col ref="ordreqformflag" type="combo">
  2654. <choices>
  2655. <itemset nodeset="/root/init/P0380list/P0380">
  2656. <label ref="cdnm"/>
  2657. <value ref="cdid"/>
  2658. </itemset>
  2659. </choices>
  2660. </col>
  2661. <col ref="medamtpostyn"/>
  2662. <col ref="rcptyn"/>
  2663. <col ref="fstacptid" visibility="hidden"/>
  2664. <col ref="fstacptdt" visibility="hidden" format="yyyy-mm-dd hh:nn"/>
  2665. <col ref="acptdd" visibility="hidden"/>
  2666. <col ref="acptno" visibility="hidden"/>
  2667. <col ref="specorddescyn" visibility="hidden"/>
  2668. <col ref="insuchrgyn" visibility="hidden"/>
  2669. <col ref="ordreqdescyn" visibility="hidden"/>
  2670. <col ref="ordreqhospgrde" visibility="hidden"/>
  2671. <col ref="fstacptid" visibility="hidden"/>
  2672. <col ref="fstacptdt" visibility="hidden"/>
  2673. <col ref="acptseqno" visibility="hidden"/>
  2674. <col ref="cretno" visibility="hidden"/>
  2675. <col ref="telrsrvrem" visibility="hidden"/>
  2676. <col ref="updtcnclresn" visibility="hidden"/>
  2677. <col ref="calcyn" visibility="hidden"/>
  2678. <col ref="calcflag" visibility="hidden"/>
  2679. <col ref="medamtestmyn" visibility="hidden"/>
  2680. <col ref="prcpgenryn" visibility="hidden"/>
  2681. <col ref="rqspflag" visibility="hidden" style="left:1679px; top:32px; width:84px; height:23px; "/>
  2682. <col ref="rqsthospcd" visibility="hidden"/>
  2683. <col ref="rqstdrid" visibility="hidden"/>
  2684. <col ref="onestop" visibility="hidden"/>
  2685. <col ref="tablename" visibility="hidden"/>
  2686. <col ref="centcd" type="combo" visibility="hidden">
  2687. <choices>
  2688. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  2689. <label ref="nm"/>
  2690. <value ref="cd"/>
  2691. </itemset>
  2692. </choices>
  2693. </col>
  2694. <col ref="subdeptcd" visibility="hidden"/>
  2695. <col ref="etcordflag"/>
  2696. <col ref="lastupdtrid"/>
  2697. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn:ss"/>
  2698. <col ref="holiyn" visibility="hidden"/>
  2699. <script type="javascript" ev:event="ondblclick">
  2700. <![CDATA[
  2701. var cur_col = grd_outhist.col;
  2702. var cur_row = grd_outhist.row;
  2703. if( cur_col == grd_outhist.colRef("bfordddyn") && cur_row > 0 && isDataCell()){
  2704. if(grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("bfordddyn")) == "Y" ) {
  2705. if(grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("histstat")) == "X"){
  2706. messageBox("취소 내역은 변경이력을 조회할 수 없습니다.", "E999", "");
  2707. return false;
  2708. }
  2709. setParameter("openflag", 'T');
  2710. setParameter("pid", model.getvalue("/root/main/patinfo/patinfolist/pid"));
  2711. setParameter("hngnm", model.getvalue("/root/main/patinfo/patinfolist/hngnm"));
  2712. setParameter("rrgstno1", model.getvalue("/root/main/patinfo/patinfolist/rrgstno1"));
  2713. setParameter("rrgstno2", model.getvalue("/root/main/patinfo/patinfolist/rrgstno2"));
  2714. setParameter("fromdd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddd")));
  2715. setParameter("todd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddd")));
  2716. setParameter("orddeptcd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddeptcd")));
  2717. setParameter("orddrid", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddrid")));
  2718. setParameter("specordyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("specordyn")));
  2719. setParameter("rsrvflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rsrvflag")));
  2720. setParameter("insukind", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("insukind")));
  2721. setParameter("acptdd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("acptdd")));
  2722. setParameter("acptno", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("acptno")));
  2723. setParameter("tablename", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("tablename")));
  2724. modal("SMPMO00600", "1", "50", "50" ,"SMPMO00600", "", "");
  2725. }
  2726. }
  2727. ]]>
  2728. </script>
  2729. <script type="javascript" ev:event="onclick">
  2730. <![CDATA[
  2731. if( model.getValue("/root/main/patinfo/patinfolist/pid") == '' && model.getValue("/root/main/patinfo/patinfolist/hngnm") == '' ){
  2732. messageBox("환자조회 후 작업해 주세요.!!","E999", "");
  2733. return false;
  2734. }
  2735. var cur_col = grd_outhist.col;
  2736. var cur_row = grd_outhist.row;
  2737. var curDate = getCurrentDate();
  2738. if(cur_col == grd_outhist.colRef("bfordddyn")){
  2739. return;
  2740. }
  2741. if( cur_row > 0 && cur_col > 0 && isDataCell() ){ // && grd_outhist.colRef("bfordddyn") != cur_col ){
  2742. var histstat = model.getValue("/root/main/rsrvflag");
  2743. if( histstat == 'X' ){
  2744. return false;
  2745. }
  2746. //예약내역 노드 초기화
  2747. model.resetInstanceNode("/root/main/reservation");
  2748. //수정 불가능한 내역을 선택했을 경우!!
  2749. if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("histstat")) == 'R' ){
  2750. //의사접수여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  2751. if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("dracptyn")) == 'Y' ){
  2752. messageBox("진료본 내역은 변경/취소할 수 없습니다.", "E999", "");
  2753. return false;
  2754. //처방발생여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  2755. }else if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("prcpgenryn")) == 'Y' ){
  2756. messageBox("처방이 발생한 내역은 변경/취소할 수 없습니다.", "E999", "");
  2757. return false;
  2758. }else if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rsrvflag")) == 'X' ){
  2759. messageBox("6시간 이내 응급내역은 변경/취소할 수 없습니다.", "E999", "");
  2760. return false;
  2761. }
  2762. }else if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("histstat")) == 'X' ){
  2763. messageBox("예약취소한 내역은 변경할 수 없습니다.", "E999", "");
  2764. return false;
  2765. }else if(grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddd")) < curDate ){
  2766. messageBox("미진료 이력은 변경/취소할 수 없습니다.", "E999", "");
  2767. return false;
  2768. }
  2769. if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("etcordflag")) != 'B' || grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("etcordflag")) != '-' ) {
  2770. model.setValue("/root/main/reservation/etcordflag", '-');
  2771. model.setValue("/root/main/reservation/etcordflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("etcordflag")) );
  2772. }
  2773. //선택된 행의 값을 예약 파트로 복사
  2774. model.setValue("/root/main/reservation/acptdd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("acptdd")) );
  2775. model.setValue("/root/main/reservation/acptno", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("acptno")) );
  2776. model.setValue("/root/main/reservation/specorddescyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("specorddescyn")) );
  2777. model.setValue("/root/main/reservation/insuchrgyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("insuchrgyn")) );
  2778. model.setValue("/root/main/reservation/ordreqdescyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("ordreqdescyn")) );
  2779. model.setValue("/root/main/reservation/ordreqhospgrde", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("ordreqhospgrde")) );
  2780. model.setValue("/root/main/reservation/fstacptid", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("fstacptid")) );
  2781. model.setValue("/root/main/reservation/fstacptdt", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("fstacptdt")) );
  2782. model.setValue("/root/main/reservation/acptseqno", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("acptseqno")) );
  2783. model.setValue("/root/main/reservation/cretno", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("cretno")) );
  2784. model.setValue("/root/main/reservation/oldorddd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddd")) );
  2785. model.setValue("/root/main/reservation/telrsrvrem", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("telrsrvrem")) );
  2786. model.setValue("/root/main/reservation/updtcnclresn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("updtcnclresn")) );
  2787. model.setValue("/root/main/reservation/calcyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("calcyn")) );
  2788. model.setValue("/root/main/reservation/calcflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("calcflag")) );
  2789. model.setValue("/root/main/reservation/medamtestmyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("medamtestmyn")) );
  2790. model.setValue("/root/main/reservation/histstat", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("histstat")) );
  2791. model.setValue("/root/main/reservation/rsrvflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rsrvflag")) );
  2792. model.setValue("/root/main/reservation/dracptyn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("dracptyn")) );
  2793. model.setValue("/root/main/reservation/prcpgenryn", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("prcpgenryn")) );
  2794. if( grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("etcordflag")) != 'B') {
  2795. model.setValue("/root/main/reservation/etcordflag", '-');
  2796. }else{
  2797. model.setValue("/root/main/reservation/etcordflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("etcordflag")) );
  2798. }
  2799. //협진
  2800. model.setValue("/root/main/reservation/rqstflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rqstflag")) );
  2801. model.setValue("/root/main/reservation/rqsthospcd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rqsthospcd")) );
  2802. model.setValue("/root/main/reservation/rqstdrid", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("rqstdrid")) );
  2803. model.setValue("/root/main/reservation/onestop", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("onestop")) );
  2804. //진료일,시간, 진료과,의사
  2805. model.setValue("/root/main/reservation/orddd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddd")) );
  2806. model.setValue("/root/main/reservation/ordtm", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("ordtm")) );
  2807. model.setValue("/root/main/reservation/orddeptcd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddeptcd")) );
  2808. var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  2809. model.setValue("/root/main/reservation/orddeptnm", deptengabbr);
  2810. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + cmb_deptcd.value + "']";
  2811. model.setValue("/root/main/reservation/subdeptcd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("subdeptcd")) );
  2812. //cmb_deptcd.dispatch("xforms-value-changed");
  2813. model.setValue("/root/main/reservation/orddrid", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("orddrid")) );
  2814. model.setValue("/root/main/reservation/fsexamflag", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("fsexamflag")) );
  2815. cmb_orddrid.dispatch("xforms-value-changed");
  2816. model.setValue("/root/main/reservation/tablename", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("tablename")) );
  2817. model.setValue("/root/main/reservation/centcd", grd_outhist.valueMatrix( cur_row, grd_outhist.colRef("centcd")) );
  2818. model.refresh();
  2819. model.removeNodeset("/root/tmp/reservation");
  2820. model.makeNode("/root/tmp/reservation");
  2821. model.copyNode("/root/tmp/reservation", "/root/main/reservation");
  2822. }
  2823. ]]>
  2824. </script>
  2825. <script type="javascript" ev:event="xforms-value-changed">
  2826. <![CDATA[
  2827. ]]>
  2828. </script>
  2829. </datagrid>
  2830. <caption id="caption41" class="tit_2" style="left:5px; top:348px; width:108px; height:13px; ">외래이력</caption>
  2831. <select1 id="radio13" ref="/root/main/rsrvflag" appearance="full" cellspacing="8" cols="5" rows="1" overflow="visible" style="left:93px; top:346px; width:407px; height:15px; background-color:transparent; border-style:none; ">
  2832. <choices>
  2833. <item>
  2834. <label>전화/인터넷예약</label>
  2835. <value>T</value>
  2836. </item>
  2837. <item>
  2838. <label>접수이력</label>
  2839. <value>R</value>
  2840. </item>
  2841. <item>
  2842. <label>미진료이력</label>
  2843. <value>N</value>
  2844. </item>
  2845. <item>
  2846. <label>취소이력</label>
  2847. <value>X</value>
  2848. </item>
  2849. <item>
  2850. <label>전체</label>
  2851. <value>A</value>
  2852. </item>
  2853. </choices>
  2854. <script type="javascript" ev:event="xforms-value-changed">
  2855. <![CDATA[
  2856. var rsrvFlag = radio13.value;
  2857. var curDate = getCurrentDate();
  2858. if( rsrvFlag == "R" ){ //접수이력
  2859. grd_outhist.attribute("nodeset") = "/root/main/outhist/outhistlist[ histstat ='R' ]";
  2860. grd_outhist.rebuild();
  2861. }else if( rsrvFlag == "T"){ //전화/인터넷예약
  2862. grd_outhist.attribute("nodeset") = "/root/main/outhist/outhistlist[ (histstat ='T' or histstat = 'R') and ( rsrvflag = '2' or rsrvflag = '5' or rsrvflag = '1') and orddd>="+curDate+"]";
  2863. grd_outhist.rebuild();
  2864. }else if( rsrvFlag == "X"){ //취소이력
  2865. grd_outhist.attribute("nodeset") = "/root/main/outhist/outhistlist[ histstat ='X' ]";
  2866. grd_outhist.rebuild();
  2867. }else if( rsrvFlag == "N"){ //미진료이력
  2868. grd_outhist.attribute("nodeset") = "/root/main/outhist/outhistlist[ dracptyn != 'Y' and (histstat = 'T' or histstat = 'R') and orddd>="+curDate+"]";
  2869. grd_outhist.rebuild();
  2870. }else{
  2871. grd_outhist.attribute("nodeset") = "/root/main/outhist/outhistlist";
  2872. grd_outhist.rebuild();
  2873. }
  2874. grd_outhist.allStyle("all","background-color") = "#ffffff"; // 배경색을 초기화 한다.
  2875. setRowStyle("grd_outhist", "2","Y","holiyn","equal"); //row의 색상을 변경한다.
  2876. grd_outhist.rebuild();
  2877. ]]>
  2878. </script>
  2879. </select1>
  2880. <line id="line17" class="line_1" style="x1:5px; y1:364px; x2:551px; y2:364px; "/>
  2881. <select1 id="cmb_onestop" ref="/root/main/reservation/onestop" class="combo_default" visibility="hidden" appearance="minimal" style="left:65px; top:296px; width:155px; height:19px; ">
  2882. <choices>
  2883. <itemset nodeset="/root/init/A0420list/A0420">
  2884. <label ref="cdnm"/>
  2885. <value ref="cdid"/>
  2886. </itemset>
  2887. </choices>
  2888. </select1>
  2889. <input id="ipt_rqstdrid" ref="/root/main/reservation/rqstdrid" class="input_default" visibility="hidden" style="left:494px; top:271px; width:61px; height:19px; "/>
  2890. <line id="line10" class="line_3" style="x1:5px; y1:317px; x2:220px; y2:317px; "/>
  2891. <textarea id="opt_remfact" ref="/root/main/reservation/fstexamrem" disabled="true" appearance="textarea" style="left:113px; top:103px; width:442px; height:43px; "/>
  2892. <select1 id="cmb_orddrid" ref="/root/main/reservation/orddrid" class="combo_default" navindex="12" appearance="minimal" style="left:113px; top:56px; width:131px; height:19px; ">
  2893. <choices>
  2894. <itemset nodeset="/root/init/orddrid/orddridlist">
  2895. <label ref="nmsp"/>
  2896. <value ref="cd"/>
  2897. </itemset>
  2898. </choices>
  2899. <script type="javascript" ev:event="xforms-value-changed">
  2900. <![CDATA[
  2901. var orddeptcd1 = model.getValue("/root/main/outhist/outhistlist/orddeptcd");
  2902. var orddeptcd2 = model.getValue("/root/main/reservation/orddeptcd");
  2903. var orddrid1 = model.getValue("/root/main/outhist/outhistlist/orddrid");
  2904. var orddrid2 = model.getValue("/root/main/reservation/orddrid");
  2905. fGetCalendarData();
  2906. cmb_orddrid.refresh();
  2907. var orddrabbr = model.getValue("/root/init/orddrid/orddridlist[ cd = '" + cmb_orddrid.value + "']/drengabbr");
  2908. model.setValue("/root/main/reservation/orddeptnm", orddrabbr);
  2909. var sp = model.getValue("/root/init/orddrid/orddridlist[cd = '" + cmb_orddrid.value + "']/sp");
  2910. if( sp == 'Y' || sp == 'y' ){
  2911. model.setValue("/root/main/reservation/specordyn", sp);
  2912. }else{
  2913. model.setValue("/root/main/reservation/specordyn", 'N');
  2914. }
  2915. model.refresh();
  2916. ]]>
  2917. </script>
  2918. </select1>
  2919. <line id="line30" class="line_2" style="x1:5px; y1:268px; x2:556px; y2:268px; "/>
  2920. <select1 id="cmb_deptcd" ref="/root/main/reservation/orddeptcd" class="combo_default" navindex="11" appearance="minimal" style="left:391px; top:31px; width:99px; height:19px; ">
  2921. <choices>
  2922. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  2923. <label ref="nm"/>
  2924. <value ref="cd"/>
  2925. </itemset>
  2926. </choices>
  2927. <script type="javascript" ev:event="xforms-value-changed">
  2928. <![CDATA[
  2929. //노드와 컨트롤의 값 동기화를 위해 리풀레쉬 해준다.
  2930. cmb_deptcd.refresh();
  2931. model.setValue("/root/main/reservation/subdeptcd", "-");
  2932. //응급의학과 블럭킹
  2933. if( cmb_deptcd.value == '2280000000' ){
  2934. messageBox("응급의학과는 전화예약에서 접수할 수 없습니다.", "E999", "");
  2935. model.setValue("/root/main/reservation/orddrid", "");
  2936. model.setValue("/root/main/reservation/orddeptcd", "");
  2937. model.setValue("/root/main/reservation/subdeptcd", "-");
  2938. model.setValue("/root/main/reservation/orddeptnm", "");
  2939. // model.setValue("/root/main/reservation/centcd", "-");
  2940. model.refresh();
  2941. model.setFocus("cmb_deptcd");
  2942. return false;
  2943. }
  2944. combo6.visible = false;
  2945. cmb_orddrid.visible = true;
  2946. //sub진료과 세팅 2008-09-12 추가
  2947. cmb_subdeptcd.choices.itemset.attribute("nodeset") = "/root/init/subdeptcd/subdeptcdlist[dp = '"+ cmb_deptcd.value +"' or dp = '-']";
  2948. cmb_subdeptcd.refresh();
  2949. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  2950. var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  2951. model.setValue("/root/main/reservation/orddeptnm", deptengabbr);
  2952. //END..
  2953. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + cmb_deptcd.value + "']";
  2954. model.setValue("/root/main/reservation/orddrid", "");
  2955. fGetFsexamFlag();
  2956. model.refresh();
  2957. if( model.getValue("/root/main/patinfo/patinfolist/pid").length < 2 && model.getValue("/root/main/patinfo/patinfolist/hngnm").length < 2 ){
  2958. //환자정보 없을 경우 진료의뢰서 체크 안함!!!
  2959. }else if( model.getValue("/root/main/patinfo/patinfolist/pid").length < 2 && model.getValue("/root/main/patinfo/patinfolist/hngnm").length > 1 ){
  2960. var reqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/reqdeptno");
  2961. //등록번호 없고 환자 이름이 입력된 경우 - 신환! 무조건 메세지 출력!!
  2962. if( reqdeptno == "55" || reqdeptno == "23" || reqdeptno == "21" ){
  2963. //alert("건강보험" + insukind + " " + reqdeptno);
  2964. model.setValue("/root/main/reservation/ordreqdescyn", 'Y');
  2965. //진료의뢰서가 필요 없을경우 선택진료설명여부 Yes 세팅
  2966. model.setValue("/root/main/reservation/specorddescyn", 'Y');
  2967. }else {
  2968. messageBox("진료의뢰서가 필요합니다.", "E999", "");
  2969. model.setValue("/root/main/reservation/ordreqdescyn", '');
  2970. }
  2971. }else{
  2972. //진료의뢰서 확인
  2973. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2974. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  2975. var orddeptcd = cmb_deptcd.value;
  2976. //var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  2977. var reqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/reqdeptno");
  2978. var outhistpath = "/root/main/outhist/outhistlist"; //외래이력노드
  2979. if( ! fCheckOrdCnst(pid, fsexamflag, orddeptcd, deptengabbr, reqdeptno, outhistpath, INSUKIND) ){
  2980. messageBox("진료의뢰서가 필요합니다.", "E999", "");
  2981. model.setValue("/root/main/reservation/ordreqdescyn", '');
  2982. }else {
  2983. model.setValue("/root/main/reservation/ordreqdescyn", 'Y');
  2984. //진료의뢰서가 필요 없을경우 선택진료설명여부 Yes 세팅
  2985. model.setValue("/root/main/reservation/specorddescyn", 'Y');
  2986. }
  2987. }
  2988. model.refresh();
  2989. ]]>
  2990. </script>
  2991. </select1>
  2992. <line id="line31" class="line_2" style="x1:5px; y1:148px; x2:556px; y2:148px; "/>
  2993. <input id="ipt_ordtm" ref="/root/main/reservation/ordtm" class="input_default" navindex="14" format="hh:nn" style="left:223px; top:79px; width:50px; height:19px; "/>
  2994. <caption id="caption40" class="cell_1" style="left:5px; top:30px; width:105px; height:23px; vertical-align:middle; ">센터</caption>
  2995. <line id="line11" class="line_2" style="x1:5px; y1:100px; x2:556px; y2:100px; "/>
  2996. <line id="line32" class="line_2" style="x1:5px; y1:196px; x2:556px; y2:196px; "/>
  2997. <caption id="caption30" class="cell_1" style="left:5px; top:150px; width:105px; height:47px; vertical-align:middle; ">의사 전문분야</caption>
  2998. <line id="line12" class="line_2" style="x1:5px; y1:220px; x2:220px; y2:220px; "/>
  2999. <select1 id="cnstteamnm" ref="/root/main/reservation/cnstteamnm" class="combo_default" appearance="minimal" style="left:437px; top:55px; width:118px; height:19px; "/>
  3000. <select1 id="cmb_centcd" ref="/root/main/reservation/centcd" class="combo_default" appearance="minimal" style="left:113px; top:31px; width:131px; height:19px; ">
  3001. <choices>
  3002. <itemset nodeset="/root/init/centcd/centcdlist">
  3003. <label ref="nm"/>
  3004. <value ref="cd"/>
  3005. </itemset>
  3006. </choices>
  3007. <script type="javascript" ev:event="xforms-value-changed">
  3008. <![CDATA[
  3009. var centcd = model.getValue("/root/main/reservation/centcd");
  3010. if( centcd == '' || centcd == '-' ){
  3011. combo5.visible = false;
  3012. combo6.visible = false;
  3013. cmb_deptcd.visible = true;
  3014. cmb_orddrid.visible = true;
  3015. model.setValue("/root/main/reservation/orddeptcd", '');
  3016. model.setValue("/root/main/reservation/orddrid", '');
  3017. model.setValue("/root/main/reservation/orddeptnm", '');
  3018. cmb_deptcd.refresh();
  3019. cmb_orddrid.refresh();
  3020. ipt_orddeptnm.refresh();
  3021. }else{
  3022. var instcd = model.getValue("/root/hidden/session/sess_dutplceinstcd");
  3023. var deptcd = centcd;
  3024. var base_dd = new Date().getDateFormat("YYYYMMDD");
  3025. var sort_field = "dispseq";//정렬필드(출력순서:'dispseq')
  3026. var sort_method = "asc"; //정렬방법(오름차순:'asc')
  3027. zsufGetCntrSubOrdDepartmentList(instcd, deptcd, 'O', "/root/hidden/init/cntrsuborddeptlist", base_dd);
  3028. zsufGetCntrOrdDeptDoctorList(instcd, deptcd, 'O', "/root/hidden/init/cntrorddeptdoctorlist",sort_field, sort_method, base_dd);
  3029. combo5.visible = true;
  3030. combo6.visible = true;
  3031. cmb_deptcd.visible = false;
  3032. cmb_orddrid.visible = false;
  3033. model.setValue("/root/main/reservation/orddeptcd", '');
  3034. model.setValue("/root/main/reservation/orddrid", '');
  3035. model.setValue("/root/main/reservation/orddeptnm", '');
  3036. model.setValue("/root/main/reservation/subdeptcd", '');
  3037. model.setValue("/root/main/reservation/specordyn", '');
  3038. cmb_deptcd.refresh();
  3039. cmb_orddrid.refresh();
  3040. ipt_orddeptnm.refresh();
  3041. }
  3042. model.refresh();
  3043. ]]>
  3044. </script>
  3045. </select1>
  3046. <caption id="caption31" class="cell_1" style="left:5px; top:102px; width:105px; height:47px; vertical-align:middle; ">특이사항</caption>
  3047. <caption id="caption42" class="cell_1" style="left:5px; top:78px; width:105px; height:23px; vertical-align:middle; ">진료일자/시간</caption>
  3048. <textarea id="output132" ref="/root/main/reservation/ordfild" disabled="true" appearance="textarea" style="left:113px; top:151px; width:442px; height:43px; "/>
  3049. <caption id="caption2" class="cell_1" style="left:371px; top:78px; width:63px; height:23px; vertical-align:middle; ">기타진료</caption>
  3050. <line id="line24" class="line_2" style="x1:5px; y1:76px; x2:556px; y2:76px; "/>
  3051. <line id="line14" class="line_2" style="x1:5px; y1:244px; x2:556px; y2:244px; "/>
  3052. <caption id="caption33" class="cell_1" visibility="hidden" style="left:5px; top:294px; width:55px; height:23px; vertical-align:middle; ">원스탑</caption>
  3053. <select1 id="combo1" ref="/root/main/reservation/fsexamflag" class="combo_default" disabled="true" appearance="minimal" style="left:276px; top:79px; width:92px; height:19px; ">
  3054. <choices>
  3055. <itemset nodeset="/root/init/P0021list/P0021">
  3056. <label ref="cdnm"/>
  3057. <value ref="cdid"/>
  3058. </itemset>
  3059. </choices>
  3060. </select1>
  3061. <caption id="caption24" class="cell_1" style="left:225px; top:246px; width:85px; height:23px; vertical-align:middle; ">변경/취소사유</caption>
  3062. <select1 id="radio15" ref="/root/main/reservation/insuchrgyn" navindex="16" appearance="full" cellspacing="8" cols="2" rows="1" overflow="visible" style="left:114px; top:224px; width:106px; height:20px; background-color:transparent; border-style:none; ">
  3063. <choices>
  3064. <item>
  3065. <label>Yes</label>
  3066. <value>Y</value>
  3067. </item>
  3068. <item>
  3069. <label>No</label>
  3070. <value>N</value>
  3071. </item>
  3072. </choices>
  3073. </select1>
  3074. <caption id="caption44" class="cell_1" style="left:5px; top:198px; width:105px; height:23px; vertical-align:middle; ">선택진료설명여부</caption>
  3075. <caption id="caption25" class="cell_1" style="left:247px; top:30px; width:79px; height:23px; vertical-align:middle; ">진료과</caption>
  3076. <group id="group6" style="left:305px; top:300px; width:247px; height:31px; ">
  3077. <button id="button10" class="btn4_letter2" navindex="23" style="left:120px; top:5px; width:56px; height:22px; ">
  3078. <caption>취소</caption>
  3079. <script type="javascript" ev:event="DOMActivate">
  3080. <![CDATA[
  3081. //변경/취소 모드인지 체크
  3082. var rsrvflag = model.getValue("/root/main/reservation/rsrvflag");
  3083. var histstat = model.getValue("/root/main/reservation/histstat");
  3084. if( grd_outhist.row < 1 || rsrvflag == '' || histstat == ''){
  3085. messageBox("취소할 내역이 선택되지 않았습니다.", "E999", "");
  3086. return false;
  3087. }
  3088. //alert( pamCompareNodes("/root/main/patinfo/patinfolist", "/root/tmp/patinfolist") );
  3089. //alert( pamCompareNodes("/root/main/reservation", "/root/tmp/reservation") );
  3090. //의사접수여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  3091. var rcptyn = grd_outhist.valueMatrix( grd_outhist.row, grd_outhist.colRef("rcptyn"));
  3092. var histstat = grd_outhist.valueMatrix( grd_outhist.row, grd_outhist.colRef("histstat"));
  3093. if( rcptyn == 'Y' || histstat == 'R'){
  3094. messageBox("수납내역이 있는 외래내역은 취소할 수 없습니다.", "E999", "");
  3095. return false;
  3096. //처방발생여부가 'Y'인 내역은 변경/취소할 수 없습니다.
  3097. }
  3098. // 신환/구환을 구분한다.
  3099. if( model.getValue("/root/main/reservation/cretno") != '' &&
  3100. model.getValue("/root/main/reservation/acptseqno") != '' &&
  3101. model.getValue("/root/main/patinfo/patinfolist/pid").length > 1 &&
  3102. model.getValue("/root/main/reservation/acptno") == '0' ){
  3103. model.setValue("/root/hidden/source/checkfnexam", '2');
  3104. }else{
  3105. model.setValue("/root/hidden/source/checkfnexam", '1');
  3106. }
  3107. // if( pamCompareNodes("/root/main/patinfo/patinfolist", "/root/tmp/patinfolist")
  3108. // && (!fCnclCheck())){
  3109. if( (!fCnclCheck())){
  3110. if( messageBox("예약정보를 정말 취소하시겠습니까?", "Q003") == 6){
  3111. fMakeRsrv('X');
  3112. }
  3113. }else{
  3114. messageBox("예약정보가 수정되었습니다. 수정된 정보는 취소할 수 없습니다.", "E999", "");
  3115. }
  3116. model.refresh();
  3117. ]]>
  3118. </script>
  3119. </button>
  3120. <button id="button11" class="btn4_letter2" navindex="21" style="left:0px; top:5px; width:56px; height:22px; ">
  3121. <caption>예약</caption>
  3122. <script type="javascript" ev:event="DOMActivate">
  3123. <![CDATA[
  3124. //치과는 재진 예약시 예약 불가(초진만 가능)
  3125. var reqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/reqdeptno");
  3126. var check = model.getValue("/root/main/reservation/fsexamflag");
  3127. var cellColor = model.getValue("/root/tmp/cellColor");
  3128. var orddd = model.getValue("/root/main/reservation/orddd");
  3129. var curDate = getCurrentDate();
  3130. var userid = model.getValue("/root/tmp/userinfo/userinfolist/userid");
  3131. if(orddd <= curDate){
  3132. messageBox("오늘날짜 이전으로는 예약 할 수 없습니다.", "E999");
  3133. return;
  3134. }
  3135. if( userid != '81030220'){
  3136. if(cellColor == '#ffffff'){
  3137. messageBox("휴진일자에는 예약할 수 없습니다.", "E999");
  3138. return false;
  3139. }
  3140. }
  3141. if(reqdeptno == '55' && check == 'R'){
  3142. messageBox("치과는 전화예약에서 초진만 가능합니다.", "E999");
  3143. return false;
  3144. }
  3145. //재원여부체크
  3146. if( ! fInhospynCheck() ){
  3147. return false;
  3148. }
  3149. //변경/취소 모드인지 체크
  3150. var acptdd = model.getValue("/root/main/reservation/acptdd");
  3151. var acptno = model.getValue("/root/main/reservation/acptno");
  3152. var cretno = model.getValue("/root/main/reservation/cretno");
  3153. var acptseqno = model.getValue("/root/main/reservation/acptseqno");
  3154. if( acptdd != '' && acptno != '' && cretno != '' && acptseqno != ''){
  3155. messageBox("변경/취소할 내역이 선택되었습니다. Clear버튼을 눌러 예약내역을 지운 후 예약해주세요", "E999", "");
  3156. return false;
  3157. }
  3158. //예약내역체크
  3159. if( ! fCheckRsrvHist() ){
  3160. return false;
  3161. }
  3162. // 신환/구환을 구분한다.
  3163. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 1 ){
  3164. model.setValue("/root/hidden/source/checkfnexam", '2');
  3165. }else{
  3166. model.setValue("/root/hidden/source/checkfnexam", '1');
  3167. }
  3168. if( fIsRsrvDataOK() ){
  3169. fMakeRsrv('T');
  3170. // model.resetInstanceNode("/root/main/outhist/outhistlist");
  3171. model.removenode("/root/main/outhist/outhistlist");
  3172. }
  3173. ]]>
  3174. </script>
  3175. </button>
  3176. <button id="button12" class="btn4_letter2" navindex="22" style="left:59px; top:5px; width:56px; height:22px; ">
  3177. <caption>변경</caption>
  3178. <script type="javascript" ev:event="DOMActivate">
  3179. <![CDATA[
  3180. var orddd = model.getValue("/root/main/reservation/orddd");
  3181. var curDate = getCurrentDate();
  3182. if(orddd <= curDate){
  3183. messageBox("오늘날짜 이전으로는 변경 할 수 없습니다.", "E999");
  3184. return;
  3185. }
  3186. //재원여부체크
  3187. if( ! fInhospynCheck() ){
  3188. return false;
  3189. }
  3190. //변경/취소 모드인지 체크
  3191. var rsrvflag = model.getValue("/root/main/reservation/rsrvflag");
  3192. var histstat = model.getValue("/root/main/reservation/histstat");
  3193. if( grd_outhist.row < 1 || rsrvflag == '' || histstat == ''){
  3194. messageBox("변경할 내역이 선택되지 않았습니다.", "E999", "");
  3195. return false;
  3196. }
  3197. //예약내역 체크!!!
  3198. if( model.getValue("/root/main/reservation/orddeptcd") != model.getValue("/root/tmp/reservation/orddeptcd") ){
  3199. if( ! fCheckRsrvHist() ){
  3200. return false;
  3201. }
  3202. }
  3203. // 신환/구환을 구분한다.
  3204. if( model.getValue("/root/main/reservation/cretno") != '' &&
  3205. model.getValue("/root/main/reservation/acptseqno") != '' &&
  3206. model.getValue("/root/main/patinfo/patinfolist/pid").length > 1 &&
  3207. model.getValue("/root/main/reservation/acptno") == '0' ){
  3208. model.setValue("/root/hidden/source/checkfnexam", '2');
  3209. }else{
  3210. model.setValue("/root/hidden/source/checkfnexam", '1');
  3211. }
  3212. if( pamCompareNodes("/root/main/patinfo/patinfolist", "/root/tmp/patinfolist")
  3213. && pamCompareNodes("/root/main/reservation", "/root/tmp/reservation") ){
  3214. if( messageBox("변경된 데이터가 없습니다.", "Q003") == 6){
  3215. if( fIsRsrvDataOK() ){
  3216. //진찰료가 수납된 내역(HISTSTAT=R) 변경 시(OTPT),
  3217. //초재진구분,선택진료여부가 변경될 경우 기존내역 C, 신규내역 R 로 생성하면서,
  3218. //CALCYN = Y 로 세팅,CALCFLAG=Y
  3219. if( fIsRsrvUpdtDataOK() ){
  3220. fMakeRsrv('C');
  3221. }
  3222. }
  3223. }
  3224. }else{
  3225. if( fIsRsrvDataOK() ){
  3226. if( fIsRsrvUpdtDataOK() ){
  3227. fMakeRsrv('C');
  3228. }
  3229. }
  3230. }
  3231. ]]>
  3232. </script>
  3233. </button>
  3234. <button id="btn_init" class="btn4_letter3" navindex="24" style="left:179px; top:5px; width:68px; height:22px; ">
  3235. <caption>초기화</caption>
  3236. <script type="javascript" ev:event="DOMActivate">
  3237. <![CDATA[
  3238. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  3239. fInitialize();
  3240. ]]>
  3241. </script>
  3242. </button>
  3243. <line id="line15" class="line_6" style="x1:0px; y1:0px; x2:247px; y2:0px; "/>
  3244. </group>
  3245. <caption id="caption28" class="cell_1" style="left:5px; top:222px; width:105px; height:23px; vertical-align:middle; ">보험회사직원여부</caption>
  3246. <select1 id="combo2" ref="/root/main/reservation/updtcnclresn" class="combo_default" navindex="20" appearance="minimal" style="left:313px; top:247px; width:242px; height:19px; ">
  3247. <choices>
  3248. <itemset nodeset="/root/init/P0020list/P0020">
  3249. <label ref="cdnm"/>
  3250. <value ref="cdnm"/>
  3251. </itemset>
  3252. </choices>
  3253. </select1>
  3254. <caption id="caption29" class="cell_1" style="left:371px; top:54px; width:63px; height:23px; vertical-align:middle; ">협진팀명</caption>
  3255. <select1 id="combo3" ref="/root/main/reservation/telrsrvremcd" class="combo_default" appearance="minimal" style="left:225px; top:225px; width:85px; height:19px; ">
  3256. <choices>
  3257. <itemset nodeset="/root/init/P0414list/P0414">
  3258. <label ref="cdnm"/>
  3259. <value ref="cdnm"/>
  3260. </itemset>
  3261. </choices>
  3262. <script type="javascript" ev:event="xforms-select">
  3263. <![CDATA[
  3264. var telrsrvrem = combo3.value;
  3265. var bfTelRsrvRem = model.getValue("/root/main/reservation/telrsrvrem");
  3266. if( bfTelRsrvRem == '-' || bfTelRsrvRem == '' || bfTelRsrvRem == ' '){
  3267. //bfTelRsrvRem = telrsrvrem;
  3268. }else{
  3269. telrsrvrem = bfTelRsrvRem + " " + telrsrvrem;
  3270. }
  3271. model.setValue("/root/main/reservation/telrsrvrem", telrsrvrem);
  3272. model.refresh();
  3273. ]]>
  3274. </script>
  3275. </select1>
  3276. <caption id="caption35" class="cell_1" style="left:5px; top:54px; width:105px; height:23px; vertical-align:middle; ">전문의</caption>
  3277. <input id="ipt_orddeptnm" ref="/root/main/reservation/orddeptnm" class="input_default" navindex="10" imemode="disabled" maxlength="6" _chartype="upper" appearance="input" style="left:328px; top:31px; width:60px; height:19px; ">
  3278. <script type="javascript" ev:event="DOMFocusOut">
  3279. <![CDATA[
  3280. var abbr = ipt_orddeptnm.value;
  3281. var orddrabbr = '';
  3282. var orddeptabbr = '';
  3283. if( abbr.length >= 4 ){
  3284. orddrabbr = abbr;
  3285. // orddeptabbr = abbr.substr(0,2);
  3286. }else if( abbr.length == 0 ){
  3287. return false;
  3288. }else{
  3289. orddeptabbr = abbr.substr(0,2);
  3290. }
  3291. var orddeptcd = '';
  3292. var orddrid = '';
  3293. var ordid = model.getValue("/root/main/reservation/orddrid");
  3294. var ordept = model.getValue("/root/main/reservation/orddeptcd");
  3295. //진료의 세팅
  3296. if( orddrabbr != '' ){
  3297. orddrid = model.getValue("/root/init/orddrid/orddridlist[ drengabbr = '" + orddrabbr.toUpperCase() + "']/cd");
  3298. orddeptcd = model.getValue("/root/init/orddrid/orddridlist[ drengabbr = '" + orddrabbr.toUpperCase() + "']/dp");
  3299. //진료과세팅
  3300. model.setValue("/root/main/reservation/orddeptcd", orddeptcd );
  3301. cmb_deptcd.refresh();
  3302. cmb_deptcd.dispatch("xforms-value-changed");
  3303. //진료의 세팅
  3304. model.setValue("/root/main/reservation/orddrid", orddrid );
  3305. cmb_orddrid.refresh();
  3306. cmb_orddrid.dispatch("xforms-value-changed");
  3307. model.setFocus("ipt_orddd");
  3308. }else if( orddeptabbr != '' ){
  3309. //진료과 세팅
  3310. var orddeptcd = model.getValue("/root/init/orddeptcd/orddeptcdlist[ deptengabbr = '" + orddeptabbr.toUpperCase() + "']/cd");
  3311. model.setValue("/root/main/reservation/orddeptcd", orddeptcd );
  3312. cmb_deptcd.refresh();
  3313. cmb_deptcd.dispatch("xforms-value-changed");
  3314. }else{
  3315. model.setFocus("cmb_deptcd") ;
  3316. }
  3317. //model.setFocus("ipt_orddeptdrabbr")
  3318. ]]>
  3319. </script>
  3320. <script type="javascript" ev:event="onkeypress">
  3321. <![CDATA[
  3322. if (event.keyCode == "13"){
  3323. model.setFocus("cmb_orddrid")
  3324. }
  3325. ]]>
  3326. </script>
  3327. </input>
  3328. <caption id="caption34" class="cell_1" style="left:5px; top:246px; width:105px; height:23px; vertical-align:middle; ">의뢰서설명여부</caption>
  3329. <select1 id="combo4" ref="/root/main/reservation/etcordflag" class="combo_default" navindex="12" appearance="minimal" style="left:437px; top:79px; width:118px; height:19px; ">
  3330. <choices>
  3331. <item>
  3332. <label>-</label>
  3333. <value>-</value>
  3334. </item>
  3335. <item>
  3336. <label>신체감정</label>
  3337. <value>B</value>
  3338. </item>
  3339. </choices>
  3340. </select1>
  3341. <caption id="caption36" class="cell_1" visibility="hidden" style="left:225px; top:270px; width:85px; height:23px; vertical-align:middle; ">협력의뢰병원</caption>
  3342. <caption id="caption37" class="cell_1" style="left:5px; top:270px; width:105px; height:23px; vertical-align:middle; ">의뢰서병원등급</caption>
  3343. <select1 id="radio1" ref="/root/main/reservation/ordreqhospgrde" navindex="18" appearance="full" cellspacing="11" cols="2" rows="1" overflow="visible" style="left:114px; top:273px; width:105px; height:15px; background-color:transparent; border-style:none; ">
  3344. <choices>
  3345. <item>
  3346. <label>1차</label>
  3347. <value>1</value>
  3348. </item>
  3349. <item>
  3350. <label>2차</label>
  3351. <value>2</value>
  3352. </item>
  3353. </choices>
  3354. </select1>
  3355. <input id="ipt_orddd" ref="/root/main/reservation/orddd" class="input_default" disabled="true" navindex="13" inputtype="date" style="left:113px; top:79px; width:107px; height:19px; ">
  3356. <script type="javascript" ev:event="xforms-value-changed">
  3357. <![CDATA[
  3358. if( model.getValue("/root/main/reservation/rsrvflag") != '9' ){
  3359. fGetFsexamFlag();
  3360. }
  3361. model.setFocus("ipt_ordtm");
  3362. model.refresh();
  3363. ]]>
  3364. </script>
  3365. </input>
  3366. <select1 id="combo5" ref="/root/main/reservation/orddeptcd" class="combo_default" appearance="minimal" style="left:391px; top:31px; width:99px; height:19px; ">
  3367. <choices>
  3368. <itemset nodeset="/root/hidden/init/cntrsuborddeptlist/dept">
  3369. <label ref="depthngnm"/>
  3370. <value ref="deptcd"/>
  3371. </itemset>
  3372. </choices>
  3373. <script type="javascript" ev:event="xforms-value-changed">
  3374. <![CDATA[
  3375. //노드와 컨트롤의 값 동기화를 위해 리풀레쉬 해준다.
  3376. cmb_deptcd.refresh();
  3377. model.setValue("/root/main/reservation/subdeptcd", "-");
  3378. //응급의학과 블럭킹
  3379. if( cmb_deptcd.value == '2280000000' ){
  3380. messageBox("응급의학과는 전화예약에서 접수할 수 없습니다.", "E999", "");
  3381. model.setValue("/root/main/reservation/orddrid", "");
  3382. model.setValue("/root/main/reservation/orddeptcd", "");
  3383. model.setValue("/root/main/reservation/subdeptcd", "-");
  3384. model.setValue("/root/main/reservation/orddeptnm", "");
  3385. // model.setValue("/root/main/reservation/centcd", "-");
  3386. model.refresh();
  3387. model.setFocus("cmb_deptcd");
  3388. return false;
  3389. }
  3390. combo6.visible = false;
  3391. cmb_orddrid.visible = true;
  3392. //sub진료과 세팅 2008-09-12 추가
  3393. cmb_subdeptcd.choices.itemset.attribute("nodeset") = "/root/init/subdeptcd/subdeptcdlist[dp = '"+ cmb_deptcd.value +"' or dp = '-']";
  3394. cmb_subdeptcd.refresh();
  3395. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  3396. var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  3397. model.setValue("/root/main/reservation/orddeptnm", deptengabbr);
  3398. //END..
  3399. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + cmb_deptcd.value + "']";
  3400. model.setValue("/root/main/reservation/orddrid", "");
  3401. fGetFsexamFlag();
  3402. model.refresh();
  3403. if( model.getValue("/root/main/patinfo/patinfolist/pid").length < 2 && model.getValue("/root/main/patinfo/patinfolist/hngnm").length < 2 ){
  3404. //환자정보 없을 경우 진료의뢰서 체크 안함!!!
  3405. }else if( model.getValue("/root/main/patinfo/patinfolist/pid").length < 2 && model.getValue("/root/main/patinfo/patinfolist/hngnm").length > 1 ){
  3406. var reqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/reqdeptno");
  3407. //등록번호 없고 환자 이름이 입력된 경우 - 신환! 무조건 메세지 출력!!
  3408. if( reqdeptno == "55" || reqdeptno == "23" || reqdeptno == "21" ){
  3409. //alert("건강보험" + insukind + " " + reqdeptno);
  3410. model.setValue("/root/main/reservation/ordreqdescyn", 'Y');
  3411. //진료의뢰서가 필요 없을경우 선택진료설명여부 Yes 세팅
  3412. model.setValue("/root/main/reservation/specorddescyn", 'Y');
  3413. }else {
  3414. messageBox("진료의뢰서가 필요합니다.", "E999", "");
  3415. model.setValue("/root/main/reservation/ordreqdescyn", '');
  3416. }
  3417. }else{
  3418. //진료의뢰서 확인
  3419. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3420. var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
  3421. var orddeptcd = cmb_deptcd.value;
  3422. //var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  3423. var reqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/reqdeptno");
  3424. var outhistpath = "/root/main/outhist/outhistlist"; //외래이력노드
  3425. if( ! fCheckOrdCnst(pid, fsexamflag, orddeptcd, deptengabbr, reqdeptno, outhistpath, INSUKIND) ){
  3426. messageBox("진료의뢰서가 필요합니다.", "E999", "");
  3427. model.setValue("/root/main/reservation/ordreqdescyn", '');
  3428. }else {
  3429. model.setValue("/root/main/reservation/ordreqdescyn", 'Y');
  3430. //진료의뢰서가 필요 없을경우 선택진료설명여부 Yes 세팅
  3431. model.setValue("/root/main/reservation/specorddescyn", 'Y');
  3432. }
  3433. }
  3434. model.refresh();
  3435. ]]>
  3436. </script>
  3437. </select1>
  3438. <caption id="caption39" class="cell_1" style="left:247px; top:56px; width:79px; height:23px; vertical-align:middle; ">선택진료여부</caption>
  3439. <select1 id="combo6" ref="/root/main/reservation/orddrid" class="combo_default" appearance="minimal" style="left:113px; top:56px; width:131px; height:19px; ">
  3440. <choices>
  3441. <itemset nodeset="/root/hidden/init/cntrorddeptdoctorlist/user">
  3442. <label ref="usernm"/>
  3443. <value ref="userid"/>
  3444. </itemset>
  3445. </choices>
  3446. <script type="javascript" ev:event="xforms-value-changed">
  3447. <![CDATA[
  3448. var orddeptcd1 = model.getValue("/root/main/outhist/outhistlist/orddeptcd");
  3449. var orddeptcd2 = model.getValue("/root/main/reservation/orddeptcd");
  3450. var orddrid1 = model.getValue("/root/main/outhist/outhistlist/orddrid");
  3451. var orddrid2 = model.getValue("/root/main/reservation/orddrid");
  3452. fGetCalendarData();
  3453. cmb_orddrid.refresh();
  3454. var orddrabbr = model.getValue("/root/init/orddrid/orddridlist[ cd = '" + cmb_orddrid.value + "']/drengabbr");
  3455. model.setValue("/root/main/reservation/orddeptnm", orddrabbr);
  3456. var sp = model.getValue("/root/init/orddrid/orddridlist[cd = '" + cmb_orddrid.value + "']/sp");
  3457. if( sp == 'Y' || sp == 'y' ){
  3458. model.setValue("/root/main/reservation/specordyn", sp);
  3459. }else{
  3460. model.setValue("/root/main/reservation/specordyn", 'N');
  3461. }
  3462. model.refresh();
  3463. ]]>
  3464. </script>
  3465. </select1>
  3466. <caption id="caption49" class="cell_1" style="left:225px; top:198px; width:85px; height:47px; vertical-align:middle; ">
  3467. <![CDATA[통화내용
  3468. ]]>
  3469. </caption>
  3470. <input id="input3" ref="/root/main/reservation/updtcnclresn" class="input_default" style="left:313px; top:247px; width:217px; height:19px; "/>
  3471. <select1 id="cmb_subdeptcd" ref="/root/main/reservation/subdeptcd" class="combo_default" appearance="minimal" style="left:490px; top:31px; width:65px; height:19px; ">
  3472. <choices>
  3473. <itemset nodeset="/root/init/subdeptcd/subdeptcdlist">
  3474. <label ref="nm"/>
  3475. <value ref="cd"/>
  3476. </itemset>
  3477. </choices>
  3478. <script type="javascript" ev:event="xforms-value-changed">
  3479. <![CDATA[
  3480. var orddeptcd = model.getValue("/root/main/reservation/orddeptcd");
  3481. var subdeptcd = model.getValue("/root/main/reservation/subdeptcd");
  3482. if( subdeptcd != '' && subdeptcd != '-' ){
  3483. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + subdeptcd + "']";
  3484. }else{
  3485. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid/orddridlist[dp = '" + orddeptcd + "']";
  3486. }
  3487. cmb_orddrid.refresh();
  3488. model.setValue("/root/main/reservation/orddrid", "");
  3489. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  3490. var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  3491. model.setValue("/root/main/reservation/orddeptnm", deptengabbr);
  3492. //END..
  3493. ]]>
  3494. </script>
  3495. </select1>
  3496. <caption id="caption51" class="cell_1" visibility="hidden" style="left:436px; top:270px; width:55px; height:23px; vertical-align:middle; ">통화자</caption>
  3497. <input id="ipt_rqsthospcd" ref="/root/main/reservation/rqsthospcd" class="input_default" visibility="hidden" style="left:313px; top:271px; width:122px; height:19px; "/>
  3498. <textarea id="textarea3" ref="/root/main/reservation/telrsrvrem" navindex="19" scroll="vertical" style="left:313px; top:199px; width:242px; height:43px; "/>
  3499. <select1 id="radio5" ref="/root/main/reservation/specorddescyn" navindex="15" appearance="full" cellspacing="8" cols="2" rows="1" overflow="visible" style="left:114px; top:200px; width:106px; height:20px; background-color:transparent; border-style:none; ">
  3500. <choices>
  3501. <item>
  3502. <label>Yes</label>
  3503. <value>Y</value>
  3504. </item>
  3505. <item>
  3506. <label>No</label>
  3507. <value>N</value>
  3508. </item>
  3509. </choices>
  3510. </select1>
  3511. <output id="output2" ref="/root/main/reservation/specordyn" class="output_fix" appearance="output" style="left:328px; top:56px; width:40px; height:19px; "/>
  3512. <select1 id="radio6" ref="/root/main/reservation/ordreqdescyn" navindex="17" appearance="full" cellspacing="8" cols="2" rows="1" overflow="visible" style="left:114px; top:249px; width:106px; height:15px; background-color:transparent; border-style:none; ">
  3513. <choices>
  3514. <item>
  3515. <label>Yes</label>
  3516. <value>Y</value>
  3517. </item>
  3518. <item>
  3519. <label>No</label>
  3520. <value>N</value>
  3521. </item>
  3522. </choices>
  3523. </select1>
  3524. <line id="line16" class="line_1" style="x1:5px; y1:25px; x2:556px; y2:25px; "/>
  3525. </case>
  3526. <case id="case2" selected="true">
  3527. <button id="button15" class="icon_bottom" style="left:206px; top:251px; width:26px; height:19px; ">
  3528. <caption/>
  3529. <script type="javascript" ev:event="DOMActivate">
  3530. <![CDATA[
  3531. grd_momolist.attribute("height") = 142;
  3532. button5.visible = true;
  3533. button15.visible = false;
  3534. ]]>
  3535. </script>
  3536. </button>
  3537. <datagrid id="datagrid2" nodeset="/root/main/exculist/subordlist3/rows" autoresize="true" caption="환자번호^일자^Comment^caption1" colsep="^" colwidth="100, 77, 162, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:5px; top:413px; width:258px; height:77px; ">
  3538. <col ref="pid" visibility="hidden"/>
  3539. <col ref="cmtdd" format="yyyy-mm-dd" style="text-align:center; "/>
  3540. <col ref="patcmt" type="input"/>
  3541. <col ref="iudgb" visibility="hidden"/>
  3542. <script type="javascript" ev:event="xforms-value-changed">
  3543. <![CDATA[
  3544. if (model.getValue("/root/main/exculist/subordlist3/rows[" + datagrid2.row + "]/iudgb") != "I"){
  3545. model.setValue("/root/main/exculist/subordlist3/rows[" + datagrid2.row + "]/iudgb", "U");
  3546. }
  3547. datagrid2.refresh();
  3548. ]]>
  3549. </script>
  3550. <script type="javascript" ev:event="DOMFocusOut">
  3551. <![CDATA[
  3552. initPopupMenu();
  3553. ]]>
  3554. </script>
  3555. <script type="javascript" ev:event="onmousedown">
  3556. <![CDATA[
  3557. setPopupMenu("datagrid2", false, "/root/hidden2/popupmenu/menu", "label", "func");
  3558. ]]>
  3559. </script>
  3560. </datagrid>
  3561. <button id="button7" class="btn4_letter2" disabled="true" style="left:203px; top:386px; width:56px; height:22px; ">
  3562. <caption>저장</caption>
  3563. <script type="javascript" ev:event="DOMActivate">
  3564. <![CDATA[
  3565. var update = getGridUpdateData(datagrid2);
  3566. if(update == ""){
  3567. messageBox("업데이트 정보가 없습니다.", "I");
  3568. return 0;
  3569. } else {
  3570. model.setValue("/root/send/req1/data", update);
  3571. if (submit("TXAEA02002", false)){
  3572. if (submit("TRAEA02009", false)){
  3573. //model.removeNodeset("/root/main/exculist/subordlist3");
  3574. //model.makeNode("/root/main/exculist/subordlist3");
  3575. //model.resetInstanceNode("/root/main/exculist/subordlist3/rows");
  3576. model.removeNodeset("/root/main/exculist/subordlist3/rows");
  3577. copyNodeType("/root/main/exculist/subordlist3", "/root/reqdata1/subordlist3", "replace");
  3578. datagrid2.refresh();
  3579. patcmt();
  3580. }
  3581. }
  3582. }
  3583. ]]>
  3584. </script>
  3585. </button>
  3586. <button id="button16" class="icon_bottom" style="left:205px; top:327px; width:26px; height:19px; ">
  3587. <caption/>
  3588. <script type="javascript" ev:event="DOMActivate">
  3589. <![CDATA[
  3590. tar_prcpremfact.attribute("height") = 142;
  3591. button17.visible = true;
  3592. button16.visible = false;
  3593. ]]>
  3594. </script>
  3595. </button>
  3596. <line id="line20" class="line_1" style="x1:5px; y1:408px; x2:263px; y2:408px; "/>
  3597. <datagrid id="datagrid3" nodeset="/root/init/calenlist/calendinfo" visibility="hidden" caption="caption1^caption2" colsep="^" colwidth="100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:930px; top:285px; width:220px; height:150px; ">
  3598. <col ref="basedd"/>
  3599. <col ref="dutflag"/>
  3600. </datagrid>
  3601. <button id="button17" class="icon_top" style="left:205px; top:327px; width:26px; height:19px; ">
  3602. <caption/>
  3603. <script type="javascript" ev:event="DOMActivate">
  3604. <![CDATA[
  3605. tar_prcpremfact.attribute("height") = 43;
  3606. button17.visible = false;
  3607. button16.visible = true;
  3608. ]]>
  3609. </script>
  3610. </button>
  3611. <datagrid id="grd_rsrvtemp" nodeset="/root/hidden/beforersrvtm/rsrvdtlist" visibility="hidden" caption="변경전" colsep="^" colwidth="122" mergecellsfixedrows="bycolrec" rowsep="|" style="left:983px; top:233px; width:120px; height:235px; ">
  3612. <col ref="before" style="left:0px; top:23px; width:159px; height:23px; "/>
  3613. </datagrid>
  3614. <button id="btn_rsrv" class="btn4_letter2" style="left:986px; top:151px; width:56px; height:22px; ">
  3615. <caption>저장</caption>
  3616. <script type="javascript" ev:event="DOMActivate">
  3617. <![CDATA[
  3618. var nodeList = instance1.selectNodes("/root/main/exculist/mainordlist5[chk='true' ]");
  3619. var rCSV = getNodeListCSV(nodeList);
  3620. var nodeList2= instance1.selectNodes("/root/main/exculist/mainordlist5[srchrsrvtm='-' ]");
  3621. var rCSV2 = getNodeListCSV(nodeList2);
  3622. if ( rCSV == null ) {
  3623. messageBox("처방내역을 ","C002");
  3624. return "0";
  3625. }
  3626. if ( rCSV != null && rCSV2 != null ) {
  3627. messageBox("예약시간을 ","C002");
  3628. return "0";
  3629. }
  3630. //얘약 수정시 메시지박스 띄워주기
  3631. var modifyinfo = "";
  3632. var j = 1;
  3633. var checknum = 0;
  3634. for (var i = 1; i < grd_mainordlist5.rows ; i++) {
  3635. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true"){
  3636. var rsrvdt = model.getValue("/root/main/exculist/mainordlist5["+i+"]/srchrsrvtm");
  3637. //alert(isValidDateTime(rsrvdt, "YYYYMMDDhhmm"));
  3638. if (isValidDateTime(rsrvdt, "YYYYMMDDhhmm") == false){
  3639. messageBox("예약시간 형식이 잘못 입력되었습니다. 확인바랍니다.", "E999", "");
  3640. return;
  3641. }
  3642. }
  3643. }
  3644. for(var i = 0; i < grd_mainordlist5.rows ; i++) {
  3645. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true" && model.getValue("/root/main/exculist/mainordlist5["+i+"]/rsrvflagyn") == "예약" ) {
  3646. var before =model.getValue("/root/main/exculist/mainordlist5["+i+"]/bf_srchrsrvtm");
  3647. var rsrvdt = model.getValue("/root/main/exculist/mainordlist5["+i+"]/srchrsrvtm");
  3648. var bf_cdnm = model.getValue("/root/main/exculist/mainordlist5["+i+"]/prcpnm");
  3649. checknum = checknum +1;
  3650. modifyinfo +=checknum +"."+ bf_cdnm+" \r\n"+ " → 전 :"+before.substr(0,4)+"-"+before.substr(4,2)+"-"+before.substr(6,2)+" "+before.substr(8,2)+":"+before.substr(10,2) +" / 후 : "+rsrvdt.substr(0,4)+"-"+rsrvdt.substr(4,2)+"-"+rsrvdt.substr(6,2)+" "+rsrvdt.substr(8,2)+":"+rsrvdt.substr(10,2)+" \r\n\r\n" ;
  3651. j++;
  3652. }
  3653. }
  3654. for(var i = 0; i < grd_mainordlist5.rows ; i++) {
  3655. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true" && model.getValue("/root/main/exculist/mainordlist5["+i+"]/rsrvflagyn") == "미예약" ) {
  3656. var sexcuroomcd = model.getValue("/root/main/exculist/mainordlist5["+ i +"]/excuroomcd");
  3657. if (sexcuroomcd.length > 3){
  3658. var ssonogb = sexcuroomcd.substring(0, 4)
  3659. if (ssonogb == "SONO"){
  3660. messageBox("수행부서를 선택하시기 바랍니다.", "E999", "");
  3661. return;
  3662. }
  3663. }
  3664. if (model.getValue("/root/main/exculist/mainordlist5["+i+"]/glycostestyn") == "Y" && model.getValue("/root/main/exculist/mainordlist5["+i+"]/glycosyn") == ""){
  3665. messageBox("해당 처방코드는 당뇨유무 체크가 필수 항목입니다", "E999", "");
  3666. return;
  3667. }
  3668. if (model.getValue("/root/main/exculist/mainordlist5["+i+"]/bonedentestyn") == "Y"){
  3669. if (datagrid4.rows > 1){
  3670. if (model.getValue("/root/main/exculist/mainordlist8[" + 1 + "]/payflagcd") == "0" && (model.getValue("/root/main/exculist/mainordlist8[" + 1 + "]/prcpdd") != model.getValue("/root/main/exculist/mainordlist5["+i+"]/prcpdd"))){
  3671. var rsrvdt1 = model.getValue("/root/main/exculist/mainordlist5["+i+"]/srchrsrvtm");
  3672. var rsrvdt = rsrvdt1.substr(0, 8);
  3673. var sdate1 = model.getValue("/root/main/exculist/mainordlist8[" + 1 + "]/execdd");
  3674. var sdate = sdate1.toDate().getAddDate(+365,"D").getDateFormat("YYYYMMDD");
  3675. if (sdate > rsrvdt){
  3676. messageBox("해당 골밀도 처방코드는 1년이 지나지 않아 예약할 수 없습니다. ", "E999", "");
  3677. return;
  3678. }
  3679. }
  3680. }
  3681. }
  3682. }
  3683. }
  3684. if (model.getValue("/root/send/data/chkflag") == "T"){
  3685. var message = messageBox( modifyinfo +"\r\n\r\n예약(수정) 저장 후 예약증 출력","S001","\r\n예약(수정)를 취소하시려면 취소를 누르십시오.");
  3686. var chk = "N";
  3687. if ( message == 6 ) { //예
  3688. if (exeRsrvTransaction("rsrv") == true){
  3689. chk = "Y";
  3690. var max = 0;
  3691. for(var i = 1 ; i < grd_mainordlist5.rows; i ++) {
  3692. var tmpldata = model.getValue("/root/main/exculist/mainordlist5["+i+"]/tmpldata");
  3693. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true" && tmpldata != "") {
  3694. max = parseInt(max) + 1;
  3695. }
  3696. }
  3697. if (max > 0){
  3698. rtfviewer.OpenProgressBar(max);
  3699. }
  3700. for(var i = 1 ; i < grd_mainordlist5.rows; i ++) {
  3701. var tmpldata = model.getValue("/root/main/exculist/mainordlist5["+i+"]/tmpldata");
  3702. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true" && tmpldata != "") {
  3703. var rsrvdt = model.getValue("/root/main/exculist/mainordlist5["+i+"]/srchrsrvtm");
  3704. var prcpnm = model.getValue("/root/main/exculist/mainordlist5["+i+"]/prcpnm");
  3705. var roomcd = model.getValue("/root/main/exculist/mainordlist5["+i+"]/pexcuroomnm");
  3706. var sna = model.getValue("/root/main/exculist/patinfolist/sex") + "/" + model.getValue("/root/main/exculist/patinfolist/age");
  3707. //var sna = opt_sex.value+"/"+opt_age.value ;
  3708. var year = rsrvdt.substr(0,4);
  3709. var month = rsrvdt.substr(4,2);
  3710. var day = rsrvdt.substr(6,2);
  3711. var week = rsrvdt.substr(0,8).toDate().getDayOfWeek("K");
  3712. var hh = rsrvdt.substr(8,2);
  3713. if(hh > 12)
  3714. {
  3715. hh = "오후 "+(hh-12);
  3716. }
  3717. else{
  3718. hh = "오전 "+hh;
  3719. }
  3720. var mm = rsrvdt.substr(10,2);
  3721. //예약증 출력
  3722. if(tmpldata != "") {
  3723. //1. 예약예문내용을 뷰어로 보여주기
  3724. rtfviewer.TextRtf = tmpldata;
  3725. var ssleep = "";
  3726. if (model.getValue("/root/main/exculist/mainordlist5["+i+"]/slepyn") == "Y"){
  3727. var ssleep = "(수면)";
  3728. }
  3729. roomcd = roomcd + ssleep;
  3730. rtfviewer.ReplaceRtfCode("pid",model.getValue("/root/send/data/srchpid")); //등록번호
  3731. rtfviewer.ReplaceRtfCode("patnm",model.getValue("/root/main/exculist/patinfolist/hngnm")); //성명
  3732. rtfviewer.ReplaceRtfCode("roomcd",roomcd); //검사실명
  3733. rtfviewer.ReplaceRtfCode("year",year); //년
  3734. rtfviewer.ReplaceRtfCode("month",month); //월
  3735. rtfviewer.ReplaceRtfCode("day",day); //일
  3736. rtfviewer.ReplaceRtfCode("week",week); //요일
  3737. rtfviewer.ReplaceRtfCode("hh",hh); //시
  3738. rtfviewer.ReplaceRtfCode("mm",mm); //분
  3739. //4. 출력
  3740. rtfviewer.print();
  3741. }
  3742. }
  3743. }
  3744. }
  3745. if (max > 0){
  3746. rtfviewer.CloseProgressBar();
  3747. }
  3748. }
  3749. if (message == 7 ) { //아니오
  3750. if (exeRsrvTransaction("rsrv") == true){
  3751. chk = "Y";
  3752. }
  3753. }
  3754. }else{
  3755. //if( messageBox("해당 선택 정보내역을 " , "Q002" ) == 6 ){
  3756. if (exeRsrvTransaction("rsrv") == true){
  3757. chk = "Y";
  3758. }
  3759. //}
  3760. }
  3761. if (chk == "Y"){
  3762. readfunc();
  3763. //상태별 색상주기
  3764. fSetGrdMainordlist();
  3765. }
  3766. model.setFocus("ipt_pid");
  3767. ]]>
  3768. </script>
  3769. </button>
  3770. <caption id="caption43" class="tit_2" style="left:7px; top:257px; width:191px; height:13px; ">수행부서/변동내역 Comment</caption>
  3771. <button id="button9" class="icon_top" style="left:206px; top:251px; width:26px; height:19px; ">
  3772. <caption/>
  3773. <script type="javascript" ev:event="DOMActivate">
  3774. <![CDATA[
  3775. grd_momolist.attribute("height") = 49;
  3776. button5.visible = false;
  3777. button15.visible = true;
  3778. ]]>
  3779. </script>
  3780. </button>
  3781. <textarea id="tar_prcpremfact" ref="/root/main/comment1/prcpcmt" disabled="true" style="left:5px; top:352px; width:258px; height:33px; "/>
  3782. <caption id="caption45" class="tit_2" style="left:7px; top:332px; width:173px; height:13px; ">처방 Comment</caption>
  3783. <group id="group7" scroll="auto" style="left:268px; top:143px; width:394px; height:55px; ">
  3784. <shape id="rectangle2" class="calendar_header" appearance="rectangle" style="left:0px; top:3px; width:390px; height:52px; "/>
  3785. <button id="button13" class="icon_month" style="left:20px; top:25px; width:27px; height:27px; ">
  3786. <caption>1</caption>
  3787. <script type="javascript" ev:event="DOMActivate">
  3788. <![CDATA[
  3789. if(opt_month.value!== "01") {
  3790. fGetCalendar("01");
  3791. }
  3792. ]]>
  3793. </script>
  3794. </button>
  3795. <button id="button14" class="icon_month" style="left:50px; top:25px; width:27px; height:27px; ">
  3796. <caption>2</caption>
  3797. <script type="javascript" ev:event="DOMActivate">
  3798. <![CDATA[
  3799. if(opt_month.value!== "02") {
  3800. fGetCalendar("02");
  3801. }
  3802. ]]>
  3803. </script>
  3804. </button>
  3805. <button id="button18" class="icon_month" style="left:80px; top:25px; width:27px; height:27px; ">
  3806. <caption>3</caption>
  3807. <script type="javascript" ev:event="DOMActivate">
  3808. <![CDATA[
  3809. if(opt_month.value!== "03") {
  3810. fGetCalendar("03");
  3811. }
  3812. ]]>
  3813. </script>
  3814. </button>
  3815. <button id="button19" class="icon_month" style="left:110px; top:25px; width:27px; height:27px; ">
  3816. <caption>4</caption>
  3817. <script type="javascript" ev:event="DOMActivate">
  3818. <![CDATA[
  3819. if(opt_month.value!== "04") {
  3820. fGetCalendar("04");
  3821. }
  3822. ]]>
  3823. </script>
  3824. </button>
  3825. <button id="button20" class="icon_month" style="left:140px; top:25px; width:27px; height:27px; ">
  3826. <caption>5</caption>
  3827. <script type="javascript" ev:event="DOMActivate">
  3828. <![CDATA[
  3829. if(opt_month.value!== "05") {
  3830. fGetCalendar("05");
  3831. }
  3832. ]]>
  3833. </script>
  3834. </button>
  3835. <button id="button21" class="icon_month" style="left:170px; top:25px; width:27px; height:27px; ">
  3836. <caption>6</caption>
  3837. <script type="javascript" ev:event="DOMActivate">
  3838. <![CDATA[
  3839. if(opt_month.value!== "06") {
  3840. fGetCalendar("06");
  3841. }
  3842. ]]>
  3843. </script>
  3844. </button>
  3845. <button id="button22" class="icon_month" style="left:200px; top:25px; width:27px; height:27px; ">
  3846. <caption>7</caption>
  3847. <script type="javascript" ev:event="DOMActivate">
  3848. <![CDATA[
  3849. if(opt_month.value!== "07") {
  3850. fGetCalendar("07");
  3851. }
  3852. ]]>
  3853. </script>
  3854. </button>
  3855. <button id="button23" class="icon_month" style="left:230px; top:25px; width:27px; height:27px; ">
  3856. <caption>8</caption>
  3857. <script type="javascript" ev:event="DOMActivate">
  3858. <![CDATA[
  3859. if(opt_month.value!== "08") {
  3860. fGetCalendar("08");
  3861. }
  3862. ]]>
  3863. </script>
  3864. </button>
  3865. <button id="button24" class="icon_month" style="left:260px; top:25px; width:27px; height:27px; ">
  3866. <caption>9</caption>
  3867. <script type="javascript" ev:event="DOMActivate">
  3868. <![CDATA[
  3869. if(opt_month.value!== "09") {
  3870. fGetCalendar("09");
  3871. }
  3872. ]]>
  3873. </script>
  3874. </button>
  3875. <button id="button25" class="icon_month" style="left:290px; top:25px; width:27px; height:27px; ">
  3876. <caption>10</caption>
  3877. <script type="javascript" ev:event="DOMActivate">
  3878. <![CDATA[
  3879. if(opt_month.value!== "10") {
  3880. fGetCalendar("10");
  3881. }
  3882. ]]>
  3883. </script>
  3884. </button>
  3885. <button id="button26" class="icon_month" style="left:320px; top:25px; width:27px; height:27px; ">
  3886. <caption>11</caption>
  3887. <script type="javascript" ev:event="DOMActivate">
  3888. <![CDATA[
  3889. if(opt_month.value!== "11") {
  3890. fGetCalendar("11");
  3891. }
  3892. ]]>
  3893. </script>
  3894. </button>
  3895. <button id="button28" class="icon_month" style="left:350px; top:25px; width:27px; height:27px; ">
  3896. <caption>12</caption>
  3897. <script type="javascript" ev:event="DOMActivate">
  3898. <![CDATA[
  3899. if(opt_month.value!== "12") {
  3900. fGetCalendar("12");
  3901. }
  3902. ]]>
  3903. </script>
  3904. </button>
  3905. <output id="output1" ref="/root/hidden/calendar/month" class="calendar_output" style="left:200px; top:2px; width:20px; height:19px; "/>
  3906. <caption id="caption46" class="calendar_output" style="left:178px; top:2px; width:20px; height:19px; ">년</caption>
  3907. <caption id="caption47" class="calendar_output" style="left:220px; top:2px; width:20px; height:19px; ">월</caption>
  3908. <button id="button29" class="icon_next_year" style="left:270px; top:5px; width:16px; height:16px; background-image:../../../com/commonweb/images/cal_next_y.gif; ">
  3909. <caption/>
  3910. <script type="javascript" ev:event="DOMActivate">
  3911. <![CDATA[
  3912. var isMonth = model.getValue("/root/hidden/calendar/month");
  3913. var isYear = model.getValue("/root/hidden/calendar/year");
  3914. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
  3915. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  3916. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  3917. model.refresh();
  3918. setCalendar(isDate);
  3919. // getCurerPresCond();
  3920. ]]>
  3921. </script>
  3922. </button>
  3923. <button id="button30" class="icon_pre_month" visibility="hidden" style="left:121px; top:5px; width:16px; height:16px; background-image:../../../com/commonweb/images/cal_pre_m.gif; ">
  3924. <caption/>
  3925. <script type="javascript" ev:event="DOMActivate">
  3926. <![CDATA[
  3927. var isMonth = model.getValue("/root/hidden/calendar/month");
  3928. var isYear = model.getValue("/root/hidden/calendar/year");
  3929. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'M');
  3930. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  3931. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  3932. model.refresh();
  3933. setCalendar(isDate);
  3934. ]]>
  3935. </script>
  3936. </button>
  3937. <output id="output3" ref="/root/hidden/calendar/year" class="calendar_output" style="left:148px; top:2px; width:30px; height:19px; "/>
  3938. <button id="button36" class="icon_next_month" visibility="hidden" style="left:246px; top:5px; width:16px; height:16px; background-image:../../../com/commonweb/images/cal_next_m.gif; ">
  3939. <caption/>
  3940. <script type="javascript" ev:event="DOMActivate">
  3941. <![CDATA[
  3942. var isMonth = model.getValue("/root/hidden/calendar/month");
  3943. var isYear = model.getValue("/root/hidden/calendar/year");
  3944. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
  3945. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  3946. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  3947. model.refresh();
  3948. if(model.getValue("/root/send/data/excuroomcd") == "") {
  3949. messageBox("치료실","C002");
  3950. return;
  3951. }
  3952. setCalendar(isDate);
  3953. // getCurerPresCond();
  3954. ]]>
  3955. </script>
  3956. </button>
  3957. <button id="button38" class="icon_pre_year" style="left:98px; top:5px; width:16px; height:16px; background-image:../../../com/commonweb/images/cal_pre_y.gif; ">
  3958. <caption/>
  3959. <script type="javascript" ev:event="DOMActivate">
  3960. <![CDATA[
  3961. var isMonth = model.getValue("/root/hidden/calendar/month");
  3962. var isYear = model.getValue("/root/hidden/calendar/year");
  3963. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
  3964. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  3965. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  3966. model.refresh();
  3967. setCalendar(isDate);
  3968. // getCurerPresCond();
  3969. ]]>
  3970. </script>
  3971. </button>
  3972. </group>
  3973. <caption id="caption52" class="tit_2" style="left:814px; top:159px; width:85px; height:13px; ">예약내역</caption>
  3974. <datagrid id="grd_rsrvposstm" nodeset="/root/main/rsrvposstmlist/rsrvposstm" caption="시간^현황^가용" colsep="^" colwidth="41, 33, 32" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:664px; top:179px; width:144px; height:311px; ">
  3975. <col ref="rsrvtm" format="hh:nn" style="text-align:center; "/>
  3976. <col ref="count" style="text-align:center; "/>
  3977. <col ref="max" style="text-align:center; "/>
  3978. <script type="javascript" ev:event="ondblclick">
  3979. <![CDATA[
  3980. if (+grd_mainordlist5.row != "" ) {
  3981. var curDate = getCurrentDate().substr(0,8); //오늘날짜
  3982. var rsrvdd =model.getValue("/root/send/data/rsrvdd"); //선택일자
  3983. if (model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/rsrvtmcntlyn") == "Y"){
  3984. messageBox("예약시간을 변경할 수 없는 검사/치료실입니다.", "E999", "");
  3985. return;
  3986. }
  3987. //현황과 가용인원 같을 경우 예약 불가능
  3988. if(model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/count") >= model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/max")) {
  3989. if (messageBox("가용인원을 초과하였습니다.", "Q003") != 6) {
  3990. }else {
  3991. //당일예약
  3992. if(curDate == rsrvdd) {
  3993. if(getCurrentTime().substr(0,4) > model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")) { //현재시간 이전시간을 예약
  3994. messageBox("예약시간이 과거시간", "E008");
  3995. }
  3996. else { //현재시간 이후시간을 예약
  3997. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  3998. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  3999. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/chk", "true");
  4000. }
  4001. }
  4002. else if(curDate > rsrvdd) { //당일 이전 예약
  4003. messageBox("예약일자가 과거일자", "E008");
  4004. }
  4005. else { // 당일 이후 예약
  4006. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4007. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4008. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/chk", "true");
  4009. }
  4010. //model.refresh();
  4011. }
  4012. }else {
  4013. //당일예약
  4014. if(curDate == rsrvdd) {
  4015. if(getCurrentTime().substr(0,4) > model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")) { //현재시간 이전시간을 예약
  4016. messageBox("예약시간이 과거시간", "E008");
  4017. }
  4018. else { //현재시간 이후시간을 예약
  4019. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4020. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4021. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/chk", "true");
  4022. }
  4023. }
  4024. else if(curDate > rsrvdd) { //당일 이전 예약
  4025. messageBox("예약일자가 과거일자", "E008");
  4026. }
  4027. else { // 당일 이후 예약
  4028. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4029. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm",model.getValue("/root/send/data/rsrvdd")+model.getValue("/root/main/rsrvposstmlist/rsrvposstm["+grd_rsrvposstm.row+"]/rsrvtm")); // 예약시간
  4030. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/chk", "true");
  4031. }
  4032. //model.refresh();
  4033. }
  4034. DateChng();
  4035. }
  4036. else {
  4037. messageBox("처방을", "C002");
  4038. }
  4039. ]]>
  4040. </script>
  4041. </datagrid>
  4042. <multilinegrid id="grd_calendar1" nodeset="/root/hidden/calendar1/weeklist/list" class="gridcalendar" autoresize="true" caption="일^월^화^수^목^금^토" colsep="^" colwidth="56, 55, 55, 55, 55, 56, 56" dataheight="20" extendlastcol="noscroll" focuscolor="transparent" rowsep="|" mergecellsfixedrows="bycolrec" style="left:268px; top:200px; width:390px; height:290px; ">
  4043. <row>
  4044. <col class="color_sun" ref="sun" style="border-bottom-width:0px; "/>
  4045. <col ref="mon" style="border-bottom-width:0px; "/>
  4046. <col ref="tue" style="border-bottom-width:0px; "/>
  4047. <col ref="wed" style="border-bottom-width:0px; "/>
  4048. <col ref="thu" style="border-bottom-width:0px; "/>
  4049. <col ref="fri" style="border-bottom-width:0px; "/>
  4050. <col class="color_sat" ref="sat" style="border-bottom-width:0px; "/>
  4051. </row>
  4052. <row>
  4053. <col ref="sun_memo" style="border-top-width:0px; "/>
  4054. <col ref="mon_memo" style="border-top-width:0px; "/>
  4055. <col ref="tue_memo" style="border-top-width:0px; "/>
  4056. <col ref="wed_memo" style="border-top-width:0px; "/>
  4057. <col ref="thu_memo" style="border-top-width:0px; "/>
  4058. <col ref="fri_memo" style="border-top-width:0px; "/>
  4059. <col ref="sat_memo" style="border-top-width:0px; "/>
  4060. </row>
  4061. <script type="javascript" ev:event="onclick">
  4062. <![CDATA[
  4063. /*
  4064. if(grd_calendar1.row != 0 ) {
  4065. model.setValue("/root/hidden/grdcellcolor/calrow",grd_calendar1.row);
  4066. model.setValue("/root/hidden/grdcellcolor/calcol",grd_calendar1.col);
  4067. setCellColor(grd_calendar1);
  4068. getRsrvPossTm(grd_calendar1);
  4069. var curDate = getCurrentDate().substr(0,8); //오늘날짜
  4070. var rsrvdd =model.getValue("/root/send/data/rsrvdd"); //선택일자
  4071. if(curDate <= rsrvdd) {
  4072. for(var i = 1; i <grd_rsrvlist.rows ; i++ ) {
  4073. if(model.getValue("/root/main/exculist/patinfolist/hngnm")== model.getValue("/root/main/rsrvposstmlist/rsrvlist["+i+"]/hngnm") && model.getValue("/root/send/data/srchpid") != model.getValue("/root/main/rsrvposstmlist/rsrvlist["+i+"]/pid") ) {
  4074. messageBox("동명이인 예약", "E008");
  4075. return 0;
  4076. }
  4077. }
  4078. }
  4079. }
  4080. */
  4081. ]]>
  4082. </script>
  4083. </multilinegrid>
  4084. <datagrid id="grd_temp" nodeset="/root/init/curerprescondlist/rsrvcalendar" visibility="hidden" caption="일자(dd)^가용현황^max^caption3" colsep="^" colwidth="76, 62, 32" mergecellsfixedrows="bycolrec" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:839px; top:303px; width:175px; height:170px; ">
  4085. <col ref="rsrvdd"/>
  4086. <col ref="count"/>
  4087. <col ref="max"/>
  4088. </datagrid>
  4089. <caption id="caption55" class="tit_2" style="left:7px; top:394px; width:106px; height:13px; ">환자Comment</caption>
  4090. <object id="rtfviewer" clsid="{a4bf7e18-5f67-4868-a726-eed421632374}" visibility="hidden" style="left:863px; top:423px; width:40px; height:45px; "/>
  4091. <caption id="caption56" class="tit_2" style="left:7px; top:159px; width:69px; height:13px; ">수행부서</caption>
  4092. <line id="line21" class="line_1" style="x1:5px; y1:347px; x2:263px; y2:347px; "/>
  4093. <datagrid id="grd_orddept" nodeset="/root/main/orddeptinfo/orddeptlist" caption="수행부서" colsep="^" colwidth="237" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="byrow" style="left:5px; top:180px; width:258px; height:70px; ">
  4094. <col disabled="true" ref="orddeptcd" type="combo">
  4095. <choices>
  4096. <itemset nodeset="/root/init/cmb_info/initexecroom">
  4097. <label ref="excuroomcdnm"/>
  4098. <value ref="excuroomcdid"/>
  4099. </itemset>
  4100. </choices>
  4101. </col>
  4102. <script type="javascript" ev:event="onclick">
  4103. <![CDATA[
  4104. if ( (grd_orddept.row >= grd_orddept.fixedRows) && (grd_orddept.isCell(event.target))) {
  4105. model.removeNodeset("/root/main/rsrvposstmlist/rsrvposstm");
  4106. model.removeNodeset("/root/main/rsrvposstmlist/rsrvlist");
  4107. model.setValue("/root/hidden/orddeptcheck","check");
  4108. model.setValue("/root/send/data/excuroomcd",model.getValue("/root/main/orddeptinfo/orddeptlist["+grd_orddept.row+"]/orddeptcd"));
  4109. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomcd",model.getValue("/root/main/orddeptinfo/orddeptlist["+grd_orddept.row+"]/orddeptcd"));
  4110. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",grd_orddept.labelmatrix(grd_orddept.row, grd_orddept.col));
  4111. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/pexcuroomnm",grd_orddept.labelmatrix(grd_orddept.row, grd_orddept.col));
  4112. //model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",model.getValue("/root/main/orddeptinfo/orddeptlist["+grd_orddept.row+"]/orddeptcd"));
  4113. initCalendar();
  4114. }
  4115. ]]>
  4116. </script>
  4117. </datagrid>
  4118. <line id="line22" class="line_1" style="x1:5px; y1:175px; x2:263px; y2:175px; "/>
  4119. <button id="btn_can" class="btn4_letter2" style="left:1044px; top:151px; width:56px; height:22px; ">
  4120. <caption>취소</caption>
  4121. <script type="javascript" ev:event="DOMActivate">
  4122. <![CDATA[
  4123. var rsrvdt = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt");
  4124. var nodeList = instance1.selectNodes("/root/main/exculist/mainordlist5[chk='true' ]");
  4125. var rCSV = getNodeListCSV(nodeList);
  4126. if ( rCSV == null ) {
  4127. messageBox("처방내역을 ","C002");
  4128. return "0";
  4129. }
  4130. exeRsrvTransaction("cncl");
  4131. readfunc();
  4132. //상태별 색상주기
  4133. fSetGrdMainordlist();
  4134. model.setFocus("ipt_pid");
  4135. ]]>
  4136. </script>
  4137. </button>
  4138. <caption id="caption57" class="tit_2" style="left:667px; top:159px; width:85px; height:13px; ">예약시간</caption>
  4139. <datagrid id="grd_momolist" nodeset="/root/main/rsrvposstmlist/deptmemo" class="datagrid0" scroll="vertical" autoresize="true" caption="일자^메모내용" colsep="^" colwidth="0, 245" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:5px; top:276px; width:258px; height:49px; ">
  4140. <col ref="memodt"/>
  4141. <col disabled="true" ref="memorem" type="input" style="left:0px; top:0px; width:54px; height:23px; "/>
  4142. </datagrid>
  4143. <datagrid id="grd_rsrvlist" nodeset="/root/main/rsrvposstmlist/rsrvlist" autoresize="true" caption="시간^등록번호^이름^처방명^진료과(진료의)" colsep="^" colwidth="35, 66, 44, 109, 91" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:814px; top:179px; width:356px; height:311px; ">
  4144. <col ref="srchrsrvtm" format="hh:nn" style="text-align:center; "/>
  4145. <col ref="pid"/>
  4146. <col ref="hngnm"/>
  4147. <col ref="prcpnm"/>
  4148. <col ref="rgstdepthngnm"/>
  4149. </datagrid>
  4150. <button id="button39" class="btn2_letter6" style="left:175px; top:155px; width:86px; height:19px; ">
  4151. <caption>휴검관리내역</caption>
  4152. <script type="javascript" ev:event="DOMActivate">
  4153. <![CDATA[
  4154. open("SMAEA00700", "","","", "SMAEA00700", "","");
  4155. ]]>
  4156. </script>
  4157. </button>
  4158. <button id="button40" class="btn4_letter3" style="left:1103px; top:151px; width:68px; height:22px; ">
  4159. <caption>재출력</caption>
  4160. <script type="javascript" ev:event="DOMActivate">
  4161. <![CDATA[
  4162. //********************************
  4163. // ******예약증 출력 20070821******
  4164. //********************************
  4165. var max = 0;
  4166. for (var i = 1; i < +grd_mainordlist5.rows; i ++){
  4167. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true") {
  4168. max = parseInt(max) + 1;
  4169. }
  4170. }
  4171. if (max > 0){
  4172. rtfviewer.OpenProgressBar(max);
  4173. }
  4174. for (var i = 1; i < +grd_mainordlist5.rows; i ++){
  4175. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/chk") == "true") {
  4176. var rsrvdt = model.getValue("/root/main/exculist/mainordlist5["+ i +"]/srchrsrvtm");
  4177. var prcpnm = model.getValue("/root/main/exculist/mainordlist5["+ i +"]/prcpnm");
  4178. var roomcd = model.getValue("/root/main/exculist/mainordlist5["+ i +"]/pexcuroomnm");
  4179. var sna = model.getValue("/root/main/exculist/patinfolist/sex") + "/" + model.getValue("/root/main/exculist/patinfolist/age");
  4180. var tmpldata = model.getValue("/root/main/exculist/mainordlist5["+ i +"]/tmpldata");
  4181. var year = rsrvdt.substr(0,4);
  4182. var month = rsrvdt.substr(4,2);
  4183. var day = rsrvdt.substr(6,2);
  4184. var week = rsrvdt.substr(0,8).toDate().getDayOfWeek("K");
  4185. var hh = rsrvdt.substr(8,2);
  4186. var mm = rsrvdt.substr(10,2);
  4187. if(hh > 12)
  4188. {
  4189. hh = "오후 "+(hh-12);
  4190. }
  4191. else{
  4192. hh = "오전 "+hh;
  4193. }
  4194. var mm = rsrvdt.substr(10,2);
  4195. if(tmpldata != "") {
  4196. //1. 예약예문내용을 뷰어로 보여주기
  4197. rtfviewer.TextRtf = tmpldata;
  4198. //2. 바꾸기
  4199. var ssleep = "";
  4200. if (model.getValue("/root/main/exculist/mainordlist5["+i+"]/slepyn") == "Y"){
  4201. var ssleep = "(수면)";
  4202. }
  4203. roomcd = roomcd + ssleep;
  4204. //roomcd = ssleep;
  4205. rtfviewer.ReplaceRtfCode("pid", model.getValue("/root/send/data/srchpid")); //등록번호
  4206. rtfviewer.ReplaceRtfCode("patnm",model.getValue("/root/main/exculist/patinfolist/hngnm")); //성명
  4207. rtfviewer.ReplaceRtfCode("roomcd",roomcd); //검사실명
  4208. // rtfviewer.ReplaceRtfCode("@@gender/age",sna); //성별,연령
  4209. // rtfviewer.ReplaceRtfCode("@@prcpnm",prcpnm); //검사명
  4210. rtfviewer.ReplaceRtfCode("year",year); //년
  4211. rtfviewer.ReplaceRtfCode("month",month); //월
  4212. rtfviewer.ReplaceRtfCode("day",day); //일
  4213. rtfviewer.ReplaceRtfCode("week",week); //요일
  4214. rtfviewer.ReplaceRtfCode("hh",hh); //시
  4215. rtfviewer.ReplaceRtfCode("mm",mm); //분
  4216. }
  4217. else {
  4218. messageBox(i + "번째의 등록된 예약예문이 ", "I004");
  4219. }
  4220. }
  4221. }
  4222. if (max > 0){
  4223. rtfviewer.CloseProgressBar();
  4224. }
  4225. model.setFocus("ipt_pid");
  4226. ]]>
  4227. </script>
  4228. </button>
  4229. <line id="line23" class="line_1" style="x1:814px; y1:174px; x2:1170px; y2:174px; "/>
  4230. <line id="line25" class="line_1" style="x1:663px; y1:174px; x2:809px; y2:174px; "/>
  4231. <datagrid id="datagrid1" nodeset="/root/main/rsrvposstmlist/updtlist" visibility="hidden" autoresize="true" caption="변동사유" colsep="^" colwidth="245" mergecellsfixedrows="bycolrec" rowsep="|" style="left:353px; top:398px; width:258px; height:71px; ">
  4232. <col ref="updtresndesc"/>
  4233. </datagrid>
  4234. <line id="line26" class="line_1" style="x1:5px; y1:271px; x2:263px; y2:271px; "/>
  4235. <button id="btn_execcncl" class="btn2_letter4" style="left:1054px; top:11px; width:64px; height:19px; ">
  4236. <caption>처방조회</caption>
  4237. <script type="javascript" ev:event="DOMActivate">
  4238. <![CDATA[
  4239. var child = getOpenWindow("SMMMO02500") ;
  4240. if (child != null ) {
  4241. child.model.setValue("/root/main/patinfolist/pid" , model.getValue("/root/send/data/srchpid"));
  4242. setParameter ( "SMMMO02500_cond" , model.getValue("/root/send/data/srchpid"));
  4243. child.javascript.fReqGetPatComnInfo("/root/send/reqdata", model.getValue("/root/send/data/srchpid"));
  4244. child.button1.selected = true;
  4245. child.model.toggle("case1");
  4246. child.model.copyNode("/root/main/patinfolist", "/root/main/srchinfo/patinfolist");
  4247. child.model.removeNodeset("/root/main/bfprcp/prcplist");
  4248. child.model.removeNodeset("/root/main/bfprcpday/bfprcpday");
  4249. child.grd_prcpdd.visible = false;
  4250. child.grd_bfprcplist.attribute("left") = 2;
  4251. child.grd_bfprcplist.attribute("width")= 1190;
  4252. child.model.refresh();
  4253. }else{
  4254. setParameter ( "SMMMO02500_cond" , model.getValue("/root/send/data/srchpid"));
  4255. open("SMMMO02500", "","","", "SMMMO02500", "/root/send/data/srchpid","/root/init/srchcond2");
  4256. }
  4257. ]]>
  4258. </script>
  4259. </button>
  4260. <button id="button27" class="btn2_letter6" visibility="visible" style="left:895px; top:10px; width:86px; height:19px; ">
  4261. <caption>골밀도현황</caption>
  4262. <script type="javascript" ev:event="DOMActivate">
  4263. <![CDATA[
  4264. group8.visible = true;
  4265. model.refresh();
  4266. ]]>
  4267. </script>
  4268. </button>
  4269. <button id="button5" class="icon_bottom" style="left:1132px; top:11px; width:26px; height:19px; ">
  4270. <caption/>
  4271. <script type="javascript" ev:event="DOMActivate">
  4272. <![CDATA[
  4273. switch1.attribute("top") = 216;
  4274. switch1.attribute("height") = 189;
  4275. case1.attribute("height") = 212;
  4276. case2.attribute("height") = 212;
  4277. grd_mainordlist5.attribute("height") = 179;
  4278. grd_anoprcplist.attribute("height") = 179;
  4279. //btn_timecls.attribute("top") = 236;
  4280. cap_sleep.attribute("top") = 197;
  4281. btn_execcncl.attribute("top") = 197;
  4282. button4.attribute("top") = 197;
  4283. button3.attribute("top") = 197;
  4284. button4.visible = true;
  4285. button3.visible = false;
  4286. ]]>
  4287. </script>
  4288. </button>
  4289. <button id="btn_case1" class="btn_sw" group="tab1" selected="true" style="left:6px; top:7px; width:72px; height:22px; ">
  4290. <caption>검사현황</caption>
  4291. <script type="javascript" ev:event="DOMActivate">
  4292. <![CDATA[
  4293. model.toggle("case5");
  4294. btn_case1.selected = true;
  4295. btn_case2.selected = false;
  4296. ]]>
  4297. </script>
  4298. </button>
  4299. <button id="button6" class="icon_top" style="left:1132px; top:11px; width:26px; height:19px; ">
  4300. <caption/>
  4301. <script type="javascript" ev:event="DOMActivate">
  4302. <![CDATA[
  4303. switch1.attribute("top") = 20;
  4304. switch1.attribute("height") = 356;
  4305. case1.attribute("height") = 379;
  4306. case2.attribute("height") = 379;
  4307. grd_mainordlist5.attribute("height") = 347;
  4308. grd_anoprcplist.attribute("height") = 347;
  4309. //btn_timecls.attribute("top") = 358;
  4310. cap_sleep.attribute("top") = 383;
  4311. btn_execcncl.attribute("top") = 383;
  4312. button4.attribute("top") = 383;
  4313. button3.attribute("top") = 383;
  4314. button4.visible = false;
  4315. button3.visible = true;
  4316. ]]>
  4317. </script>
  4318. </button>
  4319. <button id="btn_case2" class="btn_sw" group="tab1" selected="false" style="left:79px; top:7px; width:83px; height:22px; ">
  4320. <caption>타검사현황</caption>
  4321. <script type="javascript" ev:event="DOMActivate">
  4322. <![CDATA[
  4323. model.toggle("case6");
  4324. btn_case1.selected = false;
  4325. btn_case2.selected = true;
  4326. ]]>
  4327. </script>
  4328. </button>
  4329. <caption id="cap_sleep" ref="/root/hidden/chkgam" visibility="hidden" style="left:985px; top:10px; width:63px; height:20px; font-family:굴림; font-size:12pt; font-weight:bold; color:#ffffff; text-align:center; vertical-align:bottom; background-color:#ff0000; "/>
  4330. <switch id="switch3" style="left:0px; top:30px; width:1175px; height:110px; ">
  4331. <case id="case5" selected="true" style="left:0px; top:0px; width:1170px; height:110px; ">
  4332. <line id="line18" class="line_1" style="x1:0px; y1:1px; x2:1145px; y2:1px; "/>
  4333. <datagrid id="grd_mainordlist5" nodeset="/root/main/exculist/mainordlist5" caption="^구분^수납^전화^처방일자^진료과^처방의^검사코드^검사명^수행부서^희망일자^예약시간^소요시간^종료시간^병실^Remark^수행가능부서^prcpgenflag^prcpdd^execprcpuniqno^execprcpstatcd^prcpkindcd^excupartcd^indd^actorddd^orddrid^execrid^suppdeptcd^cnclresncd^pid^prcpdelivefact^rsrvplceflag^rsrvexcupossyn^rsrvexmptmplcd^tmpldata^rsrvflag^cretno^orddd^rsrvdt^excuroomcd^bf_srchrsrvtm^pacsnocretyn^rgsttm^rgstrid^orddeptcd^rsrvtmcntlyn^rsrvpsnnocntlyn^excucdrem^prcpgenrflag^pexcuroomnm^prcpexecdeptcd^eqmtifyn^caption1" colsep="^" colwidth="26, 49, 53, 30, 77, 89, 54, 73, 280, 100, 77, 109, 60, 58, 38, 360, 147, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" explorerbar="sortshow" frozencols="7" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:6px; width:1145px; height:79px; ">
  4334. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  4335. <col ref="rsrvflagyn"/>
  4336. <col ref="rcptyn"/>
  4337. <col checkvalue="Y,N" ref="telrsrvyn" type="checkbox"/>
  4338. <col ref="prcpdd" format="yyyy-mm-dd"/>
  4339. <col ref="orddepthngnm"/>
  4340. <col ref="orddrnm"/>
  4341. <col ref="calcscorcd"/>
  4342. <col disabled="true" ref="prcpnm"/>
  4343. <col disabled="true" ref="excuroom" type="combo">
  4344. <choices>
  4345. <itemset nodeset="/root/init/cmb_info/initexecroom">
  4346. <label ref="excuroomcdnm"/>
  4347. <value ref="excuroomcdid"/>
  4348. </itemset>
  4349. </choices>
  4350. </col>
  4351. <col ref="prcphopedd" format="yyyy-mm-dd hh:nn"/>
  4352. <col ref="srchrsrvtm" type="input" format="yyyy-mm-dd hh:nn"/>
  4353. <col ref="excutm" style="text-align:center; "/>
  4354. <col ref="endtime" format="hh:nn" style="text-align:center; "/>
  4355. <col ref="roomcd" visibility="hidden"/>
  4356. <col ref="rsrvrem" type="input"/>
  4357. <col ref="excuroomnm" visibility="hidden"/>
  4358. <col ref="genrflag" visibility="hidden"/>
  4359. <col ref="prcpdd" visibility="hidden"/>
  4360. <col ref="execprcpuniqno" visibility="hidden"/>
  4361. <col ref="execprcpstatcd" visibility="hidden"/>
  4362. <col ref="prcpkindcd" visibility="hidden"/>
  4363. <col ref="excupartcd" visibility="hidden"/>
  4364. <col ref="indd" visibility="hidden"/>
  4365. <col ref="actorddd" visibility="hidden"/>
  4366. <col ref="orddrid" visibility="hidden"/>
  4367. <col ref="execrid" visibility="hidden"/>
  4368. <col ref="suppdeptcd" visibility="hidden"/>
  4369. <col ref="cnclrescd" visibility="hidden"/>
  4370. <col ref="pid" visibility="hidden"/>
  4371. <col ref="prcpdelivefact" visibility="hidden"/>
  4372. <col ref="rsrvplceflag" visibility="hidden"/>
  4373. <col ref="rsrvexcupossyn" visibility="hidden"/>
  4374. <col ref="rsrvexmptmplcd" visibility="hidden"/>
  4375. <col ref="tmpldata" visibility="hidden"/>
  4376. <col ref="rsrvflag" visibility="hidden"/>
  4377. <col ref="cretno" visibility="hidden"/>
  4378. <col ref="orddd" visibility="hidden"/>
  4379. <col ref="rsrvdt" visibility="hidden"/>
  4380. <col ref="excuroomcd" visibility="hidden"/>
  4381. <col ref="bf_srchrsrvtm" visibility="hidden"/>
  4382. <col ref="pacsnocretyn" visibility="hidden"/>
  4383. <col ref="rgsttm" visibility="hidden"/>
  4384. <col ref="rgstrid" visibility="hidden"/>
  4385. <col ref="orddeptcd" visibility="hidden"/>
  4386. <col ref="rsrvtmcntlyn" visibility="hidden"/>
  4387. <col ref="rsrvpsnnocntlyn" visibility="hidden"/>
  4388. <col ref="excucdrem" visibility="hidden"/>
  4389. <col ref="prcpgenrflag" visibility="hidden"/>
  4390. <col ref="pexcuroomnm" visibility="hidden"/>
  4391. <col ref="prcpexecdeptcd" visibility="hidden"/>
  4392. <col ref="eqmtifyn" visibility="hidden"/>
  4393. <col ref="baseexcuroomcd" visibility="hidden"/>
  4394. <col ref="glycostestyn" visibility="hidden"/>
  4395. <col ref="bonedentestyn" visibility="hidden"/>
  4396. <col ref="glycosyn" visibility="hidden"/>
  4397. <col ref="glycoscure" visibility="hidden"/>
  4398. <col ref="reqhospcd" visibility="hidden"/>
  4399. <col ref="slepyn" visibility="hidden"/>
  4400. <script type="javascript" ev:event="onclick">
  4401. <![CDATA[
  4402. //스크롤 조작시 온클릭 이벤트 안타도록
  4403. if( isDataCell() ){
  4404. // Grid Colidx 정리함. 장준원 20080603
  4405. // 기존 grd_mainordlist5.col != 0 ==> grd_mainordlist5.colAttribute(colidx, "ref") == "chk" 로 변경처리함.
  4406. var colidx = grd_mainordlist5.col;
  4407. if (model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/excucdrem") != ""){
  4408. messageBox(model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/excucdrem"), "E999", "");
  4409. }
  4410. if(grd_mainordlist5.colAttribute(colidx, "ref") != "chk" && grd_mainordlist5.colAttribute(colidx, "ref") != "telrsrvyn" && grd_mainordlist5.colAttribute(colidx, "ref") != "srchrsrvtm" && grd_mainordlist5.colAttribute(colidx, "ref") != "rsrvrem" ) {
  4411. // 예약 Comment 복사
  4412. model.setValue("/root/hidden/rsrvrem", model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/rsrvrem"));
  4413. var schk = model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/chk");
  4414. if (schk == "true"){
  4415. model.setValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/chk", "false");
  4416. }else{
  4417. model.setValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/chk", "true");
  4418. }
  4419. grd_mainordlist5.refresh();
  4420. // 달력에 처음 로딩시 color값 안들어 가기 위해
  4421. model.setValue("/root/hidden/grdcellcolor/color","");
  4422. model.setValue("/root/send/data/suppdeptcd",model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/suppdeptcd"));
  4423. model.removeNodeset("/root/main/orddeptinfo/orddeptlist");
  4424. grd_orddept.refresh();
  4425. //수행부서 리스트 담기
  4426. //var excuroomnm = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomnm");
  4427. model.setValue("/root/send/data/excuroomnm", model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomnm"));
  4428. model.setValue("/root/send/data/excuroomcd", model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroom"));
  4429. if (model.getValue("/root/send/data/chkflag") == "A" || model.getValue("/root/send/data/chkflag") == "T" || model.getValue("/root/send/data/chkflag") == "S"){
  4430. submit("TRAEA02016");
  4431. model.makeNode("/root/main/orddeptinfo/orddeptlist");
  4432. copyNodesetType("/root/main/orddeptinfo/orddeptlist", "/root/init/curerprescondlist2/orddeptlist", "replace");
  4433. grd_orddept.refresh();
  4434. }
  4435. model.setValue("/root/send/data/excuroomnm", "");
  4436. if (model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvflagyn") == "예약"){
  4437. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",grd_mainordlist5.labelmatrix(grd_mainordlist5.row, grd_mainordlist5.colRef("excuroom")));
  4438. }else{
  4439. var iname = grd_mainordlist5.labelmatrix(grd_mainordlist5.row, grd_mainordlist5.colRef("excuroom"));
  4440. if (iname == ""){
  4441. iname = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/orddrnm");
  4442. }
  4443. if (instance1.selectSingleNode("/root/init/cmb_info/initexecroom[excuroomcdnm='" + iname + "']") == null){
  4444. var icode = "";
  4445. }else{
  4446. var icode = instance1.selectSingleNode("/root/init/cmb_info/initexecroom[excuroomcdnm='" + iname + "']").excuroomcdid.nodeValue;
  4447. }
  4448. var irow = grd_orddept.findRow(icode, 1, 0, false, true);
  4449. if (irow > 0){
  4450. grd_orddept.row = irow;
  4451. grd_orddept.topRow = irow;
  4452. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomcd", icode);
  4453. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",grd_orddept.labelmatrix(irow, 0));
  4454. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/pexcuroomnm",grd_orddept.labelmatrix(irow, 0));
  4455. model.refresh();
  4456. }else{
  4457. var sbaseexcuroomcd = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/baseexcuroomcd");
  4458. if (sbaseexcuroomcd != ""){
  4459. var irow1 = grd_orddept.findRow(sbaseexcuroomcd, 1, 0, false, true);
  4460. if (irow1 > 0){
  4461. grd_orddept.row = irow1;
  4462. grd_orddept.topRow = irow1;
  4463. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomcd", sbaseexcuroomcd);
  4464. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",grd_orddept.labelmatrix(irow1, 0));
  4465. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/pexcuroomnm",grd_orddept.labelmatrix(irow1, 0));
  4466. model.refresh();
  4467. }
  4468. }
  4469. }
  4470. }
  4471. if( grd_mainordlist5.valueMatrix(grd_mainordlist5.row, 0) == "true" && model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvplceflag") !="1") {
  4472. if (model.getValue("/root/send/data/chkflag") == "T"){
  4473. messageBox("통합예약실에서 예약", "E001");
  4474. model.setValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/chk", "false");
  4475. }
  4476. }
  4477. else{
  4478. if(model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvflagyn") == "예약"){
  4479. grd_rsrvtemp.addRow();
  4480. model.setValue("/root/hidden/beforersrvtm/rsrvdtlist["+grd_rsrvtemp.bottomRow+"]/before",model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm"));
  4481. }
  4482. }
  4483. var chkflag = model.getValue("/root/send/data/chkflag");
  4484. if (chkflag == "T"){
  4485. fTopInfo();
  4486. }
  4487. }
  4488. if (model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/chk") == "true" && colidx == 8){
  4489. //grd_mainordlist5.rowstyle(i, "data", "background-color") = "#ece1ec";
  4490. grd_mainordlist5.rowstyle(grd_mainordlist5.row, "data", "background-color") = "#f4d2fc";
  4491. if (model.getValue("/root/main/exculist/mainordlist5[" + grd_mainordlist5.row + "]/glycostestyn") == "Y"){
  4492. model.removeNodeset("/root/hidden/popup/rsrvaddinfo");
  4493. model.removeNodeset("/root/main/subordlist/subordlist1");
  4494. model.makeValue("/root/hidden/popup/rsrvaddinfo/glycosyn", model.getValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/glycosyn"));
  4495. model.makeValue("/root/hidden/popup/rsrvaddinfo/glycoscure", model.getValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/glycoscure"));
  4496. model.makeValue("/root/hidden/popup/rsrvaddinfo/reqhospcd", model.getValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/reqhospcd"));
  4497. model.makeValue("/root/hidden/popup/rsrvaddinfo/rsrvrem", model.getValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/rsrvrem"));
  4498. model.makeValue("/root/hidden/popup/rsrvaddinfo/phone", model.getValue("/root/main/exculist/patinfolist/hometel"));
  4499. model.makeValue("/root/hidden/popup/rsrvaddinfo/rownum", 1);
  4500. model.makeValue("/root/hidden/popup/rsrvaddinfo/srchrsrvtm", model.getValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/srchrsrvtm"));
  4501. modal("SPAEA05000", "", "200", "200", "SPAEA05000","/root/hidden/popup/rsrvaddinfo","/root/hidden");
  4502. var glycosyn = model.getValue("/root/main/subordlist/subordlist1["+ 1 +"]/glycosyn");
  4503. if (glycosyn == "") {
  4504. messageBox("해당 처방코드는 당뇨유무 체크가 필수 항목입니다", "E999", "");
  4505. return;
  4506. }
  4507. model.setValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/glycosyn", model.getValue("/root/main/subordlist/subordlist1/glycosyn"));
  4508. model.setValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/glycoscure", model.getValue("/root/main/subordlist/subordlist1/glycoscure"));
  4509. model.setValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/reqhospcd", model.getValue("/root/main/subordlist/subordlist1/reqhospcd"));
  4510. model.setValue("/root/main/exculist/mainordlist5["+ grd_mainordlist5.row +"]/rsrvrem", model.getValue("/root/main/subordlist/subordlist1/rsrvrem"));
  4511. model.refresh();
  4512. }
  4513. }else{
  4514. grd_mainordlist5.rowstyle(grd_mainordlist5.row, "data", "background-color") = "#ffffff";
  4515. }
  4516. }
  4517. ]]>
  4518. </script>
  4519. <script type="javascript" ev:event="onendedit">
  4520. <![CDATA[
  4521. // Grid Colidx 정리함. 장준원 20080603
  4522. // 기존 grd_mainordlist5.col != 0 ==> grd_mainordlist5.colAttribute(colidx, "ref") == "chk" 로 변경처리함.
  4523. var colidx = grd_mainordlist5.col;
  4524. //예약시간 수정후
  4525. if(grd_mainordlist5.colAttribute(colidx, "ref") == "srchrsrvtm") {
  4526. var srchrsrvtm = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm");
  4527. var rsrvtm = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/rsrvdt");
  4528. var term = model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excutm");
  4529. var posstm ="";
  4530. //수기로 입력시 과거시간 체크
  4531. if( srchrsrvtm < getCurrentDate().substr(0,8) + getCurrentTime().substr(0,4) ) {
  4532. messageBox("예약시간이 과거시간", "E008");
  4533. return ;
  4534. }
  4535. else {
  4536. for( var i = 1 ; i < grd_rsrvlist.rows ; i++ ) {
  4537. var min = model.getValue("/root/main/rsrvposstmlist/rsrvlist["+i+"]/srchrsrvtm");
  4538. if(srchrsrvtm.substr(8,4) > min.substr(0,4) ) {
  4539. posstm = min.substr(0,4);
  4540. }
  4541. else {
  4542. posstm = min.substr(0,4);
  4543. break;
  4544. }
  4545. }
  4546. var dateObj = new Date();
  4547. var dateObj2 = new Date();
  4548. // alert("posstm : "+posstm);
  4549. if(posstm > srchrsrvtm.substr(8,4) ) {
  4550. dateObj.setHours(posstm.substr(0,2)- srchrsrvtm.substr(8,2), posstm.substr(2,2)- srchrsrvtm.substr(10,2));
  4551. dateObj2.setHours(00,term);
  4552. if( dateObj.setHours(posstm.substr(0,2)- srchrsrvtm.substr(8,2), posstm.substr(2,2)- srchrsrvtm.substr(10,2)) < dateObj2.setHours(00,term)) {
  4553. messageBox("소요시간 초과로 예약", "E001");
  4554. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/srchrsrvtm","-");
  4555. }
  4556. model.refresh();
  4557. }
  4558. }
  4559. DateChng();
  4560. }
  4561. ]]>
  4562. </script>
  4563. <script type="javascript" ev:event="xforms-value-changed">
  4564. <![CDATA[
  4565. // Grid Colidx 정리함. 장준원 20080603
  4566. // 기존 grd_mainordlist5.col != 0 ==> grd_mainordlist5.colAttribute(colidx, "ref") == "chk" 로 변경처리함.
  4567. var colidx = grd_mainordlist5.col;
  4568. //예약시간이 변경되거나 Remark가 변경된 경우
  4569. if(grd_mainordlist5.colAttribute(colidx, "ref") == "srchrsrvtm" || grd_mainordlist5.colAttribute(colidx, "ref") == "rsrvrem"){
  4570. if (grd_mainordlist5.colAttribute(colidx, "ref") == "srchrsrvtm" && model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm") == ""){
  4571. messageBox("미예약된 항목의 예약시간 수정을 위해서 수행부서 선택은 필수", "E008", "수행부서를 선택해 주세요");
  4572. return false;
  4573. }
  4574. if (model.getValue("/root/hidden/orddeptcheck") != "check"){
  4575. //model.alert("aaa");
  4576. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/examroomnm",grd_mainordlist5.labelmatrix(grd_mainordlist5.row,8));
  4577. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroomcd", model.getValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/excuroom"));
  4578. }
  4579. model.setValue("/root/hidden/orddeptcheck","");
  4580. model.setValue("/root/main/exculist/mainordlist5["+grd_mainordlist5.row+"]/chk" ,"true");
  4581. model.refresh();
  4582. }
  4583. ]]>
  4584. </script>
  4585. <script type="javascript" ev:event="DOMFocusOut">
  4586. <![CDATA[
  4587. initPopupMenu();
  4588. ]]>
  4589. </script>
  4590. <script type="javascript" ev:event="onmousedown">
  4591. <![CDATA[
  4592. setPopupMenu("grd_mainordlist5", false, "/root/hidden1/popupmenu/menu", "label", "func");
  4593. ]]>
  4594. </script>
  4595. <script type="javascript" ev:event="onaftersort">
  4596. <![CDATA[
  4597. grd_mainordlist5.gridToInstance();
  4598. ]]>
  4599. </script>
  4600. </datagrid>
  4601. <bool id="bool1" ref="/root/hidden/boolcontrol/bool" style="left:4px; top:9px; width:20px; height:20px; ">
  4602. <script type="javascript" ev:event="xforms-select">
  4603. <![CDATA[
  4604. for (var i = 1; i < grd_mainordlist5.rows; i ++){
  4605. if (model.getValue("/root/send/data/chkflag") == "T"){
  4606. if (model.getValue("/root/main/exculist/mainordlist5[" + i + "]/rsrvflagyn") == "미예약"){
  4607. model.setValue("/root/main/exculist/mainordlist5[" + i + "]/chk", "true");
  4608. }
  4609. }else{
  4610. model.setValue("/root/main/exculist/mainordlist5[" + i + "]/chk", "true");
  4611. }
  4612. }
  4613. grd_mainordlist5.refresh();
  4614. ]]>
  4615. </script>
  4616. <script type="javascript" ev:event="xforms-deselect">
  4617. <![CDATA[
  4618. for (var i = 1; i < grd_mainordlist5.rows; i ++){
  4619. if (model.getValue("/root/send/data/chkflag") == "T"){
  4620. if (model.getValue("/root/main/exculist/mainordlist5[" + i + "]/rsrvflagyn") == "미예약"){
  4621. model.setValue("/root/main/exculist/mainordlist5[" + i + "]/chk", "false");
  4622. }
  4623. }else{
  4624. model.setValue("/root/main/exculist/mainordlist5[" + i + "]/chk", "false");
  4625. }
  4626. }
  4627. grd_mainordlist5.refresh();
  4628. ]]>
  4629. </script>
  4630. </bool>
  4631. </case>
  4632. <case id="case6">
  4633. <line id="line19" class="line_1" style="x1:0px; y1:1px; x2:1145px; y2:1px; "/>
  4634. <datagrid id="grd_anoprcplist" nodeset="/root/main/exculist/subordlist2" caption="구분^수납^처방일자^진료과^처방의^처방상태^검사코드^검사명^수행부서^희망일자^예약시간^실시시간^소요시간^종료시간^Remark^prcpgenflag^prcpdd^execprcpuniqno^execprcpstatcd^prcpkindcd^excupartcd^indd^actorddd^orddrid^execrid^suppdeptcd^cnclresncd^pid^prcpdelivefact^rsrvplceflag^rsrvexcupossyn^rsrvexmptmplcd^tmpldata^rsrvflag^cretno^orddd" colsep="^" colwidth="49, 53, 77, 89, 54, 100, 73, 280, 100, 77, 109, 100, 60, 58, 360" explorerbar="sortshow" frozencols="7" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:6px; width:1145px; height:79px; ">
  4635. <col ref="rsrvflagyn" visibility="hidden"/>
  4636. <col ref="rcptyn"/>
  4637. <col ref="prcpdd" format="yyyy-mm-dd"/>
  4638. <col ref="orddepthngnm"/>
  4639. <col ref="orddrnm"/>
  4640. <col disabled="true" ref="execprcpstatcd" type="combo">
  4641. <choices>
  4642. <itemset nodeset="/root/init/baseinfo/initexecprcpstatcd/M0011">
  4643. <label ref="cdnm"/>
  4644. <value ref="cdid"/>
  4645. </itemset>
  4646. </choices>
  4647. </col>
  4648. <col ref="calcscorcd"/>
  4649. <col disabled="true" ref="prcpnm"/>
  4650. <col disabled="true" ref="excuroom"/>
  4651. <col ref="prcphopedd" format="yyyy-mm-dd hh:nn"/>
  4652. <col ref="srchrsrvtm" format="yyyy-mm-dd hh:nn"/>
  4653. <col ref="exectm" format="yyyy-mm-dd hh:nn"/>
  4654. <col ref="excutm" style="text-align:center; "/>
  4655. <col ref="endtime" format="hh:nn" style="text-align:center; "/>
  4656. <col ref="rsrvrem"/>
  4657. <script type="javascript" ev:event="onaftersort">
  4658. <![CDATA[
  4659. grd_anoprcplist.gridToInstance();
  4660. ]]>
  4661. </script>
  4662. </datagrid>
  4663. </case>
  4664. </switch>
  4665. <button id="btn_timecls" class="btn2_letter4" visibility="hidden" style="left:918px; top:10px; width:64px; height:19px; ">
  4666. <caption>시간배정</caption>
  4667. <script type="javascript" ev:event="DOMActivate">
  4668. <![CDATA[
  4669. var nodeList = instance1.selectNodes("/root/main/exculist/mainordlist5[rsrvflagyn='미예약' & excuroomnm != '' ]"); //미예약 다 뿌려줌
  4670. var rCSV = getNodeListCSV(nodeList);
  4671. model.setValue("/root/send/data/autorsrvtmset/autorsrvtm", rCSV);
  4672. submit("TRAEA02008");
  4673. var j = 1;
  4674. for(var i = 0 ; i < grd_mainordlist5.rows ; i++ ){
  4675. if(model.getValue("/root/main/exculist/mainordlist5["+i+"]/rsrvflagyn") == "미예약") {
  4676. model.setValue("/root/main/exculist/mainordlist5["+i+"]/rsrvdt",model.getValue("/root/hidden/autorsrvtmset/autorsrvtm["+j+"]/rsrvdt"));
  4677. model.setValue("/root/main/exculist/mainordlist5["+i+"]/srchrsrvtm",model.getValue("/root/hidden/autorsrvtmset/autorsrvtm["+j+"]/rsrvdt"));
  4678. j++;
  4679. }
  4680. }
  4681. model.refresh();
  4682. ]]>
  4683. </script>
  4684. </button>
  4685. <group id="group8" visibility="hidden" style="left:475px; top:90px; width:485px; height:235px; ">
  4686. <datagrid id="datagrid4" nodeset="/root/main/exculist/mainordlist8" caption="검사코드^처방일^예약일^검사일^구분^발생구분" colsep="^" colwidth="100, 78, 80, 78, 59, 64" mergecellsfixedrows="bycolrec" rowsep="|" style="left:11px; top:28px; width:463px; height:175px; ">
  4687. <col ref="prcpcd" style="text-align:left; "/>
  4688. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  4689. <col ref="rsrvdd" format="yyyy-mm-dd" style="text-align:center; "/>
  4690. <col ref="execdd" format="yyyy-mm-dd" style="text-align:center; "/>
  4691. <col ref="payflagcdnm"/>
  4692. <col ref="prcpgenrflag"/>
  4693. </datagrid>
  4694. <button id="button37" class="btn4_letter2" style="left:406px; top:208px; width:56px; height:22px; ">
  4695. <caption>닫기</caption>
  4696. <script type="javascript" ev:event="DOMActivate">
  4697. <![CDATA[
  4698. group8.visible = false;
  4699. ]]>
  4700. </script>
  4701. </button>
  4702. <caption id="caption48" class="tit_2" style="left:11px; top:8px; width:113px; height:13px; ">골밀도 검사현황</caption>
  4703. <shape id="rectangle3" appearance="rectangle" style="left:2px; top:3px; width:480px; height:230px; font-weight:bold; "/>
  4704. </group>
  4705. </case>
  4706. </switch>
  4707. <line id="line9" class="line_1" style="x1:440px; y1:24px; x2:1186px; y2:24px; "/>
  4708. <caption id="caption4" class="tit_2" style="left:445px; top:10px; width:78px; height:13px; vertical-align:middle; ">내원내역</caption>
  4709. <select1 id="rdo_chosspec" ref="/root/main/chosspecflag" visibility="hidden" appearance="full" cellspacing="80" cols="2" overflow="visible" style="left:540px; top:9px; width:215px; height:14px; border-style:none; ">
  4710. <choices>
  4711. <item>
  4712. <label>외래/ER</label>
  4713. <value>1</value>
  4714. </item>
  4715. <item>
  4716. <label>입원내역</label>
  4717. <value>2</value>
  4718. </item>
  4719. </choices>
  4720. <script type="javascript" ev:event="xforms-value-changed">
  4721. <![CDATA[
  4722. if(model.getValue("/root/main/chosspecflag") == 1)
  4723. model.toggle("case3");
  4724. else if(model.getValue("/root/main/chosspecflag") == 2)
  4725. model.toggle("case4");
  4726. ]]>
  4727. </script>
  4728. </select1>
  4729. <switch id="switch2" style="left:440px; top:28px; width:745px; height:152px; ">
  4730. <case id="case3" selected="true" style="left:0px; top:0px; width:745px; height:145px; ">
  4731. <datagrid id="grd_outerspec" nodeset="/root/main/outhist/outhistlist" caption="진료일시^센터^진료과^하위부서^진료의^진단명^퇴원일^퇴원병동^Remark" colsep="^" colwidth="102, 48, 71, 60, 62, 75, 100, 83, 113" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:0px; width:735px; height:135px; ">
  4732. <col ref="orddd" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
  4733. <col ref="centcdnm"/>
  4734. <col ref="orddeptnm"/>
  4735. <col ref="subdeptcdnm"/>
  4736. <col ref="orddrnm" style="text-align:center; "/>
  4737. <col ref="diagnm"/>
  4738. <col ref="dschdd" format="yyyy-mm-dd"/>
  4739. <col ref="dschward" style="text-align:center; "/>
  4740. <col ref="rem"/>
  4741. </datagrid>
  4742. </case>
  4743. <case id="case4">
  4744. <datagrid id="grd_inspec" nodeset="/root/main/patdetlinfo/inspec" caption="입원일^퇴원일^진료과^진료의^진단명^퇴원병동" colsep="^" colwidth="75, 75, 70, 60, 70, 65" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:0px; width:715px; height:135px; ">
  4745. <col ref="indd" format="yyyy-mm-dd" style="text-align:center; "/>
  4746. <col ref="dschdd" format="yyyy-mm-dd" style="text-align:center; "/>
  4747. <col ref="orddept"/>
  4748. <col ref="orddrid" style="text-align:center; "/>
  4749. <col ref="diagnm"/>
  4750. <col ref="dschward" style="text-align:center; "/>
  4751. </datagrid>
  4752. </case>
  4753. </switch>
  4754. <button id="btn_sel1" class="btn_sw" group="tab" selected="true" style="left:0px; top:185px; width:90px; height:22px; ">
  4755. <caption>진료예약</caption>
  4756. <toggle case="case1" ev:event="onclick"/>
  4757. <script type="javascript" ev:event="DOMActivate">
  4758. <![CDATA[
  4759. model.toggle("case1");
  4760. btn_sel1.selected = true;
  4761. btn_sel2.selected = false;
  4762. ]]>
  4763. </script>
  4764. </button>
  4765. <button id="btn_sel2" class="btn_sw" group="tab" selected="true" style="left:90px; top:185px; width:90px; height:22px; ">
  4766. <caption>검사예약</caption>
  4767. <toggle case="case1" ev:event="onclick"/>
  4768. <script type="javascript" ev:event="DOMActivate">
  4769. <![CDATA[
  4770. model.toggle("case2");
  4771. btn_sel2.selected = true;
  4772. btn_sel1.selected = false;
  4773. ]]>
  4774. </script>
  4775. </button>
  4776. <button id="btn_search" accesskey="f2" class="icon_search" style="left:197px; top:57px; width:16px; height:16px; ">
  4777. <caption/>
  4778. <script type="javascript" ev:event="DOMActivate">
  4779. <![CDATA[
  4780. //초기화
  4781. //fInitialize();
  4782. model.setValue("/root/hidden/source/checkfnexam", "1");
  4783. model.setValue("/root/hidden/source/autoflag", "N");
  4784. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/hidden/source", "/root/send");
  4785. var popupendflag = model.getValue("/root/main/popupendflag");
  4786. if (popupendflag == "ok")
  4787. {
  4788. //초재진 구분
  4789. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 1 ){
  4790. model.setValue("/root/hidden/source/checkfnexam", '2');
  4791. }else{
  4792. model.setValue("/root/main/patinfo/patinfolist/pid", "");
  4793. model.setValue("/root/hidden/source/checkfnexam", '1');
  4794. }
  4795. //감면 내역 있으면 표시
  4796. var pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  4797. if( pid != '' && pid != ' ' && pid != '-' ){
  4798. model.setValue( "/root/send/pid", pid);
  4799. submit("TRPMO00205");
  4800. }
  4801. //감면 내역 있으면 표시 끝
  4802. //환자특이내역 존재여부 표시
  4803. if( model.getValue("/root/main/patinfo/patinfolist/patspcfyn") == 'Y'){
  4804. btn_patspcfyn.attribute("background-color") = "#ff0000";
  4805. }else{
  4806. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  4807. }
  4808. fSearch();
  4809. }else{
  4810. var srchcond = model.getValue("/root/hidden/source/srchcond");
  4811. if( srchcond == '4' || srchcond == '3' ){
  4812. // fGetSexAgeBirthDD();
  4813. }
  4814. }
  4815. //팝업으로 넘겨준 데이터 초기화
  4816. var checkfnexam = model.getValue("/root/hidden/source/checkfnexam");
  4817. model.resetInstanceNode("/root/hidden/source");
  4818. model.setValue("/root/hidden/source/checkfnexam", checkfnexam);
  4819. //외래이력 휴진색상 체크
  4820. outhistColorChange();
  4821. model.refresh();
  4822. ]]>
  4823. </script>
  4824. </button>
  4825. <button id="button41" class="btn2_letter8" style="left:104px; top:4px; width:111px; height:19px; ">
  4826. <caption>외래진료예약변경</caption>
  4827. <script type="javascript" ev:event="DOMActivate">
  4828. <![CDATA[
  4829. setParameter("openflag", 'T');
  4830. modal("SMPMO00300", "1", "50", "50", "SMPMO00300", "", "");
  4831. ]]>
  4832. </script>
  4833. </button>
  4834. <button id="button42" class="btn2_letter5" style="left:216px; top:4px; width:75px; height:19px; ">
  4835. <caption>예약자조회</caption>
  4836. <script type="javascript" ev:event="DOMActivate">
  4837. <![CDATA[
  4838. setParameter("SPPMO00800_NODEPATH", "/root/main/patinfo/patinfolist/");
  4839. modal("SPPMO00800", "1","150", "150", "SPPMO00800", "", "");
  4840. var hngnm = ipt_hngnm.currentText;
  4841. var rrgstno1 = ipt_rrgstno1.currentText;
  4842. var rrgstno2 = ipt_rrgstno2.currentText;
  4843. var rgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  4844. var rgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  4845. if( hngnm.length > 1 ){
  4846. model.setValue("/root/hidden/source/srchcond", "4");
  4847. model.setValue("/root/hidden/source/hngnm", hngnm);
  4848. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  4849. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  4850. }else{
  4851. model.setValue("/root/hidden/source/srchcond", "3");
  4852. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  4853. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  4854. }
  4855. //model.alert(rrgstno2);
  4856. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", rrgstno2);
  4857. if(rgstno1 == "000000" ){
  4858. messageBox("주민번호 앞6자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  4859. model.setFocus("ipt_rrgstno1");
  4860. return;
  4861. }else if(rgstno2 == "0000000 "){
  4862. messageBox("주민번호 뒤7자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  4863. model.setFocus("ipt_rrgstno2");
  4864. return;
  4865. }
  4866. if( rrgstno1.length == 6 && rrgstno2.length == 7 ){
  4867. if(submit("TRPMC02500")){
  4868. if( getNodesetCount("/root/main/result/patinfo/patinfolist") == 1 ){
  4869. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  4870. model.setValue("/root/main/popupendflag", "ok");
  4871. //구환 표시
  4872. if( model.getValue("/root/main/patinfo/patinfolist/pid").length > 2 ){
  4873. model.setValue("/root/hidden/source/checkfnexam", "2");
  4874. }else{
  4875. model.setValue("/root/hidden/source/checkfnexam", "2");
  4876. }
  4877. //환자특이내역 존재여부 표시
  4878. var patspcfyn = model.getValue("/root/main/patinfo/patinfolist/patspcfyn");
  4879. //alert( patspcfyn );
  4880. if( patspcfyn == 'Y' || patspcfyn == 'y'){
  4881. btn_patspcfyn.attribute("background-color") = "#ff0000";
  4882. //alert( 'Y' );
  4883. }else{
  4884. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  4885. //alert( 'N' );
  4886. }
  4887. //감면 내역 있으면 표시
  4888. var pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  4889. if( pid != '' && pid != ' ' && pid != '-' ){
  4890. model.setValue( "/root/send/pid", pid);
  4891. submit("TRPMO00205");
  4892. }
  4893. //감면 내역 있으면 표시 끝
  4894. fSearch();
  4895. }else if(getNodesetCount("/root/main/result/patinfo/patinfolist") > 1 ){
  4896. inputEnterKey("btn_search", "DOMActivate");
  4897. }else{
  4898. model.setValue("/root/main/popupendflag", "cancel");
  4899. messageBox("일치하는 환자가 없습니다.", "E999", "");
  4900. }
  4901. }
  4902. }else{
  4903. inputEnterKey("btn_search", "DOMActivate");
  4904. }
  4905. fGetSexAgeBirthDD();
  4906. //외래이력 휴진 체크
  4907. outhistColorChange();
  4908. model.refresh();
  4909. ]]>
  4910. </script>
  4911. </button>
  4912. <button id="btn_patspcfyn" style="left:80px; top:3px; width:20px; height:20px; background-color:#c0c0c0; ">
  4913. <caption/>
  4914. <script type="javascript" ev:event="DOMActivate">
  4915. <![CDATA[
  4916. model.setValue("/root/hidden/source/srchcond", 1);
  4917. model.setValue("/root/hidden/source/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  4918. modal("SMPMC01300", "1", "", "", "SMPMC01300", "/root/hidden/source", "/root/source");
  4919. ]]>
  4920. </script>
  4921. </button>
  4922. </group>
  4923. <group id="group3" style="left:0px; top:734px; width:1195px; height:31px; ">
  4924. <button id="button8" class="btn3_letter5" style="left:1px; top:5px; width:92px; height:22px; ">
  4925. <caption>진료의뢰서</caption>
  4926. <script type="javascript" ev:event="DOMActivate">
  4927. <![CDATA[
  4928. ]]>
  4929. </script>
  4930. </button>
  4931. <button id="button32" class="btn4_letter2" visibility="hidden" style="left:1067px; top:5px; width:56px; height:22px; ">
  4932. <caption>취소</caption>
  4933. <script type="javascript" ev:event="DOMActivate">
  4934. <![CDATA[
  4935. ]]>
  4936. </script>
  4937. </button>
  4938. <button id="button33" class="btn4_letter2" visibility="hidden" style="left:949px; top:5px; width:56px; height:22px; ">
  4939. <caption>저장</caption>
  4940. <script type="javascript" ev:event="DOMActivate">
  4941. <![CDATA[
  4942. ]]>
  4943. </script>
  4944. </button>
  4945. <button id="button34" class="btn4_letter2" visibility="hidden" style="left:1008px; top:5px; width:56px; height:22px; ">
  4946. <caption>수정</caption>
  4947. <script type="javascript" ev:event="DOMActivate">
  4948. <![CDATA[
  4949. ]]>
  4950. </script>
  4951. </button>
  4952. <button id="button35" class="btn4_letter3" visibility="hidden" style="left:1126px; top:5px; width:68px; height:22px; ">
  4953. <caption>초기화</caption>
  4954. <script type="javascript" ev:event="DOMActivate">
  4955. <![CDATA[
  4956. ]]>
  4957. </script>
  4958. </button>
  4959. <line id="line88" class="line_6" style="x1:0px; y1:0px; x2:1195px; y2:0px; "/>
  4960. </group>
  4961. </xhtml:body>
  4962. </xhtml:html>