SMPMO00300_외래진료예약.xrw 223 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMPMO00300_외래진료예약.xrw
  4. * 설 명 : 외래진료예약
  5. * 설 계 자 : 유정란
  6. * 작 성 자 : 유정란
  7. * 작 성 일 : 2007.04.25
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>외래진료예약</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <cal>
  20. <week>
  21. <list>
  22. <sun/>
  23. <mon/>
  24. <tue/>
  25. <wed/>
  26. <thu/>
  27. <fri/>
  28. <sat/>
  29. <sun_memo/>
  30. <mon_memo/>
  31. <tue_memo/>
  32. <wed_memo/>
  33. <thu_memo/>
  34. <fri_memo/>
  35. <sat_memo/>
  36. </list>
  37. </week>
  38. </cal>
  39. <h_schd>
  40. <schd/>
  41. </h_schd>
  42. <h_otpt1>
  43. <otpt/>
  44. </h_otpt1>
  45. <h_otpt2>
  46. <otpt/>
  47. </h_otpt2>
  48. <h_otpt3>
  49. <otpt/>
  50. </h_otpt3>
  51. <h_otpt4>
  52. <otpt/>
  53. </h_otpt4>
  54. <rsrv>
  55. <nm/>
  56. <after1week/>
  57. <after2week/>
  58. <after3week/>
  59. <after4week/>
  60. <after8week/>
  61. <after12week/>
  62. <after16week/>
  63. <after24week/>
  64. </rsrv>
  65. <addrsrvdd/>
  66. <patinfo>
  67. <patinfolist/>
  68. </patinfo>
  69. <popupendflag/>
  70. <otpt/>
  71. <otpt_old/>
  72. <result/>
  73. <rsrvcnt>
  74. <amcnt/>
  75. <pmcnt/>
  76. </rsrvcnt>
  77. <dahakje>
  78. <dahakjeyn/>
  79. </dahakje>
  80. </main>
  81. <send>
  82. <data1/>
  83. <data2/>
  84. <data3/>
  85. <data4/>
  86. <data5/>
  87. </send>
  88. <init_com>
  89. <init>
  90. <P0006list/>
  91. <P0015list>
  92. <P0015>
  93. <cdid/>
  94. <cdnm/>
  95. </P0015>
  96. </P0015list>
  97. <P0016list>
  98. <P0016>
  99. <cdid/>
  100. <cdnm/>
  101. </P0016>
  102. </P0016list>
  103. <P0020list>
  104. <P0020>
  105. <cdid/>
  106. <cdnm/>
  107. </P0020>
  108. </P0020list>
  109. <P0021list>
  110. <P0021>
  111. <cdid/>
  112. <cdnm/>
  113. </P0021>
  114. </P0021list>
  115. <P0022list>
  116. <P0022>
  117. <cdid/>
  118. <cdnm/>
  119. </P0022>
  120. </P0022list>
  121. <P0032list>
  122. <P0032>
  123. <cdid/>
  124. <cdnm/>
  125. </P0032>
  126. </P0032list>
  127. <P0034list/>
  128. <P0158list>
  129. <P0158>
  130. <cdid/>
  131. <cdnm/>
  132. </P0158>
  133. </P0158list>
  134. <P0341list>
  135. <P0341>
  136. <cdid/>
  137. <cdnm/>
  138. </P0341>
  139. </P0341list>
  140. <P6569list/>
  141. <P6575list/>
  142. <P6588list/>
  143. </init>
  144. </init_com>
  145. <init>
  146. <disccd>
  147. <cd/>
  148. <nm/>
  149. </disccd>
  150. <insukind>
  151. <cd/>
  152. <nm/>
  153. </insukind>
  154. <suppkind>
  155. <cd/>
  156. <nm/>
  157. <up/>
  158. <io/>
  159. </suppkind>
  160. <orddeptcd>
  161. <cd/>
  162. <nm/>
  163. </orddeptcd>
  164. <orddrid>
  165. <cd/>
  166. <nm/>
  167. <dp/>
  168. <sp/>
  169. <currentdr/>
  170. </orddrid>
  171. <orddridlist>
  172. <orddr/>
  173. </orddridlist>
  174. </init>
  175. <hidden>
  176. <session/>
  177. <con>
  178. <orddeptcd/>
  179. <orddrid/>
  180. <date/>
  181. <pid/>
  182. <hngnm/>
  183. <rsrvgubn>1</rsrvgubn>
  184. <ordcnt/>
  185. <examcnt/>
  186. <onemin/>
  187. <orddd/>
  188. <ordtm/>
  189. <specordyn/>
  190. <updtcnclresn/>
  191. <updtcnclresncd/>
  192. <otpt_flag/>
  193. <rsrvflag/>
  194. <etcordflag/>
  195. <remark/>
  196. <rsrvtype/>
  197. <centcd/>
  198. <subdeptcd/>
  199. <retiredrdisp/>
  200. <medamtestmyn/>
  201. <mjtoggle/>
  202. <caloption/>
  203. <reglscheyn/>
  204. <historysearchyn/>
  205. <historysearchperiod/>
  206. <sdoatodd/>
  207. <rooatodd/>
  208. </con>
  209. <rghtmenu>
  210. <menu>
  211. <label>예약변경FROM</label>
  212. <func>fChngFromSet</func>
  213. </menu>
  214. <menu>
  215. <label>예약변경TO</label>
  216. <func>fChngToSet</func>
  217. </menu>
  218. <menu>
  219. <label>예약변경 선택취소</label>
  220. <func>fPatRsrvSelectCncl</func>
  221. </menu>
  222. <menu>
  223. <label>예약취소</label>
  224. <func>fPatRsrvCncl</func>
  225. </menu>
  226. </rghtmenu>
  227. <rghtmenu1>
  228. <menu>
  229. <label>예약변경FROM</label>
  230. <func>fChngFromSet</func>
  231. </menu>
  232. <menu>
  233. <label>예약변경TO</label>
  234. <func>fChngToSet</func>
  235. </menu>
  236. <menu>
  237. <label>예약변경 선택취소</label>
  238. <func>fPatRsrvSelectCncl</func>
  239. </menu>
  240. <menu>
  241. <label>예약취소</label>
  242. <func>fPatRsrvCncl</func>
  243. </menu>
  244. </rghtmenu1>
  245. <rghtmenu2>
  246. <menu>
  247. <label>예약변경FROM</label>
  248. <func>fChngFromSet</func>
  249. </menu>
  250. <menu>
  251. <label>예약변경TO</label>
  252. <func>fChngToSet</func>
  253. </menu>
  254. <menu>
  255. <label>예약변경 선택취소</label>
  256. <func>fPatRsrvSelectCncl</func>
  257. </menu>
  258. <menu>
  259. <label>예약취소</label>
  260. <func>fPatRsrvCncl</func>
  261. </menu>
  262. <menu>
  263. <label>CP F/U 예약취소</label>
  264. <func>fCPRsrvCncl</func>
  265. </menu>
  266. </rghtmenu2>
  267. <rghtmenu3>
  268. <menu>
  269. <label>예약변경FROM</label>
  270. <func>fChngFromSet</func>
  271. </menu>
  272. <menu>
  273. <label>예약변경TO</label>
  274. <func>fChngToSet</func>
  275. </menu>
  276. <menu>
  277. <label>예약변경 선택취소</label>
  278. <func>fPatRsrvSelectCncl</func>
  279. </menu>
  280. <menu>
  281. <label>예약취소</label>
  282. <func>fPatRsrvCncl</func>
  283. </menu>
  284. <menu>
  285. <label>임상연구예약취소</label>
  286. <func>fStdyRsrvCncl</func>
  287. </menu>
  288. </rghtmenu3>
  289. <rghtmenu4>
  290. <menu>
  291. <label>예약변경FROM</label>
  292. <func>fChngFromSet</func>
  293. </menu>
  294. <menu>
  295. <label>예약변경TO</label>
  296. <func>fChngToSet</func>
  297. </menu>
  298. <menu>
  299. <label>예약변경 선택취소</label>
  300. <func>fPatRsrvSelectCncl</func>
  301. </menu>
  302. <menu>
  303. <label>예약취소</label>
  304. <func>fPatRsrvCncl</func>
  305. </menu>
  306. <menu>
  307. <label>CP F/U 예약취소</label>
  308. <func>fCPRsrvCncl</func>
  309. </menu>
  310. <menu>
  311. <label>임상연구예약취소</label>
  312. <func>fStdyRsrvCncl</func>
  313. </menu>
  314. </rghtmenu4>
  315. <rghtmenu5>
  316. <menu>
  317. <label>예약변경FROM</label>
  318. <func>fChngFromSet</func>
  319. </menu>
  320. <menu>
  321. <label>예약변경TO</label>
  322. <func>fChngToSet</func>
  323. </menu>
  324. <menu>
  325. <label>예약변경 선택취소</label>
  326. <func>fPatRsrvSelectCncl</func>
  327. </menu>
  328. <menu>
  329. <label>예약취소</label>
  330. <func>fPatRsrvCncl</func>
  331. </menu>
  332. <menu>
  333. <label>당일 가접수 생성</label>
  334. <func>fMakeTodayRgst</func>
  335. </menu>
  336. </rghtmenu5>
  337. <rghtmenu6>
  338. <menu>
  339. <label>주사/물리치료 -&gt; 일반접수 변경</label>
  340. <func>fChngToNomalRgst</func>
  341. </menu>
  342. <menu>
  343. <label>일반접수 -&gt; 주사/물리치료 변경</label>
  344. <func>fChngToMJ</func>
  345. </menu>
  346. </rghtmenu6>
  347. <rcv/>
  348. <calendarinfo/>
  349. <enrcomncode>
  350. <remark>
  351. <cd/>
  352. <nm/>
  353. </remark>
  354. <chngcnclresn>
  355. <cd/>
  356. <nm/>
  357. </chngcnclresn>
  358. </enrcomncode>
  359. <orddrfild>
  360. <orddrfildlist>
  361. <fstexamrem/>
  362. <reexamrem/>
  363. </orddrfildlist>
  364. </orddrfild>
  365. <rowcol>
  366. <srow/>
  367. <scol/>
  368. </rowcol>
  369. </hidden>
  370. <temp>
  371. <paminfo/>
  372. <otpt/>
  373. <rsrvlist>
  374. </rsrvlist>
  375. <tdayorderyn/>
  376. <dahakjeinfo/>
  377. </temp>
  378. <tempchk/>
  379. <hidden2>
  380. <send/>
  381. <rcv/>
  382. </hidden2>
  383. </root>
  384. </instance>
  385. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  386. <submission id="TRPMOCOM01" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/session" replace="instance" resultref="/root/init"/>
  387. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init_com/init"/>
  388. <submission id="TRPMO00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/cal"/>
  389. <submission id="TRPMO00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  390. <submission id="TRPMO00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/h_schd"/>
  391. <submission id="TRPMO00304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  392. <submission id="TRPMO00305" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/enrcomncode"/>
  393. <submission id="TRPMO00306" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/checkrsrv/send" replace="instance" resultref="/root/checkrsrv"/>
  394. <submission id="TXPMO00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  395. <submission id="TXPMO00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  396. <submission id="TXPMO00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  397. <submission id="TRPMB01001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/con" resultref="/root/hidden/calendarinfo"/>
  398. <submission id="TRPMO00207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/temp/send" resultref="/root/hidden/temp/fsexam"/>
  399. <submission id="TRPMO00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/temp/send" resultref="/root/hidden/temp/result"/>
  400. <submission id="TXPMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/chart" resultref="/root/hidden/rcv"/>
  401. <submission id="TXPMO00304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/sendremark" resultref="/root/send/rcv"/>
  402. <submission id="TRPMO00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/send" resultref="/root/main/result"/>
  403. <submission id="TRPMO00309" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/send" resultref="/root/main/result"/>
  404. <submission id="TXPMO00305" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/rcv"/>
  405. <submission id="TRPMO00307" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/con" resultref="/root/init"/>
  406. <submission id="TXPMO00306" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/rcv"/>
  407. <submission id="TRZSD00207" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  408. <submission id="TRZSD00208" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  409. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  410. <submission id="TRZSU10118" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  411. <submission id="TRPMO00308" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" resultref="/root/main/result/prcpinfo"/>
  412. <submission id="TRPMO00125" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data36" replace="instance" resultref="/root/tempchk"/>
  413. <submission id="TRPAO00004" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/checkdrscheSend" resultref="/root/temp/checkdrscheResult"/>
  414. <submission id="TRPMO00126" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp/dahakje"/>
  415. <submission id="TRPMO00310" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden2/send" resultref="/root/hidden2/rcv/pattoplace"/>
  416. <submission id="TRPAM00105" mediatype="application/x-www-form-urlencoded" method="post"/>
  417. <submission id="TXZMI00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance"/>
  418. <submission id="TRZSU00803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/list"/>
  419. <submission id="TXZMI00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp"/>
  420. </model>
  421. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  422. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  423. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  424. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  425. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  426. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  427. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  428. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  429. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  430. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  431. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM001.js"/>
  432. <script type="javascript" src="../../../pam/opatmngtweb/js/PMO001.js"/>
  433. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  434. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  435. <script type="javascript" ev:event="xforms-ready">
  436. <![CDATA[
  437. fGetUserInfosSampling(); //세션
  438. fComCDRef(); //자체기초코드 조회
  439. //pamGetDeptCDDrIDList();
  440. fInit();
  441. //원무공통코드 조회
  442. pamfGetCodeList(new Array("P6569", "P6575", "P6588"), new Array("/root/init_com/init/P6569list", "/root/init_com/init/P6575list", "/root/init_com/init/P6588list"));
  443. gDate = PMO001_TODAY;
  444. //진료일정 제한 로직 적용 여부
  445. if( model.getValue("/root/init/overcapa/overcapayn") == 'N' ){
  446. checkbox1.visible = false;
  447. // checkbox3.disabled = true;
  448. }
  449. REGLSCHEYN = 'Y';
  450. //병동, 외래진료과 구분
  451. var menu = getScreenMenuParameter();
  452. if( menu == '' || menu == ' ' || menu == '-' || menu == null || menu == 'null' || menu.length > 1){
  453. RSRVFLAG = '9';
  454. }else if( menu != '9'){
  455. REGLSCHEYN = 'N';
  456. checkbox1.disabled = true;
  457. checkbox3.disabled = true;
  458. RSRVFLAG = menu;
  459. }
  460. //2007-09-07 이동식 수정
  461. var orddeptcd = '';
  462. var orddrid = '';
  463. var centcd = '';
  464. var pid = '';
  465. //간호 요청사항 추가
  466. var node = getGlobalVariable("paminfo");
  467. if(node != '' && node != null && isNull(opener.javascript.getParameter("SMAHA00910_PID"))){
  468. model.makeNode("/root/temp/paminfo");
  469. setCSVToNode("/root/temp/paminfo", node);
  470. var ioflag = model.getValue("/root/temp/paminfo/list/ioflag");
  471. if( ioflag == 'O' || ioflag == 'o' ){
  472. orddrid = model.getValue("/root/temp/paminfo/list/orddrid");
  473. }else{
  474. orddrid = model.getValue("/root/temp/paminfo/list/medispclid");
  475. }
  476. orddeptcd = model.getValue("/root/temp/paminfo/list/orddeptcd");
  477. centcd = model.getValue("/root/temp/paminfo/list/centcd");
  478. pid = model.getValue("/root/temp/paminfo/list/pid");
  479. if(checkOpener()){ //팝업화면으로 사용될 때
  480. var para = opener.javascript.getParameter("SMPMO00300_PARM3");
  481. if( para == 'B' ){
  482. REGLSCHEYN = 'N';
  483. checkbox1.disabled = true;
  484. checkbox3.disabled = true;
  485. }
  486. var rsrvflag = opener.javascript.getParameter("SMPMO00300_RSRVFLAG");
  487. if( rsrvflag != '' && rsrvflag != ' ' ){
  488. RSRVFLAG = rsrvflag;
  489. }
  490. //진료일자 자동세팅 파라미터
  491. // var orddd = opener.javascript.getParameter("SMPMO00300_PARM4");
  492. // if( orddd != '' && orddd != '-' && orddd != null ){
  493. // gDate = orddd;
  494. // }
  495. }
  496. //팝업화면으로 사용될 때 - 간호, 진료 팝업으로 사용중
  497. }else if(checkOpener()){
  498. if(!isNull(opener.javascript.getParameter("SMAHA00910_PID"))){
  499. var pid = opener.javascript.getParameter("SMAHA00910_PID");
  500. model.makeValue("/root/hidden/con/pid", pid);
  501. ipt_pid.refresh();
  502. event.keyCode = "13";
  503. ipt_pid.dispatch("onkeypress");
  504. }else{
  505. //RSRVFLAG, ETCORDFLAG 를 받아온다.
  506. var SMPMO00200_PARM = opener.javascript.getParameter("SMPMO00200_PARM");
  507. var array_parm = SMPMO00200_PARM.split("▦");
  508. var rsrvflag = array_parm[0];
  509. var etcordflag = array_parm[1];
  510. var para = opener.javascript.getParameter("SMPMO00300_PARM3");
  511. if( para == 'B' ){
  512. REGLSCHEYN = 'N';
  513. checkbox1.disabled = true;
  514. checkbox3.disabled = true;
  515. }
  516. if( rsrvflag != '' && rsrvflag != '-' && rsrvflag != ' ' && rsrvflag != null ){
  517. RSRVFLAG = rsrvflag;
  518. }
  519. if( etcordflag != '' && etcordflag != '-' && etcordflag != ' ' && etcordflag != null ){
  520. ETCORDFLAG = etcordflag;
  521. }else{
  522. ETCORDFLAG = '-';
  523. }
  524. var SMPMO00200_PARM2 = opener.javascript.getParameter("SMPMO00200_PARM2");
  525. var array_parm2 = SMPMO00200_PARM2.split("▦");
  526. pid = array_parm2[0];
  527. orddeptcd = array_parm2[1];
  528. orddrid = array_parm2[2];
  529. var rsrvflag = opener.javascript.getParameter("SMPMO00300_RSRVFLAG");
  530. if( rsrvflag != '' && rsrvflag != ' ' ){
  531. RSRVFLAG = rsrvflag;
  532. }
  533. //진료일자 자동세팅 파라미터
  534. // var orddd = opener.javascript.getParameter("SMPMO00300_PARM4");
  535. // if( orddd != '' && orddd != '-' && orddd != null ){
  536. // gDate = orddd;
  537. // }
  538. }
  539. }
  540. //진료일자 및 달력 초기화 세팅
  541. model.setValue("/root/hidden/con/date", gDate.substr(0,6));
  542. //달력버튼 초기화
  543. fChangeButtonColor(gDate);
  544. fAfterDDCalc(gDate);
  545. if (pid != null && pid != "" && pid != " " && pid != "-"){
  546. model.setValue("/root/hidden/con/pid",pid);
  547. }
  548. //var centcd = model.getValue("/root/hidden/session/sess_dutplcecd");
  549. if( getNodesetCount("/root/init/centcd/centcdlist[ cd = '" + centcd + "' ]/nm") == 1 ){
  550. model.setValue("/root/hidden/con/centcd", centcd);
  551. combo1.dispatch("xforms-value-changed");
  552. }else{
  553. model.setValue("/root/hidden/con/centcd", '-');
  554. combo1.dispatch("xforms-value-changed");
  555. }
  556. //진료과, 진료의, 등록번호가 넘어오면 화면이 열릴 때 조회해준다.
  557. if(orddeptcd != null && orddeptcd != "" && orddeptcd != " " && orddeptcd != "-"){
  558. var centcd2 = model.getValue("/root/hidden/con/centcd");
  559. model.setValue("/root/hidden/con/orddeptcd",orddeptcd);
  560. fSetOrdDrID(orddeptcd);
  561. model.setValue("/root/hidden/con/centcd", centcd2);
  562. //의사정보 세팅
  563. if(orddrid != null && orddrid != "" && orddrid != " " && orddrid != "-"){
  564. model.setValue("/root/hidden/con/orddrid",orddrid);
  565. fOrdScheCalendarRefAll(pid);
  566. // cmb_orddrid.dispatch("xforms-select");
  567. }else{
  568. fOrdScheCalendarRef();
  569. }
  570. }else{
  571. //진료과 정보가 없을 때 달력을 초기화 한다.
  572. fOrdScheCalendarRef();
  573. }
  574. // if (pid != null && pid != "" && pid != " " && pid != "-"){
  575. // model.setValue("/root/hidden/con/pid",pid);
  576. // fPatRsrvInfoRef();
  577. // }
  578. //END..
  579. combo1.refresh();
  580. combo3.refresh();
  581. combo4.refresh();
  582. //기본달력 오늘일자 세팅 조회
  583. //model.resetInstanceNode("/root/main/rsrv");
  584. //fAfterDDCalc(gDate);
  585. model.setValue("/root/hidden/con/reglscheyn", REGLSCHEYN);
  586. //2014/10/29 이정택 다학제 관련 수정
  587. //pamfGetCodeList(new Array("P6569"), new Array("/root/init_com/init/P6569list"));
  588. var dahakjechk_visibleyn = model.getValue("/root/init_com/init/P6569list/P6569/cdid");
  589. if(dahakjechk_visibleyn=="Y"){
  590. chk_dahakje.visible=true;
  591. chk_dahakje.refresh();
  592. }else{
  593. chk_dahakje.visible=false;
  594. chk_dahakje.refresh();
  595. }
  596. //2014/10/29 이정택 다학제 관련 수정
  597. // 진료비 당일수납 관련 메시지 출력여부 제어(2015/04/22_이정택)
  598. //pamfGetCodeList(new Array("P6575"), new Array("/root/init_com/init/P6575list"));
  599. // 진료비 당일수납 관련 메시지 출력여부 제어(2015/04/22_이정택)
  600. //2015/04/29 이정택 수정
  601. // 리스트 출력을 보이게 할건지 말건지 제어
  602. if(model.getValue("/root/init_com/init/P6575list/P6575/cdnm")=="Y"){
  603. btn_listprint.visible=true;
  604. }else if(model.getValue("/root/init_com/init/P6575list/P6575/cdnm")=="N"){
  605. btn_listprint.visible=false;
  606. }
  607. btn_listprint.refresh();
  608. //2015/04/29 이정택 수정
  609. model.refresh();
  610. ]]>
  611. </script>
  612. <script type="javascript">
  613. <![CDATA[
  614. var beforeId = "";
  615. var gDate = "";
  616. //2007-10-02 이동식 추가
  617. var RSRVFLAG = '9'; //예약구분 : default '' - 과예약
  618. var ETCORDFLAG = '-'; //기타구분 : default '-'
  619. var REGLSCHEYN = 'Y'; //기타 임시/검사일정 표시여부
  620. //END..
  621. //진료의 세팅
  622. function fSetOrdDrID( orddeptcd ){
  623. var nodeList;
  624. //진료의, 센터, 서브진료과 초기화
  625. model.setValue("/root/hidden/con/orddrid", "");
  626. model.setValue("/root/hidden/con/centcd", "-");
  627. model.setValue("/root/hidden/con/subdeptcd", '-');
  628. // if( model.getValue("/root/init/orddeptcd[ cd = '" + orddeptcd + "' ]/deptengabbr") == 'MD' ){ //내과인 경우
  629. // var MEcd = model.getValue("/root/init/orddeptcd[ deptengabbr = 'ME' ]/cd"); //내분비내과(ME)
  630. // var MIcd = model.getValue("/root/init/orddeptcd[ deptengabbr = 'MI' ]/cd"); //감염내과(MI)
  631. // var MNcd = model.getValue("/root/init/orddeptcd[ deptengabbr = 'MN' ]/cd"); //신장내과(MN)
  632. // var MHcd = model.getValue("/root/init/orddeptcd[ deptengabbr = 'MH' ]/cd"); //혈액내과(MH)
  633. // cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + orddeptcd + "' or dp = '" + MEcd + "' or dp = '" + MIcd + "' or dp = '" + MNcd + "' or dp = '" + MHcd + "']";
  634. //
  635. // nodeList = instance1.selectNodes("/root/init/orddrid[dp = '" + orddeptcd + "' or dp = '" + MEcd + "' or dp = '" + MIcd + "' or dp = '" + MNcd + "' or dp = '" + MHcd + "']");
  636. // //cmb_orddrid.refresh();
  637. //
  638. // }else{
  639. //cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '"+ orddeptcd +"']";
  640. //nodeList = instance1.selectNodes("/root/init/orddrid[dp = '"+ orddeptcd +"']");
  641. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + orddeptcd + "']";
  642. nodeList = instance1.selectNodes("/root/init/orddrid[dp = '"+ orddeptcd +"']");
  643. cmb_orddrid.refresh();
  644. // }
  645. //서브진료과 세팅
  646. cmb_subdeptcd.choices.itemset.attribute("nodeset") = "/root/init/subdeptcd/subdeptcdlist[dp = '"+ orddeptcd +"' or dp = '-']";
  647. // model.setValue("/root/hidden/con/subdeptcd", '-');
  648. cmb_subdeptcd.refresh();
  649. var node;
  650. // var i = 0;
  651. var iCnt = 1;
  652. model.removeNodeset("/root/init/orddridlist/orddr");
  653. model.makeNode("/root/init/orddridlist/orddr");
  654. var cols = grd_orddrlist.cols;
  655. for(var i=1; i<cols; i ++){
  656. //grd_orddrlist.deleteColumn(i, false);
  657. grd_orddrlist.removeColumn(false);
  658. }
  659. while(node = nodeList.nextNode()){
  660. var rowIndex = grd_orddrlist.fixedRows;
  661. grd_orddrlist.addColumn("ref:usernm" + iCnt +"; type:output; ", false);
  662. grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 100;
  663. model.setValue("/root/init/orddridlist/orddr/usernm" + iCnt, node.nm.text);
  664. //grd_orddrlist.valueMatrix(0, i) = node.usernm.text;
  665. //i++;
  666. grd_orddrlist.addColumn("ref:userid" + iCnt +"; type:output; ", false);
  667. grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 0;
  668. //grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = true;
  669. model.setValue("/root/init/orddridlist/orddr/userid" + iCnt, node.cd.text);
  670. // grd_orddrlist.valueMatrix(0, i) = node.userid.text;
  671. // i++;
  672. /*
  673. grd_orddrlist.addColumn("ref:deptcd" + iCnt +"; type:output; ", false);
  674. grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 0;
  675. //grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = true;
  676. model.setValue("/root/init/orddridlist/orddr/deptcd" + iCnt, node.dp.text);
  677. grd_orddrlist.addColumn("ref:currentdr" + iCnt +"; type:output; ", false);
  678. grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 0;
  679. //grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = "#ffff99";
  680. model.setValue("/root/init/orddridlist/orddr/currentdr" + iCnt, node.currentdr.text);
  681. if( node.currentdr.text == 'Y'){
  682. grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = "#ffff99";
  683. }
  684. */
  685. iCnt++;
  686. }
  687. /*
  688. var sCol = grd_orddrlist.cols;
  689. var sRow = grd_orddrlist.rows;
  690. if (sRow < 0) return;
  691. if (sCol < 1) return;
  692. var sVal = 1;
  693. sCol = sCol - 1;
  694. if (sCol > 0) sVal = (sCol/3)+1;
  695. var orddrid = model.getValue("/root/init/orddridlist/orddr/userid" + sVal);
  696. var centcd = model.getValue("/root/hidden/con/centcd");
  697. if( centcd != '' && centcd != '-' ){
  698. var orddeptcd = model.getValue("/root/init/orddridlist/orddr/deptcd" + sVal);
  699. model.setValue("/root/hidden/con/orddeptcd", orddeptcd);
  700. cmb_orddeptcd.refresh();
  701. }
  702. model.setValue("/root/hidden/con/orddrid", orddrid);
  703. cmb_orddrid.refresh();
  704. cmb_orddrid.dispatch("xforms-select");
  705. */
  706. //grd_orddrlist.cellstyle("background-color", 1,1,1,1) = "#ffff99";
  707. /*
  708. var currentdr = '';
  709. for( var i = 0; i < iCnt; i++ ){
  710. currentdr = model.getValue("/root/init/orddridlist/orddr[" + i +"]/currentdr1");
  711. //퇴직한 의사일 경우
  712. if(currentdr == "N"){
  713. grd_orddrlist.cellStyle("background-color", 0, i) = "#ffff99";
  714. }
  715. }
  716. */
  717. //fSetBGColor(rowIndex, iCnt, '#ffff99');
  718. cmb_orddrid.refresh();
  719. grd_orddrlist.rebuild();
  720. }
  721. //차트대출신청
  722. function fReqChartLend( flag ){
  723. model.removeNodeset("/root/send/chart");
  724. if( getNodesetCount("/root/hidden/rcv/chart/chartlist") < 1 || model.getValue("/root/send/data1/otpt_tablename") == 'temp'
  725. || model.getValue("/root/send/data1/otpt_tablename_old") == 'temp'){
  726. return false;
  727. }
  728. if(flag == 'I' ){
  729. model.makeValue("/root/send/chart/high_flag", "I");
  730. model.makeValue("/root/send/chart/flag", "I");
  731. model.makeValue("/root/send/chart/pid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_pid"));
  732. model.makeValue("/root/send/chart/orddd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddd"));
  733. model.makeValue("/root/send/chart/cretno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_cretno"));
  734. model.makeValue("/root/send/chart/acptseqno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_acptseqno"));
  735. model.makeValue("/root/send/chart/orddeptcd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddeptcd"));
  736. model.makeValue("/root/send/chart/orddrid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddrid"));
  737. model.makeValue("/root/send/chart/ordtm", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_ordtm"));
  738. model.makeValue("/root/send/chart/fsexamflag", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_fsexamflag"));
  739. model.makeValue("/root/send/chart/rsrvflag", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_rsrvflag"));
  740. model.makeValue("/root/send/chart/msgcnts", '-');
  741. model.makeValue("/root/send/chart/subdeptcd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_subdeptcd"));
  742. model.makeValue("/root/send/chart/centcd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_centcd"));
  743. }else if(flag == 'U' ){
  744. model.makeValue("/root/send/chart[1]/high_flag", "U");
  745. model.makeValue("/root/send/chart[1]/flag", "D");
  746. model.makeValue("/root/send/chart[1]/pid", model.getValue("/root/send/data1/otpt_pid_old"));
  747. model.makeValue("/root/send/chart[1]/orddd", model.getValue("/root/send/data1/otpt_orddd_old"));
  748. model.makeValue("/root/send/chart[1]/cretno", model.getValue("/root/send/data1/otpt_cretno_old"));
  749. model.makeValue("/root/send/chart[1]/acptseqno", model.getValue("/root/send/data1/otpt_acptseqno_old"));
  750. model.makeValue("/root/send/chart[1]/orddeptcd", model.getValue("/root/send/data1/otpt_orddeptcd_old"));
  751. model.makeValue("/root/send/chart[1]/orddrid", model.getValue("/root/send/data1/otpt_orddrid_old"));
  752. model.makeValue("/root/send/chart[1]/ordtm", model.getValue("/root/send/data1/otpt_ordtm_old"));
  753. model.makeValue("/root/send/chart[1]/fsexamflag", model.getValue("/root/send/data1/otpt_fsexamflag_old"));
  754. model.makeValue("/root/send/chart[2]/high_flag", "U");
  755. model.makeValue("/root/send/chart[2]/flag", "I");
  756. model.makeValue("/root/send/chart[2]/pid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_pid"));
  757. model.makeValue("/root/send/chart[2]/orddd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddd"));
  758. model.makeValue("/root/send/chart[2]/cretno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_cretno"));
  759. model.makeValue("/root/send/chart[2]/acptseqno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_acptseqno"));
  760. model.makeValue("/root/send/chart[2]/orddeptcd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddeptcd"));
  761. model.makeValue("/root/send/chart[2]/orddrid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddrid"));
  762. model.makeValue("/root/send/chart[2]/ordtm", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_ordtm"));
  763. model.makeValue("/root/send/chart[2]/fsexamflag", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_fsexamflag"));
  764. }else if(flag == 'D' ){
  765. model.makeValue("/root/send/chart/high_flag", "D");
  766. model.makeValue("/root/send/chart/flag", "D");
  767. model.makeValue("/root/send/chart/pid", model.getValue("/root/send/data1/otpt_pid"));
  768. model.makeValue("/root/send/chart/orddd", model.getValue("/root/send/data1/otpt_orddd"));
  769. model.makeValue("/root/send/chart/cretno", model.getValue("/root/send/data1/otpt_cretno"));
  770. model.makeValue("/root/send/chart/acptseqno", model.getValue("/root/send/data1/otpt_acptseqno"));
  771. model.makeValue("/root/send/chart/orddeptcd", model.getValue("/root/send/data1/otpt_orddeptcd"));
  772. model.makeValue("/root/send/chart/orddrid", model.getValue("/root/send/data1/otpt_orddrid"));
  773. model.makeValue("/root/send/chart/ordtm", model.getValue("/root/send/data1/otpt_ordtm"));
  774. model.makeValue("/root/send/chart/fsexamflag", model.getValue("/root/send/data1/otpt_fsexamflag"));
  775. model.makeValue("/root/send/chart/rsrvflag", model.getValue("/root/send/data1/otpt_rsrvflag"));
  776. model.makeValue("/root/send/chart/msgcnts", '-');
  777. model.makeValue("/root/send/chart/subdeptcd", model.getValue("/root/send/data1/otpt_subdeptcd"));
  778. model.makeValue("/root/send/chart/centcd", model.getValue("/root/send/data1/otpt_centcd"));
  779. }
  780. submit("TXPMO00105");
  781. model.removeNodeset("/root/send/chart");
  782. }
  783. //END..
  784. function fChangeButtonColor( curDD ){
  785. //달력버튼 초기화
  786. btn_jan.disabled = false;
  787. btn_feb.disabled = false;
  788. btn_mar.disabled = false;
  789. btn_apr.disabled = false;
  790. btn_may.disabled = false;
  791. btn_jun.disabled = false;
  792. btn_jul.disabled = false;
  793. btn_aug.disabled = false;
  794. btn_sep.disabled = false;
  795. btn_oct.disabled = false;
  796. btn_nov.disabled = false;
  797. btn_dec.disabled = false;
  798. var curMonth = curDD.substring(4, 6);
  799. switch( curMonth ){
  800. case '01' : //button1.attribute("class") = "btn5_letter2";
  801. btn_jan.disabled = true;
  802. beforeId = 'btn_jan';
  803. break;
  804. case '02' : //button2.attribute("class") = "btn5_letter2";
  805. btn_feb.disabled = true;
  806. beforeId = 'btn_feb';
  807. break;
  808. case '03' : //button3.attribute("class") = "btn5_letter2";
  809. btn_mar.disabled = true;
  810. beforeId = 'btn_mar';
  811. break;
  812. case '04' : //button4.attribute("class") = "btn5_letter2";
  813. btn_apr.disabled = true;
  814. beforeId = 'btn_apr';
  815. break;
  816. case '05' : //button5.attribute("class") = "btn5_letter2";
  817. btn_may.disabled = true;
  818. beforeId = 'btn_may';
  819. break;
  820. case '06' : //button6.attribute("class") = "btn5_letter2";
  821. btn_jun.disabled = true;
  822. beforeId = 'btn_jun';
  823. break;
  824. case '07' : //button7.attribute("class") = "btn5_letter2";
  825. btn_jul.disabled = true;
  826. beforeId = 'btn_jul';
  827. break;
  828. case '08' : //button8.attribute("class") = "btn5_letter2";
  829. btn_aug.disabled = true;
  830. beforeId = 'btn_aug';
  831. break;
  832. case '09' : //button9.attribute("class") = "btn5_letter2";
  833. btn_sep.disabled = true;
  834. beforeId = 'btn_sep';
  835. break;
  836. case '10' : //button10.attribute("class") = "btn5_letter2";
  837. btn_oct.disabled = true;
  838. beforeId = 'btn_oct';
  839. break;
  840. case '11' : //button11.attribute("class") = "btn5_letter2";
  841. btn_nov.disabled = true;
  842. beforeId = 'btn_nov';
  843. break;
  844. case '12' : //button12.attribute("class") = "btn5_letter2";
  845. btn_dec.disabled = true;
  846. beforeId = 'btn_dec';
  847. break;
  848. }
  849. }
  850. function fInit(){
  851. model.resetInstanceNode("/root/main/rsrv");
  852. model.removeNodeset("/root/main/h_schd/schd");
  853. model.removeNodeset("/root/main/h_otpt1/otpt");
  854. model.removeNodeset("/root/main/h_otpt2/otpt");
  855. model.removeNodeset("/root/main/h_otpt3/otpt");
  856. model.setValue("/root/hidden/con/rsrvgubn","1");
  857. model.setValue("/root/hidden/con/caloption", "2");
  858. model.toggle("case1");
  859. //2009-06-12 이동식 추가
  860. //과거예약정보포함 옵션값 디폴트 세팅 - 선택해제
  861. model.setValue("/root/hidden/con/historysearchyn", "N");
  862. // datagrid3.rebuild();
  863. // datagrid4.rebuild();
  864. // datagrid5.rebuild();
  865. // datagrid6.rebuild();
  866. model.refresh();
  867. }
  868. function fInitDate(){
  869. model.setValue("/root/hidden/con/date",PMO001_TODAY.substr(0,4) + PMO001_TODAY.substr(4,2));
  870. }
  871. function fOrdScheCalendarRef(){
  872. //2011-01-08 이동식 추가 센터/진료과/의사 선택시 예약현황, 예약 리스트 초기화
  873. model.removeNodeset("/root/main/h_schd");
  874. model.makeNode("/root/main/h_schd");
  875. model.removeNodeset("/root/main/h_otpt3");
  876. model.makeNode("/root/main/h_otpt3");
  877. model.makeNode("/root/hidden/send/calendar/date");
  878. model.makeNode("/root/hidden/send/calendar/orddeptcd");
  879. model.makeNode("/root/hidden/send/calendar/subdeptcd");
  880. model.makeNode("/root/hidden/send/calendar/centcd");
  881. model.makeNode("/root/hidden/send/calendar/orddrid");
  882. model.makeNode("/root/hidden/send/calendar/reglscheyn");
  883. model.makeNode("/root/hidden/send/calendar/rsrvflag");
  884. model.setValue("/root/hidden/send/calendar/date",model.getValue("/root/hidden/con/date"));
  885. model.setValue("/root/hidden/send/calendar/orddeptcd",model.getValue("/root/hidden/con/orddeptcd"));
  886. model.setValue("/root/hidden/send/calendar/subdeptcd",model.getValue("/root/hidden/con/subdeptcd"));
  887. model.setValue("/root/hidden/send/calendar/centcd",model.getValue("/root/hidden/con/centcd"));
  888. model.setValue("/root/hidden/send/calendar/orddrid",model.getValue("/root/hidden/con/orddrid"));
  889. model.setValue("/root/hidden/send/calendar/reglscheyn", REGLSCHEYN);
  890. model.setValue("/root/hidden/send/calendar/rsrvflag", RSRVFLAG);
  891. model.removeNodeset("/root/main/result");
  892. model.makeNode("/root/main/result/orddrfild");
  893. model.makeNode("/root/main/result/calendarinfo");
  894. var isDate = model.getValue("/root/hidden/con/date");
  895. isDate = (isDate+1).toDate();
  896. if( model.getValue("/root/hidden/send/calendar/orddrid") != '' && model.getValue("/root/hidden/send/calendar/orddrid") != ' ' && model.getValue("/root/hidden/send/calendar/orddrid") != '-' ){
  897. //if (submit("TRPMO00301") == true) TRPMO00203
  898. if (submit("TRPMO00203") == true){
  899. model.copyNode("/root/hidden/calendarinfo", "/root/main/result/calendarinfo");
  900. model.copyNode("/root/hidden/orddrfild", "/root/main/result/orddrfild");
  901. //setCalendar2(isDate);
  902. //fCellColorChng();
  903. // fCellFocus();
  904. }
  905. model.removeNodeset("/root/hidden/send");
  906. }else{
  907. //2011-01-08 이동식 추가 - 외래진료예약 속도 개선
  908. return;
  909. //병원일정 데이터를 조회!!
  910. if(! submit("TRPMB01001")){
  911. messageBox("병원일정 데이터를 가져올 수", "I004", "");
  912. model.removeNodeset("/root/hidden/send");
  913. return false;
  914. }
  915. }
  916. setCalendar2(isDate);
  917. setFocusOnSelectedDayRed(gDate);
  918. //오전/오후 예약환자수 표시 추가 by 조중래
  919. model.removeNodeset("/root/main/rsrvcnt");
  920. //setFocusOnSelectedDay(gDate);
  921. //fAfterDDCalc(gDate);
  922. }
  923. //2011-01-10 이동식 신규추가
  924. //진료예약화면 속도 개선 - 모든 조회를 한번 서브밋으로 통합.
  925. function fOrdScheCalendarRefAll(pid){
  926. //2011-01-08 이동식 추가 센터/진료과/의사 선택시 예약현황, 예약 리스트 초기화
  927. model.removeNodeset("/root/main/h_schd");
  928. model.makeNode("/root/main/h_schd");
  929. model.removeNodeset("/root/main/h_otpt3");
  930. model.makeNode("/root/main/h_otpt3");
  931. model.makeNode("/root/hidden/send/calendar/date");
  932. model.makeNode("/root/hidden/send/calendar/orddd");
  933. model.makeNode("/root/hidden/send/calendar/orddeptcd");
  934. model.makeNode("/root/hidden/send/calendar/subdeptcd");
  935. model.makeNode("/root/hidden/send/calendar/centcd");
  936. model.makeNode("/root/hidden/send/calendar/orddrid");
  937. model.makeNode("/root/hidden/send/calendar/reglscheyn");
  938. model.makeNode("/root/hidden/send/calendar/rsrvflag");
  939. model.makeNode("/root/hidden/send/calendar/pid");
  940. model.makeNode("/root/hidden/send/calendar/deptengabbr");
  941. model.makeNode("/root/hidden/send/calendar/mjtoggle");
  942. model.setValue("/root/hidden/send/calendar/date",model.getValue("/root/hidden/con/date"));
  943. model.setValue("/root/hidden/send/calendar/orddd",gDate);
  944. model.setValue("/root/hidden/send/calendar/orddeptcd",model.getValue("/root/hidden/con/orddeptcd"));
  945. model.setValue("/root/hidden/send/calendar/subdeptcd",model.getValue("/root/hidden/con/subdeptcd"));
  946. model.setValue("/root/hidden/send/calendar/centcd", model.getValue("/root/hidden/con/centcd"));
  947. model.setValue("/root/hidden/send/calendar/orddrid",model.getValue("/root/hidden/con/orddrid"));
  948. model.setValue("/root/hidden/send/calendar/reglscheyn", REGLSCHEYN);
  949. model.setValue("/root/hidden/send/calendar/rsrvflag", RSRVFLAG);
  950. model.setValue("/root/hidden/send/calendar/pid", pid);
  951. model.setValue("/root/hidden/send/calendar/deptengabbr", model.getValue("/root/init/orddeptcd[ cd = '" + model.getValue("/root/hidden/con/orddeptcd") + "' ]/deptengabbr"));
  952. model.setValue("/root/hidden/send/calendar/mjtoggle", 'N');
  953. model.removenode("/root/main/h_otpt1");
  954. model.removenode("/root/main/h_otpt2");
  955. model.removeNodeset("/root/main/result");
  956. model.setValue("/root/hidden/con/hngnm", '');
  957. model.makeNode("/root/main/result/orddrfild");
  958. model.makeNode("/root/main/result/calendarinfo");
  959. model.makeNode("/root/main/h_otpt1");
  960. model.makeNode("/root/main/h_otpt2");
  961. var isDate = model.getValue("/root/hidden/con/date");
  962. isDate = (isDate+1).toDate();
  963. if( model.getValue("/root/hidden/send/calendar/orddrid") != '' && model.getValue("/root/hidden/send/calendar/orddrid") != ' ' && model.getValue("/root/hidden/send/calendar/orddrid") != '-' ){
  964. if (submit("TRPMO00309") == true){
  965. model.copyNode("/root/hidden/calendarinfo", "/root/main/result/calendarinfo");
  966. model.copyNode("/root/hidden/orddrfild", "/root/main/result/orddrfild");
  967. if (getNodesetCount("/root/main/result/h_otpt1/otpt") > 0){
  968. model.copyNode("/root/main/h_otpt1","/root/main/result/h_otpt1");
  969. }
  970. if (getNodesetCount("/root/main/result/h_otpt2/otpt") > 0){
  971. model.copyNode("/root/main/h_otpt2","/root/main/result/h_otpt2");
  972. //datagrid5.rebuild();
  973. }
  974. if (getNodesetCount("/root/main/result/h_ptbs/ptbs") > 0){
  975. model.setValue("/root/hidden/con/hngnm", model.getValue("/root/main/result/h_ptbs/ptbs/ptbs_hngnm"));
  976. //opt_hngnm.refresh();
  977. }
  978. //2009-06-12 이동식 추가
  979. //과거예약정보포함 디폴트 체크 3개월 이내 내역 표시
  980. model.setValue("/root/hidden/con/historysearchyn", "Y");
  981. bool1.dispatch("xforms-value-changed");
  982. model.setValue("/root/hidden/con/historysearchperiod", "3");
  983. cmb_searchperiod.dispatch("xforms-value-changed");
  984. var curDate = getCurrentDate();
  985. model.setValue("/root/hidden/con/ordcnt",(getNodesetCount("/root/main/h_otpt1/otpt[ otpt_orddd >= " + curDate + "]")).toString());
  986. model.setValue("/root/hidden/con/examcnt",(getNodesetCount("/root/main/result/h_otpt2/otpt")).toString());
  987. model.copyNode("/root/hidden/enrcomncode","/root/main/result/remarklist");
  988. copyNodeType("/root/hidden/enrcomncode","/root/main/result/resnlist", "after");
  989. model.copyNode("/root/main/h_otpt3", "/root/main/result/h_otpt3");
  990. model.copyNode("/root/main/h_schd", "/root/main/result/h_schd");
  991. model.copyNode("/root/init/overcapa", "/root/main/result/overcapa");
  992. if( model.getValue("/root/init/overcapa/overcapayn") != 'N' && REGLSCHEYN == 'Y'){
  993. checkbox1.visible = true;
  994. }else{
  995. checkbox1.visible = false;
  996. }
  997. datagrid6.refresh();
  998. //기존에 예약된 내역은 등록번호 란을 disable 시킨다.
  999. var row_cnt = getNodesetCount("/root/main/h_otpt3/otpt");
  1000. var pid = '';
  1001. var hngnm = '';
  1002. for( var i = 1; i <= row_cnt; i++ ){
  1003. pid = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/otpt_pid");
  1004. hngnm = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/ptbs_hngnm");
  1005. if( hngnm.length > 1 || pid.length > 0 ){
  1006. datagrid6.isreadonly(i, datagrid6.colRef("otpt_pid")) = true;
  1007. datagrid6.isreadonly(i, datagrid6.colRef("otpt_ordtm")) = true;
  1008. }else{
  1009. datagrid6.isreadonly(i, datagrid6.colRef("otpt_pid")) = false;
  1010. datagrid6.isreadonly(i, datagrid6.colRef("otpt_ordtm")) = true;
  1011. }
  1012. }
  1013. datagrid6.rebuildStyle();
  1014. setRowStyle("datagrid6", "4^4^4^4", "F^D^4^5", "otpt_fsexamflag");
  1015. setRowStyle("datagrid6", "1", "S", "otpt_reglscheflag");
  1016. }
  1017. model.removeNodeset("/root/hidden/send");
  1018. }
  1019. setCalendar2(isDate);
  1020. setFocusOnSelectedDayRed(gDate);
  1021. }
  1022. function fGetPreviousCalendar(){
  1023. var sDate = model.getValue("/root/hidden/con/date") + "01";
  1024. sDate.getCarrigeReturnRemove();
  1025. if(sDate == "") {
  1026. sDate = new Date().getDateFormat();
  1027. }
  1028. var d = sDate.toDate("YYYYMMDD");
  1029. sDate = d.getAddDate(-1, "Y").getDateFormat();
  1030. model.setValue("/root/hidden/con/date",sDate.substr(0,6));
  1031. gDate = model.getValue("/root/hidden/con/date") + gDate.substr(6,2);
  1032. fOrdScheCalendarRef();
  1033. //setFocusOnSelectedDay(model.getValue("/root/hidden/con/date") + "01")
  1034. }
  1035. function fGetNextCalendar(){
  1036. var sDate = model.getValue("/root/hidden/con/date") + "01";
  1037. sDate.getCarrigeReturnRemove();
  1038. if(sDate == "") {
  1039. sDate = new Date().getDateFormat();
  1040. }
  1041. var d = sDate.toDate("YYYYMMDD");
  1042. sDate = d.getAddDate(1, "Y").getDateFormat();
  1043. model.setValue("/root/hidden/con/date",sDate.substr(0,6));
  1044. gDate = model.getValue("/root/hidden/con/date") + gDate.substr(6,2);
  1045. fOrdScheCalendarRef();
  1046. }
  1047. function fGetCalendar(arg){
  1048. var sDate = (model.getValue("/root/hidden/con/date")).substr(0,4) + arg;
  1049. model.setValue("/root/hidden/con/date",sDate);
  1050. //20080809 이동식 수정 - 이번 달을 선택시 오늘일자로 세팅
  1051. if( getCurrentDate().substr(0, 6 ) == sDate ){
  1052. gDate = getCurrentDate();
  1053. }else{
  1054. gDate = model.getValue("/root/hidden/con/date") + gDate.substr(6,2);
  1055. }
  1056. fOrdScheCalendarRef();
  1057. }
  1058. function setFocusOnSelectedDayRed(selectedDate) {
  1059. var rows = datagrid1.rows;
  1060. var cols = datagrid1.cols;
  1061. var dd = selectedDate.substr(6,2);
  1062. //var dd = '17';
  1063. if( dd.substr(0,1) == '0' ){
  1064. dd = dd.substr(1,1);
  1065. dd = dd + '\n';
  1066. }
  1067. for( var row = 1; row <= rows; row++ ){
  1068. for( var col = 0; col < cols; col++ ){
  1069. if( dd == datagrid1.valueMatrix( row, col ).substr(0,2) ){
  1070. var srow = model.getValue("/root/hidden/rowcol/srow");
  1071. var scol = model.getValue("/root/hidden/rowcol/scol");
  1072. datagrid1.cellStyle("border-style",srow , scol, srow , scol) = "solid";
  1073. datagrid1.cellStyle("border-width",srow , scol, srow , scol) = "1px";
  1074. datagrid1.cellStyle("border-color",srow , scol, srow , scol) = "#c0c0c0";
  1075. model.setValue("/root/hidden/rowcol/srow", row);
  1076. model.setValue("/root/hidden/rowcol/scol", col);
  1077. datagrid1.cellStyle("border-style", row , col, row , col) = "solid";
  1078. datagrid1.cellStyle("border-width", row , col, row , col) = "2px";
  1079. datagrid1.cellStyle("border-color", row , col, row , col) = "#FF0000";
  1080. return true;
  1081. }
  1082. }
  1083. }
  1084. }
  1085. function setFocusOnSelectedDay(selectedDate) {
  1086. var rows = datagrid1.rows;
  1087. var cols = datagrid1.cols;
  1088. var dd = selectedDate.substr(6,2);
  1089. //var dd = '17';
  1090. if( dd.substr(0,1) == '0' ){
  1091. dd = dd.substr(1,1);
  1092. dd = dd + '\n';
  1093. }
  1094. for( var row = 1; row <= rows; row++ ){
  1095. for( var col = 0; col < cols; col++ ){
  1096. if( dd == datagrid1.valueMatrix( row, col ).substr(0,2) ){
  1097. datagrid1.cellStyle("background-color", row, col) = "#c0c0c0";
  1098. datagrid1.cellStyle("background-color", row, col + 7) = "#c0c0c0";
  1099. return true;
  1100. }
  1101. }
  1102. }
  1103. }
  1104. function setCellColorRed(srow, scol) {
  1105. var srow = model.getValue("/root/hidden/rowcol/srow");
  1106. var scol = model.getValue("/root/hidden/rowcol/scol");
  1107. datagrid1.cellStyle("border-style",srow , scol, srow , scol) = "solid";
  1108. datagrid1.cellStyle("border-width",srow , scol, srow , scol) = "1px";
  1109. datagrid1.cellStyle("border-color",srow , scol, srow , scol) = "#c0c0c0";
  1110. var row = datagrid1.row;
  1111. var col = datagrid1.col;
  1112. model.setValue("/root/hidden/rowcol/srow", row);
  1113. model.setValue("/root/hidden/rowcol/scol", col);
  1114. datagrid1.cellStyle("border-style", row , col, row , col) = "solid";
  1115. datagrid1.cellStyle("border-width", row , col, row , col) = "2px";
  1116. datagrid1.cellStyle("border-color", row , col, row , col) = "#FF0000";
  1117. }
  1118. function setCellColor(calRow, calCol) {
  1119. var isDate = model.getValue("/root/hidden/con/date");
  1120. isDate = (isDate+1).toDate();
  1121. //fGetCalendarData();
  1122. setCalendar2(isDate);
  1123. if( calCol < 7 ){
  1124. //calCol = calCol + 7;
  1125. datagrid1.cellStyle("background-color", calRow, calCol) = "#c0c0c0";
  1126. datagrid1.cellStyle("background-color", calRow, calCol + 7) = "#c0c0c0";
  1127. }else{
  1128. //calCol = calCol - 7;
  1129. datagrid1.cellStyle("background-color", calRow, calCol) = "#c0c0c0";
  1130. datagrid1.cellStyle("background-color", calRow, calCol - 7) = "#c0c0c0";
  1131. }
  1132. //gridObj.rebuildStyle();
  1133. //gridObj.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  1134. }
  1135. function fCellFocus(){
  1136. var weekname = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
  1137. for(var i = datagrid1.fixedrows; i < datagrid1.rows; i++) {
  1138. for(var j = 0; j < datagrid1.cols; j++) {
  1139. days = model.getValue("/root/main/cal/week/list[" + i + "]/" + weekname[j]);
  1140. //days.getCarrigeReturnRemove();
  1141. days = days.substr(0,2);
  1142. var a = days.substr(1,2);
  1143. if (a != "0" && a != "1" && a != "2" && a != "3" && a != "4" && a != "5" && a != "6" && a != "7" && a != "8" && a != "9") days = days.substr(0,1);
  1144. if (days.length == 1) days = "0".concat(days);
  1145. if (gDate.substr(6,8) == days){
  1146. datagrid1.select(i,j) = true;
  1147. }
  1148. }
  1149. }
  1150. }
  1151. //그리드의 폰트 색상을 변경한다.
  1152. function fSetTextColor(calRow, calCol, bgColor) {
  1153. if( calCol < 7 ){
  1154. //calCol = calCol + 7;
  1155. datagrid1.cellStyle("color", calRow, calCol) = bgColor;
  1156. datagrid1.cellStyle("color", calRow, calCol + 7) = bgColor;
  1157. }else{
  1158. //calCol = calCol - 7;
  1159. datagrid1.cellStyle("color", calRow, calCol) = bgColor;
  1160. datagrid1.cellStyle("color", calRow, calCol - 7) = bgColor;
  1161. }
  1162. //datagrid1.rebuildStyle();
  1163. }
  1164. function fCellColorChng(){
  1165. var weekname = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
  1166. var dutflag = "";
  1167. var dayInfo = "";
  1168. var holinm = "";
  1169. for(var i = datagrid1.fixedrows; i < datagrid1.rows; i++) {
  1170. for(var j = 0; j < datagrid1.cols; j++) {
  1171. //2007-09-05 이동식 추가 - 휴일표시
  1172. dayInfo = datagrid1.valueMatrix(i, j);
  1173. if( dayInfo != '' || dayInfo == null){
  1174. dutflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + dayInfo +"]/dutflag");
  1175. if( dutflag == '8' ){ //'0' 평일, '4' 토요일, '8' 휴일
  1176. fSetTextColor(i, j, '#ff0000');
  1177. //휴일정보 표시
  1178. holinm = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + dayInfo +"]/holinm");
  1179. if( holinm == '-' || holinm == ' '){
  1180. holinm = '';
  1181. }
  1182. datagrid1.valueMatrix(i , j ) = dayInfo + "\n" + holinm;
  1183. }
  1184. }
  1185. //END..
  1186. //2007-09-05 이동식 추가 - 날짜 크기 굵게..
  1187. datagrid1.cellStyle("font-weight", i, j) = "bold";
  1188. //END..
  1189. days = model.getValue("/root/main/cal/week/list[" + i + "]/" + weekname[j]);
  1190. days.getCarrigeReturnRemove();
  1191. days = days.substr(days.length - 2, days.length);
  1192. var a = days.substr(0,1);
  1193. var b = days.substr(1,2);
  1194. var c = days.substr(2,3);
  1195. if (a == "A" || a == "P" || a == "N") a = a;
  1196. else a = "";
  1197. if (b == "A" || b == "P" || b == "N") b = b;
  1198. else b = "";
  1199. if (c == "A" || c == "P" || c == "N") c = c;
  1200. else c = "";
  1201. var cc = (a.concat(b)).concat(c);
  1202. if (cc == "A"){
  1203. datagrid1.cellStyle("background-color",i,j) = "#ffff99";
  1204. }
  1205. else if (cc == "P"){
  1206. datagrid1.cellStyle("background-color",i,j) = "#ccffff"; //#ff99cc
  1207. }
  1208. else if (cc == "N"){
  1209. datagrid1.cellStyle("background-color",i,j) = "#ff99cc"; //#ff99cc
  1210. }
  1211. else if (cc == "AP" || cc == "AN" || cc == "PN" || cc == "APN"){
  1212. datagrid1.cellStyle("background-color",i,j) = "#ffcc99";
  1213. }
  1214. }
  1215. }
  1216. }
  1217. function setCalendar2(dateObj) {
  1218. //그리드 초기화
  1219. model.removeNodeset("/root/main/cal/week/list");
  1220. //datagrid1.rebuild()
  1221. dateObj.setDate(1);
  1222. var startDay = dateObj.getDay();
  1223. var days = dateObj.getMonthDay();
  1224. var rows = Math.ceil( ( startDay + days ) / 7 );
  1225. for(var i=0; i<rows; i++){
  1226. datagrid1.addRow(false);
  1227. }
  1228. datagrid1.rebuild();
  1229. datagrid1.rebuildStyle();
  1230. var rowIndex = datagrid1.fixedRows;
  1231. var colIndex = startDay;
  1232. var ampmflag = '';
  1233. var dutflag = '';
  1234. var ordendresn = '';
  1235. var reglscheflag = '';
  1236. var basedd = '';
  1237. var today = getCurrentDate();
  1238. for(var i=1; i<=days; i++){
  1239. //write date
  1240. //datagrid1.valueMatrix(rowIndex, colIndex) = i;
  1241. datagrid1.cellStyle("font-weight", rowIndex, colIndex) = "bold";
  1242. // datagrid1.valueMatrix(rowIndex , colIndex + 7) = '\n' + fGetCalendarMemo2( i );
  1243. datagrid1.valueMatrix(rowIndex , colIndex ) = i + '\n' + fGetCalendarMemo2( i );
  1244. basedd = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/basedd");
  1245. ampmflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ampmflag");
  1246. dutflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/dutflag");
  1247. ordendresn = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1248. ordendresnmin = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresnmin");
  1249. reglscheflag = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/reglscheflag");
  1250. //툴팁 초기화
  1251. datagrid1.tooltiptext(rowIndex, colIndex) = '';
  1252. if( ordendresnmin != 'H' && ordendresnmin != 'T'){
  1253. if( ampmflag == '1' ){ //오전
  1254. if( reglscheflag == 'Y' ){ //정규일정
  1255. fSetBGColor(rowIndex, colIndex, '#ffff99');
  1256. // datagrid1.tooltiptext(rowIndex, colIndex) = '정규';
  1257. }else if( reglscheflag == 'N' ){ //임시일정
  1258. fSetBGColor(rowIndex, colIndex, '#c9c299');
  1259. datagrid1.tooltiptext(rowIndex, colIndex) = '임시';
  1260. }else if( reglscheflag == 'X' ){ //기타검사
  1261. fSetBGColor(rowIndex, colIndex, '#cc99ff');
  1262. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타검사';
  1263. }else if( reglscheflag == 'V' ){ //기타임시
  1264. fSetBGColor(rowIndex, colIndex, '#3366ff');
  1265. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타임시';
  1266. }else if( reglscheflag == 'Z' ){ //대진
  1267. fSetBGColor(rowIndex, colIndex, '#c9c299');
  1268. datagrid1.tooltiptext(rowIndex, colIndex) = '대진';
  1269. }else if( reglscheflag == 'S' ){ //특별일정 - 병동간호 임시일정
  1270. fSetBGColor(rowIndex, colIndex, '#99cc00');
  1271. datagrid1.tooltiptext(rowIndex, colIndex) = '특별일정';
  1272. }
  1273. }else if( ampmflag == '10' ){ //오후
  1274. if( reglscheflag == 'Y' ){ //정규일정
  1275. fSetBGColor(rowIndex, colIndex, '#ccffff');
  1276. // datagrid1.tooltiptext(rowIndex, colIndex) = '정규';
  1277. }else if( reglscheflag == 'N' ){ //임시일정
  1278. fSetBGColor(rowIndex, colIndex, '#ffccff');
  1279. datagrid1.tooltiptext(rowIndex, colIndex) = '임시';
  1280. }else if( reglscheflag == 'X' ){ //검사일정
  1281. fSetBGColor(rowIndex, colIndex, '#cc99ff');
  1282. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타검사';
  1283. }else if( reglscheflag == 'V' ){ //기타임시
  1284. fSetBGColor(rowIndex, colIndex, '#3366ff');
  1285. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타임시';
  1286. }else if( reglscheflag == 'Z' ){ //대진
  1287. fSetBGColor(rowIndex, colIndex, '#ffccff');
  1288. datagrid1.tooltiptext(rowIndex, colIndex) = '대진';
  1289. }else if( reglscheflag == 'S' ){ //특별일정 - 병동간호 임시일정
  1290. fSetBGColor(rowIndex, colIndex, '#99cc00');
  1291. datagrid1.tooltiptext(rowIndex, colIndex) = '특별일정';
  1292. }
  1293. // }else if( ampmflag == '100' ) { //야간
  1294. // fSetBGColor(rowIndex, colIndex, '#ff99cc');
  1295. }else if( ampmflag == '11' || ampmflag == '110' || ampmflag == '101' || ampmflag == '111' || ampmflag == '100'){ //전일, 야간포함
  1296. if( reglscheflag == 'Y' ){ //정규일정
  1297. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1298. // datagrid1.tooltiptext(rowIndex, colIndex) = '정규';
  1299. }else if( reglscheflag == 'N' ){ //임시일정
  1300. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1301. datagrid1.tooltiptext(rowIndex, colIndex) = '임시';
  1302. }else if( reglscheflag == 'X' ){ //검사일정
  1303. fSetBGColor(rowIndex, colIndex, '#cc99ff');
  1304. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타검사';
  1305. }else if( reglscheflag == 'V' ){ //기타임시
  1306. fSetBGColor(rowIndex, colIndex, '#3366ff');
  1307. // datagrid1.tooltiptext(rowIndex, colIndex) = '기타임시';
  1308. }else if( reglscheflag == 'Z' ){ //대진
  1309. fSetBGColor(rowIndex, colIndex, '#ffcc99');
  1310. datagrid1.tooltiptext(rowIndex, colIndex) = '대진';
  1311. }else if( reglscheflag == 'S' ){ //특별일정 - 병동간호 임시일정
  1312. fSetBGColor(rowIndex, colIndex, '#99cc00');
  1313. datagrid1.tooltiptext(rowIndex, colIndex) = '특별일정';
  1314. }
  1315. }
  1316. if( ordendresn != '' && ordendresn != '-' && ordendresn != ' '){
  1317. datagrid1.tooltiptext(rowIndex, colIndex) = ordendresn;
  1318. }
  1319. }else{
  1320. // if( ordendresn == ordendresnmin ){
  1321. // if( ordendresnmin == 'H' ){
  1322. // fSetBGColor(rowIndex, colIndex, '#cc99ff'); //전일마감
  1323. // }else if( ordendresnmin == 'T' ){
  1324. // fSetBGColor(rowIndex, colIndex, '#33cc00'); //부분마감
  1325. // }
  1326. if( ordendresnmin == 'H' ){
  1327. // fSetBGColor(rowIndex, colIndex, '#cc99ff'); //전일마감
  1328. datagrid1.valueMatrix(rowIndex , colIndex ) = i + '\n' + '휴진[' + model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalrsrvcnt") + ']';
  1329. datagrid1.tooltiptext(rowIndex, colIndex) = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1330. }else if( ordendresnmin == 'T' ){
  1331. // if( model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holiampmflag") == 'A' ){ //오전
  1332. // fSetBGColor(rowIndex, colIndex, '#999999'); //부분마감
  1333. // }else if( model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holiampmflag") == 'P' ){ //오후
  1334. // fSetBGColor(rowIndex, colIndex, '#999999'); //부분마감
  1335. // }else if( model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/holiampmflag") == 'D' ){ //전일
  1336. // fSetBGColor(rowIndex, colIndex, '#999999'); //부분마감
  1337. // }
  1338. fSetBGColor(rowIndex, colIndex, '#999999'); //부분마감
  1339. datagrid1.tooltiptext(rowIndex, colIndex) = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1340. }else{
  1341. datagrid1.valueMatrix(rowIndex , colIndex ) = i + '\n' + '[' + model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalrsrvcnt") + ']';
  1342. datagrid1.tooltiptext(rowIndex, colIndex) = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/ordendresn");
  1343. }
  1344. }
  1345. if( dutflag == '8' ){
  1346. fSetTextColor(rowIndex, colIndex, '#ff0000');
  1347. }
  1348. colIndex++;
  1349. if( colIndex == 7 ) {
  1350. colIndex = 0;
  1351. rowIndex++;
  1352. }
  1353. }
  1354. datagrid1.resizeCells();
  1355. }
  1356. function fGetCalendarMemo2( i ){
  1357. var retValue = "";
  1358. var memo = "";
  1359. //예약 현황
  1360. var totalrsrvcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalrsrvcnt");
  1361. var fstrsrvcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/fstrsrvcnt");
  1362. var fstexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/fstexamcnt");
  1363. var reexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/reexamcnt");
  1364. var totalexamcnt = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalexamcnt");
  1365. var totalexamcap = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/totalexamcap");
  1366. var fstexamcap = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/fstexamcap");
  1367. var reexamcap = model.getValue("/root/hidden/calendarinfo/calendarinfolist[" + i +"]/reexamcap");
  1368. if( model.getValue("/root/hidden/con/caloption") != '1' ){
  1369. retValue = totalrsrvcnt + "[" + fstrsrvcnt + "]";
  1370. memo = totalexamcnt + totalrsrvcnt;
  1371. if( memo.getTrim() == '' || memo.getTrim() == '0'){
  1372. retValue = ''
  1373. }
  1374. }else{
  1375. if( totalexamcap == '0' || totalexamcap == ''){
  1376. retValue = fstexamcnt + "/" + reexamcnt;
  1377. memo = fstexamcnt + reexamcnt;
  1378. if( memo.getTrim() == '' ){
  1379. retValue = ''
  1380. }
  1381. }else{
  1382. retValue = parseInt(totalexamcap) + parseInt(fstexamcap) + parseInt(reexamcap) - parseInt(totalrsrvcnt); //totalrsrvcnt + "[" + fstrsrvcnt + "]";
  1383. memo = totalexamcap + fstexamcap + reexamcap;
  1384. if( memo.getTrim() == '' || memo.getTrim() == '0'){
  1385. retValue = ''
  1386. }
  1387. }
  1388. }
  1389. return retValue;
  1390. }
  1391. //그리드의 배경색상을 변경한다.
  1392. function fSetBGColor(calRow, calCol, bgColor) {
  1393. //var calRow = gridObj.row;
  1394. //var calCol = gridObj.col;
  1395. if( calCol < 7 ){
  1396. //calCol = calCol + 7;
  1397. datagrid1.cellStyle("background-color", calRow, calCol) = bgColor;
  1398. datagrid1.cellStyle("background-color", calRow, calCol + 7) = bgColor;
  1399. }else{
  1400. //calCol = calCol - 7;
  1401. datagrid1.cellStyle("background-color", calRow, calCol) = bgColor;
  1402. datagrid1.cellStyle("background-color", calRow, calCol - 7) = bgColor;
  1403. }
  1404. //datagrid1.rebuildStyle();
  1405. //datagrid1.cellStyle("background-color", calRow, calCol) = bgColor;
  1406. }
  1407. //그리드의 폰트 색상을 변경한다.
  1408. function fSetTextColor(calRow, calCol, bgColor) {
  1409. if( calCol < 7 ){
  1410. //calCol = calCol + 7;
  1411. datagrid1.cellStyle("color", calRow, calCol) = bgColor;
  1412. datagrid1.cellStyle("color", calRow, calCol + 7) = bgColor;
  1413. }else{
  1414. //calCol = calCol - 7;
  1415. datagrid1.cellStyle("color", calRow, calCol) = bgColor;
  1416. datagrid1.cellStyle("color", calRow, calCol - 7) = bgColor;
  1417. }
  1418. //datagrid1.rebuildStyle();
  1419. }
  1420. function fAfterDDNM(){
  1421. model.setValue("/root/main/rsrv[1]/nm","예상일자");
  1422. //datagrid3.rebuild();
  1423. }
  1424. function fAfterDDCalc(dd){
  1425. model.setValue("/root/main/rsrv[1]/nm","예상일자");
  1426. model.setValue("/root/main/rsrv[1]/after1week" ,((dd.toDate("YYYYMMDD")).getAddDate(7, "D")).getDateFormat());
  1427. model.setValue("/root/main/rsrv[1]/after2week" ,((dd.toDate("YYYYMMDD")).getAddDate(14, "D")).getDateFormat());
  1428. model.setValue("/root/main/rsrv[1]/after3week" ,((dd.toDate("YYYYMMDD")).getAddDate(21, "D")).getDateFormat());
  1429. model.setValue("/root/main/rsrv[1]/after4week" ,((dd.toDate("YYYYMMDD")).getAddDate(28, "D")).getDateFormat());
  1430. model.setValue("/root/main/rsrv[1]/after8week" ,((dd.toDate("YYYYMMDD")).getAddDate(56, "D")).getDateFormat());
  1431. model.setValue("/root/main/rsrv[1]/after12week" ,((dd.toDate("YYYYMMDD")).getAddDate(84, "D")).getDateFormat());
  1432. model.setValue("/root/main/rsrv[1]/after16week" ,((dd.toDate("YYYYMMDD")).getAddDate(112, "D")).getDateFormat());
  1433. model.setValue("/root/main/rsrv[1]/after24week" ,((dd.toDate("YYYYMMDD")).getAddDate(168, "D")).getDateFormat());
  1434. //datagrid3.rebuild();
  1435. }
  1436. function fPatRsrvInfoRef(){
  1437. //환자번호로 예약리스트 조회 + 검사예약정보
  1438. fSubmitBefore();
  1439. fSubmitAfter();
  1440. model.setValue("/root/send/data1",model.getValue("/root/hidden/con/pid"));
  1441. model.copyNode("/root/send/data2","/root/hidden/session");
  1442. model.removeNodeset("/root/main/h_otpt1/otpt");
  1443. model.removeNodeset("/root/main/h_otpt2/otpt");
  1444. // datagrid4.rebuild();
  1445. // datagrid5.rebuild();
  1446. if (submit("TRPMO00302") == true){
  1447. if(getNodesetCount("/root/hidden/rcv/h_otpt1/otpt") > 0){
  1448. model.copyNode("/root/main/h_otpt1","/root/hidden/rcv/h_otpt1");
  1449. }
  1450. if(getNodesetCount("/root/hidden/rcv/h_otpt2/otpt") > 0){
  1451. model.copyNode("/root/main/h_otpt2","/root/hidden/rcv/h_otpt2");
  1452. //datagrid5.rebuild();
  1453. }
  1454. if(getNodesetCount("/root/hidden/rcv/h_ptbs/ptbs") > 0){
  1455. model.setValue("/root/hidden/con/hngnm", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_hngnm"));
  1456. //opt_hngnm.refresh();
  1457. // 중증암, 희귀난치산정특례 제어
  1458. if (model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_sdoatodd") == "-") {
  1459. model.setValue("/root/hidden/con/sdoatodd", "");
  1460. } else {
  1461. model.setValue("/root/hidden/con/sdoatodd", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_sdoatodd"));
  1462. }
  1463. if (model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rooatodd") == "-") {
  1464. model.setValue("/root/hidden/con/rooatodd", "");
  1465. } else {
  1466. model.setValue("/root/hidden/con/rooatodd", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rooatodd"));
  1467. }
  1468. }
  1469. //2009-06-12 이동식 추가
  1470. //과거예약정보포함 디폴트 체크 3개월 이내 내역 표시
  1471. model.setValue("/root/hidden/con/historysearchyn", "Y");
  1472. bool1.dispatch("xforms-value-changed");
  1473. model.setValue("/root/hidden/con/historysearchperiod", "3");
  1474. cmb_searchperiod.dispatch("xforms-value-changed");
  1475. var curDate = getCurrentDate();
  1476. model.setValue("/root/hidden/con/ordcnt",(getNodesetCount("/root/main/h_otpt1/otpt[ otpt_orddd >= " + curDate + "]")).toString());
  1477. model.setValue("/root/hidden/con/examcnt",(getNodesetCount("/root/hidden/rcv/h_otpt2/otpt")).toString());
  1478. model.refresh();
  1479. }
  1480. //fCheckISInPat();
  1481. }
  1482. function fExamCapRef(dd)
  1483. {
  1484. fSubmitBefore();
  1485. fSubmitAfter();
  1486. model.setValue("/root/send/data1",model.getValue("/root/hidden/con/orddeptcd"));
  1487. model.setValue("/root/send/data2",model.getValue("/root/hidden/con/orddrid"));
  1488. model.setValue("/root/send/data3",dd.substr(0,8));
  1489. model.copyNode("/root/send/data4","/root/hidden/session");
  1490. model.removeNodeset("/root/main/h_schd/schd");
  1491. //datagrid2.rebuild();
  1492. submit("TRPMO00303");
  1493. }
  1494. function fRsrvListRef(dd){
  1495. fSubmitBefore();
  1496. fSubmitAfter();
  1497. model.setValue("/root/hidden/con/onemin", "");
  1498. model.setValue("/root/send/data1",model.getValue("/root/hidden/con/orddeptcd"));
  1499. model.setValue("/root/send/data2",model.getValue("/root/hidden/con/orddrid"));
  1500. model.setValue("/root/send/data3",dd.substr(0,8));
  1501. model.setValue("/root/send/data4",model.getValue("/root/hidden/con/subdeptcd"));
  1502. model.copyNode("/root/send/data5","/root/hidden/session");
  1503. model.setValue("/root/send/data6", model.getValue("/root/hidden/con/mjtoggle"));
  1504. model.setValue("/root/send/data7", REGLSCHEYN);
  1505. model.setValue("/root/send/data8", model.getValue("/root/hidden/con/centcd"));
  1506. model.setValue("/root/send/data9", RSRVFLAG);
  1507. // model.makeNode("/root/send/rcv");
  1508. model.removeNodeset("/root/main/h_schd");
  1509. model.makeNode("/root/main/h_schd");
  1510. model.removeNodeset("/root/main/h_otpt3");
  1511. model.makeNode("/root/main/h_otpt3");
  1512. // datagrid6.rebuild();
  1513. if(submit("TRPMO00304")){
  1514. model.copyNode("/root/main/h_otpt3", "/root/hidden/rcv/h_otpt3");
  1515. // model.copyNode("/root/main/h_otpt4", "/root/hidden/rcv/h_otpt3");
  1516. model.copyNode("/root/main/h_schd", "/root/hidden/rcv/h_schd");
  1517. model.copyNode("/root/init/overcapa", "/root/hidden/rcv/overcapa");
  1518. if( model.getValue("/root/init/overcapa/overcapayn") != 'N' && REGLSCHEYN == 'Y'){
  1519. //2017/09/04 칠곡 호흡기센터로 예약시에는 1분풀기 버튼 안보이도록 수정
  1520. if(getUserInfo("dutplceinstcd") == "032" && combo1.value== '2361333000'){
  1521. checkbox1.visible=false;
  1522. }else{
  1523. checkbox1.visible=true;
  1524. }
  1525. //checkbox1.visible = true;
  1526. //2017/09/04 칠곡 호흡기센터로 예약시에는 1분풀기 버튼 안보이도록 수정
  1527. }else{
  1528. checkbox1.visible = false;
  1529. }
  1530. datagrid6.refresh();
  1531. //기존에 예약된 내역은 등록번호 란을 disable 시킨다.
  1532. var row_cnt = getNodesetCount("/root/main/h_otpt3/otpt");
  1533. var pid = '';
  1534. var hngnm = '';
  1535. for(var i=1; i<=row_cnt; i++){
  1536. pid = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/otpt_pid");
  1537. hngnm = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/ptbs_hngnm");
  1538. if(hngnm.length > 1 || pid.length > 0){
  1539. datagrid6.isreadonly(i, datagrid6.colRef("otpt_pid")) = true;
  1540. datagrid6.isreadonly(i, datagrid6.colRef("otpt_ordtm")) = true;
  1541. }else{
  1542. datagrid6.isreadonly(i, datagrid6.colRef("otpt_pid")) = false;
  1543. datagrid6.isreadonly(i, datagrid6.colRef("otpt_ordtm")) = true;
  1544. }
  1545. }
  1546. datagrid6.rebuildStyle();
  1547. setRowStyle("datagrid6", "4^4^4^4", "F^D^4^5", "otpt_fsexamflag");
  1548. setRowStyle("datagrid6", "3^3", "M^J", "otpt_etcordflag");
  1549. //협력의뢰센터의 예약 Capacity(생산능력)일 경우에는 색상 변경(2016/09/05 이정택)
  1550. setRowStyle("datagrid6", "12", "A", "etcrsrvflag");
  1551. //협력의뢰센터의 예약 카퍼일 경우에는 색상 변경(2016/09/05 이정택)
  1552. //심층진찰 예약 Capacity(생산능력)일 경우에는 색상 변경(2017/12/01 이정택)
  1553. setRowStyle("datagrid6", "10", "B", "etcrsrvflag");
  1554. //심층진찰 예약 Capacity(생산능력)일 경우에는 색상 변경(2017/12/01 이정택)
  1555. for(var j=1; j<= row_cnt; j++){
  1556. dethyn = model.getValue("/root/main/h_otpt3/otpt[" + j + "]/otpt_dethyn");
  1557. if(dethyn == "Y"){
  1558. datagrid6.rowStyle(j, "all", "background-color") = "#969696";
  1559. } else {
  1560. //datagrid6.rowStyle(j, "all", "background-color") = "#FFFFFF";
  1561. }
  1562. }
  1563. }
  1564. //오전/오후 예약환자수 표시 추가 by 조중래
  1565. fGetAmPmCnt();
  1566. }
  1567. // function fCheckISInPat(){
  1568. // //재원여부 판단
  1569. // var ptbs_inhospyn = model.getValue("/root/main/ptbs/ptbs_inhospyn");
  1570. // var ptbs_tdaydsch = model.getValue("/root/main/ptbs/ptbs_tdaydsch");
  1571. // var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  1572. //
  1573. // if (ptbs_inhospyn == "Y")
  1574. // {
  1575. // messageBox("확인! " + ptbs_hngnm + " 환자는 현재 재원 중입니다!","E999","");
  1576. // return false;
  1577. // }else if( ptbs_tdaydsch == 'Y' && gDate == getCurrentDate() ){
  1578. //
  1579. // messageBox("확인! " + ptbs_hngnm + " 환자는 당일퇴원환자입니다!","E999","");
  1580. // return false;
  1581. // }
  1582. //
  1583. // return true;
  1584. // }
  1585. /*
  1586. * 예약
  1587. * 2013-03-07 방사선종양학과(2170000000) SMS발송을 위한 remark 설정 추가
  1588. */
  1589. function fPatRsrvSave(){
  1590. //재원여부체크
  1591. // if(!fCheckISInPat()){
  1592. // return false;
  1593. // }
  1594. //진찰료 산정 기본 세팅
  1595. model.setValue("/root/hidden/con/medamtestmyn", 'Y');
  1596. //기본정보 설정
  1597. var centcd = model.getValue("/root/hidden/con/centcd");
  1598. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  1599. var orddrid = model.getValue("/root/hidden/con/orddrid");
  1600. var orddd = gDate;
  1601. var ordtm = datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_ordtm"));
  1602. var medamtestmyn = model.getValue("/root/hidden/con/medamtestmyn"); //진찰료 산정여부
  1603. var etcordflag = "-"; //연속처방/기타구분
  1604. var pid = datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_pid"));
  1605. var hngnm = datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("ptbs_hngnm"));
  1606. var remark = datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact"));
  1607. /*
  1608. * 2007-09-22 이동식 추가 - 간호팀 요구사항
  1609. * 에러체킹 로직 이동
  1610. * 등록번호란에 등록번호 입력하면 그 해당 진료시간에 예약이 되도록 프로세스 변경 요청
  1611. * 선택된 예약일정이 비어있는 일정인지를 체크
  1612. */
  1613. //당일 예약 및 변경 블럭킹
  1614. if(!fCheckTodayRsrvUpdt('R')){
  1615. messageBox("오늘 날짜 이전으로로 예약할 수 없습니다.","E999","");
  1616. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1617. return false;
  1618. }
  1619. //등록번호 체크
  1620. if (pid.length < 1){
  1621. messageBox("등록번호를 정확히 입력해 주세요!","E999","");
  1622. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1623. return false;
  1624. }
  1625. //이미 예약된 있는지 체크
  1626. if (hngnm != null && hngnm != "" && hngnm != " " && hngnm != "-"){
  1627. messageBox("이미 예약된 슬롯입니다. 빈 슬롯을 선택하십시요!","E999","");
  1628. return;
  1629. }
  1630. //센터 체크
  1631. if( centcd == null || centcd == '' || centcd == ' ' ){
  1632. centcd = '-';
  1633. model.setValue("/root/hidden/con/centcd", "-");
  1634. }
  1635. //진료과 체크
  1636. if (orddeptcd == null || orddeptcd == "" || orddeptcd == " " || orddeptcd == "-"){
  1637. messageBox("진료과 선택 후 예약하십시요!","E999","");
  1638. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1639. return;
  1640. }
  1641. //진료의사 체크
  1642. if (orddrid == null || orddrid == "" || orddrid == " " || orddrid == "-"){
  1643. messageBox("진료의 선택 후 예약하십시요!","E999","");
  1644. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1645. return;
  1646. }
  1647. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  1648. if(!fCheckDrSche(orddrid, orddeptcd, orddd, ordtm, medamtestmyn, etcordflag, "-", "-")){
  1649. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1650. return false;
  1651. }
  1652. //2013-03-07 방사선종양학과(2170000000) SMS발송을 위한 remark 설정
  1653. if(orddeptcd == "2170000000"){
  1654. if(messageBox("simulation 예약입니까?", "Q") == "6"){
  1655. if(remark.indexOf("SIM") == "-1"){
  1656. remark = remark += "SIM";
  1657. }
  1658. }else{
  1659. remark = remark.replace("SIM", "");
  1660. }
  1661. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1662. }
  1663. //2008-04-17 이동식 추가
  1664. //간호 요구사항 - 재진예약시 예약메세지 표시 변경
  1665. //동일과 체크, 임상,CP,의뢰,퇴원 후 예약 체크해서 메세지 달리 표시
  1666. model.makeNode("/root/checkrsrv/send/flag");
  1667. model.makeNode("/root/checkrsrv/send/pid");
  1668. model.makeNode("/root/checkrsrv/send/orddd");
  1669. // model.makeNode("/root/checkrsrv/send/ordtm");
  1670. model.makeNode("/root/checkrsrv/send/orddeptcd");
  1671. model.makeNode("/root/checkrsrv/send/orddrid");
  1672. model.makeNode("/root/checkrsrv/result");
  1673. model.setValue("/root/checkrsrv/send/flag" , '');
  1674. model.setValue("/root/checkrsrv/send/pid" , pid);
  1675. model.setValue("/root/checkrsrv/send/orddd" , gDate);
  1676. // model.setValue("/root/checkrsrv/send/ordtm" , model.getValue(""));
  1677. model.setValue("/root/checkrsrv/send/orddeptcd" , model.getValue("/root/hidden/con/orddeptcd"));
  1678. model.setValue("/root/checkrsrv/send/orddrid" , model.getValue("/root/hidden/con/orddrid"));
  1679. if(!submit("TRPMO00306")){
  1680. messageBox("예약 체크를 실패했습니다. 다시 시도해주세요.", "E999", "");
  1681. return false;
  1682. }
  1683. //중증/산정특례 종료일자 체크
  1684. if ((isValidDateTime(model.getValue("/root/checkrsrv/result/sdoatodd"), 'YYYYMMDD')
  1685. && gDate > model.getValue("/root/checkrsrv/result/sdoatodd")) || (isValidDateTime(model.getValue("/root/checkrsrv/result/rooatodd"), 'YYYYMMDD')
  1686. && gDate > model.getValue("/root/checkrsrv/result/rooatodd"))){
  1687. var sEndMsg = "중증 및 희귀질환산정특례 자격 종료예정자입니다. \r\n\r\n";
  1688. if(isValidDateTime(model.getValue("/root/checkrsrv/result/sdoatodd"), 'YYYYMMDD') && gDate > model.getValue("/root/checkrsrv/result/sdoatodd")){
  1689. var sToDd = model.getValue("/root/checkrsrv/result/sdoatodd");
  1690. sToDd = sToDd.substr(0,4) + "/" + sToDd.substr(4,2) + "/" + sToDd.substr(6,2);
  1691. sEndMsg += " - 중증 종료예정일자 : " + sToDd + "\r\n\r\n";
  1692. }
  1693. if(isValidDateTime(model.getValue("/root/checkrsrv/result/rooatodd"), 'YYYYMMDD') && gDate > model.getValue("/root/checkrsrv/result/rooatodd")){
  1694. var sToDd = model.getValue("/root/checkrsrv/result/rooatodd");
  1695. sToDd = sToDd.substr(0,4) + "/" + sToDd.substr(4,2) + "/" + sToDd.substr(6,2);
  1696. sEndMsg += " - 희귀질환산정특례 종료예정일자 : " + sToDd + "\r\n\r\n";
  1697. }
  1698. sEndMsg += "진료당일의 자격이 변경될 가능성이 있음에 유의하시기 바랍니다.";
  1699. messageBox(sEndMsg, "C000");
  1700. }
  1701. model.setValue("/root/hidden/con/rsrvtype", "-");
  1702. if( model.getValue("/root/checkrsrv/result/stdyrsrvflag") == 'Y' ){
  1703. var result = messageBox("임상연구 예약입니까?","Q000","");
  1704. if( result == 6 ){
  1705. // 임상과제 예약제한/처방제한 체크(2017/05/30 이정택)
  1706. var prlmtyn = model.getValue("/root/checkrsrv/result/prlmtyn");
  1707. var clincstdyno = model.getValue("/root/checkrsrv/result/clincstdyno");
  1708. if(prlmtyn == 'Y'){
  1709. messageBox("임상예약이 불가능한 과제입니다.[과제번호 : " + clincstdyno + "]\n본원 ☎ : 5099 / 칠곡 ☎ : 2080", "E");
  1710. return;
  1711. }else{
  1712. model.setValue("/root/hidden/con/rsrvtype", "study");
  1713. }
  1714. // model.setValue("/root/hidden/con/rsrvtype", "study");
  1715. // 임상과제 예약제한/처방제한 체크(2017/05/30 이정택)
  1716. }else{
  1717. result = 6;
  1718. }
  1719. }else if( model.getValue("/root/checkrsrv/result/cprsrvflag") == 'Y' ){
  1720. var result = messageBox("CP follow up 예약입니까?","Q000","");
  1721. if( result == 6 ){
  1722. model.setValue("/root/hidden/con/rsrvtype", "cp");
  1723. }else{
  1724. result = 6;
  1725. }
  1726. //2009.12.17 zzui
  1727. }else if( model.getValue("/root/checkrsrv/result/tdaydschrsrvflag") == 'Y' && (gDate == getCurrentDate())){
  1728. var result = messageBox("당일 퇴원인 경우는 동일 진료과 외래예약은 할 수 없습니다. 당일퇴원 후 예약을 하시겠습니까?","Q000","");
  1729. var tdaydschrsrvflag = 'Y';
  1730. if( result == 6 ){
  1731. model.setValue("/root/hidden/con/rsrvtype", "dsch");
  1732. }else{
  1733. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1734. if(orddeptcd == "2170000000"){
  1735. remark = remark.replace("SIM", "");
  1736. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1737. }
  1738. return false;
  1739. }
  1740. }else if( model.getValue("/root/checkrsrv/result/dschrsrvflag") == 'Y' ){
  1741. var result = messageBox("퇴원 후 예약입니까?","Q000","");
  1742. if( result == 6 ){
  1743. model.setValue("/root/hidden/con/rsrvtype", "dsch");
  1744. }else{
  1745. result = 6;
  1746. }
  1747. }else if( model.getValue("/root/checkrsrv/result/consultrsrvflag") == 'Y' ){
  1748. var result = messageBox("Consult 진료예약입니까?","Q000","");
  1749. if( result == 6 ){
  1750. model.setValue("/root/hidden/con/rsrvtype", "consult");
  1751. }else{
  1752. result = 6;
  1753. }
  1754. }else if( model.getValue("/root/checkrsrv/result/todayorderyn") == 'Y' ){ //당일진료본내역체크
  1755. model.setValue("/root/temp/tdayorderyn", "Y")
  1756. }
  1757. if( model.getValue("/root/checkrsrv/result/dupldeptflag") == 'Y' ){
  1758. var msg = model.getValue("/root/checkrsrv/result/dupldeptmsg");
  1759. var deptnm = model.getValue("/root/checkrsrv/result/orddeptnm");
  1760. var drnm = model.getValue("/root/checkrsrv/result/orddrnm");
  1761. if( msg == '연속처방' ){
  1762. /* 2013-03-07 연속처방과 진료예약을 분리 위해 주석처리
  1763. if(messageBox("연속처방내역[주사/물리치료]이 존재합니다.\n"
  1764. + "연속처방 내역보기 체크하시고, 연속처방내역을 일반진료 예약으로 변경하세요!!\n"
  1765. + "물리치료예약과 별개로 진료예약을 계속 하시겠습니까?","Q999","") == '6' ){
  1766. result = 6;
  1767. }else{
  1768. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1769. return false;
  1770. }
  1771. */
  1772. result = 6;
  1773. }else if( msg == '동일의사' ){
  1774. messageBox("이미 예약내역이 있습니다. 확인 하신 후 다시 예약하세요!!","E999","");
  1775. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1776. remark = remark.replace("FU", "");
  1777. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1778. return false;
  1779. }else if( msg == '동일과연속처방' ){
  1780. /* 2013-03-07 연속처방과 진료예약을 분리 위해 주석처리
  1781. if(messageBox("[" + deptnm + "][" + drnm + "] 선생님으로 연속처방내역[주사/물리치료]이 존재합니다. 예약하시겠습니까?","Q999","") == '6' ){
  1782. result = 6;
  1783. }else{
  1784. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1785. return false;
  1786. }
  1787. */
  1788. result = 6;
  1789. }else if( msg == '동일과' ){
  1790. if(messageBox("동일과로 이미 예약한 내역이 있습니다. 계속 예약하시겠습니까?","Q999","") == '6' ){
  1791. // model.setValue("/root/hidden/con/medamtestmyn", "N");
  1792. result = 6;
  1793. }else{
  1794. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1795. if(orddeptcd == "2170000000"){
  1796. remark = remark.replace("SIM", "");
  1797. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1798. }
  1799. return false;
  1800. }
  1801. }else if( msg == '예약중복' ){
  1802. if( messageBox("이미 다른 일자로 동일과 예약이 잡혀있습니다. 추가로 예약을 잡으시겠습니까?", "Q999", "") == '6' ){
  1803. // model.setValue("/root/hidden/con/medamtestmyn", "N");
  1804. result = 6;
  1805. }else{
  1806. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1807. if(orddeptcd == "2170000000"){
  1808. remark = remark.replace("SIM", "");
  1809. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1810. }
  1811. return false;
  1812. }
  1813. }else{
  1814. if(tdaydschrsrvflag != 'Y'){
  1815. //건강증진센터에서 예약시 예약멘트 변경 및 연속처방/기타사유를 세팅(2016/03/07)
  1816. var result = "";
  1817. if(getUserInfo("dutplcecd")=='2370100000'){
  1818. result = messageBox("[건진컨설트]로 예약 하시겠습니까?","Q000","");
  1819. if(result==6){
  1820. ETCORDFLAG = "Z"; // 건진컨설트로 세팅
  1821. }else{
  1822. result = messageBox("예약 하시겠습니까?","Q000","");
  1823. ETCORDFLAG = "";
  1824. }
  1825. }else{
  1826. // 신장내과 예약은 신장내과 근무자만 잡을 수 있도록 프로그램 수정(2016/11/16 이정택)
  1827. if(getUserInfo("dutplceinstcd") == "031"){
  1828. if(orddeptcd == '2010700000'){ // 예약과가 신장내과
  1829. if(getUserInfo("dutplcecd")!='2010700000'){ // 근무처가 신장내과
  1830. messageBox("신장내과 근무자 이외에는 신장내과 과예약이 불가능합니다.\n(☎ : 5551~5552)","I");
  1831. return;
  1832. }else{
  1833. result = messageBox("예약 하시겠습니까?","Q000","");
  1834. ETCORDFLAG = "";
  1835. }
  1836. }else{
  1837. result = messageBox("예약 하시겠습니까?","Q000","");
  1838. ETCORDFLAG = "";
  1839. }
  1840. }else if(getUserInfo("dutplceinstcd") == "032"){
  1841. if(orddeptcd == '2010700000'){ // 예약과가 신장내과
  1842. if(getUserInfo("dutplcecd")!='2011700000'){ // 근무처가 신장센터
  1843. messageBox("신장센터 근무자 이외에는 신장내과 과예약이 불가능합니다.\n(☎ : 3181)","I");
  1844. return;
  1845. }else{
  1846. result = messageBox("예약 하시겠습니까?","Q000","");
  1847. ETCORDFLAG = "";
  1848. }
  1849. }else{
  1850. result = messageBox("예약 하시겠습니까?","Q000","");
  1851. ETCORDFLAG = "";
  1852. }
  1853. }else{
  1854. result = messageBox("예약 하시겠습니까?","Q000","");
  1855. ETCORDFLAG = "";
  1856. }
  1857. // 신장내과 예약은 신장내과 근무자만 잡을 수 있도록 프로그램 수정(2016/11/16 이정택)
  1858. }
  1859. }
  1860. if(result == 6){
  1861. // model.setValue("/root/hidden/con/rsrvtype", "-");
  1862. }else{
  1863. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1864. if(orddeptcd == "2170000000"){
  1865. remark = remark.replace("SIM", "");
  1866. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1867. }
  1868. return false;
  1869. }
  1870. }
  1871. }else{
  1872. if(tdaydschrsrvflag != 'Y'){
  1873. //건강증진센터에서 예약시 예약멘트 변경 및 연속처방/기타사유를 세팅(2016/03/07)
  1874. var result = "";
  1875. if(getUserInfo("dutplcecd")=='2370100000'){
  1876. result = messageBox("[건진컨설트]로 예약 하시겠습니까?","Q000","");
  1877. if(result==6){
  1878. ETCORDFLAG = "Z"; // 건진컨설트로 세팅
  1879. }else{
  1880. result = messageBox("예약 하시겠습니까?","Q000","");
  1881. ETCORDFLAG = "";
  1882. }
  1883. }else{
  1884. // 신장내과 예약은 신장내과 근무자만 잡을 수 있도록 프로그램 수정(2016/11/16 이정택)
  1885. if(getUserInfo("dutplceinstcd") == "031"){
  1886. if(orddeptcd == '2010700000'){ // 예약과가 신장내과
  1887. if(getUserInfo("dutplcecd")!='2010700000'){ // 근무처가 신장내과
  1888. messageBox("신장내과 근무자 이외에는 신장내과 과예약이 불가능합니다.\n(☎ : 5551~5552)","I");
  1889. return;
  1890. }else{
  1891. result = messageBox("예약 하시겠습니까?","Q000","");
  1892. ETCORDFLAG = "";
  1893. }
  1894. }else{
  1895. result = messageBox("예약 하시겠습니까?","Q000","");
  1896. ETCORDFLAG = "";
  1897. }
  1898. }else if(getUserInfo("dutplceinstcd") == "032"){
  1899. if(orddeptcd == '2010700000'){ // 예약과가 신장내과
  1900. if(getUserInfo("dutplcecd")!='2011700000'){ // 근무처가 신장센터
  1901. messageBox("신장센터 근무자 이외에는 신장내과 과예약이 불가능합니다.\n(☎ : 3181)","I");
  1902. return;
  1903. }else{
  1904. result = messageBox("예약 하시겠습니까?","Q000","");
  1905. ETCORDFLAG = "";
  1906. }
  1907. }else{
  1908. result = messageBox("예약 하시겠습니까?","Q000","");
  1909. ETCORDFLAG = "";
  1910. }
  1911. }else{
  1912. result = messageBox("예약 하시겠습니까?","Q000","");
  1913. ETCORDFLAG = "";
  1914. }
  1915. // 신장내과 예약은 신장내과 근무자만 잡을 수 있도록 프로그램 수정(2016/11/16 이정택)
  1916. }
  1917. }
  1918. if( result == 6 ){
  1919. // model.setValue("/root/hidden/con/rsrvtype", "-");
  1920. }else{
  1921. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1922. if(orddeptcd == "2170000000"){
  1923. remark = remark.replace("SIM", "");
  1924. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1925. }
  1926. return false;
  1927. }
  1928. }
  1929. if(model.getValue("/root/hidden/con/medamtestmyn") != 'N'){
  1930. model.setValue("/root/hidden/con/medamtestmyn", 'Y');
  1931. }
  1932. //예약 체크에 사용된 노드 삭제
  1933. model.removeNodeset("/root/checkrsrv");
  1934. if(result != "6"){
  1935. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1936. if(orddeptcd == "2170000000"){
  1937. remark = remark.replace("SIM", "");
  1938. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1939. }
  1940. return false;
  1941. }
  1942. fSubmitBefore();
  1943. fSubmitAfter();
  1944. var userspec = model.getValue("/root/init/orddrid[cd='"+ orddrid +"' and dp='" + orddeptcd + "']/sp");
  1945. if(userspec == "Y"){
  1946. model.setValue("/root/hidden/con/specordyn","Y");
  1947. }else{
  1948. model.setValue("/root/hidden/con/specordyn","N");
  1949. }
  1950. var orddd = gDate;
  1951. var ordtm = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_ordtm");
  1952. model.setValue("/root/hidden/con/orddd", orddd);
  1953. model.setValue("/root/hidden/con/ordtm", ordtm);
  1954. //2007-10-08 이동식
  1955. var fsexamflag = fGetFsexamFlag(); //초재진여부조회.
  1956. //2008-10-21 초진정원에 재진 예약 못하도록 블럭킹
  1957. if( fsexamflag == 'R' || fsexamflag == 'S' ){
  1958. //2017/12/13 심층진찰 관련 프로그램 수정(이정택)
  1959. var row_etcrsrvflag = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/etcrsrvflag");
  1960. if(row_etcrsrvflag=='B'){
  1961. messageBox("심층진찰 세션에는 초진환자만 예약 가능합니다.", "E999", "");
  1962. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1963. return false;
  1964. //2017/12/13 심층진찰 관련 프로그램 수정(이정택)
  1965. }
  1966. var row_fsexamflag = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_fsexamflag");
  1967. if( row_fsexamflag == 'F' || row_fsexamflag == 'D' || row_fsexamflag == '4' ){
  1968. messageBox("재진환자를 초진 진료시간에 예약할 수 없습니다!! 확인 후 다시 예약하세요!", "E999", "");
  1969. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1970. if(orddeptcd == "2170000000"){
  1971. remark = remark.replace("SIM", "");
  1972. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1973. }
  1974. return false;
  1975. }
  1976. }
  1977. var subdeptcd = model.getValue("/root/hidden/con/subdeptcd");
  1978. var sRsrvflag = RSRVFLAG;
  1979. if( model.getValue("/root/hidden/con/rsrvtype") == "study" ){
  1980. sRsrvflag = 'Q';
  1981. }
  1982. //당일진료일경우 예약시 체크로직 제외--20091202(김상민)
  1983. if(model.getValue("/root/temp/tdayorderyn") != "Y"){
  1984. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, REGLSCHEYN);
  1985. if(retVal == false){
  1986. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  1987. if(orddeptcd == "2170000000"){
  1988. remark = remark.replace("SIM", "");
  1989. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  1990. }
  1991. return false;
  1992. }else if( retVal != true ){
  1993. //센터접수
  1994. // model.setValue("/root/hidden/con/centcd", retVal);
  1995. }else{
  1996. //센터코드 초기화
  1997. // model.setValue("/root/hidden/con/centcd", '-');
  1998. }
  1999. //END
  2000. }
  2001. //체크로직 초기화
  2002. model.makeValue("/root/temp/tdayorderyn","");
  2003. model.makeValue("/root/hidden/con/otpt_flag","I");
  2004. //2007-10-02 이동식 추가
  2005. model.makeValue("/root/hidden/con/rsrvflag", RSRVFLAG );
  2006. if(centcd == "2430000000"){ETCORDFLAG = "W";} //신종 플루때문에 추가함. hidden/etcordflag에 넣어도 '-' 로만 입력됨.
  2007. if(centcd == "2440000000"){ETCORDFLAG = "Y";} //신종 플루때문에 추가함. hidden/etcordflag에 넣어도 '-' 로만 입력됨.
  2008. //2017/12/05 심층진찰 예약일시에는 etcordflag='U'로 세팅
  2009. if(datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("etcrsrvflag"))=="B"){
  2010. ETCORDFLAG = "U";
  2011. }
  2012. //2017/12/05 심층진찰 예약일시에는 etcordflag='U'로 세팅
  2013. model.makeValue("/root/hidden/con/etcordflag" , ETCORDFLAG );
  2014. model.copyNode("/root/send/data1" , "/root/hidden/con");
  2015. model.makeValue("/root/send/data1/pid" , pid );
  2016. model.makeValue("/root/send/data1/remark" , remark);
  2017. model.copyNode("/root/send/data2" , "/root/hidden/session");
  2018. //END..
  2019. //2014/10/08 다학제 관련(이정택)
  2020. if(model.getValue("/root/main/dahakje/dahakjeyn")=="Y"){
  2021. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/send/data1/pid"));
  2022. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/send/data1/orddeptcd"));
  2023. model.makeValue("/root/send/reqdata/orddrid", model.getValue("/root/hidden/con/orddrid"));
  2024. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/send/data1/orddd"));
  2025. submit("TRPMO00126");
  2026. var rtn = model.getValue("/root/temp/dahakje/dahakjeyn");
  2027. if(rtn=="N"){
  2028. messageBox("다학제로 등록된 환자가 아닙니다.", "E");
  2029. return false;
  2030. }else{
  2031. //2015/12/07 다학제 과제가 복수개일 경우 선택 하도록 수정
  2032. if(getNodesetCount("/root/temp/dahakje")>1){
  2033. setParameter("SPPAO00102_PID", model.getValue("/root/send/data1/pid"));
  2034. setParameter("SPPAO00102_ORDDD", model.getValue("/root/send/data1/orddd"));
  2035. setParameter("SPPAO00102_ORDDEPTCD", model.getValue("/root/send/data1/orddeptcd"));
  2036. setParameter("SPPAO00102_ORDDRID", model.getValue("/root/hidden/con/orddrid"));
  2037. modal("SPPAO00102");
  2038. var styno = getParameter("styno");
  2039. var cnt = getParameter("cnt");
  2040. if(isNull(styno)){
  2041. messageBox("다학제 과제 선택이 되지 않았습니다.", "E");
  2042. return;
  2043. }else if(!isNull(cnt) && parseInt(cnt)<3){
  2044. messageBox("해당환자의 다학제 정보가 잘못 입력되어 있습니다.(진료과수:" + cnt + ")", "E");
  2045. return;
  2046. }else{
  2047. model.makeValue("/root/send/data1/etcordflag", cnt); // 참여과수를 세팅
  2048. model.makeValue("/root/send/data1/clincstdyno", styno); // 다학제 과제 번호를 세팅(otpt의 임상연구과제번호 칼럼에 인서트)
  2049. model.makeValue("/root/send/data1/dahakjeyn", "Y");
  2050. }
  2051. }else{
  2052. model.makeValue("/root/send/data1/etcordflag", model.getValue("/root/temp/dahakje/cnt")); // 참여과수를 세팅
  2053. model.makeValue("/root/send/data1/clincstdyno", model.getValue("/root/temp/dahakje/styno")); // 다학제 과제 번호를 세팅(otpt의 임상연구과제번호 칼럼에 인서트)
  2054. model.makeValue("/root/send/data1/dahakjeyn", "Y");
  2055. }
  2056. //model.makeValue("/root/send/data1/etcordflag", model.getValue("/root/temp/dahakje/cnt")); // 참여과수를 세팅
  2057. //model.makeValue("/root/send/data1/clincstdyno", model.getValue("/root/temp/dahakje/styno")); // 다학제 과제 번호를 세팅(otpt의 임상연구과제번호 칼럼에 인서트)
  2058. //model.makeValue("/root/send/data1/dahakjeyn", "Y");
  2059. //2015/12/07 다학제 과제가 복수개일 경우 선택 하도록 수정
  2060. }
  2061. }else{
  2062. model.makeValue("/root/send/data1/dahakjeyn", "N");
  2063. }
  2064. model.removenode("/root/send/reqdata");
  2065. //2014/10/08 다학제 관련(이정택)
  2066. var cretno = 0;
  2067. if (submit("TXPMO00301") == true){
  2068. cretno = model.getValue("/root/hidden/rcv/chart/chartlist/otpt_cretno");
  2069. if(pid != '-' && pid != '' && model.getValue("/root/hidden/con/specordyn") == 'Y' && model.getValue("/root/init/P0022/P0022list[cd = '140']/nm") == 'Y' ){
  2070. model.makeNode("/root/send/data36");
  2071. model.makeValue("/root/send/data36/pid" , pid);
  2072. model.makeValue("/root/send/data36/instcd" , model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  2073. model.makeValue("/root/send/data36/orddd" , model.getValue("/root/hidden/con/orddd"));
  2074. model.makeValue("/root/send/data36/orddeptcd" , model.getValue("/root/hidden/con/orddeptcd"));
  2075. model.makeValue("/root/send/data36/orddrid" , model.getValue("/root/hidden/con/orddrid"));
  2076. submit("TRPMO00125");
  2077. if (model.getValue("/root/tempchk/specapp/rgstyn") == "N") {
  2078. var sOrddeptcd = instance1.selectSingleNode("/root/init/orddeptcd[cd='" + model.getValue("/root/hidden/con/orddeptcd") + "']");
  2079. if (sOrddeptcd == null) {
  2080. var sOrddeptcdMsg = "";
  2081. }else{
  2082. var sOrddeptcdMsg = "[" + sOrddeptcd.nm.nodeValue + "]";
  2083. }
  2084. var sOrddrid = instance1.selectSingleNode("/root/init/orddrid[cd='" + model.getValue("/root/hidden/con/orddrid") + "']");
  2085. if (sOrddrid == null) {
  2086. var ssOrddridMsg = "";
  2087. } else {
  2088. var sOrddridMsg = " [" + sOrddrid.nm.nodeValue + "]";
  2089. }
  2090. sMsg = sOrddeptcdMsg + sOrddridMsg
  2091. if( messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까?", "Q999", "") == 6 ){
  2092. model.makeValue("/root/tempchk/specchk/stat", "");
  2093. model.makeValue("/root/tempchk/specchk/pid", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_pid"));
  2094. model.makeValue("/root/tempchk/specchk/hngnm", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_hngnm"));
  2095. model.makeValue("/root/tempchk/specchk/rrgstno1", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno1"));
  2096. model.makeValue("/root/tempchk/specchk/rrgstno2", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno2"));
  2097. model.makeValue("/root/tempchk/specchk/choiflag", "");
  2098. model.makeValue("/root/tempchk/specchk/ordtype", "O");
  2099. model.makeValue("/root/tempchk/specchk/orddd", model.getValue("/root/hidden/con/orddd"));
  2100. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/hidden/con/orddeptcd"));
  2101. model.makeValue("/root/tempchk/specchk/orddrid", model.getValue("/root/hidden/con/orddrid"));
  2102. if (model.getValue("/root/hidden/con/specordyn") != "N") {
  2103. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  2104. } else {
  2105. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  2106. }
  2107. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/hidden/con/orddd"));
  2108. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  2109. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  2110. }
  2111. }
  2112. model.removeNodeset("/root/send/data36");
  2113. }
  2114. // 2016/08/22 예약일이 당일이라면 자격조회 되도록 추가(이정택)
  2115. var stoday = getCurrentDate() ;
  2116. if(stoday==model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddd")){
  2117. var param = model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno1") +
  2118. model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno2") + "▦" + //주민번호
  2119. model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_hngnm") + "▦" + //이름
  2120. model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddd") + "▦" + //외래진료일자
  2121. model.getValue("/root/hidden/rcv/chart/chartlist/otpt_cretno") + "▦" + //생성번호
  2122. "O" + "▦" + //진료형태
  2123. "" + "▦" + //퇴원일자
  2124. "0" + "▦" + //본인일부부담금
  2125. "0" + "▦" + //기관부담금
  2126. model.getValue("/root/hidden/rcv/chart/chartlist/otpt_pid") + "▦" + //등록번호
  2127. model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddeptcd") + "▦" + //진료과
  2128. "" + "▦" + //본인부담구분
  2129. "0" + "▦" + //비급여총액
  2130. "0" + "▦" + //산전지원금
  2131. "" + "▦"; //보조유형
  2132. setParameter("SPPMC03900_PARM",param);
  2133. setParameter("SPPMC03900_ETCORD","-");
  2134. setParameter("SPPMC03900_RTN","");
  2135. setParameter("SPPMC03900_RTN_osunap","");
  2136. setParameter("SPPMC03900_RTN_osunap_msg4","");
  2137. fApproveHeallifeAmt2(); //자격조회
  2138. }
  2139. // 2016/08/22 이정택 자격조회 추가
  2140. //2007-10-29 이동식 추가 - 차트대출 신청
  2141. fReqChartLend("I");
  2142. //END..
  2143. fOrdScheCalendarRef();
  2144. fPatRsrvInfoRef();
  2145. // fExamCapRef(gDate);
  2146. fRsrvListRef(gDate);
  2147. fSetFocus(pid);
  2148. // model.setValue("/root/hidden/con/centcd", '-');
  2149. // 가셔야할 곳 출력 (예약증)
  2150. // 의사가 아닌 경우만 물어봄 (jobkindcd 첫째자리 '0'이 아닌 것)
  2151. if (getUserInfo("jobkindcd").substr(0, 1) != "0") {
  2152. if (messageBox("가셔야할 곳 출력을 생략하시겠습니까?", "Q999", "") != '6' ) {
  2153. fPrtPlceToGo(getUserInfo("dutplceinstcd"), pid, orddd, cretno, "Y");
  2154. }
  2155. }
  2156. } else {
  2157. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2158. if(orddeptcd == "2170000000"){
  2159. remark = remark.replace("SIM", "");
  2160. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_remfact")) = remark;
  2161. }
  2162. }
  2163. model.refresh();
  2164. }
  2165. // 가셔야할 곳 출력
  2166. function fPrtPlceToGo(instcd, pid, orddd, cretno, popup_yn) {
  2167. model.makeValue("/root/hidden2/send/instcd", instcd);
  2168. model.makeValue("/root/hidden2/send/pid", pid);
  2169. model.makeValue("/root/hidden2/send/orddd", orddd);
  2170. model.makeValue("/root/hidden2/send/cretno", cretno);
  2171. model.makeValue("/root/hidden2/send/userinstcd", instcd);
  2172. model.makeValue("/root/hidden2/send/sessuserid", getUserInfo("userid"));
  2173. model.makeValue("/root/hidden2/send/sessinstcd", instcd);
  2174. model.makeValue("/root/hidden2/send/addprcp", "N");
  2175. if(fGetHardCDList("Y", 338, 3) == "N"){ // 수가 계산 여부
  2176. model.makeValue("/root/hidden2/send/checkyn", "Y"); // 수가계산하지 않음. 2012.02.10 이동식 요청
  2177. } else {
  2178. model.makeValue("/root/hidden2/send/checkyn", "N"); // 수가계산 함. 2012.02.10 이동식 요청
  2179. }
  2180. if (submit("TRPMO00310")) {
  2181. // 2015/04/19 이정택 추가
  2182. if(popup_yn=="Y"){
  2183. var rcptyn=datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_histstat"));
  2184. if(rcptyn=="R"){
  2185. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_rcptyn", "Y");
  2186. }else if(rcptyn=="T"){
  2187. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_rcptyn", "N");
  2188. }
  2189. }else{
  2190. var rcptyn=model.getValue("/root/main/h_otpt1/otpt['" + datagrid4.row + "']/otpt_histstat");
  2191. if(rcptyn=="R"){
  2192. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_rcptyn", "Y");
  2193. }else if(rcptyn=="T"){
  2194. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_rcptyn", "N");
  2195. }
  2196. }
  2197. // 문구 출력여부 제어
  2198. var rtn_value=model.getValue("/root/init_com/init/P6575list/P6575/cdnm");
  2199. if(rtn_value=="Y"){
  2200. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_printyn", "Y");
  2201. }else if(rtn_value=="N"){
  2202. model.makeValue("/root/hidden2/rcv/pattoplace/patinfo/otpt_printyn", "N");
  2203. }
  2204. // 2015/04/19 이정택 추가
  2205. exeReportPreview("RPPMO00302", "XMLSTR", "/root/hidden2/rcv/pattoplace", "", "true", "", "", "", "", "true", "", "", "", "", "", "", "", "", "", "", "");
  2206. }
  2207. }
  2208. //초재진여부 조회
  2209. function fGetFsexamFlag(){
  2210. //구환환자
  2211. // if(model.getValue("/root/hidden/source/checkfnexam") == 2){
  2212. var orddd = gDate;
  2213. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  2214. var orddrid = model.getValue("/root/hidden/con/orddrid");
  2215. var pid = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid"));
  2216. var oldcretno = model.getValue("/root/main/otpt_old/otpt_cretno_old");
  2217. var oldacptseqno = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  2218. var oldorddd = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  2219. var fsexamflag = '';
  2220. if(isValidDateTime(orddd, "YYYYMMDD")){
  2221. model.resetInstanceNode("/root/hidden/temp");
  2222. model.makeNode("/root/hidden/temp/send/flag");
  2223. model.makeNode("/root/hidden/temp/send/mskind");
  2224. model.makeNode("/root/hidden/temp/send/ordtype");
  2225. model.makeNode("/root/hidden/temp/send/tmp");
  2226. model.makeNode("/root/hidden/temp/send/pid");
  2227. model.makeNode("/root/hidden/temp/send/orddd");
  2228. model.makeNode("/root/hidden/temp/send/orddeptcd");
  2229. model.makeNode("/root/hidden/temp/send/orddrid");
  2230. model.makeNode("/root/hidden/temp/send/oldcretno");
  2231. model.makeNode("/root/hidden/temp/send/oldacptseqno");
  2232. model.makeNode("/root/hidden/temp/send/oldorddd");
  2233. model.setValue("/root/hidden/temp/send/flag", 'C');
  2234. model.setValue("/root/hidden/temp/send/mskind", 'M');
  2235. model.setValue("/root/hidden/temp/send/ordtype", 'O');
  2236. model.setValue("/root/hidden/temp/send/tmp", '-');
  2237. model.setValue("/root/hidden/temp/send/pid", pid);
  2238. model.setValue("/root/hidden/temp/send/orddrid", orddrid);
  2239. model.setValue("/root/hidden/temp/send/orddeptcd", orddeptcd);
  2240. model.setValue("/root/hidden/temp/send/orddd", orddd);
  2241. model.setValue("/root/hidden/temp/send/oldcretno", oldcretno);
  2242. model.setValue("/root/hidden/temp/send/oldacptseqno", oldacptseqno);
  2243. model.setValue("/root/hidden/temp/send/oldorddd", oldorddd);
  2244. model.makeNode("/root/hidden/temp/fsexam");
  2245. //초진재진 구분 기능 호출..
  2246. if(submit("TRPMO00207")){
  2247. fsexamflag = model.getValue("/root/hidden/temp/fsexam/otpt/fsexamflag");
  2248. if( fsexamflag == '' ){
  2249. messageBox("초재진여부를 알 수 없습니다.", "E999", "");
  2250. return false;
  2251. }
  2252. }
  2253. model.removeNodeset("/root/hidden/temp/fsexam");
  2254. model.removeNodeset("/root/hidden/temp/send");
  2255. return fsexamflag;
  2256. }
  2257. // }
  2258. }
  2259. //cp예약만 취소
  2260. function fCPRsrvCncl(){
  2261. var currow = datagrid6.row;
  2262. //2007-09-27 이동식
  2263. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2264. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2265. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2266. if( pid == '' && hngnm == '' ){
  2267. messageBox("취소할 예약내역이 없습니다.","E999","");
  2268. return;
  2269. }
  2270. //END..
  2271. //수납이상의 상태는 취소 불가능
  2272. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "" &&
  2273. model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != " ")
  2274. {
  2275. messageBox("수납한 내역에 대해서는 취소가 불가능합니다.","E999","");
  2276. return false;
  2277. }
  2278. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2279. {
  2280. messageBox("이미 진료본 내역입니다!","E999","");
  2281. return false;
  2282. }
  2283. //당일 예약 및 변경 블럭킹
  2284. if( ! fCheckTodayRsrvUpdt('C')){
  2285. messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2286. return false;
  2287. }
  2288. var result = messageBox("CP 예약내역을 취소 하시겠습니까?","Q000","");
  2289. if (result != "6") return false;
  2290. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2291. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2292. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2293. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2294. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2295. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2296. //END..
  2297. fSubmitBefore();
  2298. fSubmitAfter();
  2299. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2300. model.copyNode("/root/send/data2","/root/hidden/session");
  2301. model.copyNode("/root/send/data3","/root/hidden/con");
  2302. model.setValue("/root/send/data3/rsrvtype", "CP");
  2303. model.setValue("/root/send/data1/otpt_onestop", "-");
  2304. model.setValue("/root/send/data1/otpt_remfact", "-");
  2305. if (submit("TXPMO00305") == true){
  2306. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2307. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2308. fOrdScheCalendarRef();
  2309. fPatRsrvInfoRef();
  2310. // fExamCapRef(gDate);
  2311. fRsrvListRef(gDate);
  2312. }
  2313. model.refresh();
  2314. }
  2315. //임상 예약만 취소
  2316. function fStdyRsrvCncl(){
  2317. var currow = datagrid6.row;
  2318. //2007-09-27 이동식
  2319. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2320. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2321. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2322. if( pid == '' && hngnm == '' ){
  2323. messageBox("취소할 예약내역이 없습니다.","E999","");
  2324. return;
  2325. }
  2326. //END..
  2327. //수납이상의 상태는 취소 불가능
  2328. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "" &&
  2329. model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != " ")
  2330. {
  2331. messageBox("이미 수납한 내역입니다!","E999","");
  2332. return false;
  2333. }
  2334. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2335. {
  2336. messageBox("이미 진료본 내역입니다!","E999","");
  2337. return false;
  2338. }
  2339. //당일 예약 및 변경 블럭킹
  2340. if( ! fCheckTodayRsrvUpdt('C')){
  2341. messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2342. return false;
  2343. }
  2344. var result = messageBox("임상연구 예약내역을 취소 하시겠습니까?","Q000","");
  2345. if (result != "6") return false;
  2346. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2347. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2348. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2349. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2350. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2351. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2352. //END..
  2353. fSubmitBefore();
  2354. fSubmitAfter();
  2355. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2356. model.copyNode("/root/send/data2","/root/hidden/session");
  2357. model.copyNode("/root/send/data3","/root/hidden/con");
  2358. model.setValue("/root/send/data3/rsrvtype", "STDY");
  2359. model.setValue("/root/send/data1/otpt_clincstdyacptflag", "-");
  2360. model.setValue("/root/send/data1/otpt_clincstdyno", "-");
  2361. model.setValue("/root/send/data1/otpt_remfact", "-");
  2362. if (submit("TXPMO00305") == true){
  2363. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2364. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2365. fOrdScheCalendarRef();
  2366. fPatRsrvInfoRef();
  2367. // fExamCapRef(gDate);
  2368. fRsrvListRef(gDate);
  2369. }
  2370. model.refresh();
  2371. }
  2372. //주사/물리치료 -> 일반접수 변경
  2373. function fChngToNomalRgst(){
  2374. var currow = datagrid6.row;
  2375. //2007-09-27 이동식
  2376. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2377. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2378. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2379. if( pid == '' && hngnm == '' ){
  2380. messageBox("변경할 예약내역이 없습니다.","E999","");
  2381. return;
  2382. }
  2383. //END..
  2384. //수납이상의 상태는 취소 불가능
  2385. // if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "" &&
  2386. // model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != " ")
  2387. // {
  2388. // messageBox("이미 수납한 내역입니다!","E999","");
  2389. // return false;
  2390. // }
  2391. // if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2392. // {
  2393. // messageBox("이미 진료본 내역입니다!","E999","");
  2394. // return false;
  2395. // }
  2396. //당일 예약 및 변경 블럭킹
  2397. if( ! fCheckTodayRsrvUpdt('C')){
  2398. messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2399. return false;
  2400. }
  2401. //일정체크
  2402. //2009-03-09 이동식 수정
  2403. var subdeptcd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_subdeptcd");
  2404. var centcd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_centcd");
  2405. var orddeptcd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddeptcd");
  2406. var orddrid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddrid");
  2407. var orddd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddd");
  2408. var ordtm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_ordtm");
  2409. var fsexamflag = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_fsexamflag");
  2410. var sRsrvflag = RSRVFLAG;
  2411. if( model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_insukind") == "71" ){
  2412. sRsrvflag = 'Q';
  2413. }else{ // if( model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_rsrvflag") == "M" || ){
  2414. sRsrvflag = 'MJ';
  2415. }
  2416. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, REGLSCHEYN);
  2417. if( retVal == false ){
  2418. // fRsrvListRef(gDate);
  2419. // model.refresh();
  2420. return false;
  2421. }else if( retVal != true ){
  2422. //센터접수
  2423. // model.setValue("/root/hidden/con/centcd", retVal);
  2424. }else{
  2425. //센터코드 초기화
  2426. // model.setValue("/root/hidden/con/centcd", '-');
  2427. }
  2428. //END
  2429. var result = messageBox("주사/물리치료 예약 내역을 일반예약 접수로 변경 하시겠습니까?","Q000","");
  2430. if (result != "6") return false;
  2431. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2432. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2433. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2434. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2435. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2436. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2437. //END..
  2438. fSubmitBefore();
  2439. fSubmitAfter();
  2440. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2441. model.copyNode("/root/send/data2","/root/hidden/session");
  2442. model.copyNode("/root/send/data3","/root/hidden/con");
  2443. model.setValue("/root/send/data3/rsrvtype", "MJ");
  2444. model.setValue("/root/send/data1/otpt_etcordflag", "-");
  2445. model.setValue("/root/send/data1/otpt_remfact", "주사/물리치료 to 일반진료");
  2446. if (submit("TXPMO00305") == true){
  2447. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2448. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2449. fOrdScheCalendarRef();
  2450. fPatRsrvInfoRef();
  2451. // fExamCapRef(gDate);
  2452. fRsrvListRef(gDate);
  2453. }
  2454. model.refresh();
  2455. }
  2456. //일반접수 -> 주사/물리치료 변경
  2457. function fChngToMJ(){
  2458. var currow = datagrid6.row;
  2459. //2007-09-27 이동식
  2460. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2461. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2462. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2463. if( pid == '' && hngnm == '' ){
  2464. messageBox("변경할 예약내역이 없습니다.","E999","");
  2465. return;
  2466. }
  2467. //END..
  2468. //수납이상의 상태는 취소 불가능
  2469. // if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "" &&
  2470. // model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != " ")
  2471. // {
  2472. // messageBox("이미 수납한 내역입니다!","E999","");
  2473. // return false;
  2474. // }
  2475. // if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2476. // {
  2477. // messageBox("이미 진료본 내역입니다!","E999","");
  2478. // return false;
  2479. // }
  2480. //당일 예약 및 변경 블럭킹
  2481. // if( ! fCheckTodayRsrvUpdt('C')){
  2482. // messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2483. // return false;
  2484. // }
  2485. var etcordflag = model.getValue("/root/send/data1/otpt_rsrvflag");
  2486. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2487. model.removeNodeset("/root/main/result/prcpinfo");
  2488. model.makeNode("/root/main/result/prcpinfo");
  2489. if( submit("TRPMO00308") ){
  2490. if( model.getValue("/root/main/result/prcpinfo/prcpinfolist/prcp_prcpclscd") == 'A6' ){
  2491. etcordflag = 'J'; //주사처방
  2492. }else if( model.getValue("/root/main/result/prcpinfo/prcpinfolist/prcp_prcpclscd") == 'F2' ){
  2493. etcordflag = 'M'; //물리치료처방
  2494. }else{
  2495. if( getNodesetCount("/root/main/result/prcpinfo/prcpinfolist/prcp_prcpclscd") > 0 ){
  2496. messageBox("주사/물리치료 이외의 처방이 존재합니다. 처방 내역을 확인해 보세요!", "E999", "");
  2497. return false;
  2498. }else{
  2499. messageBox("처방이 존재하지 않습니다. 예약변경 또는 예약취소 가능한 예약내역입니다.", "E999", "");
  2500. return false;
  2501. }
  2502. }
  2503. }else{
  2504. messageBox("처방체크를 실패했습니다. 잠시 후에 다시 시도하세요!!", "E999", "");
  2505. return false;
  2506. }
  2507. var result = messageBox("일반접수를 주사/물리치료로 변경 하시겠습니까?","Q000","");
  2508. if (result != "6") return false;
  2509. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2510. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2511. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2512. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2513. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2514. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2515. //END..
  2516. fSubmitBefore();
  2517. fSubmitAfter();
  2518. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2519. model.copyNode("/root/send/data2","/root/hidden/session");
  2520. model.copyNode("/root/send/data3","/root/hidden/con");
  2521. model.setValue("/root/send/data3/rsrvtype", "MJ");
  2522. model.setValue("/root/send/data1/otpt_etcordflag", etcordflag);
  2523. model.setValue("/root/send/data1/otpt_remfact", "일반진료 to 주사/물리치료");
  2524. if (submit("TXPMO00305") == true){
  2525. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2526. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2527. fOrdScheCalendarRef();
  2528. fPatRsrvInfoRef();
  2529. // fExamCapRef(gDate);
  2530. fRsrvListRef(gDate);
  2531. }
  2532. model.refresh();
  2533. }
  2534. //당일 가접수 생성
  2535. function fMakeTodayRgst(){
  2536. var currow = datagrid6.row;
  2537. //2007-09-27 이동식
  2538. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2539. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2540. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2541. if( pid == '' && hngnm == '' ){
  2542. messageBox("당일 가접수 생성할 예약 건을 정확하게 선택하세요!","E999","");
  2543. return;
  2544. }
  2545. //END..
  2546. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") != "Y")
  2547. {
  2548. messageBox("진료를 아직 안본 예약 건입니다. 예약변경하세요!","E999","");
  2549. return false;
  2550. }
  2551. //7일이내 체크로직!!
  2552. // if( ! fCheckTodayRsrvUpdt('C')){
  2553. // messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2554. // return false;
  2555. // }
  2556. var result = messageBox("당일 가접수를 생성 하시겠습니까?","Q000","");
  2557. if (result != "6") return false;
  2558. fSubmitBefore();
  2559. fSubmitAfter();
  2560. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2561. model.copyNode("/root/send/data2","/root/hidden/session");
  2562. model.copyNode("/root/send/data3","/root/hidden/con");
  2563. if (submit("TXPMO00306") == true){
  2564. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2565. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2566. messageBox("가접수 생성이 완료되었습니다. 오늘 날짜를 선택하여 생성된 가접수내역을 확인하세요!", "I999", "");
  2567. // fOrdScheCalendarRef();
  2568. // fPatRsrvInfoRef();
  2569. //// fExamCapRef(gDate);
  2570. // fRsrvListRef(gDate);
  2571. }
  2572. model.refresh();
  2573. }
  2574. //예약보류 연기
  2575. function fMakeRsrvDefer(){
  2576. var currow = datagrid6.row;
  2577. //2007-09-27 이동식
  2578. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2579. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2580. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2581. if( pid == '' && hngnm == '' ){
  2582. messageBox("보류(연기)할 예약내역이 없습니다.","E999","");
  2583. return;
  2584. }
  2585. //END..
  2586. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2587. {
  2588. messageBox("이미 진료본 내역입니다!","E999","");
  2589. return false;
  2590. }else if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == "T") //치료방사선
  2591. {
  2592. messageBox("치료방사선 예약 내역입니다. 예약 보류나 연기 할 수 없습니다!","E999","");
  2593. return false;
  2594. }
  2595. //copy
  2596. copyNodeWithPostfix("/root/main/otpt_old","/root/main/h_otpt3/otpt["+ currow +"]","_old");
  2597. model.copyNode("/root/main/otpt", "/root/main/h_otpt3/otpt["+ currow +"]");
  2598. //변경할 예약내역 정보를 리스트에서 삭제
  2599. // var ordtm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_ordtm");
  2600. // model.copyNode("/root/temp/otpt", "/root/main/h_otpt3/otpt["+ currow +"]");
  2601. // model.resetInstanceNode("/root/temp/otpt");
  2602. // model.copyNode("/root/main/h_otpt3/otpt["+ currow +"]", "/root/temp/otpt");
  2603. // model.setValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_ordtm", ordtm);
  2604. //변경하시갰습니까?
  2605. var result = messageBox("예약보류(연기) 하시겠습니까?[보류한 예약내역의 재예약은 콜센터에서만 가능합니다. 콜센터로 문의하세요]","Q000","");
  2606. if (result != "6"){
  2607. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2608. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  2609. model.removeNodeset("/root/main/otpt_old");
  2610. model.removeNodeset("/root/main/otpt");
  2611. model.makeNode("/root/main/otpt_old");
  2612. model.makeNode("/root/main/otpt");
  2613. fRsrvListRef(gDate);
  2614. model.refresh();
  2615. return false;
  2616. }
  2617. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2618. // modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2619. // var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2620. // var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2621. // clearParameter("SPPMO01000_updtcnclresn");
  2622. // clearParameter("SPPMO01000_updtcnclresncd");
  2623. //
  2624. // model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2625. // model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2626. //END..
  2627. fSubmitBefore();
  2628. fSubmitAfter();
  2629. var orddrid = model.getValue("/root/hidden/con/orddrid");
  2630. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  2631. var userspec = model.getValue("/root/init/orddrid[ dp = '" + orddeptcd + "' and cd='"+ orddrid +"']/sp");
  2632. if (userspec == "Y") model.setValue("/root/hidden/con/specordyn","Y");
  2633. else model.setValue("/root/hidden/con/specordyn","N");
  2634. model.setValue("/root/hidden/con/ordtm",model.getValue("/root/main/otpt/otpt_ordtm"));
  2635. model.setValue("/root/hidden/con/orddd",'99991231');
  2636. model.setValue("/root/hidden/con/otpt_flag","U");
  2637. //model.setValue("/root/send/data1/pid", pid );
  2638. model.copyNode("/root/send/data1","/root/main/otpt_old");
  2639. model.copyNode("/root/send/data2","/root/hidden/session");
  2640. model.copyNode("/root/send/data3","/root/hidden/con");
  2641. //model.copyNode("/root/send/data4","/root/main/otpt");
  2642. pid = model.getValue("/root/main/otpt_old/otpt_pid_old");
  2643. if (submit("TXPMO00302") == true)
  2644. {
  2645. //2007-10-29 이동식 추가 - 차트대출 변경
  2646. // fReqChartLend("U");
  2647. //END..
  2648. //2007-09-27 이동식 추가
  2649. model.removeNodeset("/root/main/otpt");
  2650. model.removeNodeset("/root/main/otpt_old");
  2651. model.makeNode("/root/main/otpt");
  2652. model.makeNode("/root/main/otpt_old");
  2653. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2654. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2655. //END..
  2656. fOrdScheCalendarRef();
  2657. fPatRsrvInfoRef();
  2658. // fExamCapRef(gDate);
  2659. fRsrvListRef(gDate);
  2660. fSetFocus(pid);
  2661. }else{
  2662. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2663. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  2664. model.removeNodeset("/root/main/otpt_old");
  2665. model.removeNodeset("/root/main/otpt");
  2666. model.makeNode("/root/main/otpt_old");
  2667. model.makeNode("/root/main/otpt");
  2668. fRsrvListRef(gDate);
  2669. model.refresh();
  2670. return false;
  2671. }
  2672. model.refresh();
  2673. }
  2674. //예약 취소 로직
  2675. function fPatRsrvCncl()
  2676. {
  2677. var currow = datagrid6.row;
  2678. //2007-09-27 이동식
  2679. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2680. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2681. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2682. if( pid == '' && hngnm == '' ){
  2683. messageBox("취소할 예약내역이 없습니다.","E999","");
  2684. return;
  2685. }
  2686. //END..
  2687. //수납이상의 상태는 취소 불가능
  2688. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != "" &&
  2689. model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rcptno") != " ")
  2690. {
  2691. messageBox("이미 수납한 내역입니다!","E999","");
  2692. return false;
  2693. }
  2694. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  2695. {
  2696. messageBox("이미 진료본 내역입니다!","E999","");
  2697. return false;
  2698. }else if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == "T") //치료방사선
  2699. {
  2700. messageBox("치료방사선 예약 내역입니다. 변경 및 취소 할 수 없습니다!","E999","");
  2701. return false;
  2702. }
  2703. var result = messageBox("예약 취소 하시겠습니까?","Q000","");
  2704. if (result != "6") return false;
  2705. //2007-10-17 이동식 추가 - 변경취소사유 입력
  2706. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  2707. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  2708. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  2709. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  2710. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  2711. //END..
  2712. fSubmitBefore();
  2713. fSubmitAfter();
  2714. model.copyNode("/root/send/data1","/root/main/h_otpt3/otpt["+ currow +"]");
  2715. model.copyNode("/root/send/data2","/root/hidden/session");
  2716. model.copyNode("/root/send/data3","/root/hidden/con");
  2717. if (submit("TXPMO00303") == true)
  2718. {
  2719. //예약 취소시 문자 발송 되도록 프로그램 수정(2016/07/15 이정택)
  2720. var pid = datagrid6.valueMatrix(currow, datagrid6.colRef("otpt_pid"));
  2721. var orddd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddd");
  2722. var ordtm = datagrid6.valueMatrix(currow, datagrid6.colRef("otpt_ordtm"));
  2723. var hngnm = datagrid6.valueMatrix(currow, datagrid6.colRef("ptbs_hngnm"));
  2724. var mpphontel = datagrid6.valueMatrix(currow, datagrid6.colRef("ptbs_mpphontel"));
  2725. var centcd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_centcd");
  2726. var centnm="";
  2727. if(!isNull(centcd) && centcd != '-'){
  2728. centnm=model.getValue("/root/init/centcd/centcdlist[cd='" + centcd + "']/nm");
  2729. }
  2730. var orddeptcd = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddeptcd");
  2731. var orddepthngnm = "";
  2732. if(!isNull(orddeptcd) && orddeptcd != '-'){
  2733. orddepthngnm = model.getValue("/root/init/orddeptcd[cd='" + orddeptcd + "']/nm");
  2734. }
  2735. var hosnm = "";
  2736. if(getUserInfo("dutplceinstcd")=='031'){
  2737. hosnm = "경북대병원";
  2738. }else if(getUserInfo("dutplceinstcd")=='032'){
  2739. hosnm = "칠곡경북대병원";
  2740. }else if(getUserInfo("dutplceinstcd")=='033'){
  2741. hosnm = "경북대치과병원";
  2742. }
  2743. var msgcnts = hosnm + " " + hngnm + "("+pid + ")" +"님 " + orddd.substr(4,2)+"/"+orddd.substr(6,2)+" " + ordtm.substr(0,2)+":" + ordtm.substr(2,2)+" " + centnm + " " + orddepthngnm+" 예약이 취소되었습니다.";
  2744. /*
  2745. 01 : 외래예약취소시 문자발송여부
  2746. 02 : 외래예약 변경시 문자발송여부
  2747. 03 : 통합예약검사 예약 취소시 문자발송여부
  2748. 04 : 통합예약검사 예약 변경시 문자발송여부
  2749. */
  2750. var sms_send_yn = model.getValue("/root/init_com/init/P6588list/P6588[cdid='01']/cdnm");
  2751. if(sms_send_yn=="Y"){
  2752. fSmsSend(msgcnts, pid, hngnm, mpphontel, orddeptcd, '01');
  2753. }
  2754. //예약 취소시 문자 발송 되도록 프로그램 수정(2016/07/15 이정택)
  2755. //2007-10-29 이동식 추가 - 차트대출 취소
  2756. fReqChartLend("D");
  2757. //END..
  2758. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  2759. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  2760. fOrdScheCalendarRef();
  2761. fPatRsrvInfoRef();
  2762. fExamCapRef(gDate);
  2763. fRsrvListRef(gDate);
  2764. }
  2765. model.refresh();
  2766. }
  2767. //시간입력 행 추가
  2768. function fAddRsrvTime(){
  2769. var cur_row = datagrid6.row;
  2770. if( parseInt(cur_row) < 0 ){
  2771. cur_row = 0;
  2772. }
  2773. datagrid6.insertRow(cur_row, 'below', false, false);
  2774. cur_row = parseInt(cur_row) + 1;
  2775. datagrid6.valueMatrix(cur_row, datagrid6.colRef("otpt_ordtm")) = '0000';
  2776. datagrid6.valueMatrix(cur_row, datagrid6.colRef("otpt_orddd")) = gDate;
  2777. datagrid6.isreadonly(cur_row, datagrid6.colRef("otpt_ordtm")) = false;
  2778. }
  2779. function fSetRsrvTime(){
  2780. var currow = datagrid6.row;
  2781. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2782. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2783. if( pid == '' && hngnm == '' ){
  2784. messageBox("변경할 예약내역이 없습니다.","E999","");
  2785. return;
  2786. }
  2787. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == "T") //치료방사선
  2788. {
  2789. messageBox("치료방사선 예약 내역입니다. 변경 및 취소 할 수 없습니다!","E999","");
  2790. return false;
  2791. }
  2792. datagrid6.isreadonly(currow, datagrid6.colRef("otpt_ordtm")) = false;
  2793. }
  2794. //변경할 내역을 선택한다.
  2795. function fChngFromSet(){
  2796. messageBox("예약 변경 방법이 추가 되었습니다."
  2797. + "\n환자예약정보에서 변경할 일자를 더블클릭한 후, 예약변경 창에서 변경할 일자를 선택하고 예약시간을 더블클릭 하면 예약 변경됩니다."
  2798. + "\n기존 예약변경(from ->to)기능은 계속 유지 됩니다.", "I999", "");
  2799. var currow = datagrid6.row;
  2800. //2007-09-27 이동식 추가 - 변경할 예약을 선택했는지 체크한다. ('예약변경FROM' 이 실행됐는지 체크한다.)
  2801. if( getNodesetCount("/root/main/otpt_old/otpt_ordtm_old") > 0 || getNodesetCount("/root/main/otpt/otpt_ordtm") > 0 ){
  2802. messageBox("변경할 예약내역을 이미 선택했습니다.", "E999", "");
  2803. return false;
  2804. }
  2805. //END..
  2806. //2007-09-27 이동식
  2807. //예약내역을 정확히 선택한 후 취소를 한것인지 체크...
  2808. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2809. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2810. if( pid == '' && hngnm == '' ){
  2811. messageBox("변경할 예약내역이 없습니다.","E999","");
  2812. return;
  2813. }
  2814. //END..
  2815. //당일 예약 및 변경 블럭킹
  2816. // if( ! fCheckTodayRsrvUpdt('U')){
  2817. // messageBox("당일 이전 예약내역은 변경할 수 없습니다.","E999","");
  2818. // model.removeNodeset("/root/main/otpt_old");
  2819. // model.removeNodeset("/root/main/otpt");
  2820. // model.makeNode("/root/main/otpt_old");
  2821. // model.makeNode("/root/main/otpt");
  2822. //// fRsrvListRef(gDate);
  2823. // return false;
  2824. // }
  2825. if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_dracptyn") == "Y"){
  2826. messageBox("이미 진료본 내역입니다!","E999","");
  2827. return false;
  2828. }else if (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == "T"){ //치료방사선
  2829. messageBox("치료방사선 예약 내역입니다. 변경 및 취소 할 수 없습니다!","E999","");
  2830. return false;
  2831. }
  2832. //처방이 존재하는지 체크
  2833. // fSubmitBefore();
  2834. // fSubmitAfter();
  2835. //
  2836. // model.setValue("/root/send/data1", model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid"));
  2837. // model.setValue("/root/send/data2", model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddd"));
  2838. // model.setValue("/root/send/data3", model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_cretno"));
  2839. // if( submit("TRPMO00307") ){
  2840. //
  2841. // }
  2842. //copy
  2843. copyNodeWithPostfix("/root/main/otpt_old","/root/main/h_otpt3/otpt["+ currow +"]","_old");
  2844. model.copyNode("/root/main/otpt", "/root/main/h_otpt3/otpt["+ currow +"]");
  2845. //변경할 예약내역 정보를 리스트에서 삭제
  2846. var ordtm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_ordtm");
  2847. model.copyNode("/root/temp/otpt", "/root/main/h_otpt3/otpt["+ currow +"]");
  2848. model.resetInstanceNode("/root/temp/otpt");
  2849. model.copyNode("/root/main/h_otpt3/otpt["+ currow +"]", "/root/temp/otpt");
  2850. model.makeValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_ordtm", ordtm);
  2851. datagrid6.refresh();
  2852. }
  2853. //2008-08-01 이동식 추가
  2854. //예약변경 FROM 선택한 내역을 삭제한다.
  2855. function fPatRsrvSelectCncl(){
  2856. //2008-08-01 이동식 추가 - 변경할 예약을 선택했는지 체크한다. ('예약변경FROM' 이 실행됐는지 체크한다.)
  2857. if( getNodesetCount("/root/main/otpt_old/otpt_ordtm_old") > 0 || getNodesetCount("/root/main/otpt/otpt_ordtm") > 0 ){
  2858. var retValue = messageBox("예약변경 선택하신 내역을 취소하시겠습니까?", "Q999", "");
  2859. if( retValue == 6 ){
  2860. model.removeNodeset("/root/main/otpt_old");
  2861. model.removeNodeset("/root/main/otpt");
  2862. model.makeNode("/root/main/otpt_old");
  2863. model.makeNode("/root/main/otpt");
  2864. fRsrvListRef(gDate);
  2865. model.refresh();
  2866. return true;
  2867. }
  2868. }
  2869. }
  2870. //예약/변경 후 변경한 내역에 포커스 세팅
  2871. function fSetFocus(pid){
  2872. if( getNodesetCount("/root/main/h_otpt3/otpt/otpt_orddd") > 0 ){
  2873. for( var i = 1; i<= getNodesetCount("/root/main/h_otpt3/otpt/otpt_orddd"); i++){
  2874. if( pid == model.getValue("/root/main/h_otpt3/otpt[" + i + "]/otpt_pid") ){
  2875. datagrid6.row = i;
  2876. datagrid6.topRow = i;
  2877. model.setFocus("datagrid6");
  2878. return true;
  2879. }
  2880. }
  2881. }
  2882. }
  2883. //선택된 과/의사/시간에 에약내역을 변경한다.
  2884. function fChngToSet(){
  2885. //당일 예약 및 변경 블럭킹
  2886. if( ! fCheckTodayRsrvUpdt('R')){
  2887. messageBox("오늘 날짜 이전으로 예약내역을 변경할 수 없습니다.","E999","");
  2888. // model.removeNodeset("/root/main/otpt_old");
  2889. // model.removeNodeset("/root/main/otpt");
  2890. // model.makeNode("/root/main/otpt_old");
  2891. // model.makeNode("/root/main/otpt");
  2892. // fRsrvListRef(gDate);
  2893. return false;
  2894. }
  2895. //2007-09-07 이동식 추가 - 변경할 예약을 선택했는지 체크한다. ('예약변경FROM' 이 실행됐는지 체크한다.)
  2896. if( getNodesetCount("/root/main/otpt_old/otpt_ordtm_old") < 1 || getNodesetCount("/root/main/otpt/otpt_ordtm") < 1 ){
  2897. messageBox("예약변경할 예약내역을 선택하지 않았습니다.", "E999", "");
  2898. // model.removeNodeset("/root/main/otpt_old");
  2899. // model.removeNodeset("/root/main/otpt");
  2900. // model.makeNode("/root/main/otpt_old");
  2901. // model.makeNode("/root/main/otpt");
  2902. // fRsrvListRef(gDate);
  2903. return false;
  2904. }
  2905. //END..
  2906. //일정가능 여부 체크
  2907. var currow = datagrid6.row;
  2908. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/ptbs_hngnm");
  2909. var pid = model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_pid");
  2910. if (pid != '' || hngnm != ""){
  2911. messageBox("이미 예약된 슬롯입니다. 빈 슬롯을 선택하십시요!","E999","");
  2912. // model.removeNodeset("/root/main/otpt_old");
  2913. // model.removeNodeset("/root/main/otpt");
  2914. // model.makeNode("/root/main/otpt_old");
  2915. // model.makeNode("/root/main/otpt");
  2916. // fRsrvListRef(gDate);
  2917. return false;
  2918. }
  2919. //copy
  2920. model.copyNode("/root/main/otpt","/root/main/h_otpt3/otpt["+ currow +"]");
  2921. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  2922. var orddrid = model.getValue("/root/hidden/con/orddrid");
  2923. var orddd = gDate;
  2924. var ordtm = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_ordtm");
  2925. var medamtestmyn = model.getValue("/root/main/otpt_old/otpt_medamtestmyn_old");
  2926. var rsrvflag = model.getValue("/root/main/otpt_old/otpt_rsrvflag_old");
  2927. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  2928. if(!fCheckDrSche(orddrid, orddeptcd, orddd, ordtm, medamtestmyn, rsrvflag, "-", "-")){
  2929. return false;
  2930. }
  2931. // var tday = getCurrentDate();
  2932. // if( orddd < tday ){
  2933. // messageBox("오늘 이후로만 예약 변경 가능합니다.", "E999", "");
  2934. // fRsrvListRef(gDate);
  2935. // return false;
  2936. // }
  2937. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_pid")) = model.getValue("/root/main/otpt_old/otpt_pid_old");
  2938. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("ptbs_hngnm")) = model.getValue("/root/main/otpt_old/ptbs_hngnm_old");
  2939. var fsexamflag = fGetFsexamFlag(); //초재진여부조회
  2940. //2008-10-21 초진정원에 재진 예약 못하도록 블럭킹
  2941. if( fsexamflag == 'R' || fsexamflag == 'S' ){
  2942. var row_fsexamflag = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_fsexamflag");
  2943. if( row_fsexamflag == 'F' || row_fsexamflag == 'D' || row_fsexamflag == '4' ){
  2944. messageBox("재진환자를 초진 진료시간에 예약할 수 없습니다!! 확인 후 다시 변경하세요!", "E999", "");
  2945. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2946. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  2947. return false;
  2948. }
  2949. }
  2950. if( model.getValue("/root/main/otpt_old/otpt_orddrid_old") != orddrid || model.getValue("/root/main/otpt_old/otpt_orddeptcd_old") != orddeptcd ||
  2951. model.getValue("/root/main/otpt_old/otpt_orddd_old") != orddd || model.getValue("/root/main/otpt_old/otpt_ordtm_old") != ordtm ){
  2952. var subdeptcd = model.getValue("/root/hidden/con/subdeptcd");
  2953. var centcd = model.getValue("/root/hidden/con/centcd");
  2954. var sRsrvflag = RSRVFLAG;
  2955. if( model.getValue("/root/main/otpt_old/otpt_insukind_old") == "71" ){
  2956. sRsrvflag = 'Q';
  2957. }
  2958. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, REGLSCHEYN);
  2959. if(retVal == false){
  2960. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2961. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  2962. return false;
  2963. }else if( retVal != true ){
  2964. //센터접수
  2965. // model.setValue("/root/hidden/con/centcd", retVal);
  2966. }else{
  2967. //센터코드 초기화
  2968. // model.setValue("/root/hidden/con/centcd", '-');
  2969. }
  2970. }
  2971. //변경하시갰습니까?
  2972. //2018/02/02 심층진찰관련 수정(이정택)
  2973. var result ="";
  2974. var etcrsrvflag = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/etcrsrvflag");
  2975. if(etcrsrvflag == 'B'){
  2976. result=messageBox("심층진찰로 예약변경 하시겠습니까?","Q000","");
  2977. }else{
  2978. result=messageBox("예약변경 하시겠습니까?","Q000","");
  2979. }
  2980. //2018/02/02 심층진찰관련 수정(이정택)
  2981. if (result != "6"){
  2982. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  2983. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  2984. model.removeNodeset("/root/main/otpt_old");
  2985. model.removeNodeset("/root/main/otpt");
  2986. model.makeNode("/root/main/otpt_old");
  2987. model.makeNode("/root/main/otpt");
  2988. fRsrvListRef(gDate);
  2989. model.refresh();
  2990. return false;
  2991. }
  2992. //심층진찰 예약변경관련 프로그램 수정(2018/02/02)
  2993. if(etcrsrvflag == 'B'){ //심층진찰 세션이면 무조건 심층진찰로 예약변경
  2994. model.makeValue("/root/main/otpt_old/otpt_etcordflag_new", 'U');
  2995. }
  2996. var otpt_etcordflag_old = model.getValue("/root/main/otpt_old/otpt_etcordflag_old");
  2997. if(otpt_etcordflag_old=='U' && etcrsrvflag != 'B'){ // 기존예약건이 심층진찰에서 심층진찰 세션이 아닌걸로 예약시에는 초기화처리
  2998. model.makeValue("/root/main/otpt_old/otpt_etcordflag_new", '-');
  2999. }
  3000. //심층진찰 예약변경관련 프로그램 수정(2018/02/02)
  3001. //2007-10-17 이동식 추가 - 변경취소사유 입력
  3002. modal("SPPMO01000", "1","400", "400", "SPPMO01000", "/root/hidden/enrcomncode", "/root/hidden/enrcomncode");
  3003. var updtcnclresn = getParameter("SPPMO01000_updtcnclresn");
  3004. var updtcnclresncd = getParameter("SPPMO01000_updtcnclresncd");
  3005. clearParameter("SPPMO01000_updtcnclresn");
  3006. clearParameter("SPPMO01000_updtcnclresncd");
  3007. model.setValue("/root/hidden/con/updtcnclresn", updtcnclresn);
  3008. model.setValue("/root/hidden/con/updtcnclresncd", updtcnclresncd);
  3009. //END..
  3010. fSubmitBefore();
  3011. fSubmitAfter();
  3012. var orddrid = model.getValue("/root/hidden/con/orddrid");
  3013. var userspec = model.getValue("/root/init/orddrid[cd='"+ orddrid +"' and dp='" + orddeptcd + "']/sp");
  3014. if(userspec == "Y"){
  3015. model.setValue("/root/hidden/con/specordyn","Y");
  3016. }else{
  3017. model.setValue("/root/hidden/con/specordyn","N");
  3018. }
  3019. model.setValue("/root/hidden/con/ordtm",model.getValue("/root/main/otpt/otpt_ordtm"));
  3020. model.setValue("/root/hidden/con/orddd",gDate);
  3021. model.setValue("/root/hidden/con/otpt_flag","U");
  3022. // model.setValue("/root/send/data1/pid", pid );
  3023. // 2016/10/17 예약변경시 재조회한 초재진 구분이 세팅되도록 수정(이정택)
  3024. // 초재진구분이 재진으로 변경될때만 수정하도록함
  3025. if(fsexamflag == 'R'){
  3026. model.makeValue("/root/main/otpt_old/otpt_fsexamflag_old", fsexamflag);
  3027. }
  3028. // 2016/10/17 예약변경시 재조회한 초재진 구분이 세팅되도록 수정(이정택)
  3029. model.copyNode("/root/send/data1", "/root/main/otpt_old");
  3030. model.copyNode("/root/send/data2", "/root/hidden/session");
  3031. model.copyNode("/root/send/data3", "/root/hidden/con");
  3032. // model.copyNode("/root/send/data4", "/root/main/otpt");
  3033. pid = model.getValue("/root/main/otpt_old/otpt_pid_old");
  3034. if (submit("TXPMO00302") == true){
  3035. //2007-10-29 이동식 추가 - 차트대출 변경
  3036. // fReqChartLend("U");
  3037. //END..
  3038. //예약 변경시 문자 발송 되도록 프로그램 수정(2016/09/06 이정택)
  3039. var pid = model.getValue("/root/send/data1/otpt_pid_old");
  3040. var hngnm = model.getValue("/root/send/data1/ptbs_hngnm_old");
  3041. var old_orddd = model.getValue("/root/send/data1/otpt_orddd_old");
  3042. var old_ordtm = model.getValue("/root/send/data1/otpt_ordtm_old");
  3043. var new_orddd = model.getValue("/root/send/data3/orddd");
  3044. var new_ordtm = model.getValue("/root/send/data3/ordtm");
  3045. var mpphontel = model.getValue("/root/send/data1/ptbs_mpphontel_old");
  3046. var centcd = model.getValue("/root/send/data1/otpt_centcd_old");
  3047. var centnm="";
  3048. if(!isNull(centcd) && centcd != '-' ){
  3049. centnm=model.getValue("/root/init/centcd/centcdlist[cd='" + centcd + "']/nm");
  3050. }
  3051. var orddeptcd = model.getValue("/root/send/data1/otpt_orddeptcd_old");
  3052. var orddepthngnm = "";
  3053. if(!isNull(orddeptcd) && orddeptcd != '-' ){
  3054. orddepthngnm = model.getValue("/root/init/orddeptcd[cd='" + orddeptcd + "']/nm");
  3055. }
  3056. var hosnm = "";
  3057. if(getUserInfo("dutplceinstcd")=='031'){
  3058. hosnm = "경북대병원";
  3059. }else if(getUserInfo("dutplceinstcd")=='032'){
  3060. hosnm = "칠곡경북대병원";
  3061. }else if(getUserInfo("dutplceinstcd")=='033'){
  3062. hosnm = "경북대치과병원";
  3063. }
  3064. //var msgcnts = hosnm + " " + hngnm + "("+pid + ")" +"님 " + old_orddd.substr(4,2)+"/"+old_orddd.substr(6,2)+" " + old_ordtm.substr(0,2)+":" + old_ordtm.substr(2,2)+" " + centnm+ " " + orddepthngnm+" 예약이 " + new_orddd.substr(4,2)+"/"+new_orddd.substr(6,2)+" " + new_ordtm.substr(0,2)+":" + new_ordtm.substr(2,2) + "분으로 변경되었습니다.";
  3065. var msgcnts = hosnm + " " + hngnm + "("+pid + ")" +"님 " + centnm+ " " + orddepthngnm+" 예약이 " + old_orddd.substr(4,2)+"/"+old_orddd.substr(6,2)+" " + old_ordtm.substr(0,2)+":" + old_ordtm.substr(2,2)+"분에서 " + new_orddd.substr(4,2)+"/"+new_orddd.substr(6,2)+" " + new_ordtm.substr(0,2)+":" + new_ordtm.substr(2,2) + "분으로 변경되었습니다.";
  3066. /*
  3067. 01 : 외래예약취소시 문자발송여부
  3068. 02 : 외래예약 변경시 문자발송여부
  3069. 03 : 통합예약검사 예약 취소시 문자발송여부
  3070. 04 : 통합예약검사 예약 변경시 문자발송여부
  3071. */
  3072. var sms_send_yn = model.getValue("/root/init_com/init/P6588list/P6588[cdid='02']/cdnm");
  3073. if(sms_send_yn=="Y"){
  3074. fSmsSend(msgcnts, pid, hngnm, mpphontel, orddeptcd, '02');
  3075. }
  3076. //예약 변경시 문자 발송 되도록 프로그램 수정(2016/09/06 이정택)
  3077. if( (model.getValue("/root/main/otpt_old/otpt_orddrid_old") != model.getValue("/root/hidden/con/orddrid")
  3078. || model.getValue("/root/main/otpt_old/otpt_orddeptcd_old") != model.getValue("/root/hidden/con/orddeptcd"))
  3079. && pid != '-' && pid != '' && model.getValue("/root/hidden/con/specordyn") == 'Y'
  3080. && model.getValue("/root/init/P0022/P0022list[cd = '140']/nm") == 'Y' ){
  3081. model.makeNode("/root/send/data36");
  3082. model.makeValue("/root/send/data36/pid", model.getValue("/root/main/otpt_old/otpt_pid_old"));
  3083. model.makeValue("/root/send/data36/instcd", model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  3084. model.makeValue("/root/send/data36/orddd", model.getValue("/root/hidden/con/orddd"));
  3085. model.makeValue("/root/send/data36/orddeptcd", model.getValue("/root/hidden/con/orddeptcd"));
  3086. model.makeValue("/root/send/data36/orddrid", model.getValue("/root/hidden/con/orddrid"));
  3087. submit("TRPMO00125");
  3088. if (model.getValue("/root/tempchk/specapp/rgstyn") == "N") {
  3089. var sOrddeptcd = instance1.selectSingleNode("/root/init/orddeptcd[cd='" + model.getValue("/root/hidden/con/orddeptcd") + "']");
  3090. if (sOrddeptcd == null) {
  3091. var sOrddeptcdMsg = "";
  3092. } else {
  3093. var sOrddeptcdMsg = "[" + sOrddeptcd.nm.nodeValue + "]";
  3094. }
  3095. var sOrddrid = instance1.selectSingleNode("/root/init/orddrid[cd='" + model.getValue("/root/hidden/con/orddrid") + "']");
  3096. if (sOrddrid == null) {
  3097. var ssOrddridMsg = "";
  3098. } else {
  3099. var sOrddridMsg = " [" + sOrddrid.nm.nodeValue + "]";
  3100. }
  3101. sMsg = sOrddeptcdMsg + sOrddridMsg
  3102. if( messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까?", "Q999", "") == 6 ){
  3103. model.makeValue("/root/tempchk/specchk/stat", "");
  3104. model.makeValue("/root/tempchk/specchk/pid", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_pid"));
  3105. model.makeValue("/root/tempchk/specchk/hngnm", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_hngnm"));
  3106. model.makeValue("/root/tempchk/specchk/rrgstno1", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno1"));
  3107. model.makeValue("/root/tempchk/specchk/rrgstno2", model.getValue("/root/hidden/rcv/h_ptbs/ptbs/ptbs_rrgstno2"));
  3108. model.makeValue("/root/tempchk/specchk/choiflag", "");
  3109. model.makeValue("/root/tempchk/specchk/ordtype", "O");
  3110. model.makeValue("/root/tempchk/specchk/orddd", model.getValue("/root/hidden/con/orddd"));
  3111. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/hidden/con/orddeptcd"));
  3112. model.makeValue("/root/tempchk/specchk/orddrid", model.getValue("/root/hidden/con/orddrid"));
  3113. if (model.getValue("/root/hidden/con/specordyn") != "N") {
  3114. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  3115. } else {
  3116. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  3117. }
  3118. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/hidden/con/orddd"));
  3119. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  3120. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  3121. }
  3122. }
  3123. model.removeNodeset("/root/send/data36");
  3124. }
  3125. //2007-09-27 이동식 추가
  3126. model.removeNodeset("/root/main/otpt");
  3127. model.removeNodeset("/root/main/otpt_old");
  3128. model.makeNode("/root/main/otpt");
  3129. model.makeNode("/root/main/otpt_old");
  3130. model.resetInstanceNode("/root/hidden/con/updtcnclresn");
  3131. model.resetInstanceNode("/root/hidden/con/updtcnclresncd");
  3132. //END..
  3133. fOrdScheCalendarRef();
  3134. fPatRsrvInfoRef();
  3135. // fExamCapRef(gDate);
  3136. fRsrvListRef(gDate);
  3137. fSetFocus(pid);
  3138. }else{
  3139. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") ) = '';
  3140. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") ) = '';
  3141. model.removeNodeset("/root/main/otpt_old");
  3142. model.removeNodeset("/root/main/otpt");
  3143. model.makeNode("/root/main/otpt_old");
  3144. model.makeNode("/root/main/otpt");
  3145. fRsrvListRef(gDate);
  3146. model.refresh();
  3147. return false;
  3148. }
  3149. model.refresh();
  3150. }
  3151. //2008-03-05 이동식 추가 - 예약 및 변경 시 당일은 불가!!
  3152. function fCheckTodayRsrvUpdt(flag){
  3153. if( flag == 'U' ){
  3154. if( gDate < getCurrentDate() ){
  3155. return false;
  3156. }
  3157. }else{
  3158. if( gDate < getCurrentDate() ){
  3159. return false;
  3160. }
  3161. }
  3162. return true;
  3163. }
  3164. //2007-09-06 이동식 추가 - 환자예약정보 탭 변경 로직
  3165. function fChangeRsrvSpecTab(){
  3166. var rsrvgubn = model.getValue("/root/hidden/con/rsrvgubn");
  3167. if (rsrvgubn == "1") model.toggle("case1");
  3168. else if (rsrvgubn == "2") model.toggle("case2");
  3169. }
  3170. //2007-09-10 이동식 추가 - 1분간격
  3171. function fOneMinuteSpread(){
  3172. if( model.getValue("/root/hidden/con/onemin") == 'Y' || model.getValue("/root/hidden/con/onemin") == 'y' ){
  3173. var rowCount = datagrid6.rows - datagrid6.fixedRows;
  3174. var timeNow;
  3175. var timeNext;
  3176. var orddd;
  3177. var interval;
  3178. for( var outer = 1; outer < rowCount; outer++ ){
  3179. orddd = datagrid6.valueMatrix( outer, datagrid6.colRef("otpt_orddd"));
  3180. timeNow = datagrid6.valueMatrix( outer, datagrid6.colRef("otpt_ordtm"));
  3181. timeNext = datagrid6.valueMatrix( outer + 1, datagrid6.colRef("otpt_ordtm"));
  3182. interval = getTimeInterval( timeNow, timeNext ) / 60;
  3183. for(var inner = 1; inner < interval; inner++ ){
  3184. datagrid6.insertRow(outer, 'below', false, false);
  3185. outer = outer + 1;
  3186. rowCount = rowCount + 1;
  3187. timeNow = ((timeNow.toDate("hhmm")).getAddDate(1, 'm')).getDateFormat("hhmm");
  3188. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_ordtm")) = timeNow;
  3189. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_orddd")) = orddd;
  3190. datagrid6.isreadonly(outer, datagrid6.colRef("otpt_ordtm")) = true;
  3191. }
  3192. }
  3193. datagrid6.insertRow(0, 'below', false, false);
  3194. // rowCount = rowCount + 1;
  3195. datagrid6.valueMatrix(1, datagrid6.colRef("otpt_ordtm")) = '0000';
  3196. datagrid6.valueMatrix(1, datagrid6.colRef("otpt_orddd")) = orddd;
  3197. //datagrid6.rebuild();
  3198. // model.refresh();
  3199. }else{
  3200. //fClickOnCalendar();
  3201. fRsrvListRef(gDate);
  3202. // model.refresh();
  3203. }
  3204. model.refresh();
  3205. }
  3206. function fRsrvInfolistPrint(){
  3207. var orddd = model.getValue("/root/main/h_otpt3/otpt/otpt_orddd");
  3208. model.removeNodeset("/root/temp/rsrvlist");
  3209. model.makeNode("/root/temp/rsrvlist/otpt_histstat");
  3210. model.makeNode("/root/temp/rsrvlist/otpt_pid");
  3211. model.makeNode("/root/temp/rsrvlist/otpt_orddd");
  3212. model.makeNode("/root/temp/rsrvlist/otpt_rsrvflag");
  3213. model.makeNode("/root/temp/rsrvlist/otpt_remfact");
  3214. model.makeNode("/root/temp/rsrvlist/otpt_telnum");
  3215. model.makeNode("/root/temp/rsrvlist/otpt_telrsrvrem");
  3216. model.makeNode("/root/temp/rsrvlist/ptbs_hngnm");
  3217. model.makeNode("/root/temp/rsrvlist/otpt_updtcnclresn");
  3218. model.makeNode("/root/temp/rsrvlist/otpt_ordtm");
  3219. model.makeNode("/root/temp/rsrvlist/otpt_orddeptcd");
  3220. model.makeNode("/root/temp/rsrvlist/otpt_orddrid");
  3221. model.makeNode("/root/temp/rsrvlist/otpt_specsignyn");
  3222. //var orddd = model.getValue("");
  3223. model.makeValue("/root/temp/rsrvlist/otpt_orddeptcd", cmb_orddeptcd.label);
  3224. model.makeValue("/root/temp/rsrvlist/otpt_orddrid", cmb_orddrid.label);
  3225. model.setValue("/root/temp/rsrvlist/otpt_orddd", orddd);
  3226. // model.copyNode("/root/temp/rsrvlist", "/root/main/h_otpt3/otpt[" + datagrid6.row + "]");
  3227. for (var i = 1; i <= getNodesetCount("/root/main/h_otpt3/otpt"); i++) {
  3228. var aa = model.getValue("/root/main/h_otpt3/otpt/otpt_ordtm");
  3229. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_ordtm",datagrid6.labelmatrix(i, datagrid6.colRef("otpt_ordtm")));
  3230. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_pid",datagrid6.labelmatrix(i, datagrid6.colRef("otpt_pid")));
  3231. model.makeValue("/root/temp/rsrvlist[" + i + "]/ptbs_hngnm",datagrid6.labelmatrix(i, datagrid6.colRef("ptbs_hngnm")));
  3232. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_histstat",datagrid6.labelmatrix(i, datagrid6.colRef("otpt_histstat")));
  3233. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_rsrvflag",datagrid6.labelmatrix(i, datagrid6.colRef("otpt_rsrvflag")));
  3234. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_telnum",model.getValue("/root/main/h_otpt3/otpt["+ i + "]/otpt_telnum"));
  3235. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_remfact",model.getValue("/root/main/h_otpt3/otpt["+ i + "]/otpt_remfact"));
  3236. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_telrsrvrem",model.getValue("/root/main/h_otpt3/otpt["+ i + "]/otpt_telrsrvrem"));
  3237. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_updtcnclresn",model.getValue("/root/main/h_otpt3/otpt["+ i + "]/otpt_updtcnclresn"));
  3238. model.makeValue("/root/temp/rsrvlist[" + i + "]/otpt_specsignyn",datagrid6.labelmatrix(i, datagrid6.colRef("otpt_specsignyn")));
  3239. }
  3240. exeReportPreview("RPPMO00301", "XMLSTR", "","", "false","","","","","false");
  3241. }
  3242. //오전/오후 예약환자 수 표시
  3243. function fGetAmPmCnt(){
  3244. var amcnt = 0;
  3245. var pmcnt = 0;
  3246. var amfsexamflagcnt = 0;
  3247. var pmfsexamflagcnt = 0;
  3248. for(var i=0; i<=datagrid6.rows; i++){
  3249. var hngnm = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/ptbs_hngnm");
  3250. //예약된 환자가 있는 경우에만 체크를 실시
  3251. if(!isNull(hngnm)){
  3252. var ordtm = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/otpt_ordtm");
  3253. var fsexamflag = model.getValue("/root/main/h_otpt3/otpt[" + i + "]/otpt_fsexamflag");
  3254. if(ordtm < 1300){
  3255. amcnt++;
  3256. if(fsexamflag != "R" && fsexamflag != "S"){
  3257. amfsexamflagcnt++;
  3258. }
  3259. }else{
  3260. pmcnt++;
  3261. if(fsexamflag != "R" && fsexamflag != "S"){
  3262. pmfsexamflagcnt++;
  3263. }
  3264. }
  3265. }
  3266. }
  3267. model.makeValue("/root/main/rsrvcnt/amcnt", amcnt + "[" + amfsexamflagcnt + "]");
  3268. model.makeValue("/root/main/rsrvcnt/pmcnt", pmcnt + "[" + pmfsexamflagcnt + "]");
  3269. }
  3270. //2017/03/21 월단위로 달력 변경되도록 프로그램 수정(이정택)
  3271. var currentMonth;
  3272. var changeMonth;
  3273. function fGetPreviousMonth(){
  3274. currentMonth = "";
  3275. changeMonth = "";
  3276. if(group1.children("btn_jan").disabled){
  3277. return;
  3278. }else if(group1.children("btn_feb").disabled){
  3279. currentMonth="2";
  3280. beforeId = 'btn_jan';
  3281. group1.children("btn_jan").disabled = true;
  3282. group1.children("btn_feb").disabled = false;
  3283. }else if(group1.children("btn_mar").disabled){
  3284. currentMonth="3";
  3285. beforeId = 'btn_feb';
  3286. group1.children("btn_feb").disabled = true;
  3287. group1.children("btn_mar").disabled = false;
  3288. }else if(group1.children("btn_apr").disabled){
  3289. currentMonth="4";
  3290. beforeId = 'btn_mar';
  3291. group1.children("btn_mar").disabled = true;
  3292. group1.children("btn_apr").disabled = false;
  3293. }else if(group1.children("btn_may").disabled){
  3294. currentMonth="5";
  3295. beforeId = 'btn_apr';
  3296. group1.children("btn_apr").disabled = true;
  3297. group1.children("btn_may").disabled = false;
  3298. }else if(group1.children("btn_jun").disabled){
  3299. currentMonth="6";
  3300. beforeId = 'btn_may';
  3301. group1.children("btn_may").disabled = true;
  3302. group1.children("btn_jun").disabled = false;
  3303. }else if(group1.children("btn_jul").disabled){
  3304. currentMonth="7";
  3305. beforeId = 'btn_jun';
  3306. group1.children("btn_jun").disabled = true;
  3307. group1.children("btn_jul").disabled = false;
  3308. }else if(group1.children("btn_aug").disabled){
  3309. currentMonth="8";
  3310. beforeId = 'btn_jul';
  3311. group1.children("btn_jul").disabled = true;
  3312. group1.children("btn_aug").disabled = false;
  3313. }else if(group1.children("btn_sep").disabled){
  3314. currentMonth="9";
  3315. beforeId = 'btn_aug';
  3316. group1.children("btn_aug").disabled = true;
  3317. group1.children("btn_sep").disabled = false;
  3318. }else if(group1.children("btn_oct").disabled){
  3319. currentMonth="10";
  3320. beforeId = 'btn_sep';
  3321. group1.children("btn_sep").disabled = true;
  3322. group1.children("btn_oct").disabled = false;
  3323. }else if(group1.children("btn_nov").disabled){
  3324. currentMonth="11";
  3325. beforeId = 'btn_oct';
  3326. group1.children("btn_oct").disabled = true;
  3327. group1.children("btn_nov").disabled = false;
  3328. }else if(group1.children("btn_dec").disabled){
  3329. currentMonth="12";
  3330. beforeId = 'btn_nov';
  3331. group1.children("btn_nov").disabled = true;
  3332. group1.children("btn_dec").disabled = false;
  3333. }
  3334. changeMonth = parseInt(currentMonth) -1;
  3335. if(new String(changeMonth).length == 1 ){
  3336. changeMonth = '0' + changeMonth;
  3337. }
  3338. fGetCalendar(changeMonth);
  3339. }
  3340. function fGetNextMonth(){
  3341. currentMonth = "";
  3342. changeMonth = "";
  3343. if(group1.children("btn_jan").disabled){
  3344. currentMonth="1";
  3345. beforeId = 'btn_feb';
  3346. group1.children("btn_jan").disabled = false;
  3347. group1.children("btn_feb").disabled = true;
  3348. }else if(group1.children("btn_feb").disabled){
  3349. currentMonth="2";
  3350. beforeId = 'btn_mar';
  3351. group1.children("btn_feb").disabled = false;
  3352. group1.children("btn_mar").disabled = true;
  3353. }else if(group1.children("btn_mar").disabled){
  3354. currentMonth="3";
  3355. beforeId = 'btn_apr';
  3356. group1.children("btn_mar").disabled = false;
  3357. group1.children("btn_apr").disabled = true;
  3358. }else if(group1.children("btn_apr").disabled){
  3359. currentMonth="4";
  3360. beforeId = 'btn_may';
  3361. group1.children("btn_apr").disabled = false;
  3362. group1.children("btn_may").disabled = true;
  3363. }else if(group1.children("btn_may").disabled){
  3364. currentMonth="5";
  3365. beforeId = 'btn_jun';
  3366. group1.children("btn_may").disabled = false;
  3367. group1.children("btn_jun").disabled = true;
  3368. }else if(group1.children("btn_jun").disabled){
  3369. currentMonth="6";
  3370. beforeId = 'btn_jul';
  3371. group1.children("btn_jun").disabled = false;
  3372. group1.children("btn_jul").disabled = true;
  3373. }else if(group1.children("btn_jul").disabled){
  3374. currentMonth="7";
  3375. beforeId = 'btn_aug';
  3376. group1.children("btn_jul").disabled = false;
  3377. group1.children("btn_aug").disabled = true;
  3378. }else if(group1.children("btn_aug").disabled){
  3379. currentMonth="8";
  3380. beforeId = 'btn_sep';
  3381. group1.children("btn_aug").disabled = false;
  3382. group1.children("btn_sep").disabled = true;
  3383. }else if(group1.children("btn_sep").disabled){
  3384. currentMonth="9";
  3385. beforeId = 'btn_oct';
  3386. group1.children("btn_sep").disabled = false;
  3387. group1.children("btn_oct").disabled = true;
  3388. }else if(group1.children("btn_oct").disabled){
  3389. currentMonth="10";
  3390. beforeId = 'btn_nov';
  3391. group1.children("btn_oct").disabled = false;
  3392. group1.children("btn_nov").disabled = true;
  3393. }else if(group1.children("btn_nov").disabled){
  3394. currentMonth="11";
  3395. beforeId = 'btn_dec';
  3396. group1.children("btn_nov").disabled = false;
  3397. group1.children("btn_dec").disabled = true;
  3398. }else if(group1.children("btn_dec").disabled){
  3399. return;
  3400. }
  3401. changeMonth = parseInt(currentMonth) +1;
  3402. if(new String(changeMonth).length == 1 ){
  3403. changeMonth = '0' + changeMonth;
  3404. }
  3405. fGetCalendar(changeMonth);
  3406. }
  3407. //2017/03/21 월단위로 달력 변경되도록 프로그램 수정(이정택)
  3408. ]]>
  3409. </script>
  3410. </xhtml:head>
  3411. <xhtml:body>
  3412. <group id="group2" style="left:0px; top:20px; width:1185px; height:28px; vertical-align:top; ">
  3413. <select1 id="combo4" ref="/root/hidden/con/orddrid" visibility="hidden" appearance="minimal" style="left:653px; top:4px; width:85px; height:19px; ">
  3414. <choices>
  3415. <itemset nodeset="/root/hidden/init/cntrorddeptdoctorlist/user">
  3416. <label ref="usernm"/>
  3417. <value ref="userid"/>
  3418. </itemset>
  3419. </choices>
  3420. <script type="javascript" ev:event="xforms-select">
  3421. <![CDATA[
  3422. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3423. if (orddeptcd == null || orddeptcd == "" || orddeptcd == " " || orddeptcd == "-"){
  3424. messageBox("진료과 선택을 먼저 하십시요!","E999","");
  3425. model.setValue("/root/hidden/con/orddrid","");
  3426. model.refresh();
  3427. model.setFocus("cmb_orddeptcd");
  3428. return;
  3429. }
  3430. fOrdScheCalendarRef();
  3431. // fExamCapRef(gDate);
  3432. fRsrvListRef(gDate);
  3433. model.refresh();
  3434. ]]>
  3435. </script>
  3436. </select1>
  3437. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1185px; height:27px; "/>
  3438. <caption id="cap_orddd" class="search_name" style="left:245px; top:5px; width:73px; height:17px; ">진료과 :</caption>
  3439. <caption id="caption10" class="search_name" style="left:562px; top:5px; width:86px; height:17px; ">진료의 :</caption>
  3440. <caption id="caption13" class="search_name" style="left:764px; top:5px; width:86px; height:17px; ">등록번호 :</caption>
  3441. <select1 id="cmb_orddrid" ref="/root/hidden/con/orddrid" appearance="minimal" style="left:637px; top:4px; width:97px; height:19px; ">
  3442. <choices>
  3443. <itemset nodeset="/root/init/orddrid">
  3444. <label ref="nmsp"/>
  3445. <value ref="cd"/>
  3446. </itemset>
  3447. </choices>
  3448. <script type="javascript" ev:event="xforms-select">
  3449. <![CDATA[
  3450. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3451. if (orddeptcd == null || orddeptcd == "" || orddeptcd == " " || orddeptcd == "-"){
  3452. messageBox("진료과 선택을 먼저 하십시요!","E999","");
  3453. model.setValue("/root/hidden/con/orddrid","");
  3454. model.refresh();
  3455. model.setFocus("cmb_orddeptcd");
  3456. return;
  3457. }
  3458. fOrdScheCalendarRef();
  3459. //fExamCapRef(gDate);
  3460. fRsrvListRef(gDate);
  3461. model.refresh();
  3462. ]]>
  3463. </script>
  3464. </select1>
  3465. <input id="ipt_pid" ref="/root/hidden/con/pid" imemode="alpha" style="left:853px; top:4px; width:80px; height:19px; ">
  3466. <script type="javascript" ev:event="onkeypress">
  3467. <![CDATA[
  3468. if (event.keyCode == "13"){
  3469. setInputNodeCurText();
  3470. fPatRsrvInfoRef();
  3471. model.refresh();
  3472. }
  3473. ]]>
  3474. </script>
  3475. </input>
  3476. <output id="opt_hngnm" ref="/root/hidden/con/hngnm" class="output_fix" appearance="output" style="left:955px; top:4px; width:64px; height:19px; "/>
  3477. <button id="btn_ptbs_search" class="icon_search" style="left:936px; top:5px; width:16px; height:16px; ">
  3478. <caption/>
  3479. <script type="javascript" ev:event="DOMActivate">
  3480. <![CDATA[
  3481. //modal("../../../pam/patinfomngtweb/xrw/SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  3482. //modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  3483. modal("../../../emr/outcareweb/xrw/SPMNO02400", "1","150", "150", "SPMNO02400", "/root/source", "/root/main/cond");
  3484. //환자번호 copy
  3485. var popupendflag = model.getValue("/root/main/popupendflag");
  3486. if (popupendflag == "ok"){
  3487. model.setValue("/root/hidden/con/pid",model.getValue("/root/main/patinfo/patinfolist/pid"));
  3488. model.setValue("/root/hidden/con/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  3489. var ptbs_pid = model.getValue("/root/hidden/con/pid");
  3490. if (ptbs_pid != null && ptbs_pid != "" && ptbs_pid != " " && ptbs_pid != "-"){
  3491. fPatRsrvInfoRef();
  3492. }
  3493. model.refresh();
  3494. }
  3495. ]]>
  3496. </script>
  3497. </button>
  3498. <select1 id="cmb_subdeptcd" ref="/root/hidden/con/subdeptcd" disabled="true" appearance="minimal" style="left:455px; top:4px; width:80px; height:19px; ">
  3499. <choices>
  3500. <itemset nodeset="/root/init/subdeptcd/subdeptcdlist">
  3501. <label ref="nm"/>
  3502. <value ref="cd"/>
  3503. </itemset>
  3504. </choices>
  3505. <script type="javascript" ev:event="xforms-value-changed">
  3506. <![CDATA[
  3507. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3508. var subdeptcd = model.getValue("/root/hidden/con/subdeptcd");
  3509. var nodeList = '';
  3510. // if( subdeptcd != '' && subdeptcd != '-' ){
  3511. //
  3512. // cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + subdeptcd + "']";
  3513. // nodeList = instance1.selectNodes("/root/init/orddrid[dp = '"+ subdeptcd +"']");
  3514. // cmb_orddrid.refresh();
  3515. // model.setValue("/root/hidden/con/orddrid", "");
  3516. // }else{
  3517. // cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + orddeptcd + "']";
  3518. // nodeList = instance1.selectNodes("/root/init/orddrid[dp = '"+ orddeptcd +"']");
  3519. // cmb_orddrid.refresh();
  3520. // model.setValue("/root/hidden/con/orddrid", "");
  3521. // }
  3522. //
  3523. // var node;
  3524. // var iCnt = 1;
  3525. //
  3526. // model.removeNodeset("/root/init/orddridlist/orddr");
  3527. // model.makeNode("/root/init/orddridlist/orddr");
  3528. //
  3529. //
  3530. // var cols = grd_orddrlist.cols;
  3531. // for( var i = 1; i < cols; i ++ ){
  3532. // //grd_orddrlist.deleteColumn(i, false);
  3533. //
  3534. // grd_orddrlist.removeColumn(false);
  3535. // }
  3536. // //grd_orddrlist.rebuild();
  3537. //
  3538. // while(node = nodeList.nextNode()){
  3539. //
  3540. // grd_orddrlist.addColumn("ref:usernm" + iCnt +"; type:output; ", false);
  3541. // grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 60;
  3542. // model.setValue("/root/init/orddridlist/orddr/usernm" + iCnt, node.nm.text);
  3543. // //grd_orddrlist.valueMatrix(0, i) = node.usernm.text;
  3544. // //i++;
  3545. //
  3546. // grd_orddrlist.addColumn("ref:userid" + iCnt +"; type:output; ", false);
  3547. // grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 0;
  3548. // //grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = true;
  3549. // model.setValue("/root/init/orddridlist/orddr/userid" + iCnt, node.cd.text);
  3550. // // grd_orddrlist.valueMatrix(0, i) = node.userid.text;
  3551. // // i++;
  3552. //
  3553. // grd_orddrlist.addColumn("ref:deptcd" + iCnt +"; type:output; ", false);
  3554. // grd_orddrlist.colWidth(grd_orddrlist.cols-1) = 0;
  3555. // //grd_orddrlist.cellStyle("hidden", 0, grd_orddrlist.cols-1) = true;
  3556. // model.setValue("/root/init/orddridlist/orddr/deptcd" + iCnt, node.dp.text);
  3557. //
  3558. // iCnt++;
  3559. //
  3560. // }
  3561. //
  3562. // grd_orddrlist.rebuild();
  3563. fOrdScheCalendarRef();
  3564. model.removeNodeset("/root/main/h_schd/schd");
  3565. model.removeNodeset("/root/main/h_otpt3/otpt");
  3566. model.refresh();
  3567. ]]>
  3568. </script>
  3569. </select1>
  3570. <select id="checkbox2" ref="/root/hidden/con/retiredrdisp" overflow="visible" appearance="full" style="left:1080px; top:5px; width:100px; height:20px; border-style:none; ">
  3571. <choices>
  3572. <item>
  3573. <label>퇴직의사표시</label>
  3574. <value>Y</value>
  3575. </item>
  3576. </choices>
  3577. <script type="javascript" ev:event="xforms-value-changed">
  3578. <![CDATA[
  3579. var cols = grd_orddrlist.cols;
  3580. for(var i=1; i<cols; i++){
  3581. //grd_orddrlist.deleteColumn(i, false);
  3582. grd_orddrlist.removeColumn(false);
  3583. }
  3584. model.makeNode("/root/hidden/con/instcd");
  3585. model.setValue("/root/hidden/con/instcd", model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  3586. if(model.getValue("/root/hidden/con/retiredrdisp") == 'Y' ){
  3587. if(submit("TRPMO00307")){
  3588. cmb_orddeptcd.dispatch("xforms-value-changed");
  3589. // var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3590. // fSetOrdDrID(orddeptcd);
  3591. }else{
  3592. messageBox("퇴직의사를 조회해오는데 실패했습니다. 잠시 후 다시 시도하세요!", "E999", "");
  3593. model.setValue("/root/hidden/con/retiredrdisp", "");
  3594. checkbox2.refresh();
  3595. // return false;
  3596. }
  3597. }else{
  3598. if(submit("TRPMO00307")){
  3599. cmb_orddeptcd.dispatch("xforms-value-changed");
  3600. // var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3601. // fSetOrdDrID(orddeptcd);
  3602. }else{
  3603. messageBox("현재 근무중인 의사를 조회해오는데 실패했습니다. 잠시 후 다시 시도하세요!", "E999", "");
  3604. model.setValue("/root/hidden/con/retiredrdisp", "Y");
  3605. checkbox2.refresh();
  3606. // return false;
  3607. }
  3608. }
  3609. model.removenode("/root/hidden/con/instcd");
  3610. ]]>
  3611. </script>
  3612. </select>
  3613. <caption id="caption21" class="search_name" style="left:20px; top:5px; width:61px; height:17px; ">센터 :</caption>
  3614. <select1 id="combo1" ref="/root/hidden/con/centcd" appearance="minimal" style="left:84px; top:4px; width:140px; height:19px; ">
  3615. <choices>
  3616. <itemset nodeset="/root/init/centcd/centcdlist">
  3617. <label ref="nm"/>
  3618. <value ref="cd"/>
  3619. </itemset>
  3620. </choices>
  3621. <script type="javascript" ev:event="xforms-value-changed">
  3622. <![CDATA[
  3623. var centcd = model.getValue("/root/hidden/con/centcd");
  3624. // fSetOrdDrID(centcd);
  3625. // model.setValue("/root/hidden/con/centcd", centcd);
  3626. // model.setValue("/root/hidden/con/orddeptcd", '-');
  3627. //
  3628. // fOrdScheCalendarRef();
  3629. //
  3630. // model.removeNodeset("/root/main/h_schd/schd");
  3631. // model.removeNodeset("/root/main/h_otpt3/otpt");
  3632. // model.refresh();
  3633. if( centcd == '' || centcd == '-' ){
  3634. combo3.visible = false;
  3635. // combo4.visible = false;
  3636. cmb_orddeptcd.visible = true;
  3637. // cmb_orddrid.visible = true;
  3638. model.setValue("/root/hidden/con/orddeptcd", '-');
  3639. model.setValue("/root/hidden/con/orddrid", '-');
  3640. cmb_orddeptcd.refresh();
  3641. cmb_orddrid.refresh();
  3642. var cols = grd_orddrlist.cols;
  3643. for( var i = 1; i < cols; i ++ ){
  3644. //grd_orddrlist.deleteColumn(i, false);
  3645. grd_orddrlist.removeColumn(false);
  3646. }
  3647. fOrdScheCalendarRef();
  3648. }else{
  3649. var instcd = model.getValue("/root/hidden/session/sess_dutplceinstcd");
  3650. var deptcd = model.getValue("/root/hidden/con/centcd");
  3651. var base_dd = new Date().getDateFormat("YYYYMMDD");
  3652. var sort_field = "dispseq";//정렬필드(출력순서:'dispseq')
  3653. var sort_method = "asc"; //정렬방법(오름차순:'asc')
  3654. zsufGetCntrSubOrdDepartmentList(instcd, deptcd, 'O', "/root/hidden/init/cntrsuborddeptlist", base_dd);
  3655. // zsufGetCntrOrdDeptDoctorList(instcd, deptcd, 'O', "/root/hidden/init/cntrorddeptdoctorlist",sort_field, sort_method, base_dd);
  3656. combo3.visible = true;
  3657. // combo4.visible = true;
  3658. cmb_orddeptcd.visible = false;
  3659. // cmb_orddrid.visible = false;
  3660. //센터값 변경시 기존 선택된 진료과가 존재한다면 초기화 처리 안하도록 수정 (2017/03/28 이정택)
  3661. var bef_orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3662. if(getNodesetCount("/root/hidden/init/cntrsuborddeptlist/dept[deptcd='" + bef_orddeptcd + "']")==0){
  3663. model.makeValue("/root/hidden/con/orddeptcd", '-');
  3664. model.makeValue("/root/hidden/con/orddrid", '-');
  3665. }
  3666. //model.setValue("/root/hidden/con/orddeptcd", '-');
  3667. //model.setValue("/root/hidden/con/orddrid", '-');
  3668. //센터값 변경시 기존 선택된 진료과가 존재한다면 초기화 처리 안하도록 수정 (2017/03/28 이정택)
  3669. var cols = grd_orddrlist.cols;
  3670. for( var i = 1; i < cols; i ++ ){
  3671. //grd_orddrlist.deleteColumn(i, false);
  3672. grd_orddrlist.removeColumn(false);
  3673. }
  3674. fOrdScheCalendarRef();
  3675. }
  3676. model.refresh();
  3677. ]]>
  3678. </script>
  3679. </select1>
  3680. <select1 id="combo3" ref="/root/hidden/con/orddeptcd" visibility="hidden" appearance="minimal" style="left:322px; top:4px; width:130px; height:19px; ">
  3681. <choices>
  3682. <itemset nodeset="/root/hidden/init/cntrsuborddeptlist/dept">
  3683. <label ref="depthngnm"/>
  3684. <value ref="deptcd"/>
  3685. </itemset>
  3686. </choices>
  3687. <script type="javascript" ev:event="xforms-value-changed">
  3688. <![CDATA[
  3689. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3690. var centcd = model.getValue("/root/hidden/con/centcd");
  3691. if( centcd == '' || centcd == ' ' ){
  3692. centcd = '-';
  3693. }
  3694. // model.setValue("/root/hidden/con/orddrid", "");
  3695. // model.setValue("/root/hidden/con/centcd", "-");
  3696. fSetOrdDrID(orddeptcd);
  3697. combo4.visible = false;
  3698. cmb_orddrid.visible = true;
  3699. model.setValue("/root/hidden/con/centcd", centcd);
  3700. //간호과 참고사항 및 변경/취소사항 코드 조회
  3701. //model.resetInstanceNode("/root/send");
  3702. fSubmitBefore();
  3703. fSubmitAfter();
  3704. if( centcd == '-' ){
  3705. model.setValue("/root/send/data1", orddeptcd);
  3706. }else{
  3707. model.setValue("/root/send/data1", centcd);
  3708. }
  3709. model.setValue("/root/send/data2", model.getValue("/root/init/orddeptcd[ cd = '" + orddeptcd + "' ]/deptengabbr"));
  3710. if( ! submit("TRPMO00305")){
  3711. messageBox("참고사항 및 변경/취소사항 코드를 가져오지 못했습니다.","E999", "");
  3712. return false;
  3713. }
  3714. fOrdScheCalendarRef();
  3715. model.removeNodeset("/root/main/h_schd/schd");
  3716. model.removeNodeset("/root/main/h_otpt3/otpt");
  3717. model.refresh();
  3718. ]]>
  3719. </script>
  3720. </select1>
  3721. <select1 id="cmb_orddeptcd" ref="/root/hidden/con/orddeptcd" appearance="minimal" style="left:322px; top:4px; width:130px; height:19px; ">
  3722. <choices>
  3723. <itemset nodeset="/root/init/orddeptcd">
  3724. <label ref="nm"/>
  3725. <value ref="cd"/>
  3726. </itemset>
  3727. </choices>
  3728. <script type="javascript" ev:event="xforms-value-changed">
  3729. <![CDATA[
  3730. var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3731. var centcd = model.getValue("/root/hidden/con/centcd");
  3732. if(centcd == '' || centcd == ' '){
  3733. centcd = '-';
  3734. }
  3735. // model.setValue("/root/hidden/con/orddrid", "");
  3736. // model.setValue("/root/hidden/con/centcd", "-");
  3737. fSetOrdDrID(orddeptcd);
  3738. //간호과 참고사항 및 변경/취소사항 코드 조회
  3739. fSubmitBefore();
  3740. fSubmitAfter();
  3741. if( centcd == '-' ){
  3742. model.setValue("/root/send/data1", orddeptcd);
  3743. }else{
  3744. model.setValue("/root/send/data1", centcd);
  3745. }
  3746. model.setValue("/root/send/data2", model.getValue("/root/init/orddeptcd[ cd = '" + orddeptcd + "' ]/deptengabbr"));
  3747. if(!submit("TRPMO00305")){
  3748. messageBox("참고사항 및 변경/취소사항 코드를 가져오지 못했습니다.","E999", "");
  3749. return false;
  3750. }
  3751. fOrdScheCalendarRef();
  3752. model.refresh();
  3753. ]]>
  3754. </script>
  3755. </select1>
  3756. </group>
  3757. <caption id="caption24" style="left:368px; top:459px; width:55px; height:20px; text-align:center; background-color:#999999; ">부분마감</caption>
  3758. <input id="input1" ref="/root/hidden/con/updtcnclresn" visibility="hidden" style="left:775px; top:635px; width:345px; height:19px; "/>
  3759. <datagrid id="grd_orddrlist" nodeset="/root/init/orddridlist/orddr" class="datagrid0" colsep="^" colwidth="60" rowheader="select" rowsep="|" selectionmode="free" style="left:0px; top:49px; width:1185px; height:41px; ">
  3760. <script type="javascript" ev:event="ondblclick">
  3761. <![CDATA[
  3762. if(isDataCell()){
  3763. var sCol = grd_orddrlist.col;
  3764. var sRow = grd_orddrlist.row;
  3765. if (sRow < 0) return;
  3766. if (sCol < 1) return;
  3767. var sVal = 1;
  3768. sCol = sCol - 1;
  3769. if (sCol > 0){
  3770. sVal = (sCol/2) + 1;
  3771. }
  3772. var orddrid = model.getValue("/root/init/orddridlist/orddr/userid" + sVal);
  3773. // var centcd = model.getValue("/root/hidden/con/centcd");
  3774. // if( centcd != '' && centcd != '-' ){
  3775. // var orddeptcd = model.getValue("/root/init/orddridlist/orddr/deptcd" + sVal);
  3776. // model.setValue("/root/hidden/con/orddeptcd", orddeptcd);
  3777. // cmb_orddeptcd.refresh();
  3778. // }
  3779. model.setValue("/root/hidden/con/orddrid", orddrid);
  3780. cmb_orddrid.refresh();
  3781. cmb_orddrid.dispatch("xforms-select");
  3782. }
  3783. ]]>
  3784. </script>
  3785. </datagrid>
  3786. <multilinegrid id="datagrid1" nodeset="/root/main/cal/week/list" class="gridcalendar" autoresize="true" backcoloralternate="transparent" caption="일^월^화^수^목^금^토" colsep="^" colwidth="60, 60, 60, 60, 60, 60, 60" dataheight="20" ellipsis="true" focuscolor="transparent" rowsep="|" tooltip="true" selectionmode="free" mergecellsfixedrows="bycolrec" style="left:0px; top:162px; width:423px; height:296px; ">
  3787. <row>
  3788. <col class="color_sun" ref="sun" rowspan="2"/>
  3789. <col ref="mon" rowspan="2"/>
  3790. <col ref="tue" rowspan="2"/>
  3791. <col ref="wed" rowspan="2"/>
  3792. <col ref="thu" rowspan="2"/>
  3793. <col ref="fri" rowspan="2"/>
  3794. <col class="color_sat" ref="sat" rowspan="2"/>
  3795. </row>
  3796. <row/>
  3797. <script type="javascript" ev:event="onclick">
  3798. <![CDATA[
  3799. var srow = model.getValue("/root/hidden/rowcol/srow");
  3800. var scol = model.getValue("/root/hidden/rowcol/scol");
  3801. datagrid1.cellStyle("border-style",srow , scol, srow , scol) = "solid";
  3802. datagrid1.cellStyle("border-width",srow , scol, srow , scol) = "1px";
  3803. datagrid1.cellStyle("border-color",srow , scol, srow , scol) = "#c0c0c0";
  3804. var weekname = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
  3805. var row = datagrid1.row;
  3806. var col = datagrid1.col;
  3807. model.setValue("/root/hidden/rowcol/srow", row);
  3808. model.setValue("/root/hidden/rowcol/scol", col);
  3809. datagrid1.cellStyle("border-style", row , col, row , col) = "solid";
  3810. datagrid1.cellStyle("border-width", row , col, row , col) = "2px";
  3811. datagrid1.cellStyle("border-color", row , col, row , col) = "#FF0000";
  3812. setCellColorRed(row, col);
  3813. // setCellColor(row, col);
  3814. var days = model.getValue("/root/main/cal/week/list[" + row + "]/" + weekname[col]);
  3815. // days = days.getCarrigeReturnRemove();
  3816. if (days == null || days == "" || days == " ") return;
  3817. days = days.substr(0,2);
  3818. var a = days.substr(1,2);
  3819. if (a != "0" && a != "1" && a != "2" && a != "3" && a != "4" && a != "5" && a != "6" && a != "7" && a != "8" && a != "9") days = days.substr(0,1);
  3820. if (days.length < 2){
  3821. days = "0".concat(days);
  3822. }
  3823. gDate = (model.getValue("/root/hidden/con/date")).concat(days);
  3824. //model.resetInstanceNode("/root/main/rsrv");
  3825. fAfterDDCalc(gDate);
  3826. var orddrid = model.getValue("/root/hidden/con/orddrid");
  3827. if (orddrid == null || orddrid == "" || orddrid == " "|| orddrid == "-"){
  3828. model.refresh();
  3829. return;
  3830. }
  3831. // fExamCapRef(gDate);
  3832. // fAfterDDCalc(gDate);
  3833. fRsrvListRef(gDate);
  3834. model.refresh();
  3835. ]]>
  3836. </script>
  3837. </multilinegrid>
  3838. <datagrid id="datagrid2" nodeset="/root/main/h_schd/schd" allowselection="false" caption="예약시간^예약인원^초/재" colsep="^" colwidth="60, 60, 60" mergecellsfixedrows="bycolrec" rowsep="|" style="left:425px; top:123px; width:204px; height:356px; ">
  3839. <col ref="schd_ordtm" format="hh:nn"/>
  3840. <col ref="schd_examrsrvcnt"/>
  3841. <col ref="schd_examcap"/>
  3842. <script type="javascript" ev:event="ondblclick">
  3843. <![CDATA[
  3844. // if (getNodesetCount("/root/main/h_schd/schd") < 1) return;
  3845. //
  3846. // var pid = model.getValue("/root/hidden/con/pid");
  3847. // if (pid == null || pid == "" || pid == " " || pid == "-"){
  3848. // messageBox("환자조회 후 작업하십시요!","E999","");
  3849. // return;
  3850. // }
  3851. //
  3852. // //진료과/진료의 선택되었는지 체크
  3853. // var orddeptcd = model.getValue("/root/hidden/con/orddeptcd");
  3854. // if (orddeptcd == null || orddeptcd == "" || orddeptcd == " " || orddeptcd == "-"){
  3855. // messageBox("진료과/진료의 선택 후 예약하십시요!","E999","");
  3856. // return;
  3857. // }
  3858. //
  3859. // var orddrid = model.getValue("/root/hidden/con/orddrid");
  3860. // if (orddrid == null || orddrid == "" || orddrid == " " || orddrid == "-"){
  3861. // messageBox("진료의 선택 후 예약하십시요!","E999","");
  3862. // return;
  3863. // }
  3864. //
  3865. // //선택한 해당 시간대 마감여부 체크
  3866. // var currow = datagrid2.row;
  3867. // if (eval(model.getValue("/root/main/h_schd/schd["+ currow +"]/schd_onlyexamrsrvcnt")) >= eval(model.getValue("/root/main/h_schd/schd["+ currow +"]/schd_onlyexamcap"))){
  3868. // messageBox("예약정원 초과입니다! 다른 시간대를 선택해주십시요","E999","");
  3869. // return;
  3870. // }
  3871. // //예약
  3872. // fPatRsrvSave("datagrid2", datagrid2.row);
  3873. ]]>
  3874. </script>
  3875. </datagrid>
  3876. <caption id="caption6" class="tit_1" style="left:0px; top:1px; width:800px; height:13px; ">외래진료예약</caption>
  3877. <caption id="caption3" ref="/root/hidden/con/date" class="cell_1" format="yyyy" style="left:171px; top:106px; width:80px; height:16px; font-weight:bold; text-align:center; vertical-align:middle; "/>
  3878. <button id="button13" class="icon_pre_month" style="left:152px; top:106px; width:16px; height:16px; ">
  3879. <caption/>
  3880. <script type="javascript" ev:event="DOMActivate">
  3881. <![CDATA[
  3882. fGetPreviousMonth();
  3883. ]]>
  3884. </script>
  3885. </button>
  3886. <button id="button14" class="icon_next_month" style="left:253px; top:106px; width:16px; height:16px; ">
  3887. <caption/>
  3888. <script type="javascript" ev:event="DOMActivate">
  3889. <![CDATA[
  3890. fGetNextMonth();
  3891. ]]>
  3892. </script>
  3893. </button>
  3894. <caption id="caption77" class="tit_2" style="left:425px; top:96px; width:144px; height:13px; ">일별예약현황</caption>
  3895. <caption id="caption5" class="tit_2" style="left:0px; top:540px; width:75px; height:13px; ">예약정보</caption>
  3896. <switch id="switch1" style="left:0px; top:556px; width:630px; height:225px; ">
  3897. <case id="case1" selected="true" style="left:0px; top:0px; width:628px; height:225px; ">
  3898. <datagrid id="datagrid4" nodeset="/root/main/h_otpt1/otpt" class="datagrid2" autoresize="true" caption="^진료일자^시간^센터^진료과^진료의^진료비^처방^예약구분^비고^입원전환" colsep="^" colwidth="21, 70, 36, 89, 97, 55, 50, 50, 64, 160, 60, 100, 100, 100" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:2px; top:2px; width:625px; height:220px; ">
  3899. <col checkvalue="Y,N" ref="otpt_chk" type="checkbox"/>
  3900. <col ref="otpt_orddd" format="yyyy-mm-dd"/>
  3901. <col ref="otpt_ordtm" format="hh:nn"/>
  3902. <col disabled="true" ref="otpt_centcd" type="combo">
  3903. <choices>
  3904. <itemset nodeset="/root/init/centcd/centcdlist">
  3905. <label ref="nm"/>
  3906. <value ref="cd"/>
  3907. </itemset>
  3908. </choices>
  3909. </col>
  3910. <col ref="otpt_orddeptnm"/>
  3911. <col ref="otpt_orddrnm"/>
  3912. <col disabled="true" ref="otpt_histstat" type="combo">
  3913. <choices>
  3914. <item>
  3915. <label>Y</label>
  3916. <value>R</value>
  3917. </item>
  3918. <item>
  3919. <label>N</label>
  3920. <value>T</value>
  3921. </item>
  3922. </choices>
  3923. </col>
  3924. <col ref="otpt_dracptyn"/>
  3925. <col disabled="true" ref="otpt_rsrvflag" type="combo">
  3926. <choices>
  3927. <itemset nodeset="/root/init_com/init/P0341list/P0341">
  3928. <label ref="cdnm"/>
  3929. <value ref="cdid"/>
  3930. </itemset>
  3931. </choices>
  3932. </col>
  3933. <col editable="true" ref="otpt_remfact" type="input"/>
  3934. <col disabled="true" ref="otpt_tdayinflag" type="combo">
  3935. <choices>
  3936. <item>
  3937. <label>주유형</label>
  3938. <value>M</value>
  3939. </item>
  3940. <item>
  3941. <label>부유형</label>
  3942. <value>S</value>
  3943. </item>
  3944. </choices>
  3945. </col>
  3946. <col disabled="true" ref="otpt_orddeptcd" type="combo" visibility="hidden">
  3947. <choices>
  3948. <itemset nodeset="/root/init/orddeptcd">
  3949. <label ref="nm"/>
  3950. <value ref="cd"/>
  3951. </itemset>
  3952. </choices>
  3953. </col>
  3954. <col disabled="true" ref="otpt_subdeptcd" type="combo" visibility="hidden">
  3955. <choices>
  3956. <itemset nodeset="/root/init/subdeptcd/subdeptcdlist">
  3957. <label ref="nm"/>
  3958. <value ref="cd"/>
  3959. </itemset>
  3960. </choices>
  3961. </col>
  3962. <col disabled="true" ref="otpt_orddrid" type="combo" visibility="hidden">
  3963. <choices>
  3964. <itemset nodeset="/root/init/orddrid">
  3965. <label ref="nm"/>
  3966. <value ref="cd"/>
  3967. </itemset>
  3968. </choices>
  3969. </col>
  3970. <script type="javascript" ev:event="ondblclick">
  3971. <![CDATA[
  3972. //진료예약 변경 일자 수정의 경우.
  3973. if(!isDataCell()){
  3974. return false;
  3975. }
  3976. //2015/06/08 이정택
  3977. if(datagrid4.col==datagrid4.colRef("otpt_remfact")){
  3978. if(messageBox("해당 일자의 비고사항을 수정하시겠습니까?", "Q") == "6"){
  3979. return;
  3980. }
  3981. }
  3982. //2015/06/08 이정택
  3983. var row = datagrid4.row;
  3984. var otpt_dracptyn = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_dracptyn");
  3985. var otpt_tdayinflag = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_tdayinflag");
  3986. var otpt_tablename = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_tablename");
  3987. if(otpt_dracptyn == 'Y'){
  3988. messageBox("이미 진료본 내역은 예약 변경 할 수 없습니다.", "E999", "");
  3989. return false;
  3990. }
  3991. if(otpt_tdayinflag == 'M' || otpt_tdayinflag == 'S'){
  3992. messageBox("입원전환 처리 내역은 예약 변경 할 수 없습니다.", "E999", "");
  3993. return false;
  3994. }
  3995. setParameter("SPPMO00901_RSRVFLAG", RSRVFLAG);
  3996. setParameter("SPPMO00901_REGLSCHEYN", REGLSCHEYN);
  3997. //예약 변경 팝업 호출
  3998. modal("SPPMO00901", "1","150", "500", "SPPMO00901", "/root/main/h_otpt1/otpt[" + row + "]", "/root/hidden/bfrgstinfo/otpt");
  3999. clearParameter("SPPMO00901_RSRVFLAG");
  4000. clearParameter("SPPMO00901_REGLSCHEYN");
  4001. fPatRsrvInfoRef();
  4002. model.refresh();
  4003. ]]>
  4004. </script>
  4005. <script type="javascript" ev:event="onkeypress">
  4006. <![CDATA[
  4007. if(datagrid4.col==datagrid4.colRef("otpt_remfact")){
  4008. if(event.keyCode == "13"){
  4009. if(messageBox("해당 일자의 비고사항을 저장하시겠습니까?", "Q") == "6"){
  4010. model.makeNode("/root/send/sendremark");
  4011. model.makeNode("/root/send/rcv");
  4012. model.copyNode("/root/send/sendremark", "/root/main/h_otpt1/otpt[" + datagrid4.row + "]");
  4013. submit("TXPMO00304");
  4014. model.removeNodeset("/root/send/sendremark");
  4015. model.removeNodeset("/root/send/rcv");
  4016. }
  4017. }
  4018. }
  4019. ]]>
  4020. </script>
  4021. </datagrid>
  4022. </case>
  4023. <case id="case2" style="left:0px; top:0px; width:628px; height:225px; ">
  4024. <datagrid id="datagrid5" nodeset="/root/main/h_otpt2/otpt" autoresize="true" caption="예약일자^시간^처방코드^처방명^수행부서^수행^진료비^remark" colsep="^" colwidth="75, 50, 75, 110, 110, 50, 50, 100" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:2px; top:2px; width:625px; height:220px; ">
  4025. <col ref="rsrvdd" format="yyyy-mm-dd"/>
  4026. <col ref="rsrvtm" format="hh:nn"/>
  4027. <col ref="prcpcd"/>
  4028. <col ref="prcpnm"/>
  4029. <col ref="execdept"/>
  4030. <col ref="execflag"/>
  4031. <col ref="rcptflag"/>
  4032. <col ref="rem"/>
  4033. </datagrid>
  4034. </case>
  4035. </switch>
  4036. <output id="output1" ref="/root/hidden/con/ordcnt" style="left:307px; top:538px; width:23px; height:19px; text-align:right; "/>
  4037. <output id="output2" ref="/root/hidden/con/examcnt" style="left:417px; top:538px; width:23px; height:19px; text-align:right; "/>
  4038. <caption id="caption7" style="left:330px; top:538px; width:15px; height:20px; text-align:right; ">건</caption>
  4039. <caption id="caption8" style="left:440px; top:538px; width:15px; height:20px; text-align:right; ">건</caption>
  4040. <select id="checkbox1" ref="/root/hidden/con/onemin" overflow="visible" appearance="full" style="left:945px; top:96px; width:90px; height:20px; border-style:none; ">
  4041. <choices>
  4042. <item>
  4043. <label>1분간격 풀기</label>
  4044. <value>Y</value>
  4045. </item>
  4046. </choices>
  4047. <script type="javascript" ev:event="xforms-value-changed">
  4048. <![CDATA[
  4049. if( getNodesetCount("/root/main/h_otpt3/otpt/otpt_pid") > 1 ){
  4050. fOneMinuteSpread();
  4051. }else{
  4052. if( model.getValue("/root/hidden/con/onemin") == 'Y' || model.getValue("/root/hidden/con/onemin") == 'y' ){
  4053. // var rowCount = datagrid6.rows - datagrid6.fixedRows;
  4054. var timeNow;
  4055. var timeNext;
  4056. var orddd;
  4057. var interval;
  4058. var outer = getNodesetCount("/root/main/h_otpt3/otpt/otpt_pid");
  4059. orddd = gDate;
  4060. timeNow = '0829';
  4061. timeNext = '1701';
  4062. interval = getTimeInterval( timeNow, timeNext ) / 60;
  4063. datagrid6.insertRow(outer, 'below', false, false);
  4064. outer = parseInt(outer) + 1;
  4065. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_ordtm")) = '0000';
  4066. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_orddd")) = orddd;
  4067. for(var inner=1; inner<interval; inner++){
  4068. datagrid6.insertRow(outer, 'below', false, false);
  4069. outer = parseInt(outer) + 1;
  4070. // rowCount = rowCount + 1;
  4071. timeNow = ((timeNow.toDate("hhmm")).getAddDate(1, 'm')).getDateFormat("hhmm");
  4072. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_ordtm")) = timeNow;
  4073. datagrid6.valueMatrix(outer, datagrid6.colRef("otpt_orddd")) = orddd;
  4074. datagrid6.isreadonly(outer, datagrid6.colRef("otpt_ordtm")) = true;
  4075. }
  4076. //datagrid6.rebuild();
  4077. // model.refresh();
  4078. }else{
  4079. //fClickOnCalendar();
  4080. fRsrvListRef(gDate);
  4081. // model.refresh();
  4082. }
  4083. model.refresh();
  4084. }
  4085. ]]>
  4086. </script>
  4087. </select>
  4088. <line id="line4" class="line_1" style="x1:635px; y1:118px; x2:1185px; y2:118px; "/>
  4089. <caption id="caption9" class="tit_2" style="left:640px; top:96px; width:85px; height:13px; ">예약리스트</caption>
  4090. <script type="javascript" ev:event="onmousedown">
  4091. <![CDATA[
  4092. if (event.button == 3 && !datagrid6.isCell(event.target) ) {
  4093. window.setPopupMenu(false);
  4094. }
  4095. ]]>
  4096. </script>
  4097. <select1 id="radio2" ref="/root/hidden/con/rsrvgubn" appearance="full" overflow="visible" style="left:237px; top:539px; width:70px; height:20px; border-style:none; ">
  4098. <choices>
  4099. <item>
  4100. <label>진료예약</label>
  4101. <value>1</value>
  4102. </item>
  4103. </choices>
  4104. <script type="javascript" ev:event="xforms-value-changed">
  4105. <![CDATA[
  4106. fChangeRsrvSpecTab();
  4107. ]]>
  4108. </script>
  4109. </select1>
  4110. <select1 id="radio3" ref="/root/hidden/con/rsrvgubn" appearance="full" overflow="visible" style="left:347px; top:539px; width:70px; height:20px; border-style:none; ">
  4111. <choices>
  4112. <item>
  4113. <label>검사예약</label>
  4114. <value>2</value>
  4115. </item>
  4116. </choices>
  4117. <script type="javascript" ev:event="xforms-value-changed">
  4118. <![CDATA[
  4119. fChangeRsrvSpecTab();
  4120. ]]>
  4121. </script>
  4122. </select1>
  4123. <group id="group1" style="left:32px; top:127px; width:360px; height:30px; ">
  4124. <button id="btn_jan" class="icon_month" style="left:0px; top:3px; width:27px; height:27px; ">
  4125. <caption>1</caption>
  4126. </button>
  4127. <button id="btn_feb" class="icon_month" style="left:30px; top:3px; width:27px; height:27px; ">
  4128. <caption>2</caption>
  4129. </button>
  4130. <button id="btn_mar" class="icon_month" style="left:60px; top:3px; width:27px; height:27px; ">
  4131. <caption>3</caption>
  4132. </button>
  4133. <button id="btn_apr" class="icon_month" style="left:90px; top:3px; width:27px; height:27px; ">
  4134. <caption>4</caption>
  4135. </button>
  4136. <button id="btn_may" class="icon_month" style="left:120px; top:3px; width:27px; height:27px; ">
  4137. <caption>5</caption>
  4138. </button>
  4139. <button id="btn_jun" class="icon_month" style="left:150px; top:3px; width:27px; height:27px; ">
  4140. <caption>6</caption>
  4141. </button>
  4142. <button id="btn_jul" class="icon_month" style="left:180px; top:3px; width:27px; height:27px; ">
  4143. <caption>7</caption>
  4144. </button>
  4145. <button id="btn_aug" class="icon_month" style="left:210px; top:3px; width:27px; height:27px; ">
  4146. <caption>8</caption>
  4147. </button>
  4148. <button id="btn_sep" class="icon_month" style="left:240px; top:3px; width:27px; height:27px; ">
  4149. <caption>9</caption>
  4150. </button>
  4151. <button id="btn_oct" class="icon_month" style="left:270px; top:3px; width:27px; height:27px; ">
  4152. <caption>10</caption>
  4153. </button>
  4154. <button id="btn_nov" class="icon_month" style="left:300px; top:3px; width:27px; height:27px; ">
  4155. <caption>11</caption>
  4156. </button>
  4157. <button id="btn_dec" class="icon_month" style="left:330px; top:3px; width:27px; height:27px; ">
  4158. <caption>12</caption>
  4159. </button>
  4160. <script type="javascript" ev:event="onclick">
  4161. <![CDATA[
  4162. var trgObj = document.controls.item(event.target);
  4163. if( trgObj.elementName == "xforms:button" ) {
  4164. var btnMark = trgObj.label;
  4165. if(beforeId != ""){
  4166. beforeObj = document.controls(beforeId);
  4167. if(beforeObj != null) beforeObj.disabled = "false";
  4168. }
  4169. trgObj.disabled = "true";
  4170. beforeId = trgObj.attribute("id");
  4171. //달력 변경
  4172. if( btnMark.length == 1 ){
  4173. btnMark = '0' + btnMark;
  4174. }
  4175. fGetCalendar(btnMark);
  4176. }
  4177. ]]>
  4178. </script>
  4179. </group>
  4180. <caption id="caption20" class="cell_2" style="left:1114px; top:705px; width:44px; height:15px; ">구 분</caption>
  4181. <caption id="caption18" style="left:1112px; top:723px; width:27px; height:15px; ">초진</caption>
  4182. <caption id="caption19" style="left:1094px; top:723px; width:15px; height:15px; background-color:#b9e5fb; "/>
  4183. <shape id="roundrect1" class="roundrect_example" appearance="roundrect" style="left:1089px; top:702px; width:96px; height:58px; "/>
  4184. <line id="line8" class="line_2" style="x1:636px; y1:740px; x2:1084px; y2:740px; "/>
  4185. <caption id="caption11" class="cell_1" style="left:636px; top:702px; width:67px; height:38px; text-align:center; vertical-align:middle; ">
  4186. <![CDATA[초진
  4187. 특이사항]]>
  4188. </caption>
  4189. <caption id="caption12" class="cell_1" style="left:636px; top:742px; width:67px; height:38px; text-align:center; vertical-align:middle; ">
  4190. <![CDATA[재진
  4191. 특이사항]]>
  4192. </caption>
  4193. <textarea id="input2" ref="/root/hidden/orddrfild/orddrfildlist/fstexamrem" class="input_default" editable="false" maxlength="100" appearance="textarea" style="left:706px; top:703px; width:378px; height:36px; "/>
  4194. <textarea id="input3" ref="/root/hidden/orddrfild/orddrfildlist/reexamrem" class="input_default" editable="false" maxlength="100" appearance="textarea" style="left:706px; top:743px; width:378px; height:36px; "/>
  4195. <button id="button1" class="btn2_letter4" style="left:825px; top:96px; width:64px; height:19px; ">
  4196. <caption>크게보기</caption>
  4197. <script type="javascript" ev:event="DOMActivate">
  4198. <![CDATA[
  4199. if(datagrid6.attribute("left") == '80'){
  4200. datagrid6.attribute("left") = "635";
  4201. datagrid6.attribute("width") = "550";
  4202. button1.text = '크게보기';
  4203. }else{
  4204. datagrid6.attribute("left") = "80";
  4205. datagrid6.attribute("width") = "1105";
  4206. button1.text = '원래대로';
  4207. }
  4208. ]]>
  4209. </script>
  4210. </button>
  4211. <line id="line1" class="line_1" style="x1:425px; y1:118px; x2:630px; y2:118px; "/>
  4212. <select1 id="combo2" ref="/root/hidden/con/updtcnclresncd" visibility="hidden" appearance="minimal" style="left:1100px; top:635px; width:20px; height:19px; ">
  4213. <choices>
  4214. <itemset nodeset="/root/hidden/enrcomncode/chngcnclresn">
  4215. <label ref="nm"/>
  4216. <value ref="nm"/>
  4217. </itemset>
  4218. </choices>
  4219. <script type="javascript" ev:event="xforms-value-changed">
  4220. <![CDATA[
  4221. model.setValue("/root/hidden/con/updtcnclresn", combo2.value);
  4222. ]]>
  4223. </script>
  4224. </select1>
  4225. <caption id="caption14" class="tit_2" visibility="hidden" style="left:670px; top:638px; width:105px; height:13px; ">변경취소사유 :</caption>
  4226. <caption id="caption1" style="left:312px; top:459px; width:55px; height:20px; text-align:center; background-color:#ffccff; ">임시오후</caption>
  4227. <caption id="caption2" style="left:146px; top:459px; width:35px; height:20px; text-align:center; background-color:#ffff99; ">오전</caption>
  4228. <caption id="caption15" style="left:184px; top:459px; width:35px; height:20px; text-align:center; background-color:#ccffff; ">오후</caption>
  4229. <caption id="caption17" style="left:220px; top:459px; width:35px; height:20px; text-align:center; background-color:#ffcc99; ">전일</caption>
  4230. <caption id="caption22" style="left:256px; top:459px; width:55px; height:20px; text-align:center; background-color:#c9c299; ">임시오전</caption>
  4231. <button id="btn_print" class="btn6_letter2" style="left:890px; top:95px; width:56px; height:22px; ">
  4232. <caption>출력</caption>
  4233. <script type="javascript" ev:event="DOMActivate">
  4234. <![CDATA[
  4235. // var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  4236. //
  4237. // if (fileName != "")
  4238. // {
  4239. // datagrid6.saveExcel(fileName, "SheetName", true, true, "", "", "true");
  4240. // }
  4241. fRsrvInfolistPrint();
  4242. ]]>
  4243. </script>
  4244. </button>
  4245. <select id="checkbox3" ref="/root/hidden/con/mjtoggle" overflow="visible" appearance="full" style="left:725px; top:96px; width:100px; height:20px; border-style:none; ">
  4246. <choices>
  4247. <item>
  4248. <label>주사/물리치료</label>
  4249. <value>Y</value>
  4250. </item>
  4251. </choices>
  4252. <script type="javascript" ev:event="xforms-value-changed">
  4253. <![CDATA[
  4254. fRsrvListRef(gDate);
  4255. model.refresh();
  4256. ]]>
  4257. </script>
  4258. </select>
  4259. <select1 id="radio1" ref="/root/hidden/con/caloption" appearance="full" cellspacing="8" cols="1" rows="2" overflow="visible" style="left:30px; top:94px; width:95px; height:35px; background-color:transparent; border-style:none; ">
  4260. <choices>
  4261. <item>
  4262. <label>예약현황</label>
  4263. <value>2</value>
  4264. </item>
  4265. <item>
  4266. <label>예약가능인원</label>
  4267. <value>1</value>
  4268. </item>
  4269. </choices>
  4270. <script type="javascript" ev:event="xforms-value-changed">
  4271. <![CDATA[
  4272. // var isMonth = model.getValue("/root/hidden/calendar/month");
  4273. // var isYear = model.getValue("/root/hidden/calendar/year");
  4274. // var isDate = (isYear+isMonth+1).toDate();
  4275. var isDate = model.getValue("/root/hidden/con/date");
  4276. isDate = (isDate+1).toDate();
  4277. //fGetCalendarData();
  4278. setCalendar2(isDate);
  4279. //fRemoveCapa();
  4280. model.removeNodeset("/root/main/outrgst/outrgstlist");
  4281. ]]>
  4282. </script>
  4283. </select1>
  4284. <datagrid id="datagrid3" nodeset="/root/main/rsrv" visibility="visible" caption="^1주일 후^2주일 후^3주일 후^4주일 후^8주일 후^12주일 후^16주일 후^24주일 후" colsep="^" colwidth="67, 70, 70, 70, 70, 70, 70, 70, 70" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:-1px; top:480px; width:630px; height:49px; ">
  4285. <col ref="nm" style="text-align:center; background-color:#99ccff; "/>
  4286. <col ref="after1week" format="yyyy-mm-dd" style="text-align:center; "/>
  4287. <col ref="after2week" format="yyyy-mm-dd" style="text-align:center; "/>
  4288. <col ref="after3week" format="yyyy-mm-dd" style="text-align:center; "/>
  4289. <col ref="after4week" format="yyyy-mm-dd" style="text-align:center; "/>
  4290. <col ref="after8week" format="yyyy-mm-dd" style="text-align:center; "/>
  4291. <col ref="after12week" format="yyyy-mm-dd" style="text-align:center; "/>
  4292. <col ref="after16week" format="yyyy-mm-dd" style="text-align:center; "/>
  4293. <col ref="after24week" format="yyyy-mm-dd" style="text-align:center; "/>
  4294. <script type="javascript" ev:event="ondblclick">
  4295. <![CDATA[
  4296. var cur_row = datagrid3.row;
  4297. var cur_col = datagrid3.col;
  4298. if(cur_row == 1 && cur_col > 0 && isDataCell()){
  4299. var selectedDD = datagrid3.valueMatrix(cur_row, cur_col);
  4300. gDate = selectedDD;
  4301. model.setValue("/root/hidden/con/date", selectedDD.substr(0, 6));
  4302. fChangeButtonColor(gDate);
  4303. // fGetCalendar(selectedDD.substr(4,2));
  4304. fOrdScheCalendarRef();
  4305. // fExamCapRef(gDate);
  4306. fRsrvListRef(gDate);
  4307. model.refresh();
  4308. }
  4309. ]]>
  4310. </script>
  4311. </datagrid>
  4312. <bool id="bool1" checkvalue="Y,N" ref="/root/hidden/con/historysearchyn" style="left:75px; top:537px; width:20px; height:20px; ">
  4313. <script type="javascript" ev:event="xforms-value-changed">
  4314. <![CDATA[
  4315. if(model.getValue("/root/hidden/con/historysearchyn") == 'Y'){
  4316. model.setValue("/root/hidden/con/historysearchperiod", "-");
  4317. cmb_searchperiod.visible = true;
  4318. cmb_searchperiod.refresh();
  4319. }else{
  4320. var curDate = getCurrentDate();
  4321. datagrid4.attribute("nodeset") = "/root/main/h_otpt1/otpt[ otpt_orddd >= " + curDate + "]";
  4322. datagrid4.rebuild();
  4323. model.setValue("/root/hidden/con/historysearchperiod", "-");
  4324. cmb_searchperiod.visible = false;
  4325. cmb_searchperiod.refresh();
  4326. }
  4327. ]]>
  4328. </script>
  4329. </bool>
  4330. <caption id="caption26" style="left:94px; top:538px; width:51px; height:20px; ">과거예약</caption>
  4331. <select1 id="cmb_searchperiod" ref="/root/hidden/con/historysearchperiod" visibility="hidden" appearance="minimal" style="left:145px; top:537px; width:90px; height:19px; ">
  4332. <choices>
  4333. <item>
  4334. <label>-</label>
  4335. <value>-</value>
  4336. </item>
  4337. <item>
  4338. <label>1개월 이내</label>
  4339. <value>1</value>
  4340. </item>
  4341. <item>
  4342. <label>2개월 이내</label>
  4343. <value>2</value>
  4344. </item>
  4345. <item>
  4346. <label>3개월 이내</label>
  4347. <value>3</value>
  4348. </item>
  4349. <item>
  4350. <label>6개월 이내</label>
  4351. <value>4</value>
  4352. </item>
  4353. <item>
  4354. <label>1년 이내</label>
  4355. <value>12</value>
  4356. </item>
  4357. <item>
  4358. <label>전체정보</label>
  4359. <value>A</value>
  4360. </item>
  4361. </choices>
  4362. <script type="javascript" ev:event="xforms-value-changed">
  4363. <![CDATA[
  4364. if( model.getValue("/root/hidden/con/historysearchperiod") != '-' && model.getValue("/root/hidden/con/historysearchperiod") != 'A'){
  4365. var mAgo = model.getValue("/root/hidden/con/historysearchperiod");
  4366. mAgo = parseInt(mAgo) * -1;
  4367. var curDate = getCurrentDate();
  4368. curDate = curDate.toDate().getAddDate(mAgo,"M");
  4369. var aYearAgo = curDate.getFullYear();
  4370. aYearAgo = aYearAgo.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  4371. aYearAgo = aYearAgo.toString() + (( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
  4372. datagrid4.attribute("nodeset") = "/root/main/h_otpt1/otpt[ otpt_orddd >= " + aYearAgo + "]";
  4373. //datagrid4.rebuild();
  4374. }else if( model.getValue("/root/hidden/con/historysearchperiod") == 'A' ){
  4375. datagrid4.attribute("nodeset") = "/root/main/h_otpt1/otpt";
  4376. //datagrid4.rebuild();
  4377. }else{
  4378. var curDate = getCurrentDate();
  4379. datagrid4.attribute("nodeset") = "/root/main/h_otpt1/otpt[ otpt_orddd >= " + curDate + "]";
  4380. }
  4381. // model.refresh();
  4382. datagrid4.rebuild();
  4383. ]]>
  4384. </script>
  4385. </select1>
  4386. <caption id="caption4" class="tit_2" visibility="visible" style="left:0px; top:465px; width:89px; height:13px; ">예약일</caption>
  4387. <button id="button5" class="btn2_letter4" style="left:1089px; top:761px; width:64px; height:19px; ">
  4388. <caption>엑셀저장</caption>
  4389. <script type="javascript" ev:event="DOMActivate">
  4390. <![CDATA[
  4391. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  4392. if (fileName != ""){
  4393. datagrid6.saveExcel(fileName, "예약리스트", true, true, "", "", true);
  4394. }
  4395. ]]>
  4396. </script>
  4397. </button>
  4398. <caption id="caption16" class="cell_1" style="left:315px; top:93px; width:40px; height:16px; ">오전</caption>
  4399. <caption id="caption23" class="cell_1" style="left:315px; top:110px; width:40px; height:16px; ">오후</caption>
  4400. <output id="pmcnt" ref="/root/main/rsrvcnt/pmcnt" style="left:356px; top:109px; width:60px; height:19px; text-align:center; "/>
  4401. <output id="amcnt" ref="/root/main/rsrvcnt/amcnt" style="left:356px; top:92px; width:60px; height:19px; text-align:center; "/>
  4402. <caption id="caption25" style="left:786px; top:0px; width:80px; height:20px; ">* 중증종료 :</caption>
  4403. <caption id="caption27" style="left:941px; top:0px; width:104px; height:20px; ">* 산정특례종료 :</caption>
  4404. <output id="output3" ref="/root/hidden/con/sdoatodd" format="yyyy-mm-dd" style="left:854px; top:0px; width:80px; height:19px; font-weight:bold; color:#ff0000; text-align:left; "/>
  4405. <output id="output4" ref="/root/hidden/con/rooatodd" format="yyyy-mm-dd" style="left:1033px; top:0px; width:80px; height:19px; font-weight:bold; color:#ff0000; text-align:left; "/>
  4406. <caption id="caption28" style="left:1139px; top:723px; width:15px; height:15px; background-color:#969696; "/>
  4407. <caption id="caption29" style="left:1157px; top:723px; width:32px; height:15px; ">사망</caption>
  4408. <input id="input4" ref="/root/main/addrsrvdd" imemode="alpha" style="left:70px; top:460px; width:30px; height:19px; text-align:right; ">
  4409. <script type="javascript" ev:event="onkeypress">
  4410. <![CDATA[
  4411. if(event.keyCode == "13"){
  4412. setInputNodeCurText();
  4413. var addrsrvdd = eval(model.getValue("/root/main/addrsrvdd"));
  4414. var selectedDD = (gDate.toDate("YYYYMMDD").getAddDate(addrsrvdd, "D")).getDateFormat();
  4415. gDate = selectedDD;
  4416. model.setValue("/root/hidden/con/date", selectedDD.substr(0, 6));
  4417. fChangeButtonColor(gDate);
  4418. // fGetCalendar(selectedDD.substr(4,2));
  4419. fOrdScheCalendarRef();
  4420. // fExamCapRef(gDate);
  4421. fRsrvListRef(gDate);
  4422. model.refresh();
  4423. }
  4424. ]]>
  4425. </script>
  4426. </input>
  4427. <caption id="caption30" style="left:102px; top:461px; width:80px; height:20px; ">일 후</caption>
  4428. <datagrid id="datagrid6" nodeset="/root/main/h_otpt3/otpt" class="datagrid2" autoresize="true" backcoloralternate="transparent" caption="시간^등록번호^성명^집전화번호^휴대전화번호^초/재진^진료&#xA;비^진료&#xA;여부^예약구분^진료구분^전화번호^remark^remark^이지&#xA;패스^보험유형^선택서명^전화예약 참고사항^원무팀 참고사항^변경/취소 사유^일정구분^기타구분^최초등록자^최초등록부서^최초등록일시" colsep="^" colwidth="34, 54, 42, 0, 0, 10, 30, 30, 54, 54, 84, 134, 20, 30, 73, 60, 153, 250, 163, 100, 100, 69, 104, 148, 100, 100" defaultrows="2" fixedcols="0,1,2" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:635px; top:123px; width:550px; height:577px; ">
  4429. <col autonext="false" ref="otpt_ordtm" type="input" format="hh:nn" style="text-align:center; "/>
  4430. <col ref="otpt_pid" type="input" style="text-align:center; "/>
  4431. <col ref="ptbs_hngnm"/>
  4432. <col ref="ptbs_hometel" visibility="hidden"/>
  4433. <col ref="ptbs_mpphontel" visibility="hidden"/>
  4434. <col disabled="true" ref="otpt_fsexamflag" visibility="hidden"/>
  4435. <col disabled="true" ref="otpt_histstat" type="combo" style="left:406px; top:32px; width:42px; height:23px; text-align:center; ">
  4436. <choices>
  4437. <item>
  4438. <label>Y</label>
  4439. <value>R</value>
  4440. </item>
  4441. <item>
  4442. <label>N</label>
  4443. <value>T</value>
  4444. </item>
  4445. </choices>
  4446. </col>
  4447. <col ref="otpt_dracptyn" style="text-align:center; "/>
  4448. <col disabled="true" ref="otpt_rsrvflag" type="combo">
  4449. <choices>
  4450. <itemset nodeset="/root/init_com/init/P0341list/P0341">
  4451. <label ref="cdnm"/>
  4452. <value ref="cdid"/>
  4453. </itemset>
  4454. </choices>
  4455. </col>
  4456. <col disabled="true" ref="otpt_etcordflag" type="combo">
  4457. <choices>
  4458. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  4459. <label ref="cdnm"/>
  4460. <value ref="cdid"/>
  4461. </itemset>
  4462. </choices>
  4463. </col>
  4464. <col ref="otpt_telnum"/>
  4465. <col editmode="input" ref="otpt_remfact" type="input"/>
  4466. <col ref="otpt_remfactcd" type="combo">
  4467. <choices>
  4468. <itemset nodeset="/root/hidden/enrcomncode/remark">
  4469. <label ref="nm"/>
  4470. <value ref="nm"/>
  4471. </itemset>
  4472. </choices>
  4473. </col>
  4474. <col ref="otpt_ezpassyn" style="text-align:center; "/>
  4475. <col disabled="true" ref="otpt_insukind" type="combo">
  4476. <choices>
  4477. <itemset nodeset="/root/init/insukind">
  4478. <label ref="nm"/>
  4479. <value ref="cd"/>
  4480. </itemset>
  4481. </choices>
  4482. </col>
  4483. <col disabled="true" ref="otpt_specsignyn" type="combo">
  4484. <choices>
  4485. <item>
  4486. <label>서명</label>
  4487. <value>Y</value>
  4488. </item>
  4489. </choices>
  4490. </col>
  4491. <col ref="otpt_telrsrvrem"/>
  4492. <col ref="ptbs_remfact"/>
  4493. <col ref="otpt_updtcnclresn"/>
  4494. <col ref="otpt_reglscheflag" visibility="hidden"/>
  4495. <col ref="otpt_etcordflag" visibility="hidden"/>
  4496. <col ref="otpt_fstacptnm" style="text-align:center; "/>
  4497. <col ref="otpt_fstacptdept" style="text-align:center; "/>
  4498. <col ref="otpt_fstacptdt" format="yyyy-mm-dd hh:nn:ss" style="text-align:center; "/>
  4499. <col ref="otpt_dethyn" visibility="hidden"/>
  4500. <col ref="etcrsrvflag" visibility="hidden"/>
  4501. <!-- 2016/08/27 이벤트 변경(ondblclick->onclick)-->
  4502. <script type="javascript" ev:event="onclick">
  4503. <![CDATA[
  4504. //그리드의 데이터 부분에서 이벤트가 발생한것인지 체크
  4505. if(!isDataCell()){
  4506. return false;
  4507. }
  4508. //그리드에 데이터가 있는지 체크
  4509. if(getNodesetCount("/root/main/h_otpt3/otpt") < 1) return false;
  4510. var cur_row = datagrid6.row;
  4511. var cur_col = datagrid6.col;
  4512. if(cur_col == datagrid6.colRef("otpt_ordtm") || cur_col == datagrid6.colRef("otpt_pid")){
  4513. // 이정택 다학제 관련 추가
  4514. var otpt_etcordflag = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_etcordflag");
  4515. if(otpt_etcordflag=='3' || otpt_etcordflag=='4' || otpt_etcordflag=='5' ||
  4516. otpt_etcordflag=='6' || otpt_etcordflag=='7' || otpt_etcordflag=='8' ||
  4517. otpt_etcordflag=='9'){
  4518. model.setValue("/root/main/dahakje/dahakjeyn", "Y");
  4519. chk_dahakje.dispatch("xforms-value-changed");
  4520. }else{
  4521. var otpt_pid=model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_pid");
  4522. if(otpt_pid!="" && otpt_pid!=null){
  4523. model.setValue("/root/main/dahakje/dahakjeyn", "N");
  4524. chk_dahakje.dispatch("xforms-value-changed");
  4525. }
  4526. }
  4527. // 이정택 다학제 관련 추가
  4528. var grd_pid = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/otpt_pid");
  4529. if(grd_pid == '' || grd_pid == ' ' || grd_pid == '-'){
  4530. //그리드 더블클릭시 조회한 환자 자동 예약.
  4531. var pid = model.getValue("/root/hidden/con/pid");
  4532. if(pid == '' || pid == ' ' || pid == '-'){
  4533. return false;
  4534. }
  4535. var hngnm = model.getValue("/root/main/h_otpt3/otpt["+ datagrid6.row +"]/ptbs_hngnm");
  4536. if(hngnm != null && hngnm != "" && hngnm != " " && hngnm != "-"){
  4537. messageBox("이미 예약된 슬롯입니다. 빈 슬롯을 선택하십시요!","E999","");
  4538. return;
  4539. }
  4540. //조회된 환자 등록번호를 슬롯에 넣는다.
  4541. datagrid6.valueMatrix(datagrid6.row, datagrid6.colRef("otpt_pid")) = pid;
  4542. //예약
  4543. fPatRsrvSave();
  4544. }else{
  4545. model.setValue("/root/hidden/con/pid", grd_pid);
  4546. fPatRsrvInfoRef();
  4547. model.refresh();
  4548. }
  4549. }else if( cur_col == datagrid6.colRef("ptbs_hngnm") || cur_col == datagrid6.colRef("otpt_histstat") || cur_col == datagrid6.colRef("otpt_rsrvflag") ){
  4550. //성명~예약구분까지 더블클릭시 해당환자의 '통합결과조회' 팝업창을 호출!!!
  4551. //예약내역이 없는 필드 체크
  4552. var hngnm = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm"));
  4553. var pid = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid"));
  4554. if (hngnm == null && hngnm == "" && hngnm == " " && hngnm == "-"){
  4555. return false;
  4556. }
  4557. setParameter("SMMMO02500_cond", pid);
  4558. modal("SMMMO02500", "1", "50", "50", "SMMMO02500", "", "");
  4559. }else if( cur_col == datagrid6.colRef("otpt_telnum")){
  4560. //전화번호 더블클릭시 해당환자의 '전화번호/주소 조회 및 수정 창' 팝업창을 호출!!!
  4561. //예약내역이 없는 필드 체크
  4562. var hngnm = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm"));
  4563. var pid = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid"));
  4564. if (hngnm == null && hngnm == "" && hngnm == " " && hngnm == "-"){
  4565. return false;
  4566. }
  4567. //setParameter("opener_parameter_id", pid);
  4568. model.removeNodeset("/root/temp/source");
  4569. model.makeValue("/root/temp/source/srchcond", "1");
  4570. model.makeValue("/root/temp/source/pid", pid);
  4571. modal("SPPMO01400", "1", "100", "100", "SPPMO01400", "/root/temp/source", "/root/source");
  4572. var hometel = getParameter("SMPMO01400_hometel");
  4573. var mpphontel = getParameter("SMPMO01400_mpphontel");
  4574. var save = getParameter("SMPMO01400_save"); //20091203 zzui
  4575. if( hometel != '' && mpphontel != '' && save == "Y"){
  4576. datagrid6.valueMatrix( cur_row, datagrid6.colRef("ptbs_hometel")) = hometel;
  4577. datagrid6.valueMatrix( cur_row, datagrid6.colRef("ptbs_mpphontel")) = mpphontel;
  4578. datagrid6.valueMatrix( cur_row, datagrid6.colRef("otpt_telnum")) = hometel + "\n" + mpphontel;
  4579. }
  4580. model.removeNodeset("/root/temp/source");
  4581. }
  4582. ]]>
  4583. </script>
  4584. <script type="javascript" ev:event="onmousedown">
  4585. <![CDATA[
  4586. if (event.button == 3){
  4587. if(datagrid6.isCell(event.target)){
  4588. //if(datagrid6.isCell(event.target) && datagrid6.mouseRow >= datagrid6.fixedRows){
  4589. datagrid6.endEditCell();
  4590. var currow = datagrid6.mouseRow;
  4591. var rowcnt = parseInt(getNodesetCount("/root/hidden/rghtmenu/menu")) + 1;
  4592. model.copyNode("/root/hidden/rghtmenu1", "/root/hidden/rghtmenu");
  4593. if( REGLSCHEYN == 'Y' ){
  4594. // if( model.getValue("/root/init/overcapa/overcapayn") != 'N' ){
  4595. //임의시간 입력
  4596. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4597. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4598. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "예약시간추가");
  4599. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fAddRsrvTime");
  4600. rowcnt = parseInt(rowcnt) + 1;
  4601. // }
  4602. // if( model.getValue("/root/init/overcapa/overcapayn") == 'N' ){
  4603. //임의시간 입력
  4604. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4605. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4606. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "예약대기");
  4607. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fMakeRsrvDefer");
  4608. rowcnt = parseInt(rowcnt) + 1;
  4609. // }
  4610. //2009-03-09 이동식 추가
  4611. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4612. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4613. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "진료시간변경");
  4614. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fSetRsrvTime");
  4615. rowcnt = parseInt(rowcnt) + 1;
  4616. //임상
  4617. if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'P' || model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'Q'){
  4618. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4619. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4620. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "임상연구예약취소");
  4621. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fStdyRsrvCncl");
  4622. rowcnt = parseInt(rowcnt) + 1;
  4623. }
  4624. //CP
  4625. if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != '' && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != '-' ){
  4626. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4627. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4628. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "CP F/U 예약취소");
  4629. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fCPRsrvCncl");
  4630. rowcnt = parseInt(rowcnt) + 1;
  4631. }
  4632. //당일 가접수 생성 팝업메뉴 추가!!
  4633. if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_orddd") < getCurrentDate() ){
  4634. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4635. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4636. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "당일 가접수 생성");
  4637. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fMakeTodayRgst");
  4638. rowcnt = parseInt(rowcnt) + 1;
  4639. }
  4640. //주사/물리치료 -> 일반접수 변경
  4641. if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == 'J' || model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") == 'M' ){
  4642. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4643. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4644. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "주사/물리치료 -> 일반접수 변경");
  4645. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fChngToNomalRgst");
  4646. rowcnt = parseInt(rowcnt) + 1;
  4647. }
  4648. //일반접수 -> 주사/물리치료 변경
  4649. //(model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rsrvflag") == 'J' || model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_rsrvflag") == 'M')
  4650. if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") != 'J' && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_etcordflag") != 'M' ){
  4651. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label");
  4652. model.makeNode("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func");
  4653. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/label", "일반접수 -> 주사/물리치료 변경");
  4654. model.setValue("/root/hidden/rghtmenu1/menu[" + rowcnt + "]/func", "fChngToMJ");
  4655. rowcnt = parseInt(rowcnt) + 1;
  4656. }
  4657. }
  4658. window.setPopupMenu(true, "/root/hidden/rghtmenu1/menu", "label", "func", false);
  4659. /*
  4660. //임상+CP
  4661. if( (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'P' || model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'Q')
  4662. && (model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != ''
  4663. && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != '-') ){
  4664. window.setPopupMenu(true, "/root/hidden/rghtmenu4/menu", "label", "func", false);
  4665. //임상
  4666. }else if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'P' || model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_clincstdyacptflag") == 'Q'){
  4667. window.setPopupMenu(true, "/root/hidden/rghtmenu3/menu", "label", "func", false);
  4668. //CP
  4669. }else if( model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != '' && model.getValue("/root/main/h_otpt3/otpt["+ currow +"]/otpt_onestop") != '-' ){
  4670. window.setPopupMenu(true, "/root/hidden/rghtmenu2/menu", "label", "func", false);
  4671. }else{
  4672. window.setPopupMenu(true, "/root/hidden/rghtmenu1/menu", "label", "func", false);
  4673. }
  4674. */
  4675. }else{
  4676. window.setPopupMenu(false);
  4677. }
  4678. }
  4679. ]]>
  4680. </script>
  4681. <script type="javascript" ev:event="xforms-value-changed">
  4682. <![CDATA[
  4683. //가예약 내역이거나 접수내역이 아닌경우 참고사항 입력 불가!!
  4684. var tablename = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_tablename") );
  4685. var pid = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_pid") );
  4686. var hngnm = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("ptbs_hngnm") );
  4687. // if( tablename == "temp"){
  4688. // messageBox("가예약내역의 참고사항은 수정할 수 없습니다.", "E999", "");
  4689. // datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfact")) = "";
  4690. // datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfactcd")) = "";
  4691. // return false;
  4692. // }else if( pid == '' ){
  4693. // return true;
  4694. // }
  4695. if( pid == '' && hngnm == '' ){
  4696. if( datagrid6.col == datagrid6.colRef("otpt_ordtm") ){
  4697. datagrid6.isReadOnly(datagrid6.row, datagrid6.colRef("otpt_ordtm")) = true;
  4698. }
  4699. return false;
  4700. }
  4701. if( datagrid6.col == datagrid6.colRef("otpt_remfactcd") ){
  4702. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfact")) = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfactcd")) + ', ' + datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfact"));
  4703. datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_remfactcd")) = '';
  4704. datagrid6.refresh();
  4705. }else if( datagrid6.col == datagrid6.colRef("otpt_remfact") ){
  4706. //당일 예약 및 변경 블럭킹
  4707. if( ! fCheckTodayRsrvUpdt('C')){
  4708. messageBox("당일 이전 예약내역은 Remark 내용을 변경할 수 없습니다.","E999","");
  4709. fRsrvListRef(gDate);
  4710. model.refresh();
  4711. return false;
  4712. }
  4713. }else if( datagrid6.col == datagrid6.colRef("otpt_ordtm") ){
  4714. //당일 예약 및 변경 블럭킹
  4715. if( ! fCheckTodayRsrvUpdt('C')){
  4716. messageBox("당일 이전 예약내역은 진료시간을 변경할 수 없습니다.","E999","");
  4717. fRsrvListRef(gDate);
  4718. model.refresh();
  4719. return false;
  4720. }
  4721. //2009-03-09 이동식 수정
  4722. var subdeptcd = model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_subdeptcd");
  4723. var centcd = model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_centcd");
  4724. var orddeptcd = model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_orddeptcd");
  4725. var orddrid = model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_orddrid");
  4726. var orddd = model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_orddd");
  4727. var ordtm = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_ordtm"));
  4728. var fsexamflag = datagrid6.valueMatrix( datagrid6.row, datagrid6.colRef("otpt_fsexamflag"));
  4729. var sRsrvflag = RSRVFLAG;
  4730. if( model.getValue("/root/main/h_otpt3/otpt[" + datagrid6.row + "]/otpt_insukind") == "71" ){
  4731. sRsrvflag = 'Q';
  4732. }
  4733. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, REGLSCHEYN);
  4734. if( retVal == false ){
  4735. fRsrvListRef(gDate);
  4736. model.refresh();
  4737. return false;
  4738. }else if( retVal != true ){
  4739. //센터접수
  4740. // model.setValue("/root/hidden/con/centcd", retVal);
  4741. }else{
  4742. //센터코드 초기화
  4743. // model.setValue("/root/hidden/con/centcd", '-');
  4744. }
  4745. //END
  4746. }else{
  4747. return false;
  4748. }
  4749. //당일 예약 및 변경 블럭킹
  4750. // if( ! fCheckTodayRsrvUpdt('C')){
  4751. // messageBox("당일 이전 예약내역은 Remark 내용을 변경할 수 없습니다.","E999","");
  4752. // fRsrvListRef(gDate);
  4753. // model.refresh();
  4754. // return false;
  4755. // }
  4756. model.makeNode("/root/send/sendremark");
  4757. model.makeNode("/root/send/rcv");
  4758. model.copyNode("/root/send/sendremark", "/root/main/h_otpt3/otpt[" + datagrid6.row + "]");
  4759. submit("TXPMO00304");
  4760. model.removeNodeset("/root/send/sendremark");
  4761. model.removeNodeset("/root/send/rcv");
  4762. // else if( datagrid6.col == datagrid6.colRef("otpt_pid") ){
  4763. // //예약
  4764. // fPatRsrvSave();
  4765. // }
  4766. ]]>
  4767. </script>
  4768. <script type="javascript" ev:event="onkeypress">
  4769. <![CDATA[
  4770. if (event.keyCode == "13"){
  4771. if( datagrid6.col == datagrid6.colRef("otpt_pid")){
  4772. //예약
  4773. fPatRsrvSave();
  4774. }
  4775. }
  4776. ]]>
  4777. </script>
  4778. <script type="javascript" ev:event="onentercell">
  4779. <![CDATA[
  4780. if( datagrid6.isreadonly(datagrid6.row, datagrid6.col) == false && event.button != 3){
  4781. if (datagrid6.col == datagrid6.colRef("otpt_pid") || datagrid6.col == datagrid6.colRef("otpt_remfact") || datagrid6.col == datagrid6.colRef("otpt_ordtm")) {
  4782. datagrid6.editCell();
  4783. }
  4784. }
  4785. ]]>
  4786. </script>
  4787. <script type="javascript" ev:event="DOMFocusOut">
  4788. <![CDATA[
  4789. initPopupMenu();
  4790. ]]>
  4791. </script>
  4792. </datagrid>
  4793. <!-- 다학제 관련 추가 시작 (이정택)-->
  4794. <select id="chk_dahakje" ref="/root/main/dahakje/dahakjeyn" visibility="hidden" overflow="visible" appearance="full" style="left:1035px; top:96px; width:80px; height:20px; border-style:none; ">
  4795. <choices>
  4796. <item>
  4797. <label>다학제예약</label>
  4798. <value>Y</value>
  4799. </item>
  4800. </choices>
  4801. <script type="javascript" ev:event="xforms-value-changed">
  4802. <![CDATA[
  4803. var dahakjeyn = model.getValue("/root/main/dahakje/dahakjeyn");
  4804. if(dahakjeyn=="Y"){
  4805. btn_dahakjeaddtm.visible=true;
  4806. }else{
  4807. btn_dahakjeaddtm.visible=false;
  4808. }
  4809. btn_dahakjeaddtm.refresh();
  4810. ]]>
  4811. </script>
  4812. </select>
  4813. <button id="btn_dahakjeaddtm" class="btn2_letter4" visibility="hidden" style="left:1115px; top:95px; width:64px; height:19px; ">
  4814. <caption>시간추가</caption>
  4815. <script type="javascript" ev:event="DOMActivate">
  4816. <![CDATA[
  4817. datagrid6.addRow();
  4818. datagrid6.refresh();
  4819. ]]>
  4820. </script>
  4821. </button>
  4822. <!-- 다학제 관련 추가 끝(이정택)-->
  4823. <button id="button3" class="btn2_letter7" style="left:532px; top:536px; width:97px; height:19px; ">
  4824. <caption>가셔야할곳출력</caption>
  4825. <hint>
  4826. <![CDATA[가셔야할 곳 출력]]>
  4827. </hint>
  4828. <script type="javascript" ev:event="DOMActivate">
  4829. <![CDATA[
  4830. var row = datagrid4.row;
  4831. if (row < 1) {
  4832. messageBox("예약 내역을 선택한 후 출력해 주십시오.", "E999");
  4833. return;
  4834. }
  4835. var instcd = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_instcd");
  4836. var pid = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_pid");
  4837. var orddd = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_orddd");
  4838. var cretno = model.getValue("/root/main/h_otpt1/otpt[" + row + "]/otpt_cretno");
  4839. fPrtPlceToGo(instcd, pid, orddd, cretno, "N");
  4840. ]]>
  4841. </script>
  4842. </button>
  4843. <button id="btn_listprint" class="btn2_letter5" visibility="hidden" style="left:455px; top:536px; width:75px; height:19px; ">
  4844. <caption>리스트출력</caption>
  4845. <hint>
  4846. <![CDATA[리스트출력]]>
  4847. </hint>
  4848. <script type="javascript" ev:event="DOMActivate">
  4849. <![CDATA[
  4850. var cnt = getNodesetCount("/root/main/h_otpt1/otpt[otpt_chk='Y']");
  4851. if(cnt==0){
  4852. messageBox("선택된 예약정보가 없습니다.", "E");
  4853. return;
  4854. }
  4855. model.makeNode("/root/main/rsrvprintlist");
  4856. copyNodeListType( "/root/main/rsrvprintlist", "/root/main/h_otpt1/otpt[otpt_chk='Y']", "replace", model, model );
  4857. model.makeValue("/root/main/rsrvprintlist/printinfo/hngnm", model.getValue("/root/hidden/con/hngnm"));
  4858. model.refresh();
  4859. exeReportPreview("RPPMO00300", "XMLSTR", "/root/main/rsrvprintlist");
  4860. ]]>
  4861. </script>
  4862. </button>
  4863. <button id="button2" class="icon_pre_year" style="left:135px; top:106px; width:16px; height:16px; ">
  4864. <caption/>
  4865. <script type="javascript" ev:event="DOMActivate">
  4866. <![CDATA[
  4867. fGetPreviousCalendar();
  4868. ]]>
  4869. </script>
  4870. </button>
  4871. <button id="button4" class="icon_next_year" style="left:270px; top:106px; width:16px; height:16px; ">
  4872. <caption/>
  4873. <script type="javascript" ev:event="DOMActivate">
  4874. <![CDATA[
  4875. fGetNextCalendar();
  4876. ]]>
  4877. </script>
  4878. </button>
  4879. <caption id="caption31" style="left:1139px; top:741px; width:15px; height:15px; background-color:#9fc93cff; "/>
  4880. <caption id="caption32" style="left:1157px; top:741px; width:32px; height:15px; ">심층</caption>
  4881. <caption id="caption33" style="left:1112px; top:741px; width:27px; height:15px; ">협력</caption>
  4882. <caption id="caption34" style="left:1094px; top:741px; width:15px; height:15px; background-color:#fd97b7ff; "/>
  4883. </xhtml:body>
  4884. </xhtml:html>