SMPMO00100_외래등록.xrw 888 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMPMO00100_외래등록.xrw
  4. * 설 명 : 외래등록
  5. * 설 계 자 : 유정란
  6. * 작 성 자 : 유정란
  7. * 작 성 일 : 2007.03.13
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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. <ptbs>
  20. <ptbs_pid/>
  21. <ptbs_instcd/>
  22. <ptbs_hngnm/>
  23. <ptbs_engnm/>
  24. <ptbs_chinm/>
  25. <ptbs_rrgstno1/>
  26. <ptbs_rrgstno2/>
  27. <ptbs_brthdd/>
  28. <ptbs_sex/>
  29. <ptbs_age/>
  30. <ptbs_bindpid/>
  31. <ptbs_hometel/>
  32. <ptbs_mpphontel/>
  33. <ptbs_etctel1/>
  34. <ptbs_etctel2/>
  35. <ptbs_smsaprvyn/>
  36. <ptbs_email/>
  37. <ptbs_zipcd1/>
  38. <ptbs_zipcd2/>
  39. <ptbs_zipcdseq/>
  40. <ptbs_highaddr/>
  41. <ptbs_detladdr/>
  42. <ptbs_btype/>
  43. <ptbs_rh/>
  44. <ptbs_forgeryn/>
  45. <ptbs_nati/>
  46. <ptbs_psptno/>
  47. <ptbs_recmyn/>
  48. <ptbs_recmerid/>
  49. <ptbs_recmernm/>
  50. <ptbs_recmerrela/>
  51. <ptbs_vipyn/>
  52. <ptbs_viprem/>
  53. <ptbs_religncd/>
  54. <ptbs_baptnm/>
  55. <ptbs_chchnm/>
  56. <ptbs_dethyn/>
  57. <ptbs_dethdt/>
  58. <ptbs_chosresn/>
  59. <ptbs_animyn/>
  60. <ptbs_exptresncd/>
  61. <ptbs_inhospyn/>
  62. <ptbs_remfact/>
  63. <ptbs_fstrgstrid/>
  64. <ptbs_fstrgstdt/>
  65. <ptbs_lastupdtrid/>
  66. <ptbs_lastupdtdt/>
  67. <ptbs_outunco/>
  68. <ptbs_inunco/>
  69. <ptbs_aidunco/>
  70. <ptbs_tdaydsch/>
  71. <ptbs_keepamt/>
  72. <ptbs_onlineaccountno/>
  73. <ptbs_kioskrcptnoyn/>
  74. <ptbs_carnum/>
  75. <ptbs_ptunyn/>
  76. <ptbs_scanyn/>
  77. <ptbs_spifscanyn/>
  78. <ptbs_hngnm2/>
  79. <ptbs_isolinfo/>
  80. <ptbs_builno/>
  81. </ptbs>
  82. <h_ptsp>
  83. <ptsp>
  84. <ptsp_pid/>
  85. <ptsp_workflag/>
  86. <ptsp_todd/>
  87. <ptsp_seqno/>
  88. <ptsp_instcd/>
  89. <ptsp_histstat/>
  90. <ptsp_fromdd/>
  91. <ptsp_opengrde/>
  92. <ptsp_ordpossyn/>
  93. <ptsp_endyn/>
  94. <ptsp_acptresn/>
  95. <ptsp_endresn/>
  96. <ptsp_fstrgstrid/>
  97. <ptsp_fstrgstdt/>
  98. <ptsp_lastupdtrid/>
  99. <ptsp_lastupdtdt/>
  100. </ptsp>
  101. </h_ptsp>
  102. <otpt>
  103. <otpt_pid/>
  104. <otpt_orddd/>
  105. <otpt_cretno/>
  106. <otpt_acptseqno/>
  107. <otpt_instcd/>
  108. <otpt_histstat/>
  109. <otpt_orgorddd/>
  110. <otpt_orgcretno/>
  111. <otpt_calcbaseflag/>
  112. <otpt_calcyn/>
  113. <otpt_ordtm/>
  114. <otpt_orddeptcd/>
  115. <otpt_orddeptabbr/>
  116. <otpt_orddrid/>
  117. <otpt_orddeptdrabbr/>
  118. <otpt_dutdeptcd/>
  119. <otpt_centcd/>
  120. <otpt_supdeptcd/>
  121. <otpt_mskind/>
  122. <otpt_insukind/>
  123. <otpt_suppkind/>
  124. <otpt_insucd/>
  125. <otpt_suppkindresn/>
  126. <otpt_specordyn/>
  127. <otpt_holiflag/>
  128. <otpt_fsexamflag/>
  129. <otpt_fsexammanlyn/>
  130. <otpt_ordtype/>
  131. <otpt_brateflag/>
  132. <otpt_medamtestmyn/>
  133. <otpt_medamtpostyn/>
  134. <otpt_medamtfreeresn/>
  135. <otpt_rsrvflag/>
  136. <otpt_etcordflag/>
  137. <otpt_disccd/>
  138. <otpt_hosoutexptresncd/>
  139. <otpt_clincstdyacptflag/>
  140. <otpt_clincstdyno/>
  141. <otpt_chrtlendyn/>
  142. <otpt_specorddescyn/>
  143. <otpt_ordreqdescyn/>
  144. <otpt_ordreqhospgrde/>
  145. <otpt_insuchrgyn/>
  146. <otpt_nursacptyn/>
  147. <otpt_nursacptdt/>
  148. <otpt_dracptyn/>
  149. <otpt_dracptdt/>
  150. <otpt_prcpgenryn/>
  151. <otpt_prcpnotoccrresn/>
  152. <otpt_estmspclappyn/>
  153. <otpt_elbulbodstat/>
  154. <otpt_elbulbodstatdt/>
  155. <otpt_calcflag/>
  156. <otpt_calcmthdflag/>
  157. <otpt_dnoracptyn/>
  158. <otpt_rqstflag/>
  159. <otpt_rqsthospcd/>
  160. <otpt_rqstdrid/>
  161. <otpt_lastrcptendyn/>
  162. <otpt_tdayinflag/>
  163. <otpt_tranindd/>
  164. <otpt_rcptdd/>
  165. <otpt_rcptno/>
  166. <otpt_rcptseqno/>
  167. <otpt_telrsrvrem/>
  168. <otpt_updtcnclresn/>
  169. <otpt_fstacptid/>
  170. <otpt_fstacptdt/>
  171. <otpt_fstrgstrid/>
  172. <otpt_fstrgstdt/>
  173. <otpt_lastupdtrid/>
  174. <otpt_lastupdtdt/>
  175. <otpt_ordreqformflag/>
  176. <otpt_prcplockid/>
  177. <otpt_dschjudgprcsstat/>
  178. <otpt_judgmdlid/>
  179. <otpt_lastjudgdt/>
  180. <otpt_mainjudgid/>
  181. <otpt_probjudgflag/>
  182. <otpt_spcljudgflag/>
  183. <otpt_handicaprbookpossnyn/>
  184. <otpt_outercdrgstyn/>
  185. <otpt_undersixageyn/>
  186. <otpt_remfact/>
  187. <otpt_spclcd/>
  188. <otpt_onestop/>
  189. <otpt_ownbflag/>
  190. <otpt_ordstat/>
  191. <otpt_ordpatyn/>
  192. <otpt_uncocd/>
  193. <otpt_pmflag/>
  194. <otpt_emplno/>
  195. <otpt_emplnm/>
  196. <otpt_suppkindsubyn/>
  197. <otpt_earnendyn/>
  198. <otpt_rareobstflag/>
  199. <otpt_tranflag/>
  200. <otpt_onlnno/>
  201. <otpt_inetproxyrrgstno/>
  202. <otpt_holdflag/>
  203. <otpt_subdeptcd/>
  204. <otpt_rcptvipresncd/>
  205. <otpt_rcptvipetcresn/>
  206. <otpt_prcptdayaftrcptyn/>
  207. <otpt_coopteamcd/>
  208. <otpt_rcptamt/>
  209. <otpt_rcptrnm/>
  210. <otpt_rcptdt/>
  211. <otpt_tablename/>
  212. <otpt_acptdd/>
  213. <otpt_acptno/>
  214. <otpt_orddeptnm/>
  215. <otpt_orddrnm/>
  216. </otpt>
  217. <otpt_back>
  218. <otpt_pid/>
  219. <otpt_orddd/>
  220. <otpt_cretno/>
  221. <otpt_acptseqno/>
  222. <otpt_instcd/>
  223. <otpt_histstat/>
  224. <otpt_orgorddd/>
  225. <otpt_orgcretno/>
  226. <otpt_calcbaseflag/>
  227. <otpt_calcyn/>
  228. <otpt_ordtm/>
  229. <otpt_orddeptcd/>
  230. <otpt_orddeptabbr/>
  231. <otpt_orddrid/>
  232. <otpt_orddeptdrabbr/>
  233. <otpt_dutdeptcd/>
  234. <otpt_centcd/>
  235. <otpt_supdeptcd/>
  236. <otpt_mskind/>
  237. <otpt_insukind/>
  238. <otpt_suppkind/>
  239. <otpt_insucd/>
  240. <otpt_suppkindresn/>
  241. <otpt_specordyn/>
  242. <otpt_holiflag/>
  243. <otpt_fsexamflag/>
  244. <otpt_fsexammanlyn/>
  245. <otpt_ordtype/>
  246. <otpt_brateflag/>
  247. <otpt_medamtestmyn/>
  248. <otpt_medamtpostyn/>
  249. <otpt_medamtfreeresn/>
  250. <otpt_rsrvflag/>
  251. <otpt_etcordflag/>
  252. <otpt_disccd/>
  253. <otpt_hosoutexptresncd/>
  254. <otpt_clincstdyacptflag/>
  255. <otpt_clincstdyno/>
  256. <otpt_chrtlendyn/>
  257. <otpt_specorddescyn/>
  258. <otpt_ordreqdescyn/>
  259. <otpt_ordreqhospgrde/>
  260. <otpt_insuchrgyn/>
  261. <otpt_nursacptyn/>
  262. <otpt_nursacptdt/>
  263. <otpt_dracptyn/>
  264. <otpt_dracptdt/>
  265. <otpt_prcpgenryn/>
  266. <otpt_prcpnotoccrresn/>
  267. <otpt_estmspclappyn/>
  268. <otpt_elbulbodstat/>
  269. <otpt_elbulbodstatdt/>
  270. <otpt_calcflag/>
  271. <otpt_calcmthdflag/>
  272. <otpt_dnoracptyn/>
  273. <otpt_rqstflag/>
  274. <otpt_rqsthospcd/>
  275. <otpt_rqstdrid/>
  276. <otpt_lastrcptendyn/>
  277. <otpt_tdayinflag/>
  278. <otpt_tranindd/>
  279. <otpt_rcptdd/>
  280. <otpt_rcptno/>
  281. <otpt_rcptseqno/>
  282. <otpt_telrsrvrem/>
  283. <otpt_updtcnclresn/>
  284. <otpt_fstacptid/>
  285. <otpt_fstacptdt/>
  286. <otpt_fstrgstrid/>
  287. <otpt_fstrgstdt/>
  288. <otpt_lastupdtrid/>
  289. <otpt_lastupdtdt/>
  290. <otpt_ordreqformflag/>
  291. <otpt_prcplockid/>
  292. <otpt_dschjudgprcsstat/>
  293. <otpt_judgmdlid/>
  294. <otpt_lastjudgdt/>
  295. <otpt_mainjudgid/>
  296. <otpt_probjudgflag/>
  297. <otpt_spcljudgflag/>
  298. <otpt_handicaprbookpossnyn/>
  299. <otpt_outercdrgstyn/>
  300. <otpt_undersixageyn/>
  301. <otpt_remfact/>
  302. <otpt_spclcd/>
  303. <otpt_onestop/>
  304. <otpt_ownbflag/>
  305. <otpt_ordstat/>
  306. <otpt_ordpatyn/>
  307. <otpt_uncocd/>
  308. <otpt_pmflag/>
  309. <otpt_emplno/>
  310. <otpt_emplnm/>
  311. <otpt_suppkindsubyn/>
  312. <otpt_earnendyn/>
  313. <otpt_rareobstflag/>
  314. <otpt_tranflag/>
  315. <otpt_onlnno/>
  316. <otpt_inetproxyrrgstno/>
  317. <otpt_holdflag/>
  318. <otpt_subdeptcd/>
  319. <otpt_rcptvipresncd/>
  320. <otpt_rcptvipetcresn/>
  321. <otpt_prcptdayaftrcptyn/>
  322. <otpt_coopteamcd/>
  323. <otpt_rcptamt/>
  324. <otpt_rcptrnm/>
  325. <otpt_rcptdt/>
  326. <otpt_tablename/>
  327. <otpt_acptdd/>
  328. <otpt_acptno/>
  329. <otpt_orddeptnm/>
  330. <otpt_orddrnm/>
  331. </otpt_back>
  332. <otpt_old>
  333. <otpt_pid_old/>
  334. <otpt_orddd_old/>
  335. <otpt_cretno_old/>
  336. <otpt_acptseqno_old/>
  337. <otpt_instcd_old/>
  338. <otpt_histstat_old/>
  339. <otpt_orgorddd_old/>
  340. <otpt_orgcretno_old/>
  341. <otpt_calcbaseflag_old/>
  342. <otpt_calcyn_old/>
  343. <otpt_ordtm_old/>
  344. <otpt_orddeptcd_old/>
  345. <otpt_orddeptabbr_old/>
  346. <otpt_orddrid_old/>
  347. <otpt_orddeptdrabbr_old/>
  348. <otpt_dutdeptcd_old/>
  349. <otpt_centcd_old/>
  350. <otpt_supdeptcd_old/>
  351. <otpt_mskind_old/>
  352. <otpt_insukind_old/>
  353. <otpt_suppkind_old/>
  354. <otpt_insucd_old/>
  355. <otpt_suppkindresn_old/>
  356. <otpt_specordyn_old/>
  357. <otpt_holiflag_old/>
  358. <otpt_fsexamflag_old/>
  359. <otpt_fsexammanlyn_old/>
  360. <otpt_ordtype_old/>
  361. <otpt_brateflag_old/>
  362. <otpt_medamtestmyn_old/>
  363. <otpt_medamtpostyn_old/>
  364. <otpt_medamtfreeresn_old/>
  365. <otpt_rsrvflag_old/>
  366. <otpt_etcordflag_old/>
  367. <otpt_disccd_old/>
  368. <otpt_hosoutexptresncd_old/>
  369. <otpt_clincstdyacptflag_old/>
  370. <otpt_clincstdyno_old/>
  371. <otpt_chrtlendyn_old/>
  372. <otpt_specorddescyn_old/>
  373. <otpt_ordreqdescyn_old/>
  374. <otpt_ordreqhospgrde_old/>
  375. <otpt_insuchrgyn_old/>
  376. <otpt_nursacptyn_old/>
  377. <otpt_nursacptdt_old/>
  378. <otpt_dracptyn_old/>
  379. <otpt_dracptdt_old/>
  380. <otpt_prcpgenryn_old/>
  381. <otpt_prcpnotoccrresn_old/>
  382. <otpt_estmspclappyn_old/>
  383. <otpt_elbulbodstat_old/>
  384. <otpt_elbulbodstatdt_old/>
  385. <otpt_calcflag_old/>
  386. <otpt_calcmthdflag_old/>
  387. <otpt_dnoracptyn_old/>
  388. <otpt_rqstflag_old/>
  389. <otpt_rqsthospcd_old/>
  390. <otpt_rqstdrid_old/>
  391. <otpt_lastrcptendyn_old/>
  392. <otpt_tdayinflag_old/>
  393. <otpt_tranindd_old/>
  394. <otpt_rcptdd_old/>
  395. <otpt_rcptno_old/>
  396. <otpt_rcptseqno_old/>
  397. <otpt_telrsrvrem_old/>
  398. <otpt_updtcnclresn_old/>
  399. <otpt_fstacptid_old/>
  400. <otpt_fstacptdt_old/>
  401. <otpt_fstrgstrid_old/>
  402. <otpt_fstrgstdt_old/>
  403. <otpt_lastupdtrid_old/>
  404. <otpt_lastupdtdt_old/>
  405. <otpt_ordreqformflag_old/>
  406. <otpt_prcplockid_old/>
  407. <otpt_dschjudgprcsstat_old/>
  408. <otpt_judgmdlid_old/>
  409. <otpt_lastjudgdt_old/>
  410. <otpt_mainjudgid_old/>
  411. <otpt_probjudgflag_old/>
  412. <otpt_spcljudgflag_old/>
  413. <otpt_handicaprbookpossnyn_old/>
  414. <otpt_outercdrgstyn_old/>
  415. <otpt_undersixageyn_old/>
  416. <otpt_remfact_old/>
  417. <otpt_spclcd_old/>
  418. <otpt_onestop_old/>
  419. <otpt_ownbflag_old/>
  420. <otpt_ordstat_old/>
  421. <otpt_ordpatyn_old/>
  422. <otpt_uncocd_old/>
  423. <otpt_pmflag_old/>
  424. <otpt_emplno_old/>
  425. <otpt_emplnm_old/>
  426. <otpt_suppkindsubyn_old/>
  427. <otpt_earnendyn_old/>
  428. <otpt_rareobstflag_old/>
  429. <otpt_tranflag_old/>
  430. <otpt_onlnno_old/>
  431. <otpt_inetproxyrrgstno_old/>
  432. <otpt_holdflag_old/>
  433. <otpt_subdeptcd_old/>
  434. <otpt_rcptvipresncd_old/>
  435. <otpt_rcptvipetcresn_old/>
  436. <otpt_prcptdayaftrcptyn_old/>
  437. <otpt_coopteamcd_old/>
  438. <otpt_rcptamt_old/>
  439. <otpt_rcptrnm_old/>
  440. <otpt_rcptdt_old/>
  441. <otpt_tablename_old/>
  442. <otpt_acptdd_old/>
  443. <otpt_acptno_old/>
  444. <otpt_orddeptnm_old/>
  445. <otpt_orddrnm_old/>
  446. </otpt_old>
  447. <ptin>
  448. <ptin_pid/>
  449. <ptin_insukind/>
  450. <ptin_todd/>
  451. <ptin_seqno/>
  452. <ptin_instcd/>
  453. <ptin_histstat/>
  454. <ptin_fromdd/>
  455. <ptin_insucd/>
  456. <ptin_insunm/>
  457. <ptin_insuno/>
  458. <ptin_insdnm/>
  459. <ptin_insdrela/>
  460. <ptin_insdrrgstno1/>
  461. <ptin_insdrrgstno2/>
  462. <ptin_fstrgstrid/>
  463. <ptin_fstrgstdt/>
  464. <ptin_lastupdtrid/>
  465. <ptin_lastupdtdt/>
  466. </ptin>
  467. <aipm>
  468. <aipm_insucmpycd/>
  469. <aipm_insucdnm/>
  470. <aipm_paylimamt/>
  471. <aipm_aprvfromdd/>
  472. <aipm_aprvtodd/>
  473. <aipm_insuamt/>
  474. <aipm_restamt/>
  475. <aipm_paygrntno/>
  476. </aipm>
  477. <icpm>
  478. <icpm_mngtno/>
  479. <icpm_bizplcenm/>
  480. <icpm_inducsbrchcd/>
  481. <icpm_insucdnm/>
  482. <icpm_acddd/>
  483. <icpm_ordopendd/>
  484. <icpm_aprvfromdd/>
  485. <icpm_aprvtodd/>
  486. <icpm_spredayno/>
  487. </icpm>
  488. <opmi>
  489. <opmi_pid/>
  490. <opmi_rcptdd/>
  491. <opmi_rcptno/>
  492. <opmi_rcptseqno/>
  493. <opmi_instcd/>
  494. <opmi_rcptstat/>
  495. <opmi_uncorcptflag/>
  496. <opmi_orddd/>
  497. <opmi_cretno/>
  498. <opmi_acptseqno/>
  499. <opmi_orddeptcd/>
  500. <opmi_orddrid/>
  501. <opmi_ordtype/>
  502. <opmi_mskind/>
  503. <opmi_insukind/>
  504. <opmi_suppkind/>
  505. <opmi_insucd/>
  506. <opmi_payamt/>
  507. <opmi_allownbamt/>
  508. <opmi_nopyamt/>
  509. <opmi_payownbamt/>
  510. <opmi_payinsubamt/>
  511. <opmi_handcapfund/>
  512. <opmi_procsubtamt/>
  513. <opmi_ersubtamt/>
  514. <opmi_specamt/>
  515. <opmi_discamt/>
  516. <opmi_reduamt/>
  517. <opmi_bloddiscamt/>
  518. <opmi_totownbamt/>
  519. <opmi_premdlrcptamt/>
  520. <opmi_precardamt/>
  521. <opmi_precashamt/>
  522. <opmi_preonlineamt/>
  523. <opmi_mdlrcptamt/>
  524. <opmi_uncoamt/>
  525. <opmi_cardamt/>
  526. <opmi_cashamt/>
  527. <opmi_onlineamt/>
  528. <opmi_restamt/>
  529. <opmi_hosindrugno/>
  530. <opmi_hosoutdrugno/>
  531. <opmi_calcmthdflag/>
  532. <opmi_remfact/>
  533. <opmi_paypsnflag/>
  534. <opmi_paydepoamt/>
  535. <opmi_paypsnrem/>
  536. <opmi_orgrcptdd/>
  537. <opmi_orgrcptno/>
  538. <opmi_orgrcptseqno/>
  539. <opmi_rcptexecdd/>
  540. <opmi_rcpttm/>
  541. <opmi_rcptrid/>
  542. <opmi_fstrgstrid/>
  543. <opmi_fstrgstdt/>
  544. <opmi_lastupdtrid/>
  545. <opmi_lastupdtdt/>
  546. <opmi_totamt/>
  547. <opmi_totnopyamt/>
  548. <opmi_subtamt/>
  549. <opmi_totreduamt/>
  550. <opmi_targetamt/>
  551. <opmi_nopyownbamt/>
  552. <opmi_nopyinsubamt/>
  553. <opmi_allownownbamt/>
  554. <opmi_allowninsubamt/>
  555. <opmi_specownbamt/>
  556. <opmi_specinsubamt/>
  557. <opmi_heallifeamtclamamt/>
  558. <opmi_suppamt/>
  559. <opmi_pregdmndamt/>
  560. <opmi_prepregdmndamt/>
  561. <opmi_payinsurestamt/>
  562. <opmi_payownbamt100/>
  563. <opmi_payinsubamt100/>
  564. <opmi_totownbamt100/>
  565. <opmi_taxamt/>
  566. </opmi>
  567. <oscl>
  568. <oscl_pid/>
  569. <oscl_orddd/>
  570. <oscl_cretno/>
  571. <oscl_calcseqno/>
  572. <oscl_calcscorseqno/>
  573. <oscl_instcd/>
  574. <oscl_calcstat/>
  575. <oscl_clamtrgtstat/>
  576. <oscl_acptseqno/>
  577. <oscl_orddeptcd/>
  578. <oscl_orddrid/>
  579. <oscl_mskind/>
  580. <oscl_ordtype/>
  581. <oscl_grupcalcscorcd/>
  582. <oscl_snglcalcscorcd/>
  583. <oscl_grupcalcscorcls/>
  584. <oscl_snglcalcscorcls/>
  585. <oscl_grupearncls/>
  586. <oscl_snglearncls/>
  587. <oscl_ordqty/>
  588. <oscl_ordtims/>
  589. <oscl_orddays/>
  590. <oscl_calcqty/>
  591. <oscl_calctims/>
  592. <oscl_calcdays/>
  593. <oscl_matractflag/>
  594. <oscl_calcpayflag/>
  595. <oscl_prcppayflag/>
  596. <oscl_calcscorpayflag/>
  597. <oscl_freeflag/>
  598. <oscl_opflag/>
  599. <oscl_ansttm/>
  600. <oscl_spccd/>
  601. <oscl_pntunitcost/>
  602. <oscl_calcscorpnt/>
  603. <oscl_estmpnt/>
  604. <oscl_appunitcost/>
  605. <oscl_estmamt/>
  606. <oscl_calcamt/>
  607. <oscl_hospaddamt/>
  608. <oscl_specamt/>
  609. <oscl_payamt/>
  610. <oscl_allownbamt/>
  611. <oscl_nopyamt/>
  612. <oscl_payownbrate/>
  613. <oscl_payinsubamt/>
  614. <oscl_payownbamt/>
  615. <oscl_paydiscamt/>
  616. <oscl_nopydiscamt/>
  617. <oscl_specdiscamt/>
  618. <oscl_hosoutexptresncd/>
  619. <oscl_hosoutdrugno/>
  620. <oscl_specordyn/>
  621. <oscl_execdeptcd/>
  622. <oscl_execdd/>
  623. <oscl_exectm/>
  624. <oscl_execrid/>
  625. <oscl_pamexecdd/>
  626. <oscl_earnenddd/>
  627. <oscl_actcnclresn/>
  628. <oscl_clamspclcd/>
  629. <oscl_clamkey/>
  630. <oscl_clamcretdd/>
  631. <oscl_clamcretyn/>
  632. <oscl_estmcls/>
  633. <oscl_estmmeancd/>
  634. <oscl_estmcd/>
  635. <oscl_readdrid/>
  636. <oscl_clincstdyno/>
  637. <oscl_exitprvntdrugyn/>
  638. <oscl_exitprvntdrugamt/>
  639. <oscl_trustaddrate/>
  640. <oscl_bothaddyn/>
  641. <oscl_prcpdd/>
  642. <oscl_prcpno/>
  643. <oscl_prcphistno/>
  644. <oscl_execprcpseqno/>
  645. <oscl_cnfmcd/>
  646. <oscl_cpflag/>
  647. <oscl_prnprcpflag/>
  648. <oscl_portprcpflag/>
  649. <oscl_anamneflag/>
  650. <oscl_spcljudgyn/>
  651. <oscl_judgflag/>
  652. <oscl_cvrtinprcpdeptcd/>
  653. <oscl_cvrtinprcpdrid/>
  654. <oscl_rcptdd/>
  655. <oscl_rcptno/>
  656. <oscl_rcptseqno/>
  657. <oscl_rcptexecdd/>
  658. <oscl_rcpttm/>
  659. <oscl_fstrgstrid/>
  660. <oscl_fstrgstdt/>
  661. <oscl_lastupdtrid/>
  662. <oscl_lastupdtdt/>
  663. <oscl_nopyownbamt/>
  664. <oscl_nopyinsubamt/>
  665. <oscl_allownownbamt/>
  666. <oscl_allowninsubamt/>
  667. <oscl_specownbamt/>
  668. <oscl_specinsubamt/>
  669. <oscl_insukind/>
  670. <oscl_suppkind/>
  671. <oscl_rsvordgubn/>
  672. <oscl_brateflag/>
  673. <oscl_ownbflag/>
  674. <oscl_tranflag/>
  675. <oscl_edicd/>
  676. <oscl_druglimitamt/>
  677. <oscl_limitdiffamt/>
  678. <oscl_earndeptcd/>
  679. <oscl_earndrid/>
  680. <oscl_judgadjtresncd/>
  681. <oscl_probordyn/>
  682. <oscl_judgendflag/>
  683. <oscl_tootfact/>
  684. <oscl_drugmthdspccd/>
  685. <oscl_rgstdeptcd/>
  686. <oscl_rgstdd/>
  687. <oscl_rgsttm/>
  688. <oscl_rgstrid/>
  689. <oscl_mig/>
  690. <oscl_centcd/>
  691. <oscl_subdeptcd/>
  692. <oscl_coopteamcd/>
  693. <oscl_execprcpuniqno/>
  694. </oscl>
  695. <bogj>
  696. <bogj_pid/>
  697. <bogj_rcptdd/>
  698. <bogj_rcptno/>
  699. <bogj_rcptseqno/>
  700. <bogj_seqno/>
  701. <bogj_instcd/>
  702. <bogj_rcptstat/>
  703. <bogj_ordtype/>
  704. <bogj_rcptflag/>
  705. <bogj_cashamt/>
  706. <bogj_cardamt/>
  707. <bogj_onlineamt/>
  708. <bogj_rcptexecdd/>
  709. <bogj_rcpttm/>
  710. <bogj_rcptid/>
  711. <bogj_remfact/>
  712. <bogj_fstrgstrid/>
  713. <bogj_fstrgstdt/>
  714. <bogj_lastupdtrid/>
  715. <bogj_lastupdtdt/>
  716. <bogj_paypsnflag/>
  717. <bogj_paypsnrem/>
  718. </bogj>
  719. <h_otpt>
  720. <otpt>
  721. <otpt_pid/>
  722. <otpt_orddd/>
  723. <otpt_cretno/>
  724. <otpt_acptseqno/>
  725. <otpt_instcd/>
  726. <otpt_histstat/>
  727. <otpt_orgorddd/>
  728. <otpt_orgcretno/>
  729. <otpt_calcbaseflag/>
  730. <otpt_calcyn/>
  731. <otpt_ordtm/>
  732. <otpt_orddeptcd/>
  733. <otpt_orddeptabbr/>
  734. <otpt_orddrid/>
  735. <otpt_orddeptdrabbr/>
  736. <otpt_dutdeptcd/>
  737. <otpt_centcd/>
  738. <otpt_supdeptcd/>
  739. <otpt_mskind/>
  740. <otpt_insukind/>
  741. <otpt_suppkind/>
  742. <otpt_insucd/>
  743. <otpt_suppkindresn/>
  744. <otpt_specordyn/>
  745. <otpt_holiflag/>
  746. <otpt_fsexamflag/>
  747. <otpt_fsexammanlyn/>
  748. <otpt_ordtype/>
  749. <otpt_brateflag/>
  750. <otpt_medamtestmyn/>
  751. <otpt_medamtpostyn/>
  752. <otpt_medamtfreeresn/>
  753. <otpt_rsrvflag/>
  754. <otpt_etcordflag/>
  755. <otpt_disccd/>
  756. <otpt_hosoutexptresncd/>
  757. <otpt_clincstdyacptflag/>
  758. <otpt_clincstdyno/>
  759. <otpt_chrtlendyn/>
  760. <otpt_specorddescyn/>
  761. <otpt_ordreqdescyn/>
  762. <otpt_ordreqhospgrde/>
  763. <otpt_insuchrgyn/>
  764. <otpt_nursacptyn/>
  765. <otpt_nursacptdt/>
  766. <otpt_dracptyn/>
  767. <otpt_dracptdt/>
  768. <otpt_prcpgenryn/>
  769. <otpt_prcpnotoccrresn/>
  770. <otpt_estmspclappyn/>
  771. <otpt_elbulbodstat/>
  772. <otpt_elbulbodstatdt/>
  773. <otpt_calcflag/>
  774. <otpt_calcmthdflag/>
  775. <otpt_dnoracptyn/>
  776. <otpt_rqstflag/>
  777. <otpt_rqsthospcd/>
  778. <otpt_rqstdrid/>
  779. <otpt_lastrcptendyn/>
  780. <otpt_tdayinflag/>
  781. <otpt_tranindd/>
  782. <otpt_rcptdd/>
  783. <otpt_rcptno/>
  784. <otpt_rcptseqno/>
  785. <otpt_telrsrvrem/>
  786. <otpt_updtcnclresn/>
  787. <otpt_fstacptid/>
  788. <otpt_fstacptdt/>
  789. <otpt_fstrgstrid/>
  790. <otpt_fstrgstdt/>
  791. <otpt_lastupdtrid/>
  792. <otpt_lastupdtdt/>
  793. <otpt_ordreqformflag/>
  794. <otpt_prcplockid/>
  795. <otpt_dschjudgprcsstat/>
  796. <otpt_judgmdlid/>
  797. <otpt_lastjudgdt/>
  798. <otpt_mainjudgid/>
  799. <otpt_probjudgflag/>
  800. <otpt_spcljudgflag/>
  801. <otpt_handicaprbookpossnyn/>
  802. <otpt_outercdrgstyn/>
  803. <otpt_undersixageyn/>
  804. <otpt_remfact/>
  805. <otpt_spclcd/>
  806. <otpt_onestop/>
  807. <otpt_ownbflag/>
  808. <otpt_ordstat/>
  809. <otpt_ordpatyn/>
  810. <otpt_uncocd/>
  811. <otpt_pmflag/>
  812. <otpt_emplno/>
  813. <otpt_emplnm/>
  814. <otpt_suppkindsubyn/>
  815. <otpt_earnendyn/>
  816. <otpt_rareobstflag/>
  817. <otpt_tranflag/>
  818. <otpt_onlnno/>
  819. <otpt_inetproxyrrgstno/>
  820. <otpt_holdflag/>
  821. <otpt_subdeptcd/>
  822. <otpt_rcptvipresncd/>
  823. <otpt_rcptvipetcresn/>
  824. <otpt_prcptdayaftrcptyn/>
  825. <otpt_coopteamcd/>
  826. <otpt_rcptamt/>
  827. <otpt_rcptrnm/>
  828. <otpt_rcptdt/>
  829. <otpt_tablename/>
  830. <otpt_acptdd/>
  831. <otpt_acptno/>
  832. <otpt_orddeptnm/>
  833. <otpt_orddrnm/>
  834. </otpt>
  835. </h_otpt>
  836. <h_unco>
  837. <unco>
  838. <unco_pid/>
  839. <unco_rcptdd/>
  840. <unco_rcptno/>
  841. <unco_rcptseqno/>
  842. <unco_seqno/>
  843. <unco_instcd/>
  844. <unco_rcptstat/>
  845. <unco_ordtype/>
  846. <unco_orddd/>
  847. <unco_orddeptcd/>
  848. <unco_orddrid/>
  849. <unco_dschdd/>
  850. <unco_insukind/>
  851. <unco_suppkind/>
  852. <unco_uncorcptflag/>
  853. <unco_uncocls/>
  854. <unco_uncocd/>
  855. <unco_uncoamt/>
  856. <unco_rcptamt/>
  857. <unco_debtamt/>
  858. <unco_endyn/>
  859. <unco_clincstdyno/>
  860. <unco_empid/>
  861. <unco_rcptexecdd/>
  862. <unco_rcpttm/>
  863. <unco_rcptrid/>
  864. <unco_apprsn/>
  865. <unco_remfact/>
  866. <unco_fstrgstrid/>
  867. <unco_fstrgstdt/>
  868. <unco_lastupdtrid/>
  869. <unco_lastupdtdt/>
  870. </unco>
  871. </h_unco>
  872. <h_card>
  873. <card>
  874. <card_pid/>
  875. <card_rcptdd/>
  876. <card_rcptno/>
  877. <card_rcptseqno/>
  878. <card_seqno/>
  879. <card_instcd/>
  880. <card_rcptstat/>
  881. <card_ordtype/>
  882. <card_keyinptflag/>
  883. <card_cardcmpycd/>
  884. <card_cardno/>
  885. <card_aprvflag/>
  886. <card_aprvdd/>
  887. <card_aprvtm/>
  888. <card_aprvno/>
  889. <card_vancd/>
  890. <card_allotmm/>
  891. <card_cardamt/>
  892. <card_valiterm/>
  893. <card_rcptexecdd/>
  894. <card_rcpttm/>
  895. <card_rcptrid/>
  896. <card_innrtretyn/>
  897. <card_preamtyn/>
  898. <card_remfact/>
  899. <card_fstrgstrid/>
  900. <card_fstrgstdt/>
  901. <card_lastupdtrid/>
  902. <card_lastupdtdt/>
  903. </card>
  904. </h_card>
  905. <h_dcgm>
  906. <dcgm>
  907. <dcgm_pid/>
  908. <dcgm_rcptdd/>
  909. <dcgm_rcptno/>
  910. <dcgm_seqno/>
  911. <dcgm_rcptseqno/>
  912. <dcgm_instcd/>
  913. <dcgm_rcptstat/>
  914. <dcgm_ordtype/>
  915. <dcgm_discreduflag/>
  916. <dcgm_discreducd/>
  917. <dcgm_discreduamt/>
  918. <dcgm_apprsn/>
  919. <dcgm_rcptexecdd/>
  920. <dcgm_rcpttm/>
  921. <dcgm_rcptrid/>
  922. <dcgm_remfact/>
  923. <dcgm_fstrgstrid/>
  924. <dcgm_fstrgstdt/>
  925. <dcgm_lastupdtrid/>
  926. <dcgm_lastupdtdt/>
  927. </dcgm>
  928. </h_dcgm>
  929. <h_dcgm2>
  930. <dcgm>
  931. <dcgm_pid/>
  932. <dcgm_rcptdd/>
  933. <dcgm_rcptno/>
  934. <dcgm_seqno/>
  935. <dcgm_rcptseqno/>
  936. <dcgm_instcd/>
  937. <dcgm_rcptstat/>
  938. <dcgm_ordtype/>
  939. <dcgm_discreduflag/>
  940. <dcgm_discreducd/>
  941. <dcgm_discreduamt/>
  942. <dcgm_apprsn/>
  943. <dcgm_rcptexecdd/>
  944. <dcgm_rcpttm/>
  945. <dcgm_rcptrid/>
  946. <dcgm_remfact/>
  947. <dcgm_fstrgstrid/>
  948. <dcgm_fstrgstdt/>
  949. <dcgm_lastupdtrid/>
  950. <dcgm_lastupdtdt/>
  951. </dcgm>
  952. </h_dcgm2>
  953. <h_cash>
  954. <cash>
  955. <cash_pid/>
  956. <cash_rcptdd/>
  957. <cash_rcptno/>
  958. <cash_rcptseqno/>
  959. <cash_seqno/>
  960. <cash_instcd/>
  961. <cash_rcptstat/>
  962. <cash_ordtype/>
  963. <cash_keyinptflag/>
  964. <cash_indinstflag/>
  965. <cash_qualcnfmflag/>
  966. <cash_qualcnfmno/>
  967. <cash_aprvflag/>
  968. <cash_aprvno/>
  969. <cash_aprvdd/>
  970. <cash_aprvtm/>
  971. <cash_cashamt/>
  972. <cash_rcptexecdd/>
  973. <cash_rcpttm/>
  974. <cash_rcptrid/>
  975. <cash_preamtyn/>
  976. <cash_innrtretyn/>
  977. <cash_remfact/>
  978. <cash_fstrgstrid/>
  979. <cash_fstrgstdt/>
  980. <cash_lastupdtrid/>
  981. <cash_lastupdtdt/>
  982. </cash>
  983. </h_cash>
  984. <h_onln>
  985. <onln>
  986. <onln_pid/>
  987. <onln_rcptdd/>
  988. <onln_rcptno/>
  989. <onln_rcptseqno/>
  990. <onln_seqno/>
  991. <onln_instcd/>
  992. <onln_rcptstat/>
  993. <onln_ordtype/>
  994. <onln_onlineamt/>
  995. <onln_bankcd/>
  996. <onln_acntno/>
  997. <onln_paydd/>
  998. <onln_paypsnnm/>
  999. <onln_rcptexecdd/>
  1000. <onln_rcpttm/>
  1001. <onln_rcptrid/>
  1002. <onln_preamtyn/>
  1003. <onln_innrtretyn/>
  1004. <onln_remfact/>
  1005. <onln_fstrgstrid/>
  1006. <onln_fstrgstdt/>
  1007. <onln_lastupdtrid/>
  1008. <onln_lastupdtdt/>
  1009. </onln>
  1010. </h_onln>
  1011. <h_cnst>
  1012. <cnst>
  1013. <cnst_stat/>
  1014. <cnst_pid/>
  1015. <cnst_orddeptcd/>
  1016. <cnst_insuflag/>
  1017. <cnst_ordreqkind/>
  1018. <cnst_todd/>
  1019. <cnst_seqno/>
  1020. <cnst_instcd/>
  1021. <cnst_histstat/>
  1022. <cnst_fromdd/>
  1023. <cnst_reqformhospnm/>
  1024. <cnst_reqformdrnm/>
  1025. <cnst_remfact/>
  1026. <cnst_fstrgstrid/>
  1027. <cnst_fstrgstdt/>
  1028. <cnst_lastupdtrid/>
  1029. <cnst_lastupdtdt/>
  1030. </cnst>
  1031. </h_cnst>
  1032. <h_srdg>
  1033. <srdg>
  1034. <srdg_pid/>
  1035. <srdg_insukind/>
  1036. <srdg_todd/>
  1037. <srdg_seqno/>
  1038. <srdg_instcd/>
  1039. <srdg_histstat/>
  1040. <srdg_fromdd/>
  1041. <srdg_seridiagno/>
  1042. <srdg_anohosprgstflag/>
  1043. <srdg_cncrdiagcnfmdd/>
  1044. <srdg_genrdd/>
  1045. <srdg_signyn/>
  1046. <srdg_signdt/>
  1047. </srdg>
  1048. </h_srdg>
  1049. <h_rooa>
  1050. <rooa>
  1051. <rooa_pid/>
  1052. <rooa_insukind/>
  1053. <rooa_todd/>
  1054. <rooa_fromdd/>
  1055. <rooa_rareobstno/>
  1056. <rooa_anohosprgstflag/>
  1057. <rooa_rareobstcnfmdd/>
  1058. <rooa_genrdd/>
  1059. <rooa_signyn/>
  1060. <rooa_signdt/>
  1061. </rooa>
  1062. </h_rooa>
  1063. <h_hndc>
  1064. <hndc>
  1065. <hndc_pid/>
  1066. <hndc_handcapflag/>
  1067. <hndc_todd/>
  1068. <hndc_seqno/>
  1069. <hndc_instcd/>
  1070. <hndc_histstat/>
  1071. <hndc_fromdd/>
  1072. <hndc_handcapgrde/>
  1073. <hndc_handcapcardno/>
  1074. <hndc_apppsnnm/>
  1075. <hndc_rela/>
  1076. <hndc_remfact/>
  1077. <hndc_fstrgstrid/>
  1078. <hndc_fstrgstdt/>
  1079. <hndc_lastupdtrid/>
  1080. <hndc_lastupdtdt/>
  1081. <hndc_handcapflag_before/>
  1082. <hndc_todd_before/>
  1083. <hndc_seqno_before/>
  1084. <hndc_stat/>
  1085. </hndc>
  1086. </h_hndc>
  1087. <h_inpt/>
  1088. <h_inpt2/>
  1089. <t_otpt>
  1090. <otpt>
  1091. <otpt_mseqno/>
  1092. <otpt_pid/>
  1093. <otpt_orddd/>
  1094. <otpt_cretno/>
  1095. <otpt_acptseqno/>
  1096. <otpt_instcd/>
  1097. <otpt_histstat/>
  1098. <otpt_orgorddd/>
  1099. <otpt_orgcretno/>
  1100. <otpt_calcbaseflag/>
  1101. <otpt_calcyn/>
  1102. <otpt_ordtm/>
  1103. <otpt_orddeptcd/>
  1104. <otpt_orddeptabbr/>
  1105. <otpt_orddrid/>
  1106. <otpt_orddeptdrabbr/>
  1107. <otpt_dutdeptcd/>
  1108. <otpt_centcd/>
  1109. <otpt_supdeptcd/>
  1110. <otpt_mskind/>
  1111. <otpt_insukind/>
  1112. <otpt_suppkind/>
  1113. <otpt_insucd/>
  1114. <otpt_suppkindresn/>
  1115. <otpt_specordyn/>
  1116. <otpt_holiflag/>
  1117. <otpt_fsexamflag/>
  1118. <otpt_fsexammanlyn/>
  1119. <otpt_ordtype/>
  1120. <otpt_brateflag/>
  1121. <otpt_medamtestmyn/>
  1122. <otpt_medamtpostyn/>
  1123. <otpt_medamtfreeresn/>
  1124. <otpt_rsrvflag/>
  1125. <otpt_etcordflag/>
  1126. <otpt_disccd/>
  1127. <otpt_hosoutexptresncd/>
  1128. <otpt_clincstdyacptflag/>
  1129. <otpt_clincstdyno/>
  1130. <otpt_chrtlendyn/>
  1131. <otpt_specorddescyn/>
  1132. <otpt_ordreqdescyn/>
  1133. <otpt_ordreqhospgrde/>
  1134. <otpt_insuchrgyn/>
  1135. <otpt_nursacptyn/>
  1136. <otpt_nursacptdt/>
  1137. <otpt_dracptyn/>
  1138. <otpt_dracptdt/>
  1139. <otpt_prcpgenryn/>
  1140. <otpt_prcpnotoccrresn/>
  1141. <otpt_estmspclappyn/>
  1142. <otpt_elbulbodstat/>
  1143. <otpt_elbulbodstatdt/>
  1144. <otpt_calcflag/>
  1145. <otpt_calcmthdflag/>
  1146. <otpt_dnoracptyn/>
  1147. <otpt_rqstflag/>
  1148. <otpt_rqsthospcd/>
  1149. <otpt_rqstdrid/>
  1150. <otpt_lastrcptendyn/>
  1151. <otpt_tdayinflag/>
  1152. <otpt_tranindd/>
  1153. <otpt_rcptdd/>
  1154. <otpt_rcptno/>
  1155. <otpt_rcptseqno/>
  1156. <otpt_telrsrvrem/>
  1157. <otpt_updtcnclresn/>
  1158. <otpt_fstacptid/>
  1159. <otpt_fstacptdt/>
  1160. <otpt_fstrgstrid/>
  1161. <otpt_fstrgstdt/>
  1162. <otpt_lastupdtrid/>
  1163. <otpt_lastupdtdt/>
  1164. <otpt_ordreqformflag/>
  1165. <otpt_prcplockid/>
  1166. <otpt_dschjudgprcsstat/>
  1167. <otpt_judgmdlid/>
  1168. <otpt_lastjudgdt/>
  1169. <otpt_mainjudgid/>
  1170. <otpt_probjudgflag/>
  1171. <otpt_spcljudgflag/>
  1172. <otpt_handicaprbookpossnyn/>
  1173. <otpt_outercdrgstyn/>
  1174. <otpt_undersixageyn/>
  1175. <otpt_remfact/>
  1176. <otpt_spclcd/>
  1177. <otpt_onestop/>
  1178. <otpt_ownbflag/>
  1179. <otpt_ordstat/>
  1180. <otpt_ordpatyn/>
  1181. <otpt_uncocd/>
  1182. <otpt_pmflag/>
  1183. <otpt_emplno/>
  1184. <otpt_emplnm/>
  1185. <otpt_suppkindsubyn/>
  1186. <otpt_earnendyn/>
  1187. <otpt_rareobstflag/>
  1188. <otpt_tranflag/>
  1189. <otpt_onlnno/>
  1190. <otpt_inetproxyrrgstno/>
  1191. <otpt_holdflag/>
  1192. <otpt_subdeptcd/>
  1193. <otpt_rcptvipresncd/>
  1194. <otpt_rcptvipetcresn/>
  1195. <otpt_prcptdayaftrcptyn/>
  1196. <otpt_coopteamcd/>
  1197. <otpt_rcptamt/>
  1198. <otpt_rcptrnm/>
  1199. <otpt_rcptdt/>
  1200. <otpt_tablename/>
  1201. <otpt_acptdd/>
  1202. <otpt_acptno/>
  1203. <otpt_orddeptnm/>
  1204. <otpt_orddrnm/>
  1205. </otpt>
  1206. </t_otpt>
  1207. <m_ptin>
  1208. <ptin>
  1209. <ptin_mseqno/>
  1210. <ptin_pid/>
  1211. <ptin_insukind/>
  1212. <ptin_todd/>
  1213. <ptin_seqno/>
  1214. <ptin_instcd/>
  1215. <ptin_histstat/>
  1216. <ptin_fromdd/>
  1217. <ptin_insucd/>
  1218. <ptin_insunm/>
  1219. <ptin_insuno/>
  1220. <ptin_insdnm/>
  1221. <ptin_insdrela/>
  1222. <ptin_insdrrgstno1/>
  1223. <ptin_insdrrgstno2/>
  1224. <ptin_fstrgstrid/>
  1225. <ptin_fstrgstdt/>
  1226. <ptin_lastupdtrid/>
  1227. <ptin_lastupdtdt/>
  1228. </ptin>
  1229. </m_ptin>
  1230. <m_otpt>
  1231. <otpt>
  1232. <otpt_mseqno/>
  1233. <otpt_pid/>
  1234. <otpt_orddd/>
  1235. <otpt_cretno/>
  1236. <otpt_acptseqno/>
  1237. <otpt_instcd/>
  1238. <otpt_histstat/>
  1239. <otpt_orgorddd/>
  1240. <otpt_orgcretno/>
  1241. <otpt_calcbaseflag/>
  1242. <otpt_calcyn/>
  1243. <otpt_ordtm/>
  1244. <otpt_orddeptcd/>
  1245. <otpt_orddeptabbr/>
  1246. <otpt_orddrid/>
  1247. <otpt_orddeptdrabbr/>
  1248. <otpt_dutdeptcd/>
  1249. <otpt_centcd/>
  1250. <otpt_supdeptcd/>
  1251. <otpt_mskind/>
  1252. <otpt_insukind/>
  1253. <otpt_suppkind/>
  1254. <otpt_insucd/>
  1255. <otpt_suppkindresn/>
  1256. <otpt_specordyn/>
  1257. <otpt_holiflag/>
  1258. <otpt_fsexamflag/>
  1259. <otpt_fsexammanlyn/>
  1260. <otpt_ordtype/>
  1261. <otpt_brateflag/>
  1262. <otpt_medamtestmyn/>
  1263. <otpt_medamtpostyn/>
  1264. <otpt_medamtfreeresn/>
  1265. <otpt_rsrvflag/>
  1266. <otpt_etcordflag/>
  1267. <otpt_disccd/>
  1268. <otpt_hosoutexptresncd/>
  1269. <otpt_clincstdyacptflag/>
  1270. <otpt_clincstdyno/>
  1271. <otpt_chrtlendyn/>
  1272. <otpt_specorddescyn/>
  1273. <otpt_ordreqdescyn/>
  1274. <otpt_ordreqhospgrde/>
  1275. <otpt_insuchrgyn/>
  1276. <otpt_nursacptyn/>
  1277. <otpt_nursacptdt/>
  1278. <otpt_dracptyn/>
  1279. <otpt_dracptdt/>
  1280. <otpt_prcpgenryn/>
  1281. <otpt_prcpnotoccrresn/>
  1282. <otpt_estmspclappyn/>
  1283. <otpt_elbulbodstat/>
  1284. <otpt_elbulbodstatdt/>
  1285. <otpt_calcflag/>
  1286. <otpt_calcmthdflag/>
  1287. <otpt_dnoracptyn/>
  1288. <otpt_rqstflag/>
  1289. <otpt_rqsthospcd/>
  1290. <otpt_rqstdrid/>
  1291. <otpt_lastrcptendyn/>
  1292. <otpt_tdayinflag/>
  1293. <otpt_tranindd/>
  1294. <otpt_rcptdd/>
  1295. <otpt_rcptno/>
  1296. <otpt_rcptseqno/>
  1297. <otpt_telrsrvrem/>
  1298. <otpt_updtcnclresn/>
  1299. <otpt_fstacptid/>
  1300. <otpt_fstacptdt/>
  1301. <otpt_fstrgstrid/>
  1302. <otpt_fstrgstdt/>
  1303. <otpt_lastupdtrid/>
  1304. <otpt_lastupdtdt/>
  1305. <otpt_ordreqformflag/>
  1306. <otpt_prcplockid/>
  1307. <otpt_dschjudgprcsstat/>
  1308. <otpt_judgmdlid/>
  1309. <otpt_lastjudgdt/>
  1310. <otpt_mainjudgid/>
  1311. <otpt_probjudgflag/>
  1312. <otpt_spcljudgflag/>
  1313. <otpt_handicaprbookpossnyn/>
  1314. <otpt_outercdrgstyn/>
  1315. <otpt_undersixageyn/>
  1316. <otpt_remfact/>
  1317. <otpt_spclcd/>
  1318. <otpt_onestop/>
  1319. <otpt_ownbflag/>
  1320. <otpt_ordstat/>
  1321. <otpt_ordpatyn/>
  1322. <otpt_uncocd/>
  1323. <otpt_pmflag/>
  1324. <otpt_emplno/>
  1325. <otpt_emplnm/>
  1326. <otpt_suppkindsubyn/>
  1327. <otpt_earnendyn/>
  1328. <otpt_rareobstflag/>
  1329. <otpt_tranflag/>
  1330. <otpt_onlnno/>
  1331. <otpt_inetproxyrrgstno/>
  1332. <otpt_holdflag/>
  1333. <otpt_subdeptcd/>
  1334. <otpt_rcptvipresncd/>
  1335. <otpt_rcptvipetcresn/>
  1336. <otpt_prcptdayaftrcptyn/>
  1337. <otpt_coopteamcd/>
  1338. <otpt_rcptamt/>
  1339. <otpt_rcptrnm/>
  1340. <otpt_rcptdt/>
  1341. <otpt_tablename/>
  1342. <otpt_acptdd/>
  1343. <otpt_acptno/>
  1344. <otpt_orddeptnm/>
  1345. <otpt_orddrnm/>
  1346. <otpt_ocr_scanyn/>
  1347. </otpt>
  1348. </m_otpt>
  1349. <m_opmi>
  1350. <opmi>
  1351. <opmi_mseqno/>
  1352. <opmi_pid/>
  1353. <opmi_rcptdd/>
  1354. <opmi_rcptno/>
  1355. <opmi_rcptseqno/>
  1356. <opmi_instcd/>
  1357. <opmi_rcptstat/>
  1358. <opmi_uncorcptflag/>
  1359. <opmi_orddd/>
  1360. <opmi_cretno/>
  1361. <opmi_acptseqno/>
  1362. <opmi_orddeptcd/>
  1363. <opmi_orddrid/>
  1364. <opmi_ordtype/>
  1365. <opmi_mskind/>
  1366. <opmi_insukind/>
  1367. <opmi_suppkind/>
  1368. <opmi_insucd/>
  1369. <opmi_payamt/>
  1370. <opmi_allownbamt/>
  1371. <opmi_nopyamt/>
  1372. <opmi_payownbamt/>
  1373. <opmi_payinsubamt/>
  1374. <opmi_handcapfund/>
  1375. <opmi_procsubtamt/>
  1376. <opmi_ersubtamt/>
  1377. <opmi_specamt/>
  1378. <opmi_discamt/>
  1379. <opmi_reduamt/>
  1380. <opmi_bloddiscamt/>
  1381. <opmi_totownbamt/>
  1382. <opmi_premdlrcptamt/>
  1383. <opmi_precardamt/>
  1384. <opmi_precashamt/>
  1385. <opmi_preonlineamt/>
  1386. <opmi_mdlrcptamt/>
  1387. <opmi_uncoamt/>
  1388. <opmi_cardamt/>
  1389. <opmi_cashamt/>
  1390. <opmi_onlineamt/>
  1391. <opmi_restamt/>
  1392. <opmi_hosindrugno/>
  1393. <opmi_hosoutdrugno/>
  1394. <opmi_calcmthdflag/>
  1395. <opmi_remfact/>
  1396. <opmi_paypsnflag/>
  1397. <opmi_paydepoamt/>
  1398. <opmi_paypsnrem/>
  1399. <opmi_orgrcptdd/>
  1400. <opmi_orgrcptno/>
  1401. <opmi_orgrcptseqno/>
  1402. <opmi_rcptexecdd/>
  1403. <opmi_rcpttm/>
  1404. <opmi_rcptrid/>
  1405. <opmi_fstrgstrid/>
  1406. <opmi_fstrgstdt/>
  1407. <opmi_lastupdtrid/>
  1408. <opmi_lastupdtdt/>
  1409. <opmi_totamt/>
  1410. <opmi_totnopyamt/>
  1411. <opmi_subtamt/>
  1412. <opmi_totreduamt/>
  1413. <opmi_nopyownbamt/>
  1414. <opmi_nopyinsubamt/>
  1415. <opmi_allownownbamt/>
  1416. <opmi_allowninsubamt/>
  1417. <opmi_specownbamt/>
  1418. <opmi_specinsubamt/>
  1419. <opmi_heallifeamtclamamt/>
  1420. <opmi_suppamt/>
  1421. <opmi_pregdmndamt/>
  1422. <opmi_prepregdmndamt/>
  1423. </opmi>
  1424. </m_opmi>
  1425. <m_oscl>
  1426. <oscl>
  1427. <oscl_mseqno/>
  1428. <oscl_pid/>
  1429. <oscl_orddd/>
  1430. <oscl_cretno/>
  1431. <oscl_calcseqno/>
  1432. <oscl_calcscorseqno/>
  1433. <oscl_instcd/>
  1434. <oscl_calcstat/>
  1435. <oscl_clamtrgtstat/>
  1436. <oscl_acptseqno/>
  1437. <oscl_orddeptcd/>
  1438. <oscl_orddrid/>
  1439. <oscl_mskind/>
  1440. <oscl_ordtype/>
  1441. <oscl_grupcalcscorcd/>
  1442. <oscl_snglcalcscorcd/>
  1443. <oscl_grupcalcscorcls/>
  1444. <oscl_snglcalcscorcls/>
  1445. <oscl_grupearncls/>
  1446. <oscl_snglearncls/>
  1447. <oscl_ordqty/>
  1448. <oscl_ordtims/>
  1449. <oscl_orddays/>
  1450. <oscl_calcqty/>
  1451. <oscl_calctims/>
  1452. <oscl_calcdays/>
  1453. <oscl_matractflag/>
  1454. <oscl_calcpayflag/>
  1455. <oscl_prcppayflag/>
  1456. <oscl_calcscorpayflag/>
  1457. <oscl_freeflag/>
  1458. <oscl_opflag/>
  1459. <oscl_ansttm/>
  1460. <oscl_spccd/>
  1461. <oscl_pntunitcost/>
  1462. <oscl_calcscorpnt/>
  1463. <oscl_estmpnt/>
  1464. <oscl_appunitcost/>
  1465. <oscl_estmamt/>
  1466. <oscl_calcamt/>
  1467. <oscl_hospaddamt/>
  1468. <oscl_specamt/>
  1469. <oscl_payamt/>
  1470. <oscl_allownbamt/>
  1471. <oscl_nopyamt/>
  1472. <oscl_payownbrate/>
  1473. <oscl_payinsubamt/>
  1474. <oscl_payownbamt/>
  1475. <oscl_paydiscamt/>
  1476. <oscl_nopydiscamt/>
  1477. <oscl_specdiscamt/>
  1478. <oscl_hosoutexptresncd/>
  1479. <oscl_hosoutdrugno/>
  1480. <oscl_specordyn/>
  1481. <oscl_execdeptcd/>
  1482. <oscl_execdd/>
  1483. <oscl_exectm/>
  1484. <oscl_execrid/>
  1485. <oscl_pamexecdd/>
  1486. <oscl_earnenddd/>
  1487. <oscl_actcnclresn/>
  1488. <oscl_clamspclcd/>
  1489. <oscl_clamkey/>
  1490. <oscl_clamcretdd/>
  1491. <oscl_clamcretyn/>
  1492. <oscl_estmcls/>
  1493. <oscl_estmmeancd/>
  1494. <oscl_estmcd/>
  1495. <oscl_readdrid/>
  1496. <oscl_clincstdyno/>
  1497. <oscl_exitprvntdrugyn/>
  1498. <oscl_exitprvntdrugamt/>
  1499. <oscl_trustaddrate/>
  1500. <oscl_bothaddyn/>
  1501. <oscl_prcpdd/>
  1502. <oscl_prcpno/>
  1503. <oscl_prcphistno/>
  1504. <oscl_execprcpseqno/>
  1505. <oscl_cnfmcd/>
  1506. <oscl_cpflag/>
  1507. <oscl_prnprcpflag/>
  1508. <oscl_portprcpflag/>
  1509. <oscl_anamneflag/>
  1510. <oscl_spcljudgyn/>
  1511. <oscl_judgflag/>
  1512. <oscl_cvrtinprcpdeptcd/>
  1513. <oscl_cvrtinprcpdrid/>
  1514. <oscl_rcptdd/>
  1515. <oscl_rcptno/>
  1516. <oscl_rcptseqno/>
  1517. <oscl_rcptexecdd/>
  1518. <oscl_rcpttm/>
  1519. <oscl_fstrgstrid/>
  1520. <oscl_fstrgstdt/>
  1521. <oscl_lastupdtrid/>
  1522. <oscl_lastupdtdt/>
  1523. <oscl_nopyownbamt/>
  1524. <oscl_nopyinsubamt/>
  1525. <oscl_allownownbamt/>
  1526. <oscl_allowninsubamt/>
  1527. <oscl_specownbamt/>
  1528. <oscl_specinsubamt/>
  1529. <oscl_insukind/>
  1530. <oscl_suppkind/>
  1531. <oscl_rsvordgubn/>
  1532. <oscl_brateflag/>
  1533. <oscl_ownbflag/>
  1534. <oscl_tranflag/>
  1535. <oscl_edicd/>
  1536. <oscl_druglimitamt/>
  1537. <oscl_limitdiffamt/>
  1538. <oscl_earndeptcd/>
  1539. <oscl_earndrid/>
  1540. <oscl_judgadjtresncd/>
  1541. <oscl_probordyn/>
  1542. <oscl_judgendflag/>
  1543. <oscl_tootfact/>
  1544. <oscl_drugmthdspccd/>
  1545. <oscl_rgstdeptcd/>
  1546. <oscl_rgstdd/>
  1547. <oscl_rgsttm/>
  1548. <oscl_rgstrid/>
  1549. <oscl_mig/>
  1550. <oscl_centcd/>
  1551. <oscl_subdeptcd/>
  1552. <oscl_coopteamcd/>
  1553. <oscl_execprcpuniqno/>
  1554. </oscl>
  1555. </m_oscl>
  1556. <m_card>
  1557. <card>
  1558. <card_mseqno/>
  1559. <card_pid/>
  1560. <card_rcptdd/>
  1561. <card_rcptno/>
  1562. <card_rcptseqno/>
  1563. <card_seqno/>
  1564. <card_instcd/>
  1565. <card_rcptstat/>
  1566. <card_ordtype/>
  1567. <card_keyinptflag/>
  1568. <card_cardcmpycd/>
  1569. <card_cardno/>
  1570. <card_aprvflag/>
  1571. <card_aprvdd/>
  1572. <card_aprvtm/>
  1573. <card_aprvno/>
  1574. <card_vancd/>
  1575. <card_allotmm/>
  1576. <card_cardamt/>
  1577. <card_valiterm/>
  1578. <card_rcptexecdd/>
  1579. <card_rcpttm/>
  1580. <card_rcptrid/>
  1581. <card_innrtretyn/>
  1582. <card_preamtyn/>
  1583. <card_remfact/>
  1584. <card_fstrgstrid/>
  1585. <card_fstrgstdt/>
  1586. <card_lastupdtrid/>
  1587. <card_lastupdtdt/>
  1588. </card>
  1589. </m_card>
  1590. <m_cash>
  1591. <cash>
  1592. <cash_mseqno/>
  1593. <cash_pid/>
  1594. <cash_rcptdd/>
  1595. <cash_rcptno/>
  1596. <cash_rcptseqno/>
  1597. <cash_seqno/>
  1598. <cash_instcd/>
  1599. <cash_rcptstat/>
  1600. <cash_ordtype/>
  1601. <cash_keyinptflag/>
  1602. <cash_indinstflag/>
  1603. <cash_qualcnfmflag/>
  1604. <cash_qualcnfmno/>
  1605. <cash_aprvflag/>
  1606. <cash_aprvno/>
  1607. <cash_aprvdd/>
  1608. <cash_aprvtm/>
  1609. <cash_cashamt/>
  1610. <cash_rcptexecdd/>
  1611. <cash_rcpttm/>
  1612. <cash_rcptrid/>
  1613. <cash_preamtyn/>
  1614. <cash_innrtretyn/>
  1615. <cash_remfact/>
  1616. <cash_fstrgstrid/>
  1617. <cash_fstrgstdt/>
  1618. <cash_lastupdtrid/>
  1619. <cash_lastupdtdt/>
  1620. </cash>
  1621. </m_cash>
  1622. <m_dcgm>
  1623. <dcgm>
  1624. <dcgm_mseqno/>
  1625. <dcgm_pid/>
  1626. <dcgm_seqno/>
  1627. <dcgm_rcptdd/>
  1628. <dcgm_rcptno/>
  1629. <dcgm_instcd/>
  1630. <dcgm_rcptstat/>
  1631. <dcgm_rcptseqno/>
  1632. <dcgm_ordtype/>
  1633. <dcgm_discreduflag/>
  1634. <dcgm_discreducd/>
  1635. <dcgm_discreduamt/>
  1636. <dcgm_apprsn/>
  1637. <dcgm_rcptexecdd/>
  1638. <dcgm_rcpttm/>
  1639. <dcgm_remfact/>
  1640. <dcgm_rcptrid/>
  1641. <dcgm_fstrgstrid/>
  1642. <dcgm_fstrgstdt/>
  1643. <dcgm_lastupdtrid/>
  1644. <dcgm_lastupdtdt/>
  1645. </dcgm>
  1646. </m_dcgm>
  1647. <c_otpt>
  1648. <otpt>
  1649. <otpt_check/>
  1650. <otpt_pid/>
  1651. <otpt_orddd/>
  1652. <otpt_cretno/>
  1653. <otpt_acptseqno/>
  1654. <otpt_instcd/>
  1655. <otpt_histstat/>
  1656. <otpt_orgorddd/>
  1657. <otpt_orgcretno/>
  1658. <otpt_calcbaseflag/>
  1659. <otpt_calcyn/>
  1660. <otpt_ordtm/>
  1661. <otpt_orddeptcd/>
  1662. <otpt_orddeptabbr/>
  1663. <otpt_orddrid/>
  1664. <otpt_orddeptdrabbr/>
  1665. <otpt_dutdeptcd/>
  1666. <otpt_centcd/>
  1667. <otpt_supdeptcd/>
  1668. <otpt_mskind/>
  1669. <otpt_insukind/>
  1670. <otpt_suppkind/>
  1671. <otpt_insucd/>
  1672. <otpt_suppkindresn/>
  1673. <otpt_specordyn/>
  1674. <otpt_holiflag/>
  1675. <otpt_fsexamflag/>
  1676. <otpt_fsexammanlyn/>
  1677. <otpt_ordtype/>
  1678. <otpt_brateflag/>
  1679. <otpt_medamtestmyn/>
  1680. <otpt_medamtpostyn/>
  1681. <otpt_medamtfreeresn/>
  1682. <otpt_rsrvflag/>
  1683. <otpt_etcordflag/>
  1684. <otpt_disccd/>
  1685. <otpt_hosoutexptresncd/>
  1686. <otpt_clincstdyacptflag/>
  1687. <otpt_clincstdyno/>
  1688. <otpt_chrtlendyn/>
  1689. <otpt_specorddescyn/>
  1690. <otpt_ordreqdescyn/>
  1691. <otpt_ordreqhospgrde/>
  1692. <otpt_insuchrgyn/>
  1693. <otpt_nursacptyn/>
  1694. <otpt_nursacptdt/>
  1695. <otpt_dracptyn/>
  1696. <otpt_dracptdt/>
  1697. <otpt_prcpgenryn/>
  1698. <otpt_prcpnotoccrresn/>
  1699. <otpt_estmspclappyn/>
  1700. <otpt_elbulbodstat/>
  1701. <otpt_elbulbodstatdt/>
  1702. <otpt_calcflag/>
  1703. <otpt_calcmthdflag/>
  1704. <otpt_dnoracptyn/>
  1705. <otpt_rqstflag/>
  1706. <otpt_rqsthospcd/>
  1707. <otpt_rqstdrid/>
  1708. <otpt_lastrcptendyn/>
  1709. <otpt_tdayinflag/>
  1710. <otpt_tranindd/>
  1711. <otpt_rcptdd/>
  1712. <otpt_rcptno/>
  1713. <otpt_rcptseqno/>
  1714. <otpt_telrsrvrem/>
  1715. <otpt_updtcnclresn/>
  1716. <otpt_fstacptid/>
  1717. <otpt_fstacptdt/>
  1718. <otpt_fstrgstrid/>
  1719. <otpt_fstrgstdt/>
  1720. <otpt_lastupdtrid/>
  1721. <otpt_lastupdtdt/>
  1722. <otpt_ordreqformflag/>
  1723. <otpt_prcplockid/>
  1724. <otpt_dschjudgprcsstat/>
  1725. <otpt_judgmdlid/>
  1726. <otpt_lastjudgdt/>
  1727. <otpt_mainjudgid/>
  1728. <otpt_probjudgflag/>
  1729. <otpt_spcljudgflag/>
  1730. <otpt_handicaprbookpossnyn/>
  1731. <otpt_outercdrgstyn/>
  1732. <otpt_undersixageyn/>
  1733. <otpt_remfact/>
  1734. <otpt_spclcd/>
  1735. <otpt_onestop/>
  1736. <otpt_ownbflag/>
  1737. <otpt_ordstat/>
  1738. <otpt_ordpatyn/>
  1739. <otpt_uncocd/>
  1740. <otpt_pmflag/>
  1741. <otpt_emplno/>
  1742. <otpt_emplnm/>
  1743. <otpt_suppkindsubyn/>
  1744. <otpt_earnendyn/>
  1745. <otpt_rareobstflag/>
  1746. <otpt_tranflag/>
  1747. <otpt_onlnno/>
  1748. <otpt_inetproxyrrgstno/>
  1749. <otpt_holdflag/>
  1750. <otpt_subdeptcd/>
  1751. <otpt_rcptvipresncd/>
  1752. <otpt_rcptvipetcresn/>
  1753. <otpt_prcptdayaftrcptyn/>
  1754. <otpt_coopteamcd/>
  1755. <otpt_rcptamt/>
  1756. <otpt_rcptrnm/>
  1757. <otpt_rcptdt/>
  1758. <otpt_tablename/>
  1759. <otpt_acptdd/>
  1760. <otpt_acptno/>
  1761. <otpt_orddeptnm/>
  1762. <otpt_orddrnm/>
  1763. </otpt>
  1764. </c_otpt>
  1765. <c_opmi>
  1766. <opmi/>
  1767. </c_opmi>
  1768. <c_card>
  1769. <card/>
  1770. </c_card>
  1771. <c_cash>
  1772. <cash/>
  1773. </c_cash>
  1774. <patinfo>
  1775. <patinfolist/>
  1776. </patinfo>
  1777. <popupendflag/>
  1778. <h_chrt>
  1779. <chrt>
  1780. <high_flag/>
  1781. <flag/>
  1782. <pid/>
  1783. <orddd/>
  1784. <cretno/>
  1785. <acptseqno/>
  1786. <orddeptcd/>
  1787. <orddrid/>
  1788. <ordtm/>
  1789. <fsexamflag/>
  1790. </chrt>
  1791. </h_chrt>
  1792. </main>
  1793. <send>
  1794. <data0/>
  1795. <data1/>
  1796. <data2/>
  1797. <data3/>
  1798. <data4/>
  1799. <data5/>
  1800. <data6/>
  1801. <data7/>
  1802. <data8/>
  1803. <data9/>
  1804. <data10/>
  1805. <data11/>
  1806. <data12/>
  1807. <data13/>
  1808. <data14/>
  1809. <data15/>
  1810. <data16/>
  1811. <data17/>
  1812. <data18/>
  1813. <data19/>
  1814. <data20/>
  1815. <data21/>
  1816. <data22/>
  1817. <data23/>
  1818. <data24/>
  1819. <data25/>
  1820. <data26/>
  1821. <data27/>
  1822. <data28/>
  1823. <data29/>
  1824. <data30/>
  1825. <data31/>
  1826. <data32/>
  1827. <data33/>
  1828. <data34/>
  1829. <data35/>
  1830. <data36/>
  1831. <data37>
  1832. <pid/>
  1833. <rgstno1/>
  1834. <rgstno2/>
  1835. <name/>
  1836. <orddd/>
  1837. </data37>
  1838. </send>
  1839. <init_com>
  1840. <init>
  1841. <P0006list>
  1842. <P0006>
  1843. <cdid/>
  1844. <cdnm/>
  1845. </P0006>
  1846. </P0006list>
  1847. <P0015list>
  1848. <P0015>
  1849. <cdid/>
  1850. <cdnm/>
  1851. </P0015>
  1852. </P0015list>
  1853. <P0016list>
  1854. <P0016>
  1855. <cdid/>
  1856. <cdnm/>
  1857. </P0016>
  1858. </P0016list>
  1859. <P0020list>
  1860. <P0020>
  1861. <cdid/>
  1862. <cdnm/>
  1863. </P0020>
  1864. </P0020list>
  1865. <P0021list>
  1866. <P0021>
  1867. <cdid/>
  1868. <cdnm/>
  1869. </P0021>
  1870. </P0021list>
  1871. <P0022list>
  1872. <P0022>
  1873. <cdid/>
  1874. <cdnm/>
  1875. </P0022>
  1876. </P0022list>
  1877. <P0032list>
  1878. <P0032>
  1879. <cdid/>
  1880. <cdnm/>
  1881. </P0032>
  1882. </P0032list>
  1883. <P0034list>
  1884. <P0034>
  1885. <cdid/>
  1886. <cdnm/>
  1887. </P0034>
  1888. </P0034list>
  1889. <P0158list>
  1890. <P0158>
  1891. <cdid/>
  1892. <cdnm/>
  1893. </P0158>
  1894. </P0158list>
  1895. <P0328list>
  1896. </P0328list>
  1897. <P0341list>
  1898. <P0341>
  1899. <cdid/>
  1900. <cdnm/>
  1901. </P0341>
  1902. </P0341list>
  1903. <P0342list>
  1904. <P0342>
  1905. <cdid/>
  1906. <cdnm/>
  1907. </P0342>
  1908. </P0342list>
  1909. <P0157list>
  1910. <P0157>
  1911. <cdid/>
  1912. <cdnm/>
  1913. </P0157>
  1914. </P0157list>
  1915. <P0380list/>
  1916. <P0313list>
  1917. <P0313>
  1918. <cdid/>
  1919. <cdnm/>
  1920. </P0313>
  1921. </P0313list>
  1922. <P0327list>
  1923. <P0327>
  1924. <cdid/>
  1925. <cdnm/>
  1926. </P0327>
  1927. </P0327list>
  1928. <P0400list>
  1929. <P0400>
  1930. <cdid/>
  1931. <cdnm/>
  1932. </P0400>
  1933. </P0400list>
  1934. <P0329list>
  1935. <P0329>
  1936. <cdid/>
  1937. <cdnm/>
  1938. </P0329>
  1939. </P0329list>
  1940. <A0420list>
  1941. <A0420>
  1942. <cdid/>
  1943. <cdnm/>
  1944. </A0420>
  1945. </A0420list>
  1946. <P0029list>
  1947. <P0029>
  1948. <cdid/>
  1949. <cdnm/>
  1950. </P0029>
  1951. </P0029list>
  1952. <M0525list>
  1953. <M0525>
  1954. <cdid/>
  1955. <cdnm/>
  1956. </M0525>
  1957. </M0525list>
  1958. <P0477list>
  1959. <P0477>
  1960. <cdid/>
  1961. <cdnm/>
  1962. </P0477>
  1963. </P0477list>
  1964. </init>
  1965. </init_com>
  1966. <init>
  1967. <disccd>
  1968. <cd/>
  1969. <nm/>
  1970. </disccd>
  1971. <insukind>
  1972. <cd/>
  1973. <nm/>
  1974. </insukind>
  1975. <suppkind>
  1976. <cd/>
  1977. <nm/>
  1978. <up/>
  1979. <io/>
  1980. </suppkind>
  1981. <orddeptcd>
  1982. <cd/>
  1983. <nm/>
  1984. <deptengabbr/>
  1985. <reqdeptno/>
  1986. </orddeptcd>
  1987. <orddrid>
  1988. <cd/>
  1989. <nm/>
  1990. <dp/>
  1991. <sp/>
  1992. </orddrid>
  1993. <reducd>
  1994. <cd/>
  1995. <nm/>
  1996. </reducd>
  1997. <uncocd>
  1998. <cd/>
  1999. <nm/>
  2000. </uncocd>
  2001. <P0022>
  2002. <P0022list>
  2003. <cd/>
  2004. <nm/>
  2005. </P0022list>
  2006. </P0022>
  2007. <naticd>
  2008. <cd/>
  2009. <nm/>
  2010. </naticd>
  2011. </init>
  2012. <hidden>
  2013. <session/>
  2014. <flag>
  2015. <olnw/>
  2016. <gubn_flag/>
  2017. <ptbs_flag/>
  2018. <otpt_flag/>
  2019. <ptin_flag/>
  2020. <opmi_flag/>
  2021. <oscl_flag/>
  2022. <h_unco_flag/>
  2023. <h_card_flag/>
  2024. <h_dcgm_flag/>
  2025. <h_cnst_flag/>
  2026. <h_cash_flag/>
  2027. <h_onln_flag/>
  2028. <cash_flag/>
  2029. <cash_number/>
  2030. <cash_type/>
  2031. <medcostestmflag_chk_yn/>
  2032. <vip/>
  2033. <bogj_flag/>
  2034. <rqst_flag/>
  2035. <rpid_flag/>
  2036. <msave_flag/>
  2037. <rcpt_flag/>
  2038. <check_insuinfo_flag/>
  2039. <check_insuinfo_insukind/>
  2040. <check_insuinfo_suppkind/>
  2041. <check_insuinfo_ownbflag/>
  2042. <check_insuinfo_rareobstflag/>
  2043. <check_cash/>
  2044. <check_card/>
  2045. </flag>
  2046. <com>
  2047. <fsflag/>
  2048. <rcptpapr/>
  2049. <engrcptpapr/>
  2050. <toggle/>
  2051. <orddeptcd/>
  2052. <rsrvdesc/>
  2053. <deptnm/>
  2054. <histstat/>
  2055. <idcard>Y</idcard>
  2056. <relnclear/>
  2057. <misunapdd/>
  2058. <ptbs_pid_org/>
  2059. <menu_erflag/>
  2060. <orgflag/>
  2061. <chrtflag/>
  2062. <rowchng/>
  2063. <cardcashflag/>
  2064. <cash_indinstflag/>
  2065. <card_cardno/>
  2066. <card_valiterm/>
  2067. <card_allotmm/>
  2068. <rectoneyear/>
  2069. <swipedata/>
  2070. <keyinptflag/>
  2071. <qualcnfmflag/>
  2072. <searchInsuInfoYN/>
  2073. <autocashyn/>
  2074. <personprntyn/>
  2075. </com>
  2076. <rcv/>
  2077. <rghtmenu>
  2078. <menu>
  2079. <label>선택행삭제</label>
  2080. <func>fPrestRowDel</func>
  2081. </menu>
  2082. </rghtmenu>
  2083. <chng/>
  2084. <rcv2/>
  2085. <m_etc>
  2086. <uncocd/>
  2087. <reducd/>
  2088. <cardaprvflag/>
  2089. <cashaprvflag/>
  2090. </m_etc>
  2091. <rightmenu>
  2092. <menu>
  2093. <label>오늘로 접수변경</label>
  2094. <func>fChngOrdddToToday</func>
  2095. </menu>
  2096. </rightmenu>
  2097. <rightmenu1>
  2098. <menu>
  2099. <label>오늘로 접수변경</label>
  2100. <func>fChngOrdddToToday</func>
  2101. </menu>
  2102. </rightmenu1>
  2103. </hidden>
  2104. <source>
  2105. <srchcond/>
  2106. <autoflag/>
  2107. <pid/>
  2108. <hngnm/>
  2109. <rrgstno1/>
  2110. <rrgstno2/>
  2111. <acptdd/>
  2112. <checkfnexam/>
  2113. </source>
  2114. <hidden2/>
  2115. <tempchk>
  2116. <specapp>
  2117. <rgstyn/>
  2118. </specapp>
  2119. <specchk>
  2120. <stat/>
  2121. <pid/>
  2122. <hngnm/>
  2123. <rrgstno1/>
  2124. <rrgstno2/>
  2125. <choiflag/>
  2126. <ordtype/>
  2127. <orddd/>
  2128. <orddeptcd/>
  2129. <orddrid/>
  2130. <specordyn/>
  2131. <fromdd/>
  2132. <rsrvdd/>
  2133. </specchk>
  2134. </tempchk>
  2135. <temp7/>
  2136. <paminit>
  2137. <P0068list>
  2138. <P0068>
  2139. <cd/>
  2140. <nm/>
  2141. </P0068>
  2142. </P0068list>
  2143. <P0097list>
  2144. <P0097>
  2145. <cd/>
  2146. <nm/>
  2147. </P0097>
  2148. </P0097list>
  2149. <PK018list>
  2150. <PK018>
  2151. <cd/>
  2152. <nm/>
  2153. </PK018>
  2154. </PK018list>
  2155. <PK059list>
  2156. <PK059>
  2157. <cdid/>
  2158. <cdnm/>
  2159. </PK059>
  2160. </PK059list>
  2161. <P6570list/>
  2162. <P0022list/>
  2163. <P0032list/>
  2164. <P6586list/>
  2165. <P6587list/>
  2166. </paminit>
  2167. <temp10>
  2168. <disclist>
  2169. <disc/>
  2170. </disclist>
  2171. </temp10>
  2172. <ocrtemp/>
  2173. </root>
  2174. </instance>
  2175. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init_com/init"/>
  2176. <submission id="TRPMO00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2177. <submission id="TRPMO00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2178. <submission id="TRPMO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2179. <submission id="TRPMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2180. <submission id="TRPMO00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv/cnstinfo/temp"/>
  2181. <submission id="TRPMO00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" replace="instance" resultref="/root/main/h_otpt"/>
  2182. <submission id="TRPMO00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2183. <submission id="TRPMO00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2184. <submission id="TRPMO00110" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2185. <submission id="TXPMO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2186. <submission id="TXPMO00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2187. <submission id="TXPMO00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2188. <submission id="TRPMOCOM01" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/session" replace="instance" resultref="/root/init"/>
  2189. <submission id="TXPMO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2190. <submission id="TXPMO00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  2191. <submission id="TRPMO00111" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv2"/>
  2192. <submission id="TRPMO00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/temp/send" resultref="/root/hidden/temp/result"/>
  2193. <submission id="TXPMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/h_chrt" replace="instance" resultref="/root/hidden/rcv2"/>
  2194. <submission id="TXPAM00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/patcardissue" resultref="/root/hidden/patcardissue/result"/>
  2195. <submission id="TXPAC00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmp"/>
  2196. <submission id="TRPAC00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  2197. <submission id="TRPAC00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  2198. <submission id="TRPMC02500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/source" resultref="/root/hidden/rcv/patinfo"/>
  2199. <submission id="TRPMB01501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/insucdlist"/>
  2200. <submission id="TRPMO00113" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/mediexam" resultref="/root/hidden/rcv"/>
  2201. <submission id="TRPMO00114" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/homecare" resultref="/root/hidden/rcv"/>
  2202. <submission id="TRPMO00115" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/drholische" resultref="/root/send/drholische/rcv"/>
  2203. <submission id="TRPMC06905" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/refund" resultref="/root/refund"/>
  2204. <submission id="TRPMO00116" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/erpat" resultref="/root/hidden/rcv/temp"/>
  2205. <submission id="TRPAC00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cnstinfo" resultref="/root/hidden/rcv/cnstinfo/temp"/>
  2206. <submission id="TRPAC00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/temp/send" resultref="/root/hidden/temp"/>
  2207. <submission id="TRPMC01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/handcappat/send" resultref="/root/temp/handcappat"/>
  2208. <submission id="TRPAO00212" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/transpat" resultref="/root/hidden/rcv/temp"/>
  2209. <submission id="TRPMO00117" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/totalcheckinfo" resultref="/root/hidden/rcv"/>
  2210. <submission id="TRPMO00119" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bindpid" resultref="/root/hidden/rcv"/>
  2211. <submission id="TXPMO00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/rcv/bindpid" resultref="/root/hidden/rcv"/>
  2212. <submission id="TXPMO00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/rcv"/>
  2213. <submission id="TRPMO01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/ordreqform/send" resultref="/root/temp/ordreqform"/>
  2214. <submission id="TRPMO00120" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/checkjabosasae" resultref="/root/hidden/rcv"/>
  2215. <submission id="TRPMO00121" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/charity" resultref="/root/send/charity/rsv"/>
  2216. <submission id="TRPMC03802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/discpat" replace="instance" resultref="/root/temp/result"/>
  2217. <submission id="TRPAO01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cashbaseinfo" resultref="/root/send/cashbaseinfo"/>
  2218. <submission id="TRPMO00122" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/checkspecordyn" resultref="/root/send/checkspecordyn/rcv"/>
  2219. <submission id="TXPMO00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/rcv"/>
  2220. <submission id="TRPMC02600" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/checkautoinduinsu" resultref="/root/hidden/rcv"/>
  2221. <submission id="TXPMO00305" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/rcv"/>
  2222. <submission id="TRPMO00123" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/pamcomcd/send" resultref="/root/hidden/pamcomcd/rcv"/>
  2223. <submission id="TRPMO00124" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/uncorcptyn" resultref="/root/hidden/uncorcptyn"/>
  2224. <submission id="TRZSD00207" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  2225. <submission id="TRZSD00208" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  2226. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  2227. <submission id="TRZSU10118" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  2228. <submission id="TRPMO00125" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data36" replace="instance" resultref="/root/tempchk"/>
  2229. <submission id="TRMNC00999" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send_diaginfo" replace="instance" resultref="/root/diaginfo"/>
  2230. <submission id="TRPAO00130" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp7" resultref="/root/temp7"/>
  2231. <submission id="TRPAM00105" mediatype="application/x-www-form-urlencoded" method="post"/>
  2232. <submission id="TRPMC06904" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/patprivacy" replace="instance" resultref="/root/temp/patprivacy"/>
  2233. <submission id="TRPAO00118" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data37" resultref="/root/temp10"/>
  2234. <submission id="TRPAO00002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/checkptbs" resultref="/root/temp"/>
  2235. <submission id="TRPAO00004" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/checkdrscheSend" resultref="/root/temp/checkdrscheResult"/>
  2236. <submission id="TRPAO00005" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/magm/magminfo" resultref="/root/magm/aprvinfo"/>
  2237. <submission id="TRPAO00006" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/rcptuser/rcptuserinfosend" resultref="/root/rcptuser/rcptuserinfo"/>
  2238. <submission id="TRPAO00007" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/rcptuser/rcptuserinfosend" resultref="/root/rcptuser/rcptuserinfo"/>
  2239. <submission id="TRPMO00126" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp/dahakje"/>
  2240. <submission id="TRPMO00127" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/ocrtemp"/>
  2241. <submission id="TRPMO00128" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send2/reqdata" resultref="/root/jinchalryotemp"/>
  2242. <submission id="TXARC00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hiesend/savedata" resultref="/root/hiehidden"/>
  2243. <submission id="TXARC00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hiesend/savedata" resultref="/root/hiehidden"/>
  2244. </model>
  2245. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  2246. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  2247. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  2248. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  2249. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  2250. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  2251. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  2252. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  2253. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  2254. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  2255. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  2256. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM001.js"/>
  2257. <script type="javascript" src="../../../pam/opatmngtweb/js/PMO001.js"/>
  2258. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  2259. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  2260. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  2261. <script type="javascript" src="../../../ast/healcarecoopweb/js/SPARC00100.js"/>
  2262. <script type="javascript" ev:event="xforms-ready">
  2263. <![CDATA[
  2264. //원무공통코드 조회를 위로 올림(2016/07/18 이정택)
  2265. pamfGetCodeList(new Array("P0068", "PK018", "P0097", "PK059", "P6570", "P0022", "P0032", "P6586", "P6587"), new Array("/root/paminit/P0068list", "/root/paminit/PK018list", "/root/paminit/P0097list", "/root/paminit/PK059list", "/root/paminit/P6570list", "/root/paminit/P0022list", "/root/paminit/P0032list", "/root/paminit/P6586list", "/root/paminit/P6587list"));
  2266. //외래메뉴인지 응급실메뉴인지 구분 필요
  2267. fGetUserInfosSampling(); //세션/root/hidden/session
  2268. //2009-09-28 이동식 추가
  2269. //의사조회시 진료일정 있는 의사가 먼저 소팅되도록 옵션추가
  2270. model.makeNode("/root/hidden/session/dridsorttype");
  2271. model.setValue("/root/hidden/session/dridsorttype", "RGST");
  2272. fComCDRef(); //자체기초코드 조회
  2273. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  2274. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  2275. fMultiInstanceCopy(); //멀티 인스턴스 copy
  2276. fOneInstanceBackUp(); //단일구조 인스턴수 백업
  2277. fMultiInstanceBackUp(); //멀티구조 인스턴스 백업
  2278. fBaseDataInit("all"); //기본데이터 초기화
  2279. fInsuTabChng();
  2280. //개인정보이용동의서 출력을 위한 서식코드 취득
  2281. reqHardCodeInfo("/root/send/reqdata", "/root/init/prncd", "5604");
  2282. //2007-10-04 이동식 추가 - 환자카드발급 PC정보를 읽어온다.
  2283. fGetPCID();
  2284. //END..
  2285. // 개인정보 이용 동의서 자동출력 제어용
  2286. // 신규 로직 적용 여부 추가 6570(2015/01/06 이정택)
  2287. if( model.getValue("/root/init/P0022/P0022list[cd = '40' ]/nm") != 'Y' && model.getValue("/root/init/P0022/P0022list[cd = '40' ]/nm") != 'N' ){
  2288. RCPTVIPYN = fCheckRcptVIPYN();
  2289. }else{
  2290. RCPTVIPYN = model.getValue("/root/init/P0022/P0022list[cd = '40' ]/nm");
  2291. }
  2292. //현금영수증 자동승인 여부
  2293. if( model.getValue("/root/init/P0022/P0022list[cd = '160' ]/nm") == 'Y'){
  2294. model.setValue("/root/hidden/com/autocashyn", model.getvalue("/root/init/P0022/P0022list[cd = '160' ]/nm"));
  2295. }
  2296. model.setValue("/root/hidden/com/personprntyn", "Y"); //개인정보이용 동의서 자동출력 여부(기본값 : Y)
  2297. var P0097_id = "";
  2298. var userid = getUserId();
  2299. for(var a=1; a<= getNodesetCount("/root/paminit/P0097list/P0097"); a++){
  2300. P0097_id = model.getValue("/root/paminit/P0097list/P0097[cdnm='1'][" + a + "]/detl");
  2301. if(userid == P0097_id) {
  2302. model.setValue("/root/hidden/com/personprntyn", "N"); //개인정보이용 동의서 자동출력 여부(치과/모발센터 자동출력 : N)
  2303. PersonPrntYN = "N";
  2304. break;
  2305. }
  2306. }
  2307. //센터 선 적용 여부 체크
  2308. if( model.getValue("/root/init/P0022/P0022list[cd = '30' ]/nm") != 'Y' && model.getValue("/root/init/P0022/P0022list[cd = '30' ]/nm") != 'N' ){
  2309. CENTERYN = fCheckCenterYN();
  2310. }else{
  2311. CENTERYN = model.getValue("/root/init/P0022/P0022list[cd = '30' ]/nm");
  2312. }
  2313. if( CENTERYN == 'Y' ){
  2314. cmb_centcd.visible = true;
  2315. combo3.visible = false;
  2316. combo4.visible = false;
  2317. //신종플루예방접종센터 원무공통 P0068 - 30
  2318. if (model.getValue("/root/paminit/P0068list/P0068[cdid = '30']/cdnm") != "" && model.getValue("/root/paminit/P0068list/P0068[cdid = '30']/cdnm") != null) {
  2319. FluPrevenCent = model.getValue("/root/paminit/P0068list/P0068[cdid = '30']/cdnm");
  2320. }
  2321. //신종플루예방접종센터 원무공통 P0068 - 30
  2322. if (model.getValue("/root/paminit/P0068list/P0068[cdid = '40']/cdnm") != "" && model.getValue("/root/paminit/P0068list/P0068[cdid = '40']/cdnm") != null) {
  2323. FluCent = model.getValue("/root/paminit/P0068list/P0068[cdid = '40']/cdnm");
  2324. }
  2325. }else{
  2326. cmb_centcd.visible = false;
  2327. combo3.visible = false;
  2328. combo4.visible = false;
  2329. }
  2330. //2008-01-13 이동식 추가 - 접수예약 그리드에 전체선택 체크박스 추가
  2331. grd_rgstrsrv.fixedcellcheckbox(0,0) = true;
  2332. //END..
  2333. //2007-10-16 추가
  2334. //금액표시기 초기화
  2335. fInit_Display();
  2336. //금액표시기 포트열기
  2337. // fOpenCom();
  2338. //END..
  2339. fInitInsuInfo();
  2340. //최근 1년 외래이력표시
  2341. model.setValue("/root/hidden/com/rectoneyear", 'Y');
  2342. bool6.dispatch("xforms-value-changed");
  2343. //2008-11-27 이동식추가
  2344. //자격조회 유무
  2345. // model.setValue("/root/hidden/com/searchInsuInfoYN", 'Y');
  2346. //기본 포커스
  2347. model.setFocus("ipt_pid");
  2348. model.refresh();
  2349. if( getScreenMenuParameter() != 'M' ){
  2350. //2007-10-03 이동식 추가
  2351. if (checkOpener()){ //팝업화면으로 사용될 때
  2352. if(!isNull(opener.javascript.getParameter("SMAHA00910_PID"))){ // 건진 정밀건진에서 팝업으로 열릴시
  2353. var pid = opener.javascript.getParameter("SMAHA00910_PID");
  2354. model.makeValue("/root/main/ptbs/ptbs_pid", pid);
  2355. ipt_pid.refresh();
  2356. event.keyCode = "13";
  2357. ipt_pid.dispatch("onkeypress");
  2358. }else{
  2359. //가정간호 세팅
  2360. var pid = opener.javascript.getParameter("pid");
  2361. var orddeptcd = opener.javascript.getParameter("orddeptcd");
  2362. var orddrid = opener.javascript.getParameter("orddrid");
  2363. var disccd = opener.javascript.getParameter("disccd");
  2364. var suppkind = opener.javascript.getParameter("suppkind");
  2365. //var array_parm = SMPMO00200_PARM.split("▦");
  2366. //가정간호/방문간호 여부 체크
  2367. //HOMECARE = 'Y';
  2368. var etcordflag = opener.javascript.getParameter("etcordflag");
  2369. if( etcordflag == 'O' ){ //방문간호
  2370. RSRVFLAG = 'O'; //예약구분 - 방문간호
  2371. }else{
  2372. HOMECARE = 'Y';
  2373. etcordflag = 'N'; //가정간호
  2374. RSRVFLAG = 'H'; //예약구분 - 가정간호
  2375. }
  2376. if( pid != '' && pid != ' ' || pid != '-' || pid != null ){
  2377. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  2378. model.refresh();
  2379. //20080703 이동식 추가
  2380. //환자정보 조회 중 상태 표시
  2381. callLoadingWindow("");
  2382. //end,
  2383. fSearchOutRgstInfo();
  2384. //20080703 이동식 추가
  2385. //환자정보 조회 중 상태 표시 지우기
  2386. removeLoadingWindow() ;
  2387. //진료과 진료의 세팅
  2388. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  2389. cmb_orddeptcd.dispatch("xforms-value-changed");
  2390. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  2391. cmb_orddrid.dispatch("xforms-value-changed");
  2392. //계정감면 세팅
  2393. // model.setValue("/root/main/ptdc/ptdc_disccd", disccd);
  2394. // fDiscCDSelect();
  2395. //수급절차 세팅
  2396. var ordreqformflag = model.getValue("/root/main/otpt/otpt_ordreqformflag");
  2397. if( ordreqformflag == '-' || ordreqformflag == '' ){
  2398. model.setValue("/root/main/otpt/otpt_ordreqformflag", "0"); //해당없음
  2399. }
  2400. //2008-07-09 손은연 쌤 요구
  2401. //감면정보 세팅
  2402. if( model.getValue("/root/main/otpt/otpt_disccd") == '-' || model.getValue("/root/main/otpt/otpt_disccd").getTrim() == '' ){
  2403. model.setValue("/root/main/otpt/otpt_disccd", disccd);
  2404. }
  2405. //연속처방 세팅
  2406. model.setValue("/root/main/otpt/otpt_etcordflag", etcordflag); //가정간호(N)/방문간호(O)
  2407. //선후불 세팅
  2408. model.setValue("/root/main/otpt/otpt_medamtpostyn", "Y"); //후불 세팅
  2409. rdo_medamtpostyn.dispatch("xforms-select");
  2410. //영수증 미출력 세팅
  2411. model.setValue("/root/hidden/com/rcptpapr", "N"); //출력 안함
  2412. //보호유형 세팅
  2413. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  2414. if( insukind == gsInsu_BoHeom || insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 || insukind == gsInsu_Noin){
  2415. if( RSRVFLAG == 'H' ){ // 가정간호
  2416. if( insukind == gsInsu_BoHeom ){
  2417. if( getNodesetCount("/root/main/h_srdg/srdg[srdg_signyn = 'Y' and srdg_insukind = '" + insukind + "']/srdg_pid") > 0 ){
  2418. if(getUserInfo("dutplceinstcd")=="032"){
  2419. model.setValue("/root/main/otpt/otpt_suppkind", "56"); // 가정형호스피스(등록암)
  2420. }else{
  2421. model.setValue("/root/main/otpt/otpt_suppkind", "11"); // 가정간호(등록암)
  2422. }
  2423. model.refresh();
  2424. } else if( getNodesetCount("/root/main/h_rooa/rooa[rooa_signyn = 'Y' and rooa_insukind = '" + insukind + "']/rooa_pid") > 0 ){
  2425. if(getUserInfo("dutplceinstcd")=="032"){ // 칠곡의 경우는 미등록암으로 변경
  2426. model.setValue("/root/main/otpt/otpt_suppkind", "57"); // 가정형호스피스(미등록암)
  2427. }else{
  2428. model.setValue("/root/main/otpt/otpt_suppkind", "51"); // 가정간호(희귀난치성산정특례)
  2429. }
  2430. model.refresh();
  2431. }else{
  2432. if(getUserInfo("dutplceinstcd")=="032"){
  2433. model.setValue("/root/main/otpt/otpt_suppkind", "57"); // 가정형호스피스(미등록암)
  2434. }else{
  2435. model.setValue("/root/main/otpt/otpt_suppkind", "10"); // 가정간호
  2436. }
  2437. model.refresh();
  2438. }
  2439. }else if( insukind != gsInsu_Noin ){
  2440. if( getNodesetCount("/root/main/h_srdg/srdg[srdg_seridiagno != '' and srdg_seridiagno != '0' and srdg_insukind = '" + insukind + "']/srdg_pid") > 0 ){
  2441. if(getUserInfo("dutplceinstcd")=="032"){
  2442. model.setValue("/root/main/otpt/otpt_suppkind", "56"); // 가정형호스피스(등록암)
  2443. }else{
  2444. model.setValue("/root/main/otpt/otpt_suppkind", "11"); // 가정간호(등록암)
  2445. }
  2446. model.refresh();
  2447. } else if( getNodesetCount("/root/main/h_rooa/rooa[rooa_rareobstno != '' and rooa_rareobstno != '0' and rooa_insukind = '" + insukind + "']/rooa_pid") > 0 ){
  2448. if(getUserInfo("dutplceinstcd")=="032"){
  2449. model.setValue("/root/main/otpt/otpt_suppkind", "57");// 가정형호스피스(미등록암)
  2450. }else{
  2451. model.setValue("/root/main/otpt/otpt_suppkind", "51");
  2452. }
  2453. model.refresh();
  2454. }else{
  2455. if(getUserInfo("dutplceinstcd")=="032"){
  2456. model.setValue("/root/main/otpt/otpt_suppkind", "57");// 가정형호스피스(미등록암)
  2457. }else{
  2458. model.setValue("/root/main/otpt/otpt_suppkind", "10"); // 가정간호
  2459. }
  2460. model.refresh();
  2461. }
  2462. }else{
  2463. model.setValue("/root/main/otpt/otpt_suppkind", "00");
  2464. model.refresh();
  2465. }
  2466. }else if( RSRVFLAG == 'O' ){ //방문간호
  2467. model.setValue("/root/main/otpt/otpt_insukind", "81");
  2468. cmb_insukind.dispatch("xforms-select");
  2469. if( getNodesetCount("/root/init/suppkind[ up = '81' and cd = '" + suppkind + "' ]/nm") > 0 ){
  2470. model.setValue("/root/main/otpt/otpt_suppkind", suppkind);
  2471. }else{
  2472. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  2473. }
  2474. fSuppKindSelect();
  2475. }
  2476. }else{
  2477. if( RSRVFLAG == 'O' ){ //방문간호
  2478. model.setValue("/root/main/otpt/otpt_insukind", "81");
  2479. cmb_insukind.dispatch("xforms-select");
  2480. if( getNodesetCount("/root/init/suppkind[ up = '81' and cd = '" + suppkind + "' ]/nm") > 0 ){
  2481. model.setValue("/root/main/otpt/otpt_suppkind", suppkind);
  2482. }else{
  2483. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  2484. }
  2485. fSuppKindSelect();
  2486. }else{
  2487. model.setValue("/root/main/otpt/otpt_suppkind", "00");
  2488. fSuppKindSelect();
  2489. }
  2490. }
  2491. //컨트롤 disable
  2492. cmb_disccd.disabled = true; //계정감면
  2493. ipt_disccd.disabled = true; //계정감면 인풋박스
  2494. cmb_etcordflag.disabled = true; //연속처방/기타구분
  2495. rdo_medamtpostyn.disabled = true; //진찰료 선후불
  2496. //접수/반환 버튼 제외하고 모두 비활성화 요청 - 문창곤 2008-08-18
  2497. btn_patinfoupdt.disabled = true; //인적사항
  2498. btn_cnstinfo.disabled = true; //협진
  2499. btn_patcard.disabled = true; //환자카드재발행
  2500. btn_rcpt.disabled = true; //영수증재발행
  2501. btn_init.disabled = true; //초기화
  2502. btn_calcscorcalc.disabled = true; //수가계산
  2503. btn_updt.disabled = true; //변경
  2504. btn_input.disabled = true; //멀티입력추가
  2505. //필수 컨트롤 색 지정!!
  2506. cmb_orddeptcd.attribute("background-color") = "#ff9900";
  2507. cmb_orddrid.attribute("background-color") = "#ff9900";
  2508. cmb_insukind.attribute("background-color") = "#ff9900";
  2509. cmb_suppkind.attribute("background-color") = "#ff9900";
  2510. model.refresh();
  2511. }
  2512. }
  2513. }
  2514. //END..
  2515. }
  2516. btn_otpt.selected = false;
  2517. btn_m_otpt.selected = true;
  2518. btn_c_otpt.selected = false;
  2519. model.toggle("case6");
  2520. //2014/10/21 SMS승인여부가 디폴트로 체크 되도록 프로그램 수정(이정택)
  2521. model.makeValue("/root/main/ptbs/ptbs_smsaprvyn", "Y");
  2522. model.refresh();
  2523. //2014/10/21 SMS승인여부가 디폴트로 체크 되도록 프로그램 수정(이정택)
  2524. //2017/05/23 진찰료산정관리 버튼이 치과에서만 보이도록 수정(이정택)
  2525. if(getUserInfo("dutplceinstcd")=="033"){
  2526. btn_estm.visible=true;
  2527. }
  2528. //2017/05/23 진찰료산정관리 버튼이 치과에서만 보이도록 수정(이정택)
  2529. ]]>
  2530. </script>
  2531. <script type="javascript" ev:event="xforms-close">
  2532. <![CDATA[
  2533. //금액표시기 닫기
  2534. fCloseCom();
  2535. ]]>
  2536. </script>
  2537. <script type="javascript" ev:event="xforms-destroy">
  2538. <![CDATA[
  2539. //금액표시기 닫기
  2540. // fCloseCom();
  2541. ]]>
  2542. </script>
  2543. <script type="javascript">
  2544. <![CDATA[
  2545. /**
  2546. * Submit
  2547. TRPMO00101 : fComCDRef() => 자체공통코드 조회(진료과,진료의사...)
  2548. TRPMO00102 : fPatInfoRef(gubn) => 환자내역조회(보험,할인,외래..)
  2549. TRPMO00103 : fFsexamflagVeri() => 초재진조회
  2550. TRPMO00104 : fOTPTHistRef() => 외래이력별 상세내역(보험,할인,수납...) 조회
  2551. TRPMO00105 : fInsuKindRef(pid,insukind,insucd) => 환자보험정보조회
  2552. TRPMO00106 : fDiscCDRef(pid,disccd,disccls) => 환자할인정보조회
  2553. TRPMO00107 : fAcptCnclRef() => 접수/취소 이력 조회
  2554. TRPMO00108 : fMultiSaveHistRef(row) => 멀티 접수시 카드/현금 승인내역 존재하는 경우 조회
  2555. TRPMO00109 :
  2556. TRPMO00110 :
  2557. TXPMO00101 : fCalcScorCalc() => 수가계산
  2558. TXPMO00102 : fSaveUpdt(flag) => 등록, 변경
  2559. TXPMO00103 : fCncl() => 취소
  2560. **/
  2561. //2008-01-16 이동식 추가
  2562. //가정간호 플레그 - 가정간호에서 팝업 호출 여부 체크
  2563. var HOMECARE = 'N';
  2564. var RSRVFLAG = '-';
  2565. var CHECKCARDCASH = 'NEW';
  2566. //센터 선반영 내용 - 강남 테스트 대용
  2567. var CENTERYN = 'N';
  2568. var FluPrevenCent = "NULL";
  2569. var FluCent = "NULL";
  2570. // 개인정보이용 동의서 출력 제어용
  2571. var PersonPrntYN = 'Y';
  2572. //수납VIP적용여부
  2573. var RCPTVIPYN = 'N';
  2574. //2009-02-05 이동식 추가 - 접수반환시 미수수납여부 체크
  2575. function fcheckUncoRcptYN(pid, orddd, cretno){
  2576. model.makeNode("/root/hidden/uncorcptyn/pid");
  2577. model.makeNode("/root/hidden/uncorcptyn/orddd");
  2578. model.makeNode("/root/hidden/uncorcptyn/cretno");
  2579. model.setValue("/root/hidden/uncorcptyn/pid", pid);
  2580. model.setValue("/root/hidden/uncorcptyn/orddd", orddd);
  2581. model.setValue("/root/hidden/uncorcptyn/cretno", cretno);
  2582. submit("TRPMO00124");
  2583. var iCount = getNodesetCount("/root/hidden/uncorcptyn/rcv/uncorcptyn");
  2584. if (iCount > 0) {
  2585. if( model.getValue("/root/hidden/uncorcptyn/rcv/uncorcptyn") == 'Y' ){
  2586. model.removeNodeset("/root/hidden/uncorcptyn");
  2587. //미수입금내역이 있을 때
  2588. messageBox("해당 접수건의 미수금 수납내역이 있습니다. 미수수납을 먼저 취소하신 후에 접수변경/반환 하세요!", "E999", "");
  2589. return false;
  2590. }else if( model.getValue("/root/hidden/uncorcptyn/rcv/uncorcptyn") == 'D' ){
  2591. model.removeNodeset("/root/hidden/uncorcptyn");
  2592. //미수입금내역이 있을 때
  2593. messageBox("해당 접수건의 대손 처리된 미수내역이 있습니다. 대손내역을 먼저 취소하신 후에 접수변경/반환 하세요!", "E999", "");
  2594. return false;
  2595. }else{
  2596. model.removeNodeset("/root/hidden/uncorcptyn");
  2597. //미수입금내역이 없을때 true 리턴
  2598. return true;
  2599. }
  2600. }else{
  2601. model.removeNodeset("/root/hidden/uncorcptyn");
  2602. //체크오류나면 true를 리턴한다. 반환로직 계속 진행하기 위해서
  2603. return true;
  2604. }
  2605. }
  2606. //2008-01-11 이동식 추가 - 과정보 변경시 수급절차 세팅
  2607. function fGetOrdReqFormFlag(orddeptcd){
  2608. //2008-01-16 이동식 추가
  2609. //가정간호 팝업으로 호출 되면 수급절차 변경 하지 않음!!
  2610. //김숙인 선생님 요청으로 주석처리(요청번호9580)
  2611. //if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  2612. // return false;
  2613. //}
  2614. var cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  2615. var ordreqformflag = '-';
  2616. if( model.getValue("/root/init/hospgrde/hospgrde") == 'A' ){
  2617. for(var i = 1; i <= cnt; i++ ){
  2618. if( model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_orddeptcd") == orddeptcd ){
  2619. ordreqformflag = model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_ordreqformflag");
  2620. break;
  2621. }
  2622. }
  2623. }else{
  2624. ordreqformflag = '3';
  2625. }
  2626. //2011-01-03 이동식 추가
  2627. //경북대 병원은 기본 '3' 급여가능으로 세팅요청
  2628. ordreqformflag = '3';
  2629. model.setValue("/root/main/otpt/otpt_ordreqformflag", ordreqformflag);
  2630. // var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  2631. // if( ordreqformflag == '3' && ( insukind == gsInsu_BoHeom || insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 ) ){
  2632. // model.setValue("/root/main/otpt/otpt_ordreqformflag", ordreqformflag);
  2633. // }else if(insukind != '' && insukind != ' ' && insukind != '-'){
  2634. // model.setValue("/root/main/otpt/otpt_ordreqformflag", ordreqformflag);
  2635. // }
  2636. }
  2637. //2012-10-05
  2638. //자보 한도액 체크
  2639. function fCheckAutoLimitAmt(){
  2640. var nodeList = getNodesetCount("/root/main/aipm/aipm_pid");
  2641. if (nodeList > 0 && parseInt(model.getValue("/root/main/aipm/aipm_paylimamt")) >= 0) {
  2642. button61.attribute("class") = "btn5_letter2";
  2643. button61.attribute("color") = "#ff0066";
  2644. model.removeNodeset("/root/hidden/source");
  2645. model.makeValue("/root/hidden/source/pid", model.getValue("/root/main/aipm/aipm_pid"));
  2646. model.makeValue("/root/hidden/source/orddd", getCurrentDate());
  2647. model.makeValue("/root/hidden/source/instcd", model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  2648. modal("SPPAI02600", "1","200", "200", "SPPAI02600", "/root/hidden/source", "/root/send", "align:center");
  2649. model.removeNodeset("/root/hidden/source");
  2650. } else {
  2651. button61.attribute("class") = "btn2_letter2";
  2652. }
  2653. }
  2654. //2009-01-19 이동식 추가
  2655. function fRtnRcpt(flag) {
  2656. if(flag== "1"){ //조회
  2657. var sValue = flag + "▦" + //1.환불내역 조회용 2.환불수납후 호출용
  2658. model.getValue("/root/main/ptbs/ptbs_instcd") + "▦" + //기관코드
  2659. model.getValue("/root/main/ptbs/ptbs_pid") + "▦" + //환자등록번호
  2660. model.getValue("/root/main/ptbs/ptbs_hngnm") + "▦" + //환자성명
  2661. model.getValue("/root/main/ptbs/ptbs_rrgstno1") + "▦" + //주민등록번호 앞자리
  2662. model.getValue("/root/main/ptbs/ptbs_rrgstno2") + "▦" + //주민등록번호뒷자리
  2663. model.getValue("/root/main/ptbs/ptbs_hometel") + "▦" + //집전화
  2664. model.getValue("/root/main/ptbs/ptbs_mpphontel") + "▦" + //휴대폰
  2665. "" + "▦" + //진료일
  2666. "" + "▦" + //일련번호
  2667. "" + "▦" + //진료과
  2668. "" + "▦" + //진료의
  2669. "" + "▦" + //환불금액
  2670. "" + "▦" + //보험유형
  2671. "O" ; //진료유형
  2672. setParameter("SPPAO00600_PARM",sValue);
  2673. modal("SPPAO00600", "1","50", "50", "SPPAO00600", "", "", "sysmenu:hidden");
  2674. }else if(flag== "2"){ //변경
  2675. var sTargetAmt = model.getValue("/root/main/opmi/opmi_targetamt");
  2676. if( parseInt(sTargetAmt) >= 0 ){
  2677. return;
  2678. }else{
  2679. var rtn = messageBox("환불내역을 등록 하시겠습니까? ", "Q999");
  2680. if(rtn == "7"){ //아니오
  2681. return;
  2682. }else if(rtn == "6"){
  2683. var sValue = '2' + "▦" + //1.환불내역 조회용 2.환불수납후 호출용
  2684. model.getValue("/root/main/ptbs/ptbs_instcd") + "▦" + //기관코드
  2685. model.getValue("/root/main/ptbs/ptbs_pid") + "▦" + //환자등록번호
  2686. model.getValue("/root/main/ptbs/ptbs_hngnm") + "▦" + //환자성명
  2687. model.getValue("/root/main/ptbs/ptbs_rrgstno1") + "▦" + //주민등록번호 앞자리
  2688. model.getValue("/root/main/ptbs/ptbs_rrgstno2") + "▦" + //주민등록번호뒷자리
  2689. model.getValue("/root/main/ptbs/ptbs_hometel") + "▦" + //집전화
  2690. model.getValue("/root/main/ptbs/ptbs_mpphontel") + "▦" + //휴대폰
  2691. model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //진료일
  2692. model.getValue("/root/main/otpt/otpt_cretno") + "▦" + //일련번호
  2693. model.getValue("/root/main/otpt/otpt_orddeptcd") + "▦" + //진료과
  2694. model.getValue("/root/main/otpt/otpt_orddrid") + "▦" + //진료의
  2695. sTargetAmt + "▦" + //환불금액
  2696. model.getValue("/root/main/otpt/otpt_insukind") + "▦" + //보험유형
  2697. "O" ; //진료유형
  2698. setParameter("SPPAO00600_PARM",sValue);
  2699. modal("SPPAO00600", "1","50", "50", "SPPAO00600", "", "", "sysmenu:hidden");
  2700. }//환불수납여부 체크 end
  2701. }//환불금액 존재여부 end
  2702. }else if(flag== "3"){ //반환
  2703. var sCardAmt = parseInt(model.getValue("/root/main/opmi/opmi_precardamt")) + parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  2704. var sCashAmt = parseInt(model.getValue("/root/main/opmi/opmi_precashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  2705. var sOnlineAmt = parseInt(model.getValue("/root/main/opmi/opmi_preonlineamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  2706. var sTotalAmt = sCardAmt + sCashAmt + sOnlineAmt;
  2707. if(sTotalAmt == 0 ){
  2708. return;
  2709. }else{
  2710. var rtn = messageBox("환불내역을 등록 하시겠습니까? ", "Q999");
  2711. if(rtn == "7"){ //아니오
  2712. return;
  2713. }else if(rtn == "6"){
  2714. var sValue = '2' + "▦" + //1.환불내역 조회용 2.환불수납후 호출용
  2715. model.getValue("/root/main/ptbs/ptbs_instcd") + "▦" + //기관코드
  2716. model.getValue("/root/main/ptbs/ptbs_pid") + "▦" + //환자등록번호
  2717. model.getValue("/root/main/ptbs/ptbs_hngnm") + "▦" + //환자성명
  2718. model.getValue("/root/main/ptbs/ptbs_rrgstno1") + "▦" + //주민등록번호 앞자리
  2719. model.getValue("/root/main/ptbs/ptbs_rrgstno2") + "▦" + //주민등록번호뒷자리
  2720. model.getValue("/root/main/ptbs/ptbs_hometel") + "▦" + //집전화
  2721. model.getValue("/root/main/ptbs/ptbs_mpphontel") + "▦" + //휴대폰
  2722. model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //진료일
  2723. model.getValue("/root/main/otpt/otpt_cretno") + "▦" + //일련번호
  2724. model.getValue("/root/main/otpt/otpt_orddeptcd") + "▦" + //진료과
  2725. model.getValue("/root/main/otpt/otpt_orddrid") + "▦" + //진료의
  2726. sTotalAmt + "▦" + //환불금액
  2727. model.getValue("/root/main/otpt/otpt_insukind") + "▦" + //보험유형
  2728. "O" ; //진료유형
  2729. setParameter("SPPAO00600_PARM",sValue);
  2730. modal("SPPAO00600", "1","50", "50", "SPPAO00600", "", "", "sysmenu:hidden");
  2731. }//환불수납여부 체크 end
  2732. }//환불금액 존재여부 end
  2733. }
  2734. }//fRtnRcpt end
  2735. function fEasyPadNoInsert(flag){
  2736. //flag ://rrgstno.민번 phone.전번
  2737. //ipt1 : 인풋버튼명 예)ipt_rrgstno1
  2738. //ipt2 : 인풋버튼명 예)ipt_rrgstno2
  2739. //[0]정상처리여부 구분
  2740. //[1]phone -- 전번 rrgstno--민번
  2741. //[2]phone 일때는 전번 rrgstno 일때는 앞자리
  2742. //[3]phone 일때는 없음 rrgstno 일때는 뒷자리
  2743. var sValue = flag ; //rrgstno.민번 phone.전번
  2744. setParameter("SPPAO00503_PARM",sValue);//1.전번 2.민번
  2745. modal("SPPAO00503", "1","150", "150", "SPPAO00503", "", "", "sysmenu:hidden");
  2746. var SPPAO00503_RTN = getParameter("SPPAO00503_RTN");
  2747. var array_parm = SPPAO00503_RTN.split("▦");
  2748. if(array_parm[0] == "Y"){
  2749. if (array_parm[1] == "phone" ) { //전번
  2750. var cashAprvNo = array_parm[2];
  2751. if( cashAprvNo == '' || cashAprvNo == ' ' ){
  2752. model.setValue("/root/hidden/com/cardcashflag", "C"); //Y-카드, N-현금영수증, C-현금
  2753. radio1.dispatch("xforms-value-changed");
  2754. model.setValue("/root/hidden/com/card_cardno", '');
  2755. model.setFocus("ipt_cardno");
  2756. ipt_cardno.refresh();
  2757. }else{
  2758. //카드수납으로 세팅
  2759. model.setValue("/root/hidden/com/cardcashflag", "N"); //Y-카드, N-현금영수증, C-현금
  2760. radio1.dispatch("xforms-value-changed");
  2761. model.setValue("/root/hidden/com/card_cardno", cashAprvNo);
  2762. fAfterChangeCardNo();
  2763. }
  2764. }else if (array_parm[1] == "rrgstno" ) { //민번
  2765. // ipt_rrgstno1.value = array_parm[2];
  2766. // ipt_rrgstno2.value = array_parm[3];
  2767. if( array_parm[2] == null || array_parm[2].length != 6 ){
  2768. model.setValue("/root/main/ptbs/ptbs_rrgstno1", array_parm[2]);
  2769. model.setValue("/root/main/ptbs/ptbs_rrgstno2", '');
  2770. model.setFocus("ipt_rrgstno1");
  2771. ipt_rrgstno1.refresh();
  2772. ipt_rrgstno2.refresh();
  2773. return false;
  2774. }else if( array_parm[3] == null || array_parm[3].length != 7 ){
  2775. model.setValue("/root/main/ptbs/ptbs_rrgstno1", array_parm[2]);
  2776. model.setValue("/root/main/ptbs/ptbs_rrgstno2", array_parm[3]);
  2777. model.setFocus("ipt_rrgstno2");
  2778. ipt_rrgstno1.refresh();
  2779. ipt_rrgstno2.refresh();
  2780. return false;
  2781. }else if(array_parm[2].length == 6 && array_parm[3].length == 7){
  2782. model.setValue("/root/main/ptbs/ptbs_rrgstno1", array_parm[2]);
  2783. model.setValue("/root/main/ptbs/ptbs_rrgstno2", array_parm[3]);
  2784. ipt_rrgstno1.refresh();
  2785. ipt_rrgstno2.refresh();
  2786. // model.setFocus("ipt_rrgstno2");
  2787. //주민번호 세팅후 환자 자동 조회
  2788. var hngnm = ipt_hngnm.currentText;
  2789. var rrgstno1 = array_parm[2];
  2790. var rrgstno2 = array_parm[3];
  2791. if( hngnm.length > 0 ){
  2792. model.setValue("/root/source/srchcond", "4");
  2793. model.setValue("/root/source/hngnm", hngnm);
  2794. model.setValue("/root/source/rrgstno1", rrgstno1);
  2795. model.setValue("/root/source/rrgstno2", rrgstno2);
  2796. }else{
  2797. model.setValue("/root/source/srchcond", "3");
  2798. model.setValue("/root/source/rrgstno1", rrgstno1);
  2799. model.setValue("/root/source/rrgstno2", rrgstno2);
  2800. }
  2801. // event.keyCode = "13";
  2802. btn_ptbs_search.dispatch("DOMActivate");
  2803. return true;
  2804. }else{
  2805. model.setValue("/root/main/ptbs/ptbs_rrgstno1", '');
  2806. model.setValue("/root/main/ptbs/ptbs_rrgstno2", '');
  2807. ipt_rrgstno1.refresh();
  2808. ipt_rrgstno2.refresh();
  2809. model.setFocus("ipt_rrgstno1");
  2810. return false;
  2811. }
  2812. }
  2813. }else{
  2814. messageBox("팝업 비정상종료","E999");
  2815. }
  2816. }
  2817. //자격조회 화면 초기화
  2818. function fInitInsuInfo(){
  2819. var ivrObjt = document.all("ivr_insupopup");
  2820. if( ivrObjt == null ){
  2821. body.createChild("xforms:iviewer", "id:ivr_insupopup; src:../../../pam/pamcomnweb/xrw/SPPMC03900_의료급여자격조회승인.xrw");
  2822. ivrObjt = document.all("ivr_insupopup");
  2823. //공통코드 초기화
  2824. ivrObjt.window.javascript.fGetInitCode();
  2825. }
  2826. }
  2827. //2010-12-27 도기환샘 요청
  2828. function fIssGnrConsent(){
  2829. // 구분에 맞춰 폼코드 처리(1:일반약정서 / 2:기간약정서 / 3:개인정보이용동의서)
  2830. var formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='3']/hardcd");
  2831. setParameter("SPPMB03500_formcd", formcd); //1000009313 //1000008923
  2832. setParameter("SPPMB03500_cnt", "1");
  2833. setParameter("SPPMB03500_pid", model.getValue ( "/root/main/ptbs/ptbs_pid" ));
  2834. setParameter("SPPMB03500_orddd", model.getValue ( "/root/main/otpt/otpt_orddd" ));
  2835. setParameter("SPPMB03500_cretno", model.getValue ( "/root/main/otpt/otpt_cretno" ));
  2836. setParameter("SPPMB03500_ordtype", model.getValue ( "/root/main/otpt/otpt_ordtype" ));
  2837. setParameter("SPPMB03500_orddrid", model.getValue ( "/root/main/otpt/otpt_orddrid" ));
  2838. setParameter("SPPMB03500_orddeptcd", model.getValue ( "/root/main/otpt/otpt_orddeptcd" ));
  2839. var xpt = window.screenleft + 50;
  2840. var ypt = window.screenTop + 50;
  2841. var coord = getRelativeCoordinate ( xpt, ypt );
  2842. var mon = coord[0];
  2843. xpt = coord[1];
  2844. ypt = coord[2];
  2845. modal ( "SPPMB03500", mon, xpt, ypt, "SPPMB03500", "","", "", false );
  2846. clearParameter("SPPMB03500_formcd");
  2847. clearParameter("SPPMB03500_cnt");
  2848. clearParameter("SPPMB03500_pid");
  2849. clearParameter("SPPMB03500_orddd");
  2850. clearParameter("SPPMB03500_cretno");
  2851. clearParameter("SPPMB03500_ordtype");
  2852. clearParameter("SPPMB03500_orddrid");
  2853. clearParameter("SPPMB03500_orddeptcd");
  2854. // model.removeNodeset("/root/hidden/ocrprint/calcscor");
  2855. // model.makeNode("/root/hidden/ocrprint/calcscor/pid");
  2856. // model.makeNode("/root/hidden/ocrprint/calcscor/cretno");
  2857. // model.makeNode("/root/hidden/ocrprint/calcscor/orddd");
  2858. // model.makeNode("/root/hidden/ocrprint/calcscor/ordtype");
  2859. // model.makeNode("/root/hidden/ocrprint/calcscor/calcscorcd");
  2860. //
  2861. // model.setValue ( "/root/hidden/ocrprint/calcscor/pid", model.getValue ( "/root/main/ptbs/ptbs_pid" ));
  2862. // model.setValue ( "/root/hidden/ocrprint/calcscor/cretno", model.getValue ( "/root/main/otpt/otpt_cretno" ));
  2863. // model.setValue ( "/root/hidden/ocrprint/calcscor/orddd", model.getValue ( "/root/main/otpt/otpt_orddd" ));
  2864. // model.setValue ( "/root/hidden/ocrprint/calcscor/ordtype", model.getValue ( "/root/main/otpt/otpt_ordtype" ));
  2865. // model.setValue ( "/root/hidden/ocrprint/calcscor/calcscorcd", '1000008923' ); //일반동의서 서식 코드
  2866. //
  2867. // var xpt = window.screenleft + 50;
  2868. // var ypt = window.screenTop + 50;
  2869. // var coord = getRelativeCoordinate ( xpt, ypt );
  2870. // var mon = coord[0];
  2871. // xpt = coord[1];
  2872. // ypt = coord[2];
  2873. //
  2874. // model.addLog("동의서 출력 - LSH");
  2875. // model.addLog(model.instances(0).selectNodesXml("/root/hidden/ocrprint/calcscor"));
  2876. // modal ( "SPMRF04500", mon, xpt, ypt, "SSMRF03800", "/root/hidden/ocrprint/calcscor","/root/main/temp/calcscor", "", false );
  2877. }
  2878. //자격조회 팝업 호출
  2879. function fInsuInfoSearch(flag){
  2880. //보험증번호 조회(보험자격조회)
  2881. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  2882. var parm = model.getValue("/root/main/ptbs/ptbs_rrgstno1") +
  2883. model.getValue("/root/main/ptbs/ptbs_rrgstno2") + "▦" + //주민번호
  2884. model.getValue("/root/main/ptbs/ptbs_hngnm") + "▦" + //이름
  2885. model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //외래진료일자
  2886. model.getValue("/root/main/otpt/otpt_cretno") + "▦" + //생성번호
  2887. "O" + "▦" + //진료형태
  2888. "" + "▦" + //퇴원일자
  2889. "0" + "▦" + //본인일부부담금
  2890. "" + "▦" + //기관부담금
  2891. model.getValue("/root/main/ptbs/ptbs_pid") + "▦" + //등록번호
  2892. // model.getValue("/root/init/orddeptcd[ cd = '" + cmb_orddeptcd.value + "']/reqdeptno") + "▦" + //진료과
  2893. cmb_orddeptcd.value + "▦" + //진료과
  2894. "" + "▦" + //본인부담구분
  2895. "0" + "▦" + //비급여총금액
  2896. "0" + "▦" + //산전지원금
  2897. suppkind + "▦"; //보조유형
  2898. setParameter("SPPMC03900_PARM",parm);
  2899. //신종플루진료
  2900. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/otpt/otpt_etcordflag"));
  2901. if( flag == "P" ){
  2902. modal("SPPMC03900", "1","50", "50", "SPPMC03900", "", "", "sysmenu:hidden;");
  2903. }else{
  2904. if( model.getValue("/root/init/P0022/P0022list[cd = '151']/nm") == 'I' ){
  2905. setParameter("SPPMC03900_MSGYN", "Y");
  2906. fApproveHeallifeAmt2();
  2907. if( getParameter("SPPMC03900_b005check") == "Y" ){
  2908. // var retVal = messageBox("선택기관에서 의뢰된 수급권자 입니다. 자격조회 팝업을 열어 확인하시겠습니까?", "Q999", "");
  2909. // if( retVal == '6' ){
  2910. // fInsuInfoSearch("P");
  2911. // }
  2912. }
  2913. }else{
  2914. modal("SPPMC03900", "1","50", "50", "SPPMC03900", "", "", "sysmenu:hidden;");
  2915. }
  2916. }
  2917. if (getParameter("SPPMC03900_RTN") == "N" || getParameter("SPPMC03900_RTN") == ""){
  2918. //자격만료 또는 자격조회 실패시 팝업으로 확인할지 체크 - iviewer 일때만 해당
  2919. if( flag == 'I' && model.getValue("/root/init/P0022/P0022list[cd = '151']/nm") == 'I'){
  2920. var retVal = messageBox("자격정보를 가져오지 못했습니다. 자격조회 팝업을 열어 확인하시겠습니까?", "Q999", "");
  2921. if( retVal == '6' ){
  2922. fInsuInfoSearch("P");
  2923. return false;
  2924. }
  2925. }
  2926. if( RSRVFLAG == 'O' ){
  2927. //자격조회 완료여부 세팅
  2928. model.setValue("/root/hidden/flag/check_insuinfo_flag", "N");
  2929. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  2930. // model.setValue("/root/main/otpt/otpt_insukind", "51");
  2931. // cmb_insukind.dispatch("xforms-select");
  2932. }else{
  2933. //자격조회 완료여부 세팅
  2934. model.setValue("/root/hidden/flag/check_insuinfo_flag", "N");
  2935. model.setValue("/root/main/otpt/otpt_insukind", "51");
  2936. cmb_insukind.dispatch("xforms-select");
  2937. }
  2938. //건보/의보일 경우 보험정보도 같이 변경한다.
  2939. if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  2940. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_mseqno"); i++ ){
  2941. //보호/보험일 때
  2942. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHeom
  2943. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  2944. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 ){
  2945. //보험정보, 본인부담구분, 희귀난치병 세팅
  2946. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind", '51');
  2947. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '00');
  2948. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insucd", '-');
  2949. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", '-'); //본인부담구분세팅
  2950. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  2951. //보험
  2952. var mseqno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno");
  2953. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2954. for(var iLoop = 1; iLoop < ptinCnt; iLoop++ ){
  2955. if( model.getValue("/root/main/m_ptin/ptin["+ iLoop +"]/ptin_mseqno") == mseqno ){
  2956. model.removeNodeset("/root/main/m_ptin/ptin["+ iLoop +"]");
  2957. break;
  2958. }
  2959. }
  2960. ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2961. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2962. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2963. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  2964. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",mseqno);
  2965. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  2966. }
  2967. }
  2968. }
  2969. return;
  2970. }else if (getParameter("SPPMC03900_RTN") == "F"){
  2971. //자격조회 완료여부 세팅
  2972. model.setValue("/root/hidden/flag/check_insuinfo_flag", "F");
  2973. return;
  2974. }
  2975. if (getParameter("SPPMC03900_RTN") == "Y") {
  2976. //return 값이 있으면, 보험유형,증번호,보험자기호,취득일자,피보험자성명
  2977. var insukind = getParameter("SPPMC03900_insukind");
  2978. // 2015/01/13 이정택 자격 조회 후 보조유형 세팅되도록 수정
  2979. fSuppKindSet(insukind);
  2980. // 2015/01/13 이정택 자격 조회 후 보조유형 세팅되도록 수정
  2981. if( insukind == gsInsu_BoHeom || insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 || insukind == gsInsu_Noin){
  2982. if( RSRVFLAG == 'O' ){
  2983. insukind = '81';
  2984. }
  2985. }
  2986. // 2014-09-24
  2987. // 건강 보험 무자격자 및 급여제한자 자동 유형 변경
  2988. // 무자격자일 경우 주유형 자동 변경 (일반)
  2989. if (getParameter("SPPMC03900_qlfrestrictcd") == "01") { // 무자격자
  2990. insukind = '51';
  2991. }
  2992. model.setValue("/root/main/otpt/otpt_insukind", insukind);
  2993. model.setValue("/root/main/otpt/otpt_insucd", getParameter("SPPMC03900_insucd"));
  2994. model.setValue("/root/main/ptin/ptin_insukind" , insukind);
  2995. model.setValue("/root/main/ptin/ptin_insucd" , getParameter("SPPMC03900_insucd"));
  2996. model.setValue("/root/main/ptin/ptin_insuno" , getParameter("SPPMC03900_insuno"));
  2997. model.setValue("/root/main/ptin/ptin_insdnm" , getParameter("SPPMC03900_insdnm"));
  2998. model.setValue("/root/main/ptin/ptin_fromdd" , getParameter("SPPMC03900_insufromdd"));
  2999. //피보험자성명이 환자명과 같으면, 관계에 [본인]세팅
  3000. if ( model.getValue("/root/main/ptbs/ptbs_hngnm") == model.getValue("/root/main/ptin/ptin_insdnm") ) {
  3001. model.setValue("/root/main/ptin/ptin_insdrela","1");
  3002. }else{
  3003. if( model.getValue("/root/main/ptin/ptin_insdrela") == '' || model.getValue("/root/main/ptin/ptin_insdrela") == '-' ){
  3004. model.setValue("/root/main/ptin/ptin_insdrela","5");
  3005. }
  3006. }
  3007. model.setValue("/root/main/otpt/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  3008. // model.setValue("/root/main/otpt/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  3009. model.setValue("/root/main/otpt/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  3010. var handcapfundyn = getParameter("SPPMC03900_handcapfundyn");
  3011. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  3012. //2015/12/07 이정택(차상위 1종에 대해서 추가)
  3013. //차상위 1종(H : 가정간호, O : 방문간호)
  3014. if( getParameter("SPPMC03900_suppkind") == '32' ){
  3015. if(suppkind == '10'){ //가정간호
  3016. suppkind = '60'; //차상위1종 정상(가정간호)
  3017. }else if(suppkind == '11'){ //가정간호 등록암
  3018. suppkind = '70'; //차상위1종 가정간호(등록암)
  3019. }else if(suppkind == '51'){ //가정간호 희귀난치성특례
  3020. suppkind = '73'; //차상위1종 가정간호(희귀난치성특례)
  3021. }
  3022. }
  3023. //2015/12/07 이정택(차상위 1종에 대해서 추가)
  3024. //차상위 2종(H : 가정간호, O : 방문간호)
  3025. if( getParameter("SPPMC03900_suppkind") == '33' ){
  3026. if(suppkind == '10'){ //가정간호
  3027. suppkind = '37'; //차상위2종 정상(가정간호)
  3028. }else if(suppkind == '11'){ //가정간호 등록암
  3029. suppkind = '38'; //차상위2종 가정간호(등록암)
  3030. }
  3031. }
  3032. if( getNodesetCount("/root/init/suppkind[ up = '" + insukind + "' and cd = '" + suppkind + "' ]/nm") > 0 ){
  3033. model.setValue("/root/main/otpt/otpt_suppkind", suppkind); //가정간호 보조유형 세팅
  3034. }else{
  3035. if( RSRVFLAG == 'H'){
  3036. model.setValue("/root/main/otpt/otpt_suppkind", '00');
  3037. }else if( RSRVFLAG == 'O'){
  3038. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  3039. }
  3040. }
  3041. //2009-09-21 이동식 추가 - 가정간호, 방문간호 희귀난치구분 세팅
  3042. //자격조회시 대상정보를 세팅하고 진단카피 후에 진단이 희귀난치 진단인지 다시 체크해서 최종정보 세팅
  3043. model.setValue("/root/main/otpt/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  3044. }else{
  3045. //차상위 1, 2종
  3046. if( getParameter("SPPMC03900_suppkind") != '00' ){
  3047. //2015/11/23 이정택 추가(자격 조회 후 차상위 1, 2종일경우 보조유형 설정)
  3048. if(getParameter("SPPMC03900_suppkind")=="32"){ // 차상위 1종
  3049. if(suppkind=="88" || suppkind=="96" || suppkind=="01"){ // 88 : 차상위 1종 레진상 틀니, 96 : 차상위 1종 임플란트, 01:전액 본인부담
  3050. model.makeValue("/root/main/otpt/otpt_suppkind", suppkind);
  3051. }else{
  3052. model.makeValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind"));
  3053. }
  3054. }else if(getParameter("SPPMC03900_suppkind")=="33"){ // 차상위 2종
  3055. if(suppkind=="89" || suppkind=="97" || suppkind=="01"){ // 88 : 차상위 2종 레진상 틀니, 96 : 차상위 2종 임플란트, 01:전액 본인부담
  3056. model.makeValue("/root/main/otpt/otpt_suppkind", suppkind);
  3057. }else{
  3058. model.makeValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind"));
  3059. }
  3060. }else{
  3061. model.makeValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //차상위정보세팅
  3062. }
  3063. //model.setValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //차상위정보세팅
  3064. //2015/11/23 이정택 추가(차상위 1, 2종일경우 보조유형 '88', '89', '96', '97' 넣을수 있도록 수정)
  3065. }else{
  3066. // model.setValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //정상보조유형세팅
  3067. }
  3068. }
  3069. //2013-04-25
  3070. //공단자격과 장애인 등록여부가 다를경우 메세지 추가
  3071. /* 2015/06/30 이정택 주석처리(건보 일반 장애인도 접수 가능토록)
  3072. if( handcapfundyn != 'Y' ){
  3073. if( model.getValue("/root/main/otpt/otpt_handicaprbookpossnyn") == 'Y' ){
  3074. messageBox("장애인대불 지원대상이 아닙니다. 장애등록여부를 확인하세요.", "I999", "")
  3075. }
  3076. }
  3077. */
  3078. // 2014-09-24
  3079. // 건강 보험 무자격자 및 급여제한자 자동 유형 변경
  3080. // 급여제한자 : 보조유형 → 본인100
  3081. if (getParameter("SPPMC03900_qlfrestrictcd") == "02") { // 급여제한자
  3082. model.setValue("/root/main/otpt/otpt_suppkind", "01"); // 본인 100
  3083. }
  3084. //2008-07-29
  3085. //예약내역에 정보세팅
  3086. //변경모드 및 멀티내역 수정모드가 아닐때...
  3087. //건보/의보일 경우 보험정보도 같이 변경한다.
  3088. if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  3089. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_mseqno"); i++ ){
  3090. // if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y' ){
  3091. // continue;
  3092. // }
  3093. //보호/보험일 때
  3094. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHeom
  3095. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  3096. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 ){
  3097. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") != getParameter("SPPMC03900_insukind") ){
  3098. //보험정보, 본인부담구분, 희귀난치병 세팅
  3099. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind", getParameter("SPPMC03900_insukind"));
  3100. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insucd", getParameter("SPPMC03900_insucd"));
  3101. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  3102. // // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  3103. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  3104. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  3105. //차상위 2종일때
  3106. // if( getParameter("SPPMC03900_suppkind") == '33' ){
  3107. // if(suppkind == '10'){ //가정간호
  3108. // suppkind = '37'; //차상위2종 가정간호
  3109. // }else if(suppkind == '11'){ //가정간호 등록암
  3110. // suppkind = '38'; //차상위2종 가정간호 등록암
  3111. // }
  3112. // }
  3113. // if( getNodesetCount("/root/init/suppkind[ up = '" + insukind + "' and cd = '" + suppkind + "' ]/nm") > 0 ){
  3114. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", suppkind); //가정간호 보조유형 세팅
  3115. // }else{
  3116. // if( RSRVFLAG == 'H'){
  3117. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '00');
  3118. // }else if( RSRVFLAG == 'O'){
  3119. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '01');
  3120. // }
  3121. // }
  3122. }else{
  3123. //차상위
  3124. if( getParameter("SPPMC03900_suppkind") != '00' ){
  3125. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //차상위정보세팅
  3126. }else{
  3127. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", "00"); //보조유형 디폴트 세팅
  3128. }
  3129. }
  3130. //보험
  3131. var mseqno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno");
  3132. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  3133. for(var iLoop = 1; iLoop < ptinCnt; iLoop++ ){
  3134. if( model.getValue("/root/main/m_ptin/ptin["+ iLoop +"]/ptin_mseqno") == mseqno ){
  3135. model.removeNodeset("/root/main/m_ptin/ptin["+ iLoop +"]");
  3136. break;
  3137. }
  3138. }
  3139. ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  3140. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  3141. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  3142. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  3143. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",mseqno);
  3144. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  3145. }
  3146. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  3147. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  3148. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  3149. //2013-04-25
  3150. //공단자격과 장애인 등록여부가 다를경우 메세지 추가
  3151. //2015/06/30 이정택 주석처리(건보 일반 장애인도 접수 가능토록)
  3152. /*
  3153. if( handcapfundyn != 'Y' ){
  3154. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_handicaprbookpossnyn") == 'Y' ){
  3155. messageBox("[" + i + "]" + "장애인대불 지원대상이 아닙니다. 장애등록여부를 확인하세요.", "I999", "")
  3156. }
  3157. }
  3158. */
  3159. //2015/06/30 이정택 주석처리
  3160. }
  3161. }
  3162. }
  3163. //자격조회 완료여부 세팅
  3164. model.setValue("/root/hidden/flag/check_insuinfo_flag", "Y");
  3165. model.setValue("/root/hidden/flag/check_insuinfo_insukind", insukind );
  3166. model.setValue("/root/hidden/flag/check_insuinfo_suppkind", getParameter("SPPMC03900_suppkind") );
  3167. model.setValue("/root/hidden/flag/check_insuinfo_ownbflag", getParameter("SPPMC03900_ownbflag") );
  3168. // model.setValue("/root/hidden/flag/check_insuinfo_rareobstflag", getParameter("SPPMC03900_rareobstflag") );
  3169. model.setValue("/root/hidden/flag/check_insuinfo_rareobstflag", 'I' );
  3170. //수가계산 안 한 상태로 ..
  3171. gs_prcs = "0";
  3172. model.refresh();
  3173. }
  3174. clearParameter("SPPMC03900_RTN");
  3175. clearParameter("SPPMC03900_insukind");
  3176. clearParameter("SPPMC03900_insucd");
  3177. clearParameter("SPPMC03900_insuno");
  3178. clearParameter("SPPMC03900_insdnm");
  3179. clearParameter("SPPMC03900_insufromdd");
  3180. clearParameter("SPPMC03900_ownbflag");
  3181. clearParameter("SPPMC03900_b005check");
  3182. //신종플루
  3183. clearParameter("SPPMC03900_ETCORD");
  3184. model.setFocus("button2");
  3185. }
  3186. function fCheckCardCashNew(flag){
  3187. //20100401 현금영수증 의무화
  3188. if (model.getValue("/root/main/ptbs/ptbs_pid") != "") {
  3189. model.makeNode("/root/send/cashbaseinfo/pid");
  3190. model.setValue("/root/send/cashbaseinfo/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  3191. if( submit("TRPAO01801") ){
  3192. fCashQualCnfmno();
  3193. }
  3194. }
  3195. //2009-01-21 이동식 추가
  3196. if( flag == 'I' ){
  3197. if( parseInt( model.getValue("/root/main/opmi/opmi_cardamt") ) < 0 ){
  3198. messageBox("확인! 카드결제액을 확인하세요! 접수시 카드결제액이 0원 미만일 수 없습니다.", "E999", "");
  3199. return false;
  3200. }
  3201. if( parseInt( model.getValue("/root/main/opmi/opmi_cashamt") ) < 0 ){
  3202. messageBox("확인! 현금금액을 확인하세요! 접수시 현금금액이 0원 미만일 수 없습니다.", "E999", "");
  3203. return false;
  3204. }
  3205. }else if( flag == 'U' ){
  3206. if( model.getValue("/root/hidden/flag/check_card") != 'Y' ){
  3207. if( parseInt( model.getValue("/root/main/opmi/opmi_cardamt") ) < 0 ){
  3208. messageBox("확인! 카드반환은 자동으로 처리되지 않습니다. \n카드반환 처리가 완료되셨다면 [승인완료]를 체크하신 후 접수변경하세요!", "E999", "");
  3209. //카드승인창 오픈
  3210. btn_cardpopup.dispatch("DOMActivate");
  3211. return false;
  3212. }
  3213. }
  3214. }
  3215. //2009-01-20 LeeDS
  3216. //카드번호체크
  3217. if( model.getValue("/root/hidden/com/cardcashflag") == 'Y'){ //Y-카드, N-현금영수증, C-현금
  3218. if( model.getValue("/root/hidden/flag/check_card") == 'Y' ){
  3219. if( model.getValue("/root/hidden/com/card_cardno").length > 0 ){
  3220. messageBox("확인! 승인완료 선택하시고 카드번호를 입력하셨습니다. 카드번호를 지우시거나 승인완료 체크 해제하신 후 다시 접수/변경하세요!", "E999", "");
  3221. return false;
  3222. }
  3223. }else{
  3224. var van_kind = model.getValue("/root/paminit/P0032list/P0032[cdid='200']/cdnm");
  3225. if(van_kind!="KOCES_IC"){
  3226. if( parseInt( model.getValue("/root/main/opmi/opmi_cardamt") ) == 0 ){
  3227. messageBox("확인! 수납방법을 카드로 선택하시고 카드결제액을 입력하지 않았습니다.", "E999", "");
  3228. return false;
  3229. }
  3230. if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  3231. messageBox("확인! 수납방법을 카드로 선택하시고 카드번호를 입력하지 않았습니다.", "E999", "");
  3232. return false;
  3233. }
  3234. if( model.getValue("/root/hidden/com/card_valiterm").length < 1 ){
  3235. messageBox("확인! 수납방법을 카드로 선택하시고 카드유효기간을 입력하지 않았습니다.", "E999", "");
  3236. return false;
  3237. }
  3238. if( model.getValue("/root/hidden/com/card_allotmm").length < 1 ){
  3239. messageBox("확인! 수납방법을 카드로 선택하시고 카드할부기간을 입력하지 않았습니다.", "E999", "");
  3240. return false;
  3241. }
  3242. }
  3243. }
  3244. }else if( model.getValue("/root/hidden/com/cardcashflag") == 'N'){ //Y-카드, N-현금영수증, C-현금
  3245. if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  3246. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 카드번호를 입력하지 않았습니다.", "E999", "");
  3247. return false;
  3248. }
  3249. //20100401 현금영수증 의무화
  3250. //if( model.getValue("/root/hidden/com/cash_indinstflag") != '00' && model.getValue("/root/hidden/com/cash_indinstflag") != '01'){
  3251. // messageBox("확인! 수납방법을 현금영수증으로 선택하시고 소득공제/지출증빙 구분을 선택하지 않았습니다.", "E999", "");
  3252. // return false;
  3253. //}
  3254. /* 216/04/28 통장입금 관련 프로그램 수정
  3255. if( parseInt( model.getValue("/root/main/opmi/opmi_cashamt") ) == 0 ){
  3256. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금금액을 입력하지 않았습니다.", "E999", "");
  3257. return false;
  3258. }
  3259. */
  3260. if( parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt")) == 0 ){
  3261. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금금액 또는\n통장금액을 입력하지 않았습니다.", "E999", "");
  3262. return false;
  3263. }
  3264. }
  3265. //카드 자동승인 여부 체크
  3266. if( model.getValue("/root/hidden/flag/check_card") == 'Y' ){
  3267. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  3268. }else{
  3269. if( model.getValue("/root/hidden/com/cardcashflag") == 'Y' && parseInt(model.getValue("/root/main/opmi/opmi_cardamt")) > 0 ){
  3270. model.setValue("/root/hidden/m_etc/cardaprvflag", 'Y');
  3271. }else{
  3272. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  3273. }
  3274. //20100401 현금영수증 의무화
  3275. //if( (model.getValue("/root/hidden/com/cardcashflag") == 'N' && parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) > 0)
  3276. // || (model.getValue("/root/hidden/com/cardcashflag") == 'Y' && model.getValue("/root/hidden/com/cash_indinstflag") != '02'
  3277. // && parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) > 0) ){
  3278. if( (model.getValue("/root/hidden/com/cardcashflag") == 'N' && (parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"))) > 0)
  3279. || (model.getValue("/root/hidden/com/cardcashflag") == 'Y' && (parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt")))> 0) ){
  3280. model.setValue("/root/hidden/m_etc/cashaprvflag", 'Y');
  3281. }else{
  3282. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  3283. }
  3284. }
  3285. //현금영수증
  3286. var cash_cnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  3287. // 2016/04/28(통장입금 현금영수증 승인하도록 추가-이정택)
  3288. var opmi_cashamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  3289. if (cash_cnt > 0){
  3290. var cash_cashamt = 0;
  3291. var cash_cashamt_row = 0;
  3292. for(var i = 1; i <= cash_cnt; i++){
  3293. cash_cashamt_row = model.getValue("/root/main/h_cash/cash["+ i +"]/cash_cashamt");
  3294. cash_cashamt = parseInt(cash_cashamt) + parseInt(cash_cashamt_row);
  3295. }
  3296. //변경의 경우 기존 이전 카드 수납금액을 제외한다.
  3297. if( flag == 'U' ){
  3298. cash_cashamt = parseInt(cash_cashamt) - parseInt(model.getValue("/root/main/opmi/opmi_precashamt"));
  3299. }
  3300. if( cash_cashamt == opmi_cashamt || (parseInt(cash_cashamt) < 0 && parseInt(opmi_cashamt) < 0) ){
  3301. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  3302. }else if( cash_cashamt == 0 && opmi_cashamt < 0 && flag == 'U' ){
  3303. if( messageBox("현금영수증 승인 내역이 있습니다. 승인취소하시겠습니까?", "Q999", "") == 6 ){
  3304. model.setValue("/root/hidden/m_etc/cashaprvflag", "D"); //현금영수증 승인 취소
  3305. }else{
  3306. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  3307. }
  3308. }else if( parseInt(cash_cashamt) < parseInt(opmi_cashamt) && parseInt(opmi_cashamt) > 0 ){
  3309. model.setValue("/root/hidden/m_etc/cashaprvflag", "I"); //현금영수증 승인
  3310. }else if( parseInt(cash_cashamt) > 0 && parseInt(opmi_cashamt) < 0 ){
  3311. model.setValue("/root/hidden/m_etc/cashaprvflag", "D"); //현금영수증 승인
  3312. }
  3313. /*
  3314. else if( parseInt(cash_cashamt) * -1 == parseInt(model.getValue("/root/main/opmi/opmi_precashamt")) ){
  3315. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  3316. }
  3317. }else if ( cash_cashamt > 0 ){
  3318. messageBox("확인! 현금영수증 승인금액이 수납금액 보다 많습니다. 확인 후 다시 접수(변경)하세요.","E999","");
  3319. return false;
  3320. }else if( cash_cashamt < 0 ){
  3321. if( messageBox("확인! 현금영수증 승인금액이 수납금액 보다 적습니다. 계속 진행하시겠습니까?","Q999","") == 6 ){
  3322. }else{
  3323. return false;
  3324. }
  3325. }
  3326. */
  3327. }
  3328. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  3329. var cardcashflag = model.getValue("/root/hidden/com/cardcashflag");
  3330. if( opmi_cashamt > 0 && cardcashflag == 'N' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  3331. if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  3332. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금영수증번호를 입력하지 않았습니다.", "E999", "");
  3333. return false;
  3334. }
  3335. //현금영수증승인 풀래그 추가
  3336. model.setValue("/root/hidden/m_etc/cashaprvflag", "I");
  3337. }else if( opmi_cashamt == 0 && cardcashflag == 'N' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  3338. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금결제액을 입력하지 않았습니다. ", "E999", "");
  3339. return false;
  3340. }
  3341. //2008-07-16 이동식 추가 - 현금영수증 + 카드 동시 승인
  3342. //20100401 현금영수증 의무화
  3343. //if( opmi_cashamt > 0 && cardcashflag == 'Y' && model.getValue("/root/hidden/com/cash_indinstflag") != '02' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  3344. if( opmi_cashamt > 0 && cardcashflag == 'Y' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  3345. //카드 + 현금영수증 동시 승인..
  3346. // if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  3347. // messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금영수증번호를 입력하지 않았습니다.", "E999", "");
  3348. // return false;
  3349. // }
  3350. //현금영수증승인 풀래그 추가
  3351. model.setValue("/root/hidden/m_etc/cashaprvflag", "I");
  3352. }
  3353. //END...
  3354. // else if( opmi_cashamt < 0 && cardcashflag != 'C' && flag == 'U'){
  3355. // messageBox("현금영수증 수납내역 변경의 경우 현금영수증 팝업에서 작업 후 접수변경하세요!", "E999", "");
  3356. // //현금영수증팝업호출!!
  3357. // btn_cashpopup.dispatch("DOMActivate");
  3358. // return false;
  3359. if( opmi_cashamt < 0 && cardcashflag != 'C' && flag == 'I'){
  3360. messageBox("현금영수증 수납금액이 마이너스 금액입니다. 확인 후 다시 접수(변경)하세요.", "E999", "");
  3361. return false;
  3362. }
  3363. }
  3364. //주사/물리치료 -> 일반접수 변경
  3365. function fChngToNomalRgst(){
  3366. var currow = grd_outhist.row;
  3367. //수납이상의 상태는 취소 불가능
  3368. // if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != "" &&
  3369. // model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != " ")
  3370. // {
  3371. // messageBox("이미 수납한 내역입니다!","E999","");
  3372. // return false;
  3373. // }
  3374. // if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  3375. // {
  3376. // messageBox("이미 진료본 내역입니다!","E999","");
  3377. // return false;
  3378. // }
  3379. //당일 예약 및 변경 블럭킹
  3380. // if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd") < getCurrentDate()){
  3381. // messageBox("당일 이전 접수내역은 변경할 수 없습니다.","E999","");
  3382. // return false;
  3383. // }
  3384. //당일접수로 변경시 일정체크로직 추가
  3385. var centcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd");
  3386. var orddrid = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddrid");
  3387. var orddeptcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddeptcd");
  3388. var subdeptcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_subdeptcd");
  3389. var orddd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd");
  3390. var ordtm = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_ordtm");
  3391. var fsexamflag = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_fsexamflag");
  3392. var sRsrvflag = 'MJ';
  3393. if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_insukind") == "71" ){
  3394. sRsrvflag = 'Q';
  3395. }
  3396. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  3397. if( retVal == false ){
  3398. return false;
  3399. }else if( retVal != true ){
  3400. if( CENTERYN != 'Y' ){
  3401. //센터접수
  3402. model.setValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd", retVal);
  3403. }
  3404. }else{
  3405. if( CENTERYN != 'Y' ){
  3406. //센터코드 초기화
  3407. model.setValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd", '-');
  3408. }
  3409. }
  3410. var result = messageBox("주사/물리치료 예약내역을 일반진료로 변경 하시겠습니까?","Q000","");
  3411. if (result != "6") return false;
  3412. fSubmitBefore();
  3413. fSubmitAfter();
  3414. model.copyNode("/root/send/data1","/root/main/h_otpt/otpt["+ currow +"]");
  3415. model.copyNode("/root/send/data2","/root/hidden/session");
  3416. // model.copyNode("/root/send/data3","/root/hidden/con");
  3417. model.makeNode("/root/send/data3/rsrvtype");
  3418. model.setValue("/root/send/data3/rsrvtype", "MJ");
  3419. model.setValue("/root/send/data1/otpt_etcordflag", "-");
  3420. model.setValue("/root/send/data1/otpt_remfact", "주사/물리치료 to 일반진료");
  3421. if (submit("TXPMO00305") == true){
  3422. fPatInfoRef("1");
  3423. model.refresh();
  3424. messageBox(" 변경완료!! 수납화면에서 변경 후 발생한 차액을 수납해 주세요!!", "I999", "");
  3425. }
  3426. }
  3427. //선후불 변경 - 예약내역
  3428. function fSetMedAmtPostYN1(){
  3429. var currow = grd_rgstrsrv.row;
  3430. var pid = model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_pid");
  3431. var orddd = model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_orddd");
  3432. var cretno = model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_cretno");
  3433. var retValue = fSetMedAmtPostYN(pid, orddd, cretno);
  3434. if( retValue ){
  3435. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  3436. btn_init.dispatch("DOMActivate");
  3437. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  3438. ipt_pid.refresh();
  3439. callLoadingWindow("");
  3440. fSearchOutRgstInfo();
  3441. removeLoadingWindow();
  3442. return true;
  3443. }else{
  3444. return false;
  3445. }
  3446. }
  3447. //선후불 변경 - 접수내역
  3448. function fSetMedAmtPostYN2(){
  3449. var currow = grd_outhist.row;
  3450. var pid = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_pid");
  3451. var orddd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd");
  3452. var cretno = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_cretno");
  3453. var retValue = fSetMedAmtPostYN(pid, orddd, cretno);
  3454. // if( retValue == true ){
  3455. if( retValue){
  3456. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  3457. btn_init.dispatch("DOMActivate");
  3458. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  3459. ipt_pid.refresh();
  3460. callLoadingWindow("");
  3461. fSearchOutRgstInfo();
  3462. removeLoadingWindow();
  3463. return true;
  3464. }else{
  3465. return false;
  3466. }
  3467. }
  3468. //일반접수 -> 주사/물리치료 변경
  3469. function fChngToMJ(){
  3470. var currow = grd_outhist.row;
  3471. //수납이상의 상태는 취소 불가능
  3472. // if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != "0" && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != "" &&
  3473. // model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rcptno") != " ")
  3474. // {
  3475. // messageBox("이미 수납한 내역입니다!","E999","");
  3476. // return false;
  3477. // }
  3478. // if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_dracptyn") == "Y")
  3479. // {
  3480. // messageBox("이미 진료본 내역입니다!","E999","");
  3481. // return false;
  3482. // }
  3483. //당일 예약 및 변경 블럭킹
  3484. // if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd") < getCurrentDate()){
  3485. // messageBox("당일 이전 접수내역은 변경할 수 없습니다.","E999","");
  3486. // return false;
  3487. // }
  3488. var result = messageBox("일반예약내역을 주사/물리치료로 변경 하시겠습니까?","Q000","");
  3489. if (result != "6") return false;
  3490. fSubmitBefore();
  3491. fSubmitAfter();
  3492. model.copyNode("/root/send/data1","/root/main/h_otpt/otpt["+ currow +"]");
  3493. model.copyNode("/root/send/data2","/root/hidden/session");
  3494. // model.copyNode("/root/send/data3","/root/hidden/con");
  3495. model.makeNode("/root/send/data3/rsrvtype");
  3496. model.setValue("/root/send/data3/rsrvtype", "MJ");
  3497. model.setValue("/root/send/data1/otpt_etcordflag", model.getValue("/root/send/data1/otpt_rsrvflag"));
  3498. model.setValue("/root/send/data1/otpt_remfact", "일반진료 to 주사/물리치료");
  3499. if (submit("TXPMO00305") == true){
  3500. fPatInfoRef("1");
  3501. model.refresh();
  3502. messageBox(" 변경완료!!. 수납화면에서 변경 후 발생한 차액을 반환해 주세요!!", "I999", "");
  3503. }
  3504. }
  3505. //2008-02-27 이동식 추가 - 접수변경시 영수증 출력여부 체크
  3506. function fRcptpaprIssueCheck(flag){
  3507. if( flag == 'U' ){
  3508. if( model.getValue("/root/main/otpt/otpt_orddeptcd") == model.getValue("/root/main/otpt_old/otpt_orddeptcd_old") && //진료과
  3509. // model.getValue("/root/main/otpt/otpt_orddrid") == model.getValue("/root/main/otpt_old/otpt_orddrid_old") && //진료의
  3510. model.getValue("/root/main/otpt/otpt_insukind") == model.getValue("/root/main/otpt_old/otpt_insukind_old") && //보험유형
  3511. model.getValue("/root/main/otpt/otpt_suppkind") == model.getValue("/root/main/otpt_old/otpt_suppkind_old") && //유형보조
  3512. model.getValue("/root/main/otpt/otpt_disccd") == model.getValue("/root/main/otpt_old/otpt_disccd_old") && //감면계정
  3513. model.getValue("/root/main/otpt/otpt_ordreqformflag") == model.getValue("/root/main/otpt_old/otpt_ordreqformflag_old") && //수급절차
  3514. model.getValue("/root/main/otpt/otpt_specordyn") == model.getValue("/root/main/otpt_old/otpt_specordyn_old") && //선택진료
  3515. model.getValue("/root/main/otpt/otpt_fsexamflag") == model.getValue("/root/main/otpt_old/otpt_fsexamflag_old") && //초재진여부
  3516. model.getValue("/root/main/opmi/opmi_targetamt") == '0' ){ //변경 차액이 '0'
  3517. return false;
  3518. }
  3519. }
  3520. return true;
  3521. }
  3522. //2007-12-27 이동식 추가 - 협진조회팝업 호출
  3523. function fGetEMRCnstInfo(){
  3524. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  3525. var hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  3526. setParameter("SPPMO01300_PID", pid);
  3527. setParameter("SPPMO01300_HNGNM", hngnm);
  3528. setParameter("SPPMO01300_FLAG", 'O'); //외래 플래그
  3529. modal("SPPMO01300", "1", "200", "200", "SPPMO01300", "", "");
  3530. var rtnMsg = getParameter("SPPMO01300_RTN");
  3531. if( rtnMsg == 'OK' ){
  3532. //변경/취소 내역이 선택되어 있는 경우 리턴
  3533. if (btn_stat.attribute("background-color") == "#ff0000"){
  3534. messageBox("확인! 변경/취소 대상내역 선택되어있습니다! 변경/취소 또는 해제 후 진행하십시요!","E999","");
  3535. //model.toggle("case5");
  3536. return;
  3537. }else{
  3538. btn_stat.dispatch("DOMActivate");
  3539. }
  3540. var orddd = getParameter("SPPMO01300_ORDDD");
  3541. var orddeptcd = getParameter("SPPMO01300_ORDDEPTCD");
  3542. var orddrid = getParameter("SPPMO01300_ORDDRID");
  3543. var ordreqformflag = getParameter("SPPMO01300_ORDREQFORMFLAG"); //수급절차
  3544. var formrecseq = getParameter("SPPMO01300_FORMRECSEQ"); //서식번호
  3545. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  3546. cmb_orddeptcd.dispatch("xforms-value-changed");
  3547. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  3548. cmb_orddrid.dispatch("xforms-value-changed");
  3549. model.setValue("/root/main/otpt/otpt_orddd", orddd);
  3550. ipt_orddd.dispatch("xforms-value-changed");
  3551. model.makeNode("/root/main/otpt/otpt_formrecseq");
  3552. model.setValue("/root/main/otpt/otpt_formrecseq", formrecseq);
  3553. //기초정보 세팅
  3554. model.setValue("/root/main/otpt/otpt_ordreqformflag", ordreqformflag); //진료의뢰서 수급절차 - 원진료의 수급절차를 따른다
  3555. model.setValue("/root/main/otpt/otpt_etcordflag", "H"); //기타구분 - 의뢰
  3556. model.setValue("/root/main/otpt/otpt_rsrvflag", "C"); //예약구분 - 협진
  3557. RSRVFLAG = 'C'; //예약구분 - 협진
  3558. model.refresh();
  3559. messageBox("선택하신 Consult 내역을 접수정보에 입력했습니다. 보험정보 확인 후 접수하십시요.", "I999", "");
  3560. return true;
  3561. }else{
  3562. return false;
  3563. }
  3564. }
  3565. //END..
  3566. //2008-09-23 이동식 추가
  3567. function fCheckSpecOrdYN(orddeptcd, orddrid, specordyn){
  3568. model.removeNodeset("root/send/checkspecordyn");
  3569. model.makeNode("root/send/checkspecordyn/orddrid");
  3570. model.makeNode("root/send/checkspecordyn/orddeptcd");
  3571. model.makeNode("root/send/checkspecordyn/specordyn");
  3572. model.makeNode("root/send/checkspecordyn/rcv");
  3573. model.setValue("root/send/checkspecordyn/orddeptcd", orddeptcd);
  3574. model.setValue("root/send/checkspecordyn/orddrid", orddrid);
  3575. model.setValue("root/send/checkspecordyn/specordyn", specordyn);
  3576. if( submit("TRPMO00122") ){
  3577. if(model.getValue("root/send/checkspecordyn/rcv/specord/specordchngyn") != 'N'){
  3578. if(messageBox("현재 선택하신 의사의 선택진료여부가 변경되었습니다. 변경사항을 반영 후 접수변경 하시겠습니까?", "Q999", "") == 6 ){
  3579. model.setValue("/root/main/otpt/otpt_specordyn", model.getValue("root/send/checkspecordyn/rcv/specord/newspecordyn"));
  3580. rdo_specordyn.refresh();
  3581. //수가계산 안 한 상태로 ..
  3582. gs_prcs = "0";
  3583. model.removeNodeset("root/send/checkspecordyn");
  3584. return false;
  3585. }else{
  3586. model.removeNodeset("root/send/checkspecordyn");
  3587. return true;
  3588. }
  3589. }
  3590. }else{
  3591. if( messageBox("의사 선택진료여부를 확인하지 못했습니다. 계속 진행하시겠습니까?", "Q999", "") != 6){
  3592. model.removeNodeset("root/send/checkspecordyn");
  3593. return false;
  3594. }
  3595. }
  3596. model.removeNodeset("root/send/checkspecordyn");
  3597. return true;
  3598. }
  3599. //2008-09-17 이동식 - 초기화전 카드/현금영수증 승인 내역 체크
  3600. function fCheckCardCashAprv(){
  3601. var h_card = getNodesetCount("/root/main/h_card/card/card_pid");
  3602. for(var i = 1; i <= h_card; i++ ){
  3603. if( model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == '' || model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == ' '
  3604. || model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == '-' || model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == '00000000' ){
  3605. messageBox("카드승인 내역이 존재합니다. 승인하신 카드내역을 처리한 후에 다른 작업을 해주세요!!", "E999", "");
  3606. return false;
  3607. }
  3608. }
  3609. var h_cash = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  3610. for(var i = 1; i <= h_cash; i++ ){
  3611. if( model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") == '' || model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") == ' '
  3612. || model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") == '-' || model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") == '00000000' ){
  3613. messageBox("카드승인 내역이 존재합니다. 승인하신 카드내역을 처리한 후에 다른 작업을 해주세요!!", "E999", "");
  3614. return false;
  3615. }
  3616. }
  3617. var m_card = getNodesetCount("/root/main/m_card/card/card_pid");
  3618. for(var i = 1; i <= m_card; i++ ){
  3619. if( model.getValue("/root/main/m_card/card[" + i + "]/card_rcptdd") == '' || model.getValue("/root/main/m_card/card[" + i + "]/card_rcptdd") == ' '
  3620. || model.getValue("/root/main/m_card/card[" + i + "]/card_rcptdd") == '-' || model.getValue("/root/main/m_card/card[" + i + "]/card_rcptdd") == '00000000' ){
  3621. messageBox("카드승인 내역이 존재합니다. 승인하신 카드내역을 처리한 후에 다른 작업을 해주세요!!", "E999", "");
  3622. return false;
  3623. }
  3624. }
  3625. var m_cash = getNodesetCount("/root/main/m_cash/cash/cash_pid");
  3626. for(var i = 1; i <= m_cash; i++ ){
  3627. if( model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") == '' || model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") == ' '
  3628. || model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") == '-' || model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") == '00000000' ){
  3629. messageBox("카드승인 내역이 존재합니다. 승인하신 카드내역을 처리한 후에 다른 작업을 해주세요!!", "E999", "");
  3630. return false;
  3631. }
  3632. }
  3633. }
  3634. //2007-12-21 이동식 추가 - 수급절차 체크
  3635. function fCheckOrdReqForm(){
  3636. //2007-12-12 이동식 추가 - 수급절차 본인부담 100% 일때 보험유형보조 전액본인부담으로 세팅!!
  3637. //건강보험, 자보, 산재일 경우에만 세팅.
  3638. //var otpt_ordreqformflag =
  3639. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  3640. //보험, 급여 일때
  3641. if( otpt_insukind == gsBoHo2 || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHeom ){
  3642. if( cmb_ordreqformflag.value == '1' //보험 100%(의뢰서미지참)
  3643. || cmb_ordreqformflag.value == '2' //본인희망 100%
  3644. || cmb_ordreqformflag.value == '4' ){ //기타 100%
  3645. //전액본인부담 '01'
  3646. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  3647. //2017/12/18 이정택 추가
  3648. cmb_suppkindresn.disabled=false;
  3649. //2017/12/18 이정택 추가
  3650. }else if( cmb_ordreqformflag.value == '3' ){
  3651. //if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  3652. //정상
  3653. model.setValue("/root/main/otpt/otpt_suppkind", '00');
  3654. //}
  3655. }else if( cmb_ordreqformflag.value == '5' || cmb_ordreqformflag.value == '6'){
  3656. model.setValue("/root/main/otpt/otpt_insukind", "51");
  3657. cmb_insukind.dispatch("xforms-select");
  3658. }else{
  3659. model.setValue("/root/main/otpt/otpt_suppkind", '00');
  3660. }
  3661. }
  3662. //2007-09-17 이동식 추가 - 이동재 대리 요청 - 정신과, 의료급여1,2종일 경우 보조유형을 정신과 정액으로 세팅..
  3663. if( otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ){
  3664. var reqdeptno = model.getValue("/root/init/orddeptcd[ cd = '" + model.getValue("/root/main/otpt/otpt_orddeptcd") + "' ]/reqdeptno");
  3665. // 정신과 접수시 조현병(정신질환5%)이 아니면 14번으로 보조유형 변경(2017/02/22 이정택)
  3666. if( reqdeptno == "03" && model.getValue("/root/main/otpt/otpt_suppkind")!="D0"){
  3667. model.setValue("/root/main/otpt/otpt_suppkind", '14');
  3668. fSuppKindSelect();
  3669. }
  3670. }
  3671. //신체감정 접수 체크
  3672. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  3673. if( otpt_etcordflag == 'B' ){ //기타구분이 신체감정일 경우
  3674. if( otpt_insukind != gsIlBan ){
  3675. model.setValue("/root/main/otpt/otpt_insukind", '51'); //일반
  3676. cmb_insukind.dispatch("xforms-select");
  3677. }
  3678. model.setValue("/root/main/otpt/otpt_suppkind", '28'); //신체감정
  3679. fSuppKindSelect();
  3680. model.refresh();
  3681. }
  3682. if( model.getValue("/root/main/otpt/otpt_insukind") != '' && model.getValue("/root/main/otpt/otpt_insukind") != '-' ){
  3683. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  3684. if( rrgstno2 != null && rrgstno2 != '' ){
  3685. var gubn = rrgstno2.substr(0,1);
  3686. //외국인 여부 세팅
  3687. if( gubn == '5' || gubn == '6' || gubn == '7' || gubn == '8'){
  3688. //var forgeryn = model.getValue("/root/main/ptbs/ptbs_forgeryn");
  3689. if( model.getValue("/root/main/otpt/otpt_insukind") != gsInsu_BoHo1 && model.getValue("/root/main/otpt/otpt_insukind") != gsInsu_BoHo2 ){
  3690. model.setValue("/root/main/ptbs/ptbs_forgeryn", 'Y');
  3691. }else{
  3692. model.setValue("/root/main/ptbs/ptbs_forgeryn", 'N');
  3693. }
  3694. }else if( model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_ForIn ){
  3695. model.setValue("/root/main/ptbs/ptbs_forgeryn", 'Y');
  3696. }else{
  3697. model.setValue("/root/main/ptbs/ptbs_forgeryn", 'N');
  3698. }
  3699. }
  3700. }
  3701. model.refresh();
  3702. }
  3703. //END..
  3704. //2007-12-11 이동식 추가 - 카드팝업 호출 로직
  3705. function fOpenCardPopUp(flag){
  3706. //등록/수정,취소
  3707. //일반등록,멀티등록
  3708. var parm;
  3709. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  3710. var orddd; // = model.getValue("/root/main/otpt/otpt_orddd");
  3711. var orddeptcd; // = model.getValue("/root/main/otpt/otpt_orddeptcd");
  3712. var cretno = model.getValue("/root/main/otpt/otpt_cretno");
  3713. var strRcvVan = '';
  3714. var ordtype = 'O';
  3715. var fromdd = ''; //필요없는 ???
  3716. var todd = ''; //필요없는 ???
  3717. if( CHECKCARDCASH == 'OLD' ){
  3718. var cardAmt = parseInt( model.getValue("/root/main/opmi/opmi_precardamt") )
  3719. + parseInt( model.getValue("/root/main/opmi/opmi_cardamt") );
  3720. }else{
  3721. var cardAmt = model.getValue("/root/main/opmi/opmi_cardamt");
  3722. }
  3723. if ( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  3724. //멀티접수 카드 승인시 필요한 진료과/진료의 정보
  3725. orddeptcd = model.getValue("/root/main/m_otpt/otpt[1]/otpt_orddeptcd");
  3726. orddd = model.getValue("/root/main/m_otpt/otpt[1]/otpt_orddd");
  3727. }else{
  3728. //카드 승인시 필요한 진료과/진료의 정보
  3729. orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  3730. orddd = model.getValue("/root/main/otpt/otpt_orddd");
  3731. }
  3732. //카드정보
  3733. var cardno = model.getValue("/root/hidden/com/card_cardno");
  3734. var valiterm = model.getValue("/root/hidden/com/card_valiterm");
  3735. var allotmm = model.getValue("/root/hidden/com/card_allotmm");
  3736. // 치과 IC칩 신용카드 결제관련 프로그램 수정
  3737. if(isNull(allotmm)){
  3738. allotmm ='00';
  3739. }
  3740. // 치과 IC칩 신용카드 결제관련 프로그램 수정
  3741. var keyinpuflag = model.getValue("/root/hidden/com/keyinptflag");
  3742. var swipedata = model.getValue("/root/hidden/com/swipedata");
  3743. //var cardamt = model.getValue("/root/main/opmi/opmi_cardamt");
  3744. if (btn_stat.attribute("background-color") == "#c0c0c0") //접수
  3745. {
  3746. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1)
  3747. {
  3748. parm = "0" + "▦" + //멀티건수
  3749. "" + "▦" + //멀티opmi
  3750. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3751. "" + "▦" + //rcptno
  3752. "" + "▦" + //rcptseqno
  3753. cardAmt + "▦" + //totalamt
  3754. "/root/main/h_card" + "▦" + //send
  3755. "/root/main/h_card" + "▦" + //receive
  3756. pid + "▦" + //pid
  3757. orddd + "▦" + //orddd
  3758. cretno + "▦" + //cretno
  3759. strRcvVan + "▦" + //strRcvVan
  3760. ordtype + "▦" + //ordtype
  3761. fromdd + "▦" + //fromdd
  3762. todd + "▦" + //todd
  3763. orddeptcd + "▦" + //orddeptcd
  3764. //단일건 접수 승인일때만 필요
  3765. cardno + "▦" + //cardno
  3766. valiterm + "▦" + //valiterm
  3767. allotmm + "▦" + //allotmm
  3768. keyinpuflag + "▦" + //keyinpuflag
  3769. swipedata + "▦" ; //swipedata
  3770. }
  3771. else //멀티접수
  3772. {
  3773. parm = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") + "▦" + //멀티건수
  3774. "/root/main/m_opmi" + "▦" + //멀티opmi
  3775. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3776. "" + "▦" + //rcptno
  3777. "" + "▦" + //rcptseqno
  3778. cardAmt + "▦" + //totalamt
  3779. "/root/main/m_card" + "▦" + //send
  3780. "/root/main/m_card" + "▦" + //receive
  3781. pid + "▦" + //pid
  3782. orddd + "▦" + //orddd
  3783. cretno + "▦" + //cretno
  3784. strRcvVan + "▦" + //strRcvVan
  3785. ordtype + "▦" + //ordtype
  3786. fromdd + "▦" + //fromdd
  3787. todd + "▦" + //todd
  3788. orddeptcd + "▦" + //orddeptcd
  3789. //단일건 접수 승인일때만 필요
  3790. cardno + "▦" + //cardno
  3791. valiterm + "▦" + //valiterm
  3792. allotmm + "▦" + //allotmm
  3793. keyinpuflag + "▦" + //keyinpuflag
  3794. swipedata + "▦" ; //swipedata
  3795. }
  3796. }
  3797. else if (btn_stat.attribute("background-color") == "#ff0000") //변경/취소
  3798. {
  3799. if (getNodesetCount("/root/main/c_otpt/otpt/otpt_pid") > 0 ) //멀티취소
  3800. {
  3801. parm = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid") + "▦" + //멀티건수
  3802. "/root/main/c_opmi" + "▦" + //멀티opmi
  3803. model.getValue("/root/main/otpt_old/otpt_rcptdd_old") + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3804. model.getValue("/root/main/otpt_old/otpt_rcptno_old") + "▦" +
  3805. model.getValue("/root/main/otpt_old/otpt_rcptseqno_old") + "▦" +
  3806. cardAmt + "▦" +
  3807. "/root/main/c_card" + "▦" +
  3808. "/root/main/c_card" + "▦" + //receive
  3809. pid + "▦" + //pid
  3810. orddd + "▦" + //orddd
  3811. cretno + "▦" + //cretno
  3812. strRcvVan + "▦" + //strRcvVan
  3813. ordtype + "▦" + //ordtype
  3814. fromdd + "▦" + //fromdd
  3815. todd + "▦" + //todd
  3816. orddeptcd + "▦" + //orddeptcd
  3817. //단일건 접수 승인일때만 필요
  3818. cardno + "▦" + //cardno
  3819. valiterm + "▦" + //valiterm
  3820. allotmm + "▦" + //allotmm
  3821. keyinpuflag + "▦" + //keyinpuflag
  3822. swipedata + "▦" + //swipedata
  3823. "/root/main/c_otpt" + "▦" ; //멀티변경/취소 노드
  3824. }
  3825. else
  3826. {
  3827. parm = "0" + "▦" + //멀티건수
  3828. "" + "▦" + //멀티opmi
  3829. model.getValue("/root/main/otpt_old/otpt_rcptdd_old") + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3830. model.getValue("/root/main/otpt_old/otpt_rcptno_old") + "▦" +
  3831. model.getValue("/root/main/otpt_old/otpt_rcptseqno_old") + "▦" +
  3832. cardAmt + "▦" +
  3833. "/root/main/h_card" + "▦" +
  3834. "/root/main/h_card" + "▦" + //receive
  3835. pid + "▦" + //pid
  3836. orddd + "▦" + //orddd
  3837. cretno + "▦" + //cretno
  3838. strRcvVan + "▦" + //strRcvVan
  3839. ordtype + "▦" + //ordtype
  3840. fromdd + "▦" + //fromdd
  3841. todd + "▦" + //todd
  3842. orddeptcd + "▦" + //orddeptcd
  3843. //단일건 접수 승인일때만 필요
  3844. cardno + "▦" + //cardno
  3845. valiterm + "▦" + //valiterm
  3846. allotmm + "▦" + //allotmm
  3847. keyinpuflag + "▦" + //keyinpuflag
  3848. swipedata + "▦" ; //swipedata
  3849. }
  3850. }
  3851. setParameter("SPPAO00400_PARM",parm);
  3852. setParameter("SPPAO00400_FLAG", flag);
  3853. //팝업 오픈 방식 체크
  3854. if( flag == 'I' || flag == 'D'){
  3855. var ivrObjt = document.all("ivr_cardpopup");
  3856. if( ivrObjt == null ){
  3857. // body.createChild("xforms:iviewer", "id:ivr_cardpopup; visibility:visible; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw; left:200px; top:200px; width:790px; height:650px");
  3858. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  3859. ivrObjt = document.all("ivr_cardpopup");
  3860. }
  3861. //setParameter("SPPAO00400_PARM",parm);
  3862. if( flag == 'I' ){
  3863. ivrObjt.window.javascript.fInit();
  3864. var retMsg = ivrObjt.window.javascript.fAutoGetCardAprv();
  3865. }else{
  3866. ivrObjt.window.javascript.fInit();
  3867. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv();
  3868. }
  3869. // if( messageBox("continue??", "Q999", "") != 6 ){
  3870. // return false;
  3871. // }
  3872. body.removeChild("ivr_cardpopup");
  3873. //결과값 리턴..
  3874. if( retMsg == true || retMsg == false ){
  3875. return retMsg;
  3876. }else{
  3877. //카드 멀티로 취소시 에러
  3878. //if( retMsg == 'cnclError' ){
  3879. if( messageBox("카드팝업으로 오류난 작업을", "Q003", "") == 6 ){ //계속 진행하시겠습니까?
  3880. setParameter("SPPAO00400_PARM",parm);
  3881. setParameter("SPPAO00400_FLAG", 'E'); //에러상황에서 팝업 호출.
  3882. modal("SPPAO00400", "1","100", "100", "SPPAO00400", "", "");
  3883. var rtn = getParameter("SPPAO00400_RTN");
  3884. if( rtn == 'N' ){ //팝업이 정상 종료되지 않았습니다.
  3885. return false;
  3886. }else{
  3887. var cardamt = getParameter("SPPAO00400_TotCardAmt");
  3888. if( parseInt( cardamt ) == 0 ){
  3889. return true;
  3890. }else{
  3891. messageBox("카드승인취소 후 카드결제액이 맞지 않습니다!", "E999", "");
  3892. return false;
  3893. }
  3894. }
  3895. }else{
  3896. return false;
  3897. }
  3898. //}
  3899. return false;
  3900. }
  3901. // }else if( flag == 'C' ){
  3902. //
  3903. // //이미 카드처리 완료된 상태!!
  3904. // return true;
  3905. }else{
  3906. //modal("SPPAO00400", "1","400", "400", "SPPAO00400", "", "", "caption:hidden", false);
  3907. modal("SPPAO00400", "1","100", "100", "SPPAO00400", "", "");
  3908. //return true;
  3909. //팝업 정상종료 여부!
  3910. if (getParameter("SPPAO00400_RTN") == "N" || getParameter("SPPAO00400_RTN") == ""){
  3911. return false;
  3912. }
  3913. return true;
  3914. }
  3915. }
  3916. //END..
  3917. function fOpenCashPopUp(flag){
  3918. //등록/수정,취소
  3919. //일반등록,멀티등록
  3920. var parm;
  3921. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  3922. var ordtype = 'O';
  3923. var cashAprvAmt = 0;
  3924. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid") > 0 ){
  3925. for(var i = 1; i <= getNodesetCount("/root/main/m_cash/cash/cash_pid"); i ++ ){
  3926. if( model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") != ''
  3927. && model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") != ' '
  3928. && model.getValue("/root/main/m_cash/cash[" + i + "]/cash_rcptdd") != '-'){
  3929. cashAprvAmt = parseInt(cashAprvAmt) + parseInt(model.getValue("/root/main/m_cash/cash[" + i + "]/cash_cashamt"));
  3930. }
  3931. }
  3932. }else{
  3933. for(var i = 1; i <= getNodesetCount("/root/main/h_cash/cash/cash_pid"); i ++ ){
  3934. if( model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") != ''
  3935. && model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") != ' '
  3936. && model.getValue("/root/main/h_cash/cash[" + i + "]/cash_rcptdd") != '-'){
  3937. cashAprvAmt = parseInt(cashAprvAmt) + parseInt(model.getValue("/root/main/h_cash/cash[" + i + "]/cash_cashamt"));
  3938. }
  3939. }
  3940. }
  3941. // 2016/04/28 통장입금도 현금영수증 승인하도록 수정(이정택)
  3942. var cashAmt = parseInt( cashAprvAmt ) + parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  3943. var cardno = ''; //model.getValue("/root/hidden/com/card_cardno");
  3944. var keyinpuflag = ''; //model.getValue("/root/hidden/com/keyinptflag");
  3945. var indinstflag = ''; //model.getValue("/root/hidden/com/cash_indinstflag");
  3946. var qualcnfmflag = ''; //model.getValue("/root/hidden/com/qualcnfmflag");
  3947. var swipedata = ''; //model.getValue("/root/hidden/com/swipedata");
  3948. //수납방법 카드 선택 후 카드 + 현금영수증 수납일 경우
  3949. if( model.getValue("/root/hidden/com/cardcashflag") != 'N'){
  3950. //현금영수증 관련 기본세팅:주민번호 => 추후에는 현금영수증정보 기준에서 조회
  3951. model.makeValue("/root/send/cashbaseinfo/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  3952. // model.makeNode("/root/send/cashbaseinfot");
  3953. if( submit("TRPAO01801") ){
  3954. if( getNodesetCount("/root/send/cashbaseinfo/cashbase/pid") > 0 ){
  3955. model.setValue("/root/hidden/com/qualcnfmflag", model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmflag"));
  3956. // model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno"));
  3957. cardno = model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno");
  3958. }else{
  3959. // model.setValue("/root/hidden/com/card_cardno",
  3960. cardno = model.getValue("/root/main/ptbs/ptbs_rrgstno1") + model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  3961. // model.setValue("/root/hidden/com/qualcnfmflag", '1');
  3962. }
  3963. }else{
  3964. // model.setValue("/root/hidden/com/card_cardno",
  3965. cardno = model.getValue("/root/main/ptbs/ptbs_rrgstno1") + model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  3966. // model.setValue("/root/hidden/com/qualcnfmflag", '1');
  3967. }
  3968. //20100401 현금영수증 의무화
  3969. //model.removeNodeset("/root/send/cashbaseinfo");
  3970. keyinpuflag = 'K';
  3971. indinstflag = model.getValue("/root/hidden/com/cash_indinstflag");
  3972. qualcnfmflag = '1';
  3973. swipedata = '';
  3974. //20100401 현금영수증 의무화
  3975. if (model.getValue("/root/hidden/com/cash_indinstflag" ) == "02") {
  3976. if (model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm") != "" && model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm") != null) {
  3977. keyinpuflag = 'K';
  3978. indinstflag = "00";
  3979. cardno = model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm");
  3980. qualcnfmflag = "2"; //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  3981. swipedata = "";
  3982. } else {
  3983. messageBox("소비자 미발급시 국세청 현금영수증 번호가 등록되어 있지 않아 현금영수증을 승인 할 수 없습니다. 확인하여 주십시오.[P0022/163]", "I999");
  3984. return true;
  3985. }
  3986. }
  3987. }else{
  3988. cardno = model.getValue("/root/hidden/com/card_cardno");
  3989. keyinpuflag = model.getValue("/root/hidden/com/keyinptflag");
  3990. indinstflag = model.getValue("/root/hidden/com/cash_indinstflag");
  3991. qualcnfmflag = model.getValue("/root/hidden/com/qualcnfmflag");
  3992. swipedata = model.getValue("/root/hidden/com/swipedata");
  3993. //20100401 현금영수증 의무화
  3994. if (model.getValue("/root/hidden/com/cash_indinstflag" ) == "02") {
  3995. if (model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm") != "" && model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm") != null) {
  3996. indinstflag = "00";
  3997. cshb_qualcnfmno = model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm");
  3998. qualcnfmflag = "2"; //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  3999. } else {
  4000. messageBox("소비자 미발급시 국세청 현금영수증 번호가 등록되어 있지 않아 현금영수증을 승인 할 수 없습니다. 확인하여 주십시오.[P0022/163]", "I999");
  4001. return true;
  4002. }
  4003. }
  4004. }
  4005. //카드정보
  4006. // var valiterm = model.getValue("/root/hidden/com/card_valiterm");
  4007. // var allotmm = model.getValue("/root/hidden/com/card_allotmm");
  4008. // var keyinpuflag = model.getValue("/root/hidden/com/keyinptflag");
  4009. // var indinstflag = model.getValue("/root/hidden/com/cash_indinstflag");
  4010. // var qualcnfmflag = model.getValue("/root/hidden/com/qualcnfmflag");
  4011. // var swipedata = model.getValue("/root/hidden/com/swipedata");
  4012. if (btn_stat.attribute("background-color") == "#c0c0c0") //접수
  4013. {
  4014. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1)
  4015. {
  4016. parm = "0" + "▦" + //멀티건수
  4017. "" + "▦" + //멀티opmi
  4018. cashAmt + "▦" + //totalamt
  4019. "/root/main/h_cash" + "▦" + //send
  4020. "/root/main/h_cash" + "▦" + //receive
  4021. pid + "▦" + //pid
  4022. ordtype + "▦" + //ordtype
  4023. indinstflag + "▦" + //indinstflag
  4024. cardno + "▦" + //gQualcnfmno
  4025. // valiterm + "▦" + //valiterm
  4026. // allotmm + "▦" + //allotmm
  4027. keyinpuflag + "▦" + //keyinpuflag
  4028. swipedata + "▦" + //swipedata
  4029. qualcnfmflag + "▦" ; //qualcnfmflag
  4030. }
  4031. else //멀티접수
  4032. {
  4033. parm = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") + "▦" + //멀티건수
  4034. "/root/main/m_opmi" + "▦" + //멀티opmi
  4035. cashAmt + "▦" + //totalamt
  4036. "/root/main/m_cash" + "▦" + //send
  4037. "/root/main/m_cash" + "▦" + //receive
  4038. pid + "▦" + //pid
  4039. ordtype + "▦" + //ordtype
  4040. indinstflag + "▦" + //indinstflag
  4041. cardno + "▦" + //gQualcnfmno
  4042. // valiterm + "▦" + //valiterm
  4043. // allotmm + "▦" + //allotmm
  4044. keyinpuflag + "▦" + //keyinpuflag
  4045. swipedata + "▦" + //swipedata
  4046. qualcnfmflag + "▦" ; //qualcnfmflag
  4047. }
  4048. }
  4049. else if (btn_stat.attribute("background-color") == "#ff0000") //변경/취소
  4050. {
  4051. if (getNodesetCount("/root/main/c_otpt/otpt/otpt_pid") > 0 ) //멀티취소
  4052. {
  4053. parm = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid") + "▦" + //멀티건수
  4054. "/root/main/c_opmi" + "▦" + //멀티opmi
  4055. cashAmt + "▦" + //totalamt
  4056. "/root/main/c_cash" + "▦" + //send
  4057. "/root/main/c_cash" + "▦" + //receive
  4058. pid + "▦" + //pid
  4059. ordtype + "▦" + //ordtype
  4060. indinstflag + "▦" + //indinstflag
  4061. cardno + "▦" + //gQualcnfmno
  4062. // valiterm + "▦" + //valiterm
  4063. // allotmm + "▦" + //allotmm
  4064. keyinpuflag + "▦" + //keyinpuflag
  4065. swipedata + "▦" + //swipedata
  4066. qualcnfmflag + "▦" ; //qualcnfmflag
  4067. }
  4068. else
  4069. {
  4070. parm = "0" + "▦" + //멀티건수
  4071. "" + "▦" + //멀티opmi
  4072. cashAmt + "▦" + //totalamt
  4073. "/root/main/h_cash" + "▦" + //send
  4074. "/root/main/h_cash" + "▦" + //receive
  4075. pid + "▦" + //pid
  4076. ordtype + "▦" + //ordtype
  4077. indinstflag + "▦" + //indinstflag
  4078. cardno + "▦" + //gQualcnfmno
  4079. // valiterm + "▦" + //valiterm
  4080. // allotmm + "▦" + //allotmm
  4081. keyinpuflag + "▦" + //keyinpuflag
  4082. swipedata + "▦" + //swipedata
  4083. qualcnfmflag + "▦" ; //qualcnfmflag
  4084. }
  4085. }
  4086. setParameter("SPPAO00500_PARM",parm);
  4087. setParameter("SPPAO00500_FLAG", flag);
  4088. //팝업 오픈 방식 체크
  4089. if( flag == 'I' || flag == 'D'){
  4090. var retMsg;
  4091. var ivrObjt = document.all("ivr_cashpopup");
  4092. if( ivrObjt == null ){
  4093. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  4094. ivrObjt = document.all("ivr_cashpopup");
  4095. }
  4096. //if( flag == 'I' && parseInt( model.getValue("/root/main/opmi/opmi_cashamt") ) > 0){
  4097. if((parseInt( model.getValue("/root/main/opmi/opmi_cashamt") ) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"))) > 0){
  4098. ivrObjt.window.javascript.fInit();
  4099. retMsg = ivrObjt.window.javascript.fAutoGetCashAprv();
  4100. }else{
  4101. ivrObjt.window.javascript.fInit();
  4102. if( model.getvalue("/root/init/P0022/P0022list[cd = '164' ]/nm") == 'Y' ){
  4103. retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv_new();
  4104. }else{
  4105. retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  4106. }
  4107. //var retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  4108. //var retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv_new();
  4109. }
  4110. body.removeChild("ivr_cashpopup");
  4111. //결과값 리턴..
  4112. if( retMsg == true || retMsg == false ){
  4113. //현금영수증 승인 및 취소 오류시 그냥 진행하고 나중에 처리 할지 여부를 묻는다.
  4114. if( retMsg == false ){
  4115. var qmsg = messageBox("현금영수증 승인/취소 오류가 발생했습니다."
  4116. + "\n접수/반환을 계속 진행하시고 현금영수증 처리를 나중에 하시겠습니까?"
  4117. + "\n[예] : 접수/반환 계속 진행. [아니오] : 접수/반환 정지.", "Q999", "");
  4118. if( qmsg != '6' ){
  4119. return false;
  4120. }else{
  4121. return true;
  4122. }
  4123. }else {
  4124. return true;
  4125. }
  4126. }else{
  4127. //카드 멀티로 취소시 에러
  4128. //if( retMsg == 'cnclError' ){
  4129. if( messageBox("현금영수증팝업으로 오류난 작업을", "Q003", "") == 6 ){ //계속 진행하시겠습니까?
  4130. setParameter("SPPAO00500_PARM",parm);
  4131. setParameter("SPPAO00500_FLAG", 'E'); //에러상황에서 팝업 호출.
  4132. modal("SPPAO00501", "1","100", "100", "SPPAO00501", "", "");
  4133. var rtn = getParameter("SPPAO00500_RTN");
  4134. if( rtn == 'N' ){ //팝업이 정상 종료되지 않았습니다.
  4135. return false;
  4136. }else{
  4137. var cardamt = getParameter("SPPAO00500_TotCardAmt");
  4138. if( parseInt( cardamt ) == 0 ){
  4139. return true;
  4140. }else{
  4141. messageBox("카드승인취소 후 카드결제액이 맞지 않습니다!", "E999", "");
  4142. return false;
  4143. }
  4144. }
  4145. }else{
  4146. return false;
  4147. }
  4148. //}
  4149. return false;
  4150. }
  4151. }else{
  4152. modal("SPPAO00501", "1","100", "100", "SPPAO00501", "", "");
  4153. //return true;
  4154. //팝업 정상종료 여부!
  4155. if (getParameter("SPPAO00500_RTN") == "N" || getParameter("SPPAO00500_RTN") == ""){
  4156. return false;
  4157. }
  4158. return true;
  4159. }
  4160. }
  4161. //END..
  4162. //2007-12-07 이동식 추가
  4163. function fCheckPsnRetireInfo(){
  4164. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  4165. if( disccd != '' && disccd != ' ' && disccd != '-'){
  4166. if( disccd == 'A01' || disccd == 'A02' || disccd == 'A03' || disccd == 'A04'){
  4167. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  4168. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  4169. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4170. var rrgstno = rrgstno1 + rrgstno2;
  4171. if( rrgstno != '' || rrgstno != ' ' || rrgstno != '-' ){
  4172. if( ! fGetPsnRetireInfo(rrgstno, orddd)){
  4173. model.setFocus("ipt_disccd");
  4174. return false;
  4175. // model.setValue("/root/main/ptdc/ptdc_disccd", '-');
  4176. // model.refresh();
  4177. // fDiscCDSelect();
  4178. }
  4179. }
  4180. }
  4181. }
  4182. return true;
  4183. }
  4184. //END..
  4185. //2007-12-07 이동식 - 접수변경/취소 생태 해제 기능
  4186. function fInitUpdtMultiData(){
  4187. //var cur_row = model.getValue("/root/hidden/com/rowchng");
  4188. model.resetInstanceNode("/root/main/otpt_old");
  4189. model.resetInstanceNode("/root/main/opmi");
  4190. model.resetInstanceNode("/root/main/otpt"); //2006-08-30 추가
  4191. model.resetInstanceNode("/root/main/ptin"); //2007-09-20 추가
  4192. //2006-02-03 추가 card dcgm unco clear
  4193. model.removeNodeset("/root/main/h_unco/unco"); //error
  4194. model.removeNodeset("/root/main/h_card/card"); //error
  4195. model.removeNodeset("/root/main/h_dcgm/dcgm"); //error
  4196. model.removeNodeset("/root/main/h_dcgm2/dcgm");
  4197. model.removeNodeset("/root/main/h_cash/cash");
  4198. //2007.06.05 추가 멀티내역
  4199. model.removeNodeset("/root/main/c_otpt/otpt");
  4200. model.removeNodeset("/root/main/c_opmi/opmi");
  4201. model.removeNodeset("/root/main/c_card/card");
  4202. model.removeNodeset("/root/main/c_cash/cash");
  4203. // model.removeNodeset("");
  4204. // model.removeNodeset("");
  4205. model.setValue("/root/main/otpt/otpt_orddd",PMO001_TODAY);
  4206. // model.setValue("/root/main/otpt/otpt_insukind",model.getValue("/root/main/h_otpt/otpt/otpt_insukind"));
  4207. // cmb_insukind.dispatch("xforms-select");
  4208. fBaseDataInitCom();
  4209. fBaseDataInitOtpt();
  4210. fBaseDataInitOpmi();
  4211. if( CENTERYN == 'Y' ){
  4212. cmb_centcd.dispatch("xforms-value-changed");
  4213. }
  4214. //row color change
  4215. btn_stat.attribute("background-color") = "#c0c0c0";
  4216. //수가계산 안 한 상태로 ..
  4217. gs_prcs = "0";
  4218. //2007-09-17 이동식 - 버튼 설정..
  4219. btn_calcscorcalc.disabled = false;
  4220. button2.disabled = false;
  4221. btn_save.disabled = true;
  4222. btn_updt.disabled = true;
  4223. btn_cncl.disabled = false;
  4224. //END..
  4225. //2007.06.29
  4226. model.resetInstanceNode("/root/hidden/com/rowchng");
  4227. model.resetInstanceNode("/root/hidden/flag");
  4228. model.refresh();
  4229. //2007-11-29 이동식 추가 - 초기화시 접수예약 탭이 디폴트로 보여지게!!
  4230. btn_otpt.selected = false;
  4231. btn_m_otpt.selected = true;
  4232. btn_c_otpt.selected = false;
  4233. model.toggle("case6");
  4234. return true;
  4235. }
  4236. //END..
  4237. //2010-12-14 이동식 추가 - 진찰료 중복 산정로직 분리
  4238. //진료과에 하위부서가 추가되어 로직 변경 됨. 기존 진료과코드 체크에서 대표진료과코드(원무공통코드 P0095)로 체크 함.
  4239. //대표진료과코드가 같을 때 진찰료 미산정으로 변경하란 메세지 띄움.
  4240. function fCheckDuplDept(){
  4241. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4242. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  4243. var reprdeptcd = model.getValue("/root/init/orddeptcd[ cd = '" + orddeptcd + "']/reprdeptcd");
  4244. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  4245. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  4246. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  4247. var medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  4248. var etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  4249. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  4250. //1. 진찰료 미산정건인 경우 체크 안함. true 리턴
  4251. if( medamtestmyn == 'N' ){
  4252. return true;
  4253. }
  4254. //2. 예약 건 중에서 체크 - 예약 변경인 경우(파랑색) 현재 선택된 행은 제외해고 체크 한다.
  4255. var mCnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_orddd");
  4256. var m_orddd;
  4257. var m_orddeptcd;
  4258. var m_reprdeptcd
  4259. var m_orddrid;
  4260. var m_insukind;
  4261. var m_suppkind;
  4262. var m_medamtestmyn;
  4263. var m_etcordflag;
  4264. var m_rsrvflag;
  4265. var m_modifiedrow = 0;
  4266. //예약 내역 변경 일때
  4267. if( btn_stat.attribute("background-color") == "#0000ff" ){
  4268. m_modifiedrow = grd_rgstrsrv.row;
  4269. }
  4270. for(var m = 1; m <= mCnt; m++ ){
  4271. //수정 선택된 내역은 체크 패스
  4272. if( m_modifiedrow == m ){
  4273. continue;
  4274. }
  4275. m_orddd = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_orddd");
  4276. m_orddeptcd = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_orddeptcd");
  4277. m_reprdeptcd = model.getValue("/root/init/orddeptcd[ cd = '" + m_orddeptcd + "']/reprdeptcd");
  4278. m_orddrid = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_orddrid");
  4279. m_insukind = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_insukind");
  4280. m_suppkind = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_suppkind");
  4281. m_medamtestmyn = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_medamtestmyn");
  4282. m_etcordflag = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_etcordflag");
  4283. m_rsrvflag = model.getValue("/root/main/m_otpt/otpt["+ m +"]/otpt_rsrvflag");
  4284. //진찰료 미산정인 건은 패스
  4285. if( m_medamtestmyn == 'N' ){
  4286. continue;
  4287. }
  4288. //가정간호, 방문간호, 인공신장실, 가다실 예방접종(국가지원) 스킵처리
  4289. if( m_etcordflag == 'N' || m_etcordflag == 'O' || m_rsrvflag == 'E' || m_etcordflag == 'Q'){
  4290. continue;
  4291. }
  4292. //동일 보험유형, 진료과, 의사 체크
  4293. if( orddd == m_orddd && insukind == m_insukind && reprdeptcd == m_reprdeptcd && orddrid == m_orddrid && etcordflag== m_etcordflag){
  4294. messageBox("확인! 동일일자/과/의사/보험유형/기타구분으로 이미 예약된 내역이 있습니다. 접수예약 리스트를 확인하세요!", "E999", "");
  4295. return false;
  4296. }else if( orddd == m_orddd && insukind == m_insukind && reprdeptcd == m_reprdeptcd && etcordflag!='Q'){
  4297. var retValue = messageBox("확인! 동일일자/과/보험유형으로 접수된 내역이 있습니다. 진찰료 미산정으로 접수하시겠습니까?", "Q999", "");
  4298. if( retValue == '6' ){
  4299. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N"); //진찰료 미산정
  4300. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13"); //동일과 두선생님
  4301. }else{
  4302. return false;
  4303. }
  4304. }
  4305. /* 2015/08/20 이정택 주석처리(멀티입력추가시 초재진 변경안되는 현상 수정)
  4306. //2007-08-17 이동식 추가
  4307. if( orddeptcd == m_orddeptcd && orddd >= m_orddd){
  4308. //재진 초채진구분플래그 변경.
  4309. model.setValue("/root/main/otpt/otpt_fsexamflag", "R");
  4310. }else if( fsexamflag == "F" && orddd >= m_orddd ){
  4311. //멀티추가한 내역이 있으면 병원초진을 과초진으로 변경
  4312. model.setValue("/root/main/otpt/otpt_fsexamflag", "D");
  4313. }
  4314. */
  4315. }
  4316. //3.접수 건 중에서 체크 - 접수 변경인 경우(빨간색) 현재 선택된 행은 제외해고 체크 한다.
  4317. // var hCnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_orddd");
  4318. var hCnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_orddd");
  4319. m_modifiedrow = 0;
  4320. //예약 내역 변경 일때
  4321. if( btn_stat.attribute("background-color") == "#ff0000" ){
  4322. m_modifiedrow = grd_outhist.row;
  4323. }
  4324. for(var h = 1; h <= hCnt; h++ ){
  4325. //수정 선택된 내역은 체크 패스
  4326. if( m_modifiedrow == h ){
  4327. continue;
  4328. }
  4329. m_orddd = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_orddd");
  4330. m_orddeptcd = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_orddeptcd");
  4331. m_reprdeptcd = model.getValue("/root/init/orddeptcd[ cd = '" + m_orddeptcd + "']/reprdeptcd");
  4332. m_orddrid = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_orddrid");
  4333. m_insukind = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_insukind");
  4334. m_suppkind = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_suppkind");
  4335. m_medamtestmyn = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_medamtestmyn");
  4336. m_etcordflag = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_etcordflag");
  4337. m_rsrvflag = model.getValue("/root/main/h_otpt/otpt["+ h +"]/otpt_rsrvflag");
  4338. //진찰료 미산정인 건은 패스
  4339. if( m_medamtestmyn == 'N' ){
  4340. continue;
  4341. }
  4342. //가정간호, 방문간호, 인공신장실 제외
  4343. if( m_etcordflag == 'N' || m_etcordflag == 'O' || m_rsrvflag == 'E' || m_rsrvflag == 'Q'){
  4344. continue;
  4345. }
  4346. //동일 보험유형, 진료과, 의사 체크
  4347. if( orddd == m_orddd && insukind == m_insukind && reprdeptcd == m_reprdeptcd && orddrid == m_orddrid && etcordflag == m_etcordflag ){
  4348. messageBox("확인! 동일일자/과/의사/보험유형/기타구분으로 이미 접수내역이 있습니다. 외래이력 리스트를 확인하세요!", "E999", "");
  4349. return false;
  4350. }else if( orddd == m_orddd && insukind == m_insukind && reprdeptcd == m_reprdeptcd && etcordflag != 'Q'){
  4351. var retValue = messageBox("확인! 동일일자/과/보험유형으로 접수된 내역이 있습니다. 진찰료 미산정으로 접수하시겠습니까?", "Q999", "");
  4352. if( retValue == '6' ){
  4353. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N"); //진찰료 미산정
  4354. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13"); //동일과 두선생님
  4355. }else{
  4356. return false;
  4357. }
  4358. }
  4359. }
  4360. return true;
  4361. }
  4362. /*
  4363. * 2007-11-30 이동식 - 수가계산 로직 함수 처리
  4364. */
  4365. function fCallCalcscorcalc(){
  4366. //변경/취소 대상이면서 멀티취소대상인 경우 수가계산불가
  4367. if (btn_stat.attribute("background-color") == "#ff0000" && getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 1){
  4368. messageBox("변경은 한 건씩만 가능합니다.","E999","");
  4369. return false;
  4370. //변경/취소 대상이고 멀티카드 수납 대상자 수가계산 불가
  4371. }else if (btn_stat.attribute("background-color") == "#0000ff" && getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  4372. messageBox("멀티접수 변경 중입니다. 멀티입력추가를 하신 후 수가계산하세요.", "E999", "");
  4373. return false;
  4374. }
  4375. //환자성명 2글자 이상으로 되어야 함! 2007/05/24 조영상
  4376. if(parseInt(ipt_hngnm.currentText.length) < 1){
  4377. messageBox("환자이름은 1글자 이상으로 해주십시요!","E999","");
  4378. return false;
  4379. }
  4380. var brthdd = model.getValue("/root/main/ptbs/ptbs_brthdd");
  4381. if(brthdd == '' || ! isValidDateTime(brthdd, 'YYYYMMDD')){
  4382. messageBox("생년월일을 정확히 입력해주세요!","E999","");
  4383. return false;
  4384. }
  4385. //퇴원환자의 외래 접수여부 판단은 사용자에 부여
  4386. var ptbs_brthdd = model.getValue("/root/main/ptbs/ptbs_brthdd");
  4387. if (isValidDateTime(ptbs_brthdd, "YYYYMMDD") == false){
  4388. messageBox("확인! 생년월일 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
  4389. model.resetInstanceNode("/root/main/ptbs/ptbs_brthdd");
  4390. model.refresh();
  4391. return false;
  4392. }
  4393. if(instance1.selectSingleNode("/root/main/opmi/opmi_payamt") != null){
  4394. model.resetInstanceNode("/root/main/opmi");
  4395. fBaseDataInit("opmi");
  4396. }
  4397. //재원여부 판단
  4398. if(! fInhospynCheck()){
  4399. return false;
  4400. }
  4401. var ptbs_mpphontel = model.getValue("/root/main/ptbs/ptbs_mpphontel");
  4402. var ptbs_mpphontel_str1 = ptbs_mpphontel.substr(0,3);
  4403. var ptbs_mpphontel_str2 = ptbs_mpphontel.substr(0,1);
  4404. if ((ptbs_mpphontel_str1 != "011" && ptbs_mpphontel_str1 != "010" && ptbs_mpphontel_str1 != "017" && ptbs_mpphontel.substr(0,4) != "0130" && ptbs_mpphontel_str1 != "018" && ptbs_mpphontel_str1 != "019" && ptbs_mpphontel_str1 != "016") && ptbs_mpphontel_str2 != "-"){
  4405. // messageBox("확인! 휴대폰번호 형식오류! 휴대번호 또는 '-'를 입력하십시요!","E999","");
  4406. // return;
  4407. model.setValue("/root/main/ptbs/ptbs_mpphontel", '-');
  4408. }
  4409. if (ptbs_mpphontel.length < 10 && ptbs_mpphontel_str2 != "-"){
  4410. // messageBox("확인! 휴대폰번호 형식오류! 휴대번호 또는 '-'를 입력하십시요!","E999","");
  4411. // return;
  4412. model.setValue("/root/main/ptbs/ptbs_mpphontel", '-');
  4413. }
  4414. //주소입력체크 (우편번호주소)
  4415. if (model.getValue("/root/main/ptbs/ptbs_highaddr") == '-' || isNull(model.getValue("/root/main/ptbs/ptbs_highaddr"))) {
  4416. messageBox("우편번호주소는 반드시 입력해야합니다.","E999","");
  4417. return false;
  4418. }
  4419. //단일 접수 START
  4420. var rtval;
  4421. var m_otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]");
  4422. if (m_otpt_cnt < 1){
  4423. //2007-12-07 이동식 추가 - 지원 퇴직여부 체크
  4424. if( ! fCheckPsnRetireInfo() ){
  4425. if( messageBox("감면정보를 수정하지 않고 수가계산을", "Q003", "") != 6 ){ //계속 진행하시겠습니까?
  4426. //model.setFocus("cmb_disccd");
  4427. //model.refresh();
  4428. return false;
  4429. }
  4430. }
  4431. //END..
  4432. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  4433. var rcpt_flag = model.getValue("/root/hidden/flag/rcpt_flag");
  4434. var tablename = model.getValue("/root/main/otpt/otpt_tablename");
  4435. if (otpt_medamtpostyn != "N" && rcpt_flag != 'Y'){ //진찰료후불
  4436. messageBox("확인! 진찰료 후불/수납VIP 상태에서는 수가계산을 할 수 없습니다!","E999","");
  4437. return false;
  4438. }else{
  4439. model.setValue("/root/main/otpt/otpt_medamtpostyn", "N");
  4440. }
  4441. var centcd = model.getValue("/root/main/otpt/otpt_centcd");
  4442. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  4443. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  4444. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  4445. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4446. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  4447. var medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn"); //진찰료 산정여부
  4448. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag"); //초/재진
  4449. var etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag"); //연속처방/기타구분
  4450. var insukind = model.getValue("/root/main/otpt/otpt_insukind"); //보험유형
  4451. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind"); //보조유형
  4452. //2017/03/13 보조유형을 전액본인부담(01) 선택시 보조사유를 선택하지 않았다면 블럭킹 처리
  4453. var suppkindresn = model.getValue("/root/main/otpt/otpt_suppkindresn");
  4454. if(suppkind == '01' && (isNull(suppkindresn) || suppkindresn == '-')){
  4455. messageBox("보조유형이 전액 본인부담일경우에는 보조사유를 선택하셔야 합니다.", "E999");
  4456. model.setFocus("cmb_suppkindresn");
  4457. return false;
  4458. }
  4459. //2017/03/13 보조유형을 전액본인부담(01) 선택시 보조사유를 선택하지 않았다면 블럭킹 처리
  4460. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  4461. if(!fCheckDrSche(orddrid, orddeptcd, orddd, ordtm, medamtestmyn, etcordflag, insukind, suppkind)){
  4462. return false;
  4463. }
  4464. //의사휴진일정 및 정원체크
  4465. if (btn_stat.attribute("background-color") == "#ff0000"){
  4466. var centcd_old = model.getValue("/root/main/otpt_old/otpt_centcd_old");
  4467. var orddrid_old = model.getValue("/root/main/otpt_old/otpt_orddrid_old");
  4468. var orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  4469. var subdeptcd_old = model.getValue("/root/main/otpt_old/otpt_subdeptcd_old");
  4470. var orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  4471. var ordtm_old = model.getValue("/root/main/otpt_old/otpt_ordtm_old");
  4472. if( centcd != centcd_old || orddrid != orddrid_old || orddeptcd != orddeptcd_old || orddd != orddd_old || subdeptcd_old != subdeptcd){
  4473. var sRsrvflag = '-';
  4474. if( model.getValue("/root/main/otpt/otpt_insukind") == "71" ){
  4475. sRsrvflag = 'Q';
  4476. }
  4477. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  4478. if( retVal == false ){
  4479. return false;
  4480. }else if( retVal != true ){
  4481. if( CENTERYN != 'Y' ){
  4482. //센터접수
  4483. model.setValue("/root/main/otpt/otpt_centcd", retVal);
  4484. }
  4485. }else{
  4486. if( CENTERYN != 'Y' ){
  4487. //센터코드 초기화
  4488. model.setValue("/root/main/otpt/otpt_centcd", '-');
  4489. }
  4490. }
  4491. }
  4492. }else{
  4493. var sRsrvflag = '-';
  4494. if( model.getValue("/root/main/otpt/otpt_insukind") == "71" ){
  4495. sRsrvflag = 'Q';
  4496. }
  4497. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  4498. if( retVal == false ){
  4499. return false;
  4500. }else if( retVal != true ){
  4501. if( CENTERYN != 'Y' ){
  4502. //센터접수
  4503. model.setValue("/root/main/otpt/otpt_centcd", retVal);
  4504. }
  4505. }else{
  4506. if( CENTERYN != 'Y' ){
  4507. //센터코드 초기화
  4508. model.setValue("/root/main/otpt/otpt_centcd", '-');
  4509. }
  4510. }
  4511. }
  4512. //END..
  4513. //2007-10-19 이동식 추가 - 최희경대리님 요구사항
  4514. model.setValue("/root/main/otpt/otpt_calcyn", "Y");
  4515. //END,,
  4516. var otpt_medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  4517. if (otpt_medamtestmyn == "N"){
  4518. var otpt_medamtfreeresn = model.getValue("/root/main/otpt/otpt_medamtfreeresn");
  4519. if (otpt_medamtfreeresn == null || otpt_medamtfreeresn == "" || otpt_medamtfreeresn == " " || otpt_medamtfreeresn == "-" || otpt_medamtfreeresn == "00"){
  4520. messageBox("진찰료 미산정인 경우 사유를 입력하셔야합니다!","E999","");
  4521. return false;
  4522. }
  4523. }
  4524. //2017/06/07 보조유형과 수급절차를 체크하여 블럭킹 처리(이정택)
  4525. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  4526. var otpt_suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  4527. var otpt_ordreqformflag = model.getValue("/root/main/otpt/otpt_ordreqformflag");
  4528. if ((otpt_insukind == '11' || otpt_insukind == '21' || otpt_insukind == '22') && otpt_suppkind == "00" && otpt_ordreqformflag!= '3'){
  4529. messageBox("보조유형 [정상]은 수급절차를 [급여가능]으로 해야합니다.", "E999", "");
  4530. return false;
  4531. }
  4532. if ((otpt_insukind == '11' || otpt_insukind == '21' || otpt_insukind == '22') && otpt_suppkind == "01" && !(otpt_ordreqformflag== '1' || otpt_ordreqformflag== '2')){
  4533. messageBox("보조유형 [전액본인부담]은 수급절차를 [보험100%] 또는 [희망100%]으로 해야합니다.", "E999", "");
  4534. return false;
  4535. }
  4536. //2017/06/07 보조유형과 수급절차를 체크하여 블럭킹 처리(이정택)
  4537. //중증내역 체크 삭제
  4538. //동일진료과,동일진료의사,동일진료일자 접수시 체크!
  4539. //진찰료 미산정으로 해서 처리?
  4540. //등록만으로 처리?
  4541. //2010-12-15 이동식 수정 - 공통 체크 모듈로 대체
  4542. //진료과 중복 체크
  4543. if(!fCheckDuplDept()){
  4544. return false;
  4545. }
  4546. //심층진찰은 병초/과초만 가능토록 프로그램 개발(2017/12/20 이정택)
  4547. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  4548. var otpt_fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  4549. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  4550. if(otpt_etcordflag=='U' && otpt_insukind!= '11'){
  4551. messageBox("심층진찰 접수는 건보 환자에 대해서만 가능합니다.", "E999", "");
  4552. return false;
  4553. }
  4554. if(otpt_etcordflag=='U' && !(otpt_fsexamflag == 'F' || otpt_fsexamflag == 'D' )){
  4555. messageBox("심층진찰은 병초 또는 과초 환자만 가능합니다.", "E999", "");
  4556. return false;
  4557. }
  4558. //심층진찰은 병초/과초만 가능토록 프로그램 개발(2017/12/20 이정택)
  4559. /* 기존 체크 로직 주석 처리
  4560. var otpt_orddd, otpt_cretno, otpt_acptseqno, otpt_orddeptcd, otpt_orddrid, otpt_insukind, otpt_mskind;
  4561. var otpt_orddd_row, otpt_cretno_row, otpt_acptseqno_row, otpt_orddeptcd_row, otpt_orddrid_row, otpt_insukind_row, otpt_medamtestmyn_row;
  4562. var otpt_mskind_row, otpt_acptseqno_row, otpt_etcordflag_row;
  4563. var otpt_tablename_row; //2007-08-21 이동식 추가.
  4564. var Cnt = 0;
  4565. var sVrf, sVrf2;
  4566. var otpt_cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  4567. var m_otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  4568. if (otpt_cnt > 0 || m_otpt_cnt > 0){
  4569. otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  4570. otpt_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  4571. otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4572. otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  4573. //otpt_acptseqno = model.getValue("/root/main/otpt/otpt_acptseqno");
  4574. otpt_acptseqno = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  4575. otpt_mskind = model.getValue("/root/main/otpt/otpt_mskind");
  4576. if (otpt_orddeptcd == null || otpt_orddeptcd == "" || otpt_orddeptcd == "-" || otpt_orddeptcd == " " ||
  4577. otpt_orddrid == null || otpt_orddrid == "" || otpt_orddrid == "-" || otpt_orddrid == " " ||
  4578. otpt_orddd == null || otpt_orddd == "" || otpt_orddd == "-" || otpt_orddd == " "){
  4579. messageBox("확인! 진료일자/과/의사 코드값이 비어있습니다!","E999","");
  4580. return false;
  4581. }
  4582. //변경 후 수가계산시 기수납액 검증
  4583. var otpt_orddd_old;
  4584. var otpt_cretno_old;
  4585. var otpt_acptseqno_old;
  4586. var otpt_orddeptcd_old;
  4587. var otpt_orddrid_old;
  4588. var otpt_insukind_old;
  4589. var otpt_mskind_old;
  4590. var otpt_etcordflag_old; //2006-02-03 추가
  4591. //변경
  4592. if (btn_stat.attribute("background-color") == "#ff0000"){
  4593. if( ! fCheckOutRgstUpdate()){
  4594. //btn_stat.dispatch("DOMActivate");
  4595. return false;
  4596. }
  4597. }
  4598. otpt_orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  4599. otpt_cretno_old = model.getValue("/root/main/otpt_old/otpt_cretno_old");
  4600. otpt_acptseqno_old = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  4601. otpt_orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  4602. otpt_orddrid_old = model.getValue("/root/main/otpt_old/otpt_orddrid_old");
  4603. otpt_insukind_old = model.getValue("/root/main/otpt_old/otpt_insukind_old");
  4604. otpt_mskind_old = model.getvalue("/root/main/otpt_old/otpt_mskind_old");
  4605. otpt_acptseqno_old = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  4606. //외래이력 체크
  4607. for(var i = 1; i <= otpt_cnt; i++){
  4608. otpt_orddd_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_orddd");
  4609. otpt_cretno_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_cretno");
  4610. otpt_acptseqno_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_acptseqno");
  4611. otpt_orddeptcd_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_orddeptcd");
  4612. otpt_orddrid_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_orddrid");
  4613. otpt_insukind_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_insukind");
  4614. otpt_mskind_row = model.getvalue("/root/main/h_otpt/otpt["+ i +"]/otpt_mskind");
  4615. otpt_etcordflag_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_etcordflag");
  4616. //2007-08-21 이동식 추가
  4617. //외래이력 중 가예약 내역은 체크하지 않고 패스한다.
  4618. otpt_tablename_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_tablename");
  4619. otpt_medamtestmyn_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_medamtestmyn");
  4620. if( otpt_tablename_row == "temp" || otpt_tablename_row == "TEMP" ){
  4621. continue;
  4622. }
  4623. //진찰료 산정인 건만 체크한다.
  4624. if( otpt_medamtestmyn_row != "Y"){
  4625. continue;
  4626. }
  4627. //END..
  4628. //같은과 같은일자 같은 유형이 접수되어 있으면 미산정
  4629. //변경
  4630. if (btn_stat.attribute("background-color") == "#ff0000"){
  4631. //old내역이 orddd,orddeptcd,orddrid,insukind 가 바뀌는 경우
  4632. //old내역이 그 이외의 항목이 바뀌는 경우
  4633. if (otpt_orddd_old != otpt_orddd || otpt_orddeptcd_old != otpt_orddeptcd || otpt_orddrid_old != otpt_orddrid || otpt_insukind_old != otpt_insukind){
  4634. //old내역을 제외한 나머지 내역과 비교한다.
  4635. //동일내역
  4636. if (otpt_orddd_old == otpt_orddd_row && otpt_cretno_old == otpt_cretno_row && otpt_acptseqno_old == otpt_acptseqno_row){
  4637. //old내역과 비교는 안한다.
  4638. //동일내역이 아닌 경우
  4639. }else{
  4640. if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid == otpt_orddrid_row){
  4641. if (otpt_insukind == otpt_insukind_row){
  4642. sVrf = "x";
  4643. }else{
  4644. Cnt++;
  4645. }
  4646. if (otpt_mskind == otpt_mskind_row) sVrf2 = "Y";
  4647. }else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid != otpt_orddrid_row){
  4648. if (otpt_insukind == otpt_insukind_row){
  4649. if (otpt_cnt > 1) Cnt++;
  4650. }
  4651. }
  4652. }
  4653. }else{
  4654. //변경된 내역이 일자/과/의사/보험유형이 아니다.
  4655. }
  4656. //접수, 수납
  4657. }else if (btn_stat.attribute("background-color") == "#c0c0c0" || btn_stat.attribute("background-color") == "#0000ff"){
  4658. //2007-11-21 이동식 추가 - 같은 내역 비교 하지 않도록!!! - 수납 시 같은 내역 체크로 인한 오류 발생!!
  4659. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4660. var cretno = model.getValue("/root/main/otpt/otpt_cretno");
  4661. var acptseqno = model.getValue("/root/main/otpt/otpt_acptseqno");
  4662. //동일내역
  4663. if (orddd == otpt_orddd_row && cretno == otpt_cretno_row && acptseqno == otpt_acptseqno_row){
  4664. //old내역과 비교는 안한다.
  4665. }
  4666. //END..
  4667. else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid == otpt_orddrid_row ) //&&(otpt_cretno == otpt_cretno_row && otpt_seqno == otpt_seqno_row)){
  4668. if (otpt_insukind == otpt_insukind_row){
  4669. sVrf = "x";
  4670. }
  4671. //2007-11-21 이동식 수정 - 보험유형이 다를 땐 진찰료 산정!!
  4672. //else Cnt++;
  4673. if (otpt_mskind == otpt_mskind_row) sVrf2 = "Y";
  4674. }else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid != otpt_orddrid_row){
  4675. if (otpt_insukind == otpt_insukind_row){
  4676. Cnt++;
  4677. }
  4678. }
  4679. }
  4680. }
  4681. //예약내역 체크
  4682. for(var j = 1; j <= m_otpt_cnt; j++){
  4683. otpt_orddd_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_orddd");
  4684. otpt_cretno_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_cretno");
  4685. otpt_acptseqno_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_acptseqno");
  4686. otpt_orddeptcd_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_orddeptcd");
  4687. otpt_orddrid_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_orddrid");
  4688. otpt_insukind_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_insukind");
  4689. otpt_mskind_row = model.getvalue("/root/main/m_otpt/otpt["+ j +"]/otpt_mskind");
  4690. otpt_etcordflag_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_etcordflag");
  4691. //2007-08-21 이동식 추가
  4692. //외래이력 중 가예약 내역은 체크하지 않고 패스한다.
  4693. otpt_tablename_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_tablename");
  4694. otpt_medamtestmyn_row = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_medamtestmyn");
  4695. // if( otpt_tablename_row == "temp" || otpt_tablename_row == "TEMP" ){
  4696. // continue;
  4697. // }
  4698. //진찰료 산정인 건만 체크한다.
  4699. if( otpt_medamtestmyn_row != "Y"){
  4700. continue;
  4701. }
  4702. //END..
  4703. //같은과 같은일자 같은 유형이 접수되어 있으면 미산정
  4704. //변경
  4705. if (btn_stat.attribute("background-color") == "#ff0000"){
  4706. //old내역이 orddd,orddeptcd,orddrid,insukind 가 바뀌는 경우
  4707. //old내역이 그 이외의 항목이 바뀌는 경우
  4708. if (otpt_orddd_old != otpt_orddd || otpt_orddeptcd_old != otpt_orddeptcd || otpt_orddrid_old != otpt_orddrid || otpt_insukind_old != otpt_insukind){
  4709. //old내역을 제외한 나머지 내역과 비교한다.
  4710. //동일내역
  4711. if (otpt_orddd_old == otpt_orddd_row && otpt_cretno_old == otpt_cretno_row && otpt_acptseqno_old == otpt_acptseqno_row){
  4712. //old내역과 비교는 안한다.
  4713. //동일내역이 아닌 경우
  4714. }else{
  4715. if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid == otpt_orddrid_row){
  4716. if (otpt_insukind == otpt_insukind_row){
  4717. sVrf = "x";
  4718. }
  4719. else Cnt++;
  4720. if (otpt_mskind == otpt_mskind_row) sVrf2 = "Y";
  4721. }else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid != otpt_orddrid_row){
  4722. if (otpt_insukind == otpt_insukind_row){
  4723. if (otpt_cnt > 1) Cnt++;
  4724. }
  4725. }
  4726. }
  4727. }else{
  4728. //변경된 내역이 일자/과/의사/보험유형이 아니다.
  4729. }
  4730. //접수, 수납
  4731. }else if (btn_stat.attribute("background-color") == "#c0c0c0" || btn_stat.attribute("background-color") == "#0000ff") {
  4732. //2007-11-21 이동식 추가 - 같은 내역 비교 하지 않도록!!! - 수납 시 같은 내역 체크로 인한 오류 발생!!
  4733. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4734. var cretno = model.getValue("/root/main/otpt/otpt_cretno");
  4735. var acptseqno = model.getValue("/root/main/otpt/otpt_acptseqno");
  4736. //동일내역
  4737. if (orddd == otpt_orddd_row && cretno == otpt_cretno_row && acptseqno == otpt_acptseqno_row){
  4738. //old내역과 비교는 안한다.
  4739. }
  4740. //END..
  4741. else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid == otpt_orddrid_row ) //&&(otpt_cretno == otpt_cretno_row && otpt_seqno == otpt_seqno_row)){
  4742. if (otpt_insukind == otpt_insukind_row){
  4743. sVrf = "x";
  4744. }
  4745. //2007-11-21 이동식 수정 - 보험유형이 다를 땐 진찰료 산정!!
  4746. //else Cnt++;
  4747. if (otpt_mskind == otpt_mskind_row) sVrf2 = "Y";
  4748. }else if (otpt_orddeptcd == otpt_orddeptcd_row && otpt_orddd == otpt_orddd_row && otpt_orddrid != otpt_orddrid_row){
  4749. if (otpt_insukind == otpt_insukind_row){
  4750. Cnt++;
  4751. }
  4752. }
  4753. }
  4754. }
  4755. //변경 후 수가계산일경우 변경대상인 데이터와의 비교는 안한다.
  4756. if (sVrf == "x"){
  4757. // messageBox("확인! 동일일자/과/의사인 경우 보험유형 달라야 합니다! \n\n[연속처방] 또는 [가정간호] 중 일반접수내역은 전화예약에서 접수 후 외래수납하십시요!","E999","");
  4758. messageBox("확인! 동일일자/과/의사인 경우 보험유형이 달라야 합니다!","E999","");
  4759. return false;
  4760. }
  4761. if (sVrf2 == "Y"){
  4762. //16. 임상접수 : 동일과/의사 메시지 띄우지 말고 주부유형을 부유형으로 자동 세팅
  4763. if( model.getValue("/root/main/otpt/otpt_clincstdyacptflag") != 'N' ){ //임상연구접수
  4764. //현재 주부유형이 주유형이면 부유형으로 세팅한다.
  4765. if( model.getValue("/root/main/otpt/otpt_mskind") == 'M' ){
  4766. model.setValue("/root/main/otpt/otpt_mskind", "S"); //부유형 세팅
  4767. model.refresh();
  4768. }
  4769. // else{
  4770. // if( model.getValue("/root/main/otpt/otpt_medamtestmyn") == 'Y'){
  4771. // if(messageBox("확인! 진료일자/진료과/의사가 같은 등록 내역이 존재합니다. 진찰료 미산정으로 접수하시겠습니까?","Q999","") == 6){
  4772. // model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  4773. // model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13");
  4774. // }
  4775. // }
  4776. // }
  4777. }else{
  4778. if( model.getValue("/root/main/otpt/otpt_medamtestmyn") == 'Y'){
  4779. if( model.getValue("/root/main/otpt/otpt_mskind") == 'M' ){
  4780. if(messageBox("확인! 진료일자/진료과/의사가 같고 보험유형이 다른 등록 내역이 존재합니다. 부유형으로 접수하시겠습니까?","Q999","") == 6){
  4781. model.setValue("/root/main/otpt/otpt_mskind", "S"); //부유형 세팅
  4782. model.refresh();
  4783. }else{
  4784. return false;
  4785. }
  4786. }
  4787. // messageBox("확인! 진료일자/진료과/의사가 같고 보험유형이 다른 등록 내역이 존재합니다. 부유형으로 접수하세요!","E999","");
  4788. // return false;
  4789. // if(messageBox("확인! 진료일자/진료과/의사가 같은 등록 내역이 존재합니다. 진찰료 미산정으로 접수하시겠습니까?","Q999","") == 6){
  4790. // model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  4791. // model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13");
  4792. // }
  4793. }
  4794. }
  4795. }
  4796. if (Cnt > 0){
  4797. if( model.getValue("/root/main/otpt/otpt_medamtestmyn") == 'Y'){
  4798. if(messageBox("확인! 진료일자/진료과/보험유형이 같고 의사가 다른 등록 내역이 존재합니다. 진찰료 미산정으로 접수하시겠습니까?","Q999","") == 6){
  4799. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  4800. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13");
  4801. }else{
  4802. return false;
  4803. }
  4804. }
  4805. }
  4806. }
  4807. */
  4808. rtval = fCalcScorCalcBefore();
  4809. //단일 접수 END
  4810. //멀티 접수 START
  4811. }else{
  4812. //207-10-19 이동식 추가 - 최희경대리님 요구사항
  4813. var msg = '';
  4814. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  4815. var cnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  4816. for(var i=1; i<=cnt; i++){
  4817. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y'){
  4818. msg = '';
  4819. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_calcyn", "Y");
  4820. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordreqformflag") == '-' || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordreqformflag") == '' ){
  4821. messageBox("수급절차는 필수 항목입니다. 알맞는 값을 입력해 주세요!", "E999", "");
  4822. return false;
  4823. }
  4824. //2017/06/08 보조유형과 수급절차를 체크하여 블럭킹 처리(이정택)
  4825. var otpt_orddd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd");
  4826. var otpt_orddeptcd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd");
  4827. var otpt_orddeptnm = model.getValue("/root/init/orddeptcd[cd='" + otpt_orddeptcd + "']/nm");
  4828. var otpt_insukind = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind");
  4829. var otpt_suppkind = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind");
  4830. var otpt_ordreqformflag = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordreqformflag");
  4831. if ((otpt_insukind == '11' || otpt_insukind == '21' || otpt_insukind == '22') && otpt_suppkind == "00" && otpt_ordreqformflag!= '3'){
  4832. messageBox("보조유형 [정상]은 수급절차를 [급여가능]으로 해야합니다.\n[" + otpt_orddd + "][" + otpt_orddeptnm + "]", "E999", "");
  4833. return false;
  4834. }
  4835. if ((otpt_insukind == '11' || otpt_insukind == '21' || otpt_insukind == '22') && otpt_suppkind == "01" && !(otpt_ordreqformflag== '1' || otpt_ordreqformflag== '2')){
  4836. messageBox("보조유형 [전액본인부담]은 수급절차를 [보험100%] 또는 [희망100%]으로 해야합니다.\n[" + otpt_orddd + "][" + otpt_orddeptnm + "]", "E999", "");
  4837. return false;
  4838. }
  4839. //2017/06/08 보조유형과 수급절차를 체크하여 블럭킹 처리(이정택)
  4840. //외래등록에서 연속 처방 수납 못하도록 블럭킹 처리(2016/11/04)
  4841. var tmp_etcordflag = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_etcordflag");
  4842. if(tmp_etcordflag == 'M' || tmp_etcordflag == 'J' || tmp_etcordflag == 'T'){
  4843. messageBox("외래 등록에서는 선택하신 예약건을 수납 할 수 없습니다.\n(물리치료/주사/방사선) ", "E999", "");
  4844. grd_rgstrsrv.valueMatrix(i, grd_rgstrsrv.colRef("otpt_check"))="N";
  4845. model.refresh();
  4846. return false;
  4847. }
  4848. //외래등록에서 연속 처방 수납 못하도록 블럭킹 처리(2016/11/04)
  4849. //2017/03/13 보조유형을 전액본인부담(01) 선택시 보조사유를 선택하지 않았다면 블럭킹 처리
  4850. var suppkind = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind");
  4851. var suppkindresn = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkindresn");
  4852. if(suppkind == '01' && (isNull(suppkindresn) || suppkindresn == '-')){
  4853. messageBox("보조유형이 전액 본인부담일경우에는 보조사유를 선택하셔야 합니다.", "E999");
  4854. grd_rgstrsrv.valueMatrix(i, grd_rgstrsrv.colRef("otpt_check"))="N";
  4855. grd_rgstrsrv.rowstyle(i, "data", "background-color") = "#FFF000";
  4856. grd_rgstrsrv.refresh();
  4857. return false;
  4858. }else{
  4859. grd_rgstrsrv.rowstyle(i, "data", "background-color") = "#FFFFFF";
  4860. grd_rgstrsrv.refresh();
  4861. }
  4862. //2017/03/13 보조유형을 전액본인부담(01) 선택시 보조사유를 선택하지 않았다면 블럭킹 처리
  4863. //2008-10-06 이동식 추가 - 멀티접수시 감면내역 일괄 적용
  4864. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_disccd", disccd);
  4865. //보험 자격조회 체크 수가계산시 자격조회 여부를 체크한다.
  4866. //멀티접수일경우의 체크는???? - 당일 멀티접수는 문제가 없으나(멀티입력추가할때마다 체크하므로),
  4867. //2008-07-22 이동식
  4868. if( ( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHeom
  4869. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_Noin
  4870. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  4871. // || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 ) && HOMECARE != 'Y' ){ //가정간호일때 제외
  4872. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 )
  4873. //&& model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind") != supp_100
  4874. ){
  4875. if( model.getValue("/root/hidden/flag/check_insuinfo_flag") != 'Y' && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y'){
  4876. // if( messageBox("접수[변경]시 보험 자격조회를 먼저 하셔야 합니다.([YES] 자격조회, [NO] 계속진행)", "Q999", "") == 6 ){
  4877. // btn_insuno_search.dispatch("DOMActivate");
  4878. // return false;
  4879. // }else{
  4880. // model.setValue("/root/hidden/flag/check_insuinfo_flag", 'Y');
  4881. // continue;
  4882. // }
  4883. // messageBox("접수[변경]시 보험 자격조회를 먼저 하셔야 합니다.", "E999", "")
  4884. // btn_insuno_search.dispatch("DOMActivate");
  4885. fInsuInfoSearch("I");
  4886. // return false;
  4887. }else if( model.getValue("/root/hidden/flag/check_insuinfo_flag") == 'Y'){
  4888. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", model.getValue("/root/hidden/flag/check_insuinfo_ownbflag"));
  4889. }
  4890. }
  4891. if( (model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  4892. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2
  4893. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_JaboKind )
  4894. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind") != supp_100 ){
  4895. var insucd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insucd");
  4896. if( insucd == '' || insucd == '-' || insucd == ' ' ){
  4897. messageBox("의료급여, 자보의 경우 보험자기호가 필수 입력값입니다. 자격조회를 다시 하시거나 보험유형정보를 다시 선택하신 다음 접수해주세요!!", "E999", "");
  4898. return false;
  4899. }
  4900. }
  4901. //심층진찰은 병초/과초만 가능토록 프로그램 개발(2017/12/20 이정택)
  4902. var otpt_insukind = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind");
  4903. var otpt_etcordflag = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_etcordflag");
  4904. var otpt_fsexamflag = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_fsexamflag");
  4905. if(otpt_etcordflag=='U' && otpt_insukind != '11'){
  4906. messageBox("심층진찰 접수는 건보 환자에 대해서만 가능합니다.", "E999", "");
  4907. return false;
  4908. }
  4909. if(otpt_etcordflag=='U' && !(otpt_fsexamflag == 'F' || otpt_fsexamflag == 'D' )){
  4910. messageBox("심층진찰은 병초 또는 과초 환자만 가능합니다.", "E999", "");
  4911. return false;
  4912. }
  4913. //심층진찰은 병초/과초만 가능토록 프로그램 개발(2017/12/20 이정택)
  4914. }
  4915. }
  4916. rtval = true;
  4917. }
  4918. //멀티 접수 END
  4919. if (rtval == true){
  4920. //20080703 이동식 추가
  4921. //자보산재 유효성 체크
  4922. // var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  4923. // if( insukind.substr(0,1) == '3' || insukind.substr(0,1) == '4' ){
  4924. // var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  4925. // var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  4926. // var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  4927. // var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  4928. // var insucd = '-';
  4929. // if( insukind.substr(0,1) == '3' ){ //자보
  4930. // insucd = model.getValue("/root/main/aipm/aipm_insucmpycd");
  4931. // }else if( insukind.substr(0,1) == '4' ){ //산재 공상
  4932. // insucd = model.getValue("/root/main/icpm/icpm_inducsbrchcd");
  4933. // }
  4934. // var ioflag = 'O';
  4935. // if(checkJaboSanjae(pid, orddd, orddeptcd, insukind, suppkind, insucd, ioflag) == false ){
  4936. // return false;
  4937. // }
  4938. // model.setValue("/root/main/otpt/otpt_insucd", insucd);
  4939. // }
  4940. //end.
  4941. //해당 일자의 외래등록 이력이 존재하는지 체크 => 문제는 부유형 접수를 자동으로 해야하기
  4942. // 변경과 부유형 접수가 모호해 진다.
  4943. //수가계산시는 정확히 등록인지 변경인지알 수 없기 때문에 등록/변경 이벤트에 각각 플래그 체크처리
  4944. //등록
  4945. model.setValue("/root/hidden/flag/otpt_flag","I");
  4946. model.setValue("/root/hidden/flag/opmi_flag","I");
  4947. //init_otpt 다시 받을 필요???
  4948. init_otpt = (instance1.selectSingleNode("/root/main/otpt")).xml;
  4949. //수가계산
  4950. if(!fCalcScorCalc()){
  4951. return false;
  4952. }
  4953. if( CHECKCARDCASH == 'OLD' ){
  4954. var card_cnt = getNodesetCount("/root/main/h_card/card/card_pid");
  4955. if (card_cnt > 0){
  4956. var card_cardamt = 0;
  4957. var card_cardamt_row = 0;
  4958. for(var i = 1; i <= card_cnt; i++){
  4959. card_cardamt_row = model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt");
  4960. card_cardamt = eval(card_cardamt) + eval(card_cardamt_row);
  4961. }
  4962. if (card_cardamt > 0){
  4963. messageBox("확인! 카드승인금액이 존재합니다!","E999","");
  4964. //카드영수금
  4965. var opmi_cardamt = model.getValue("/root/main/opmi/opmi_cardamt");
  4966. if(opmi_cardamt == ''){
  4967. opmi_cardamt = 0;
  4968. }
  4969. //현금영수금
  4970. var opmi_cashamt = model.getValue("/root/main/opmi/opmi_cashamt");
  4971. if(opmi_cashamt == ''){
  4972. opmi_cashamt = 0;
  4973. }
  4974. if( card_cardamt != opmi_cardamt ){
  4975. opmi_cashamt = parseInt( opmi_cashamt ) + parseInt( opmi_cardamt ) - parseInt( card_cardamt );
  4976. }
  4977. }
  4978. }
  4979. }
  4980. if( getNodesetCount("/root/main/h_unco/unco/unco_uncoamt") > 0 ){
  4981. var cnt = getNodesetCount("/root/main/h_unco/unco/unco_uncoamt");
  4982. for(var i = 1; i <= cnt; i++ ){
  4983. if( model.getValue("/root/main/h_unco/unco/unco_rcptdd") == ''
  4984. || model.getValue("/root/main/h_unco/unco/unco_rcptdd") == '-'
  4985. || model.getValue("/root/main/h_unco/unco/unco_rcptdd") == '00000000' ){
  4986. model.removeNodeset("/root/main/h_unco/unco[" + i + "]");
  4987. i = parseInt(i) -1;
  4988. cnt = parseInt(cnt) -1;
  4989. }
  4990. }
  4991. if( getNodesetCount("/root/main/h_unco/unco/unco_uncoamt") == 1 ){
  4992. model.setValue("/root/hidden/m_etc/uncocd", model.getValue("/root/main/h_unco/unco/unco_uncocd"))
  4993. }
  4994. }
  4995. //임상미수 표시
  4996. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid") < 1 ){
  4997. if( model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_ImSang //임상유형
  4998. && model.getValue("/root/main/otpt/otpt_clincstdyacptflag") == 'P' //전액청구대상
  4999. && parseInt(model.getValue("/root/main/opmi/opmi_uncoamt")) > 0 ){ //임상미수액이 있을 경우
  5000. model.setValue("/root/hidden/m_etc/uncocd", "I41");
  5001. var uncoAmtCnt = getNodesetCount("/root/main/h_unco/unco/unco_pid"); //임상미수 계정 세팅
  5002. var uncoAmt = model.getValue("/root/main/opmi/opmi_uncoamt");
  5003. if( parseInt(uncoAmtCnt) == 1 ){
  5004. model.setValue("/root/main/h_unco/unco/unco_uncoamt", uncoAmt);
  5005. model.setValue("/root/main/h_unco/unco/unco_uncocd", "I41");
  5006. }else{
  5007. uncoAmtCnt = parseInt(uncoAmtCnt) + 1;
  5008. fCreateUncoNode(uncoAmtCnt);
  5009. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncoamt", uncoAmt);
  5010. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncocd", "I41");
  5011. }
  5012. // cmb_unco.refresh();
  5013. // input10.refresh();
  5014. // ipt_uncoamt.dispatch("DOMFocusOut");
  5015. }
  5016. }else if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid") == 1 ){
  5017. if( model.getValue("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_insukind") == gsInsu_ImSang
  5018. && model.getValue("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_clincstdyacptflag") == 'P'
  5019. && parseInt(model.getValue("/root/main/opmi/opmi_uncoamt")) > 0 ){
  5020. model.setValue("/root/hidden/m_etc/uncocd", "I41");
  5021. var uncoAmtCnt = getNodesetCount("/root/main/h_unco/unco/unco_pid"); //임상미수 계정 세팅
  5022. var uncoAmt = model.getValue("/root/main/opmi/opmi_uncoamt");
  5023. if( parseInt(uncoAmtCnt) == 1 ){
  5024. model.setValue("/root/main/h_unco/unco/unco_uncoamt", uncoAmt);
  5025. model.setValue("/root/main/h_unco/unco/unco_uncocd", "I41");
  5026. }else{
  5027. uncoAmtCnt = parseInt(uncoAmtCnt) + 1;
  5028. fCreateUncoNode(uncoAmtCnt);
  5029. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncoamt", uncoAmt);
  5030. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncocd", "I41");
  5031. }
  5032. // cmb_unco.refresh();
  5033. // input10.refresh();
  5034. // ipt_uncoamt.dispatch("DOMFocusOut");
  5035. }
  5036. }
  5037. //감면/미수액 표시
  5038. if( getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_discreduamt") > 0 ){
  5039. var cnt = getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_discreduamt");
  5040. for(var i = 1; i <= cnt; i++ ){
  5041. if( model.getValue("/root/main/h_dcgm2/dcgm/dcgm_rcptdd") == ''
  5042. || model.getValue("/root/main/h_dcgm2/dcgm/dcgm_rcptdd") == '-'
  5043. || model.getValue("/root/main/h_dcgm2/dcgm/dcgm_rcptdd") == '00000000' ){
  5044. model.removeNodeset("/root/main/h_dcgm2/dcgm[" + i + "]");
  5045. i = parseInt(i) -1;
  5046. cnt = parseInt(cnt) -1;
  5047. }
  5048. }
  5049. if( getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_discreduamt") == 1 ){
  5050. model.setValue("/root/hidden/m_etc/reducd", model.getValue("/root/main/h_dcgm2/dcgm/dcgm_discreducd"))
  5051. }
  5052. }
  5053. //접수예약 내역에 진찰료 표시 - 멀티접수시!!!
  5054. var pidflag = model.getValue("/root/main/ptbs/ptbs_pidflag");
  5055. var orddeptcd = '';
  5056. var fsexamflag = '';
  5057. var centcd = '';
  5058. var opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  5059. var otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  5060. if( opmi_cnt > 0 ){
  5061. for(var i = 1; i <= opmi_cnt; i++ ){
  5062. for(var inner = 1; inner <= otpt_cnt; inner++ ){
  5063. if( model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_mseqno") == model.getValue("/root/main/m_otpt/otpt[" + inner + "]/otpt_mseqno") ){
  5064. model.setValue("/root/main/m_otpt/otpt[" + inner + "]/otpt_rcptamt", model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt") );
  5065. //혈액내과, 초진(병초, 과초), 성모BMT전환환자 번호일때 초진료->재진료 변경 메세지
  5066. centcd = model.getValue("/root/main/m_otpt/otpt[" + inner + "]/otpt_centcd");
  5067. orddeptcd = model.getValue("/root/main/m_otpt/otpt[" + inner + "]/otpt_orddeptcd");
  5068. fsexamflag = model.getValue("/root/main/m_otpt/otpt[" + inner + "]/otpt_fsexamflag");
  5069. fCheckBMTPatMsg(pidflag, centcd, orddeptcd, fsexamflag);
  5070. }
  5071. }
  5072. }
  5073. }else{
  5074. //혈액내과, 초진(병초, 과초), 성모BMT전환환자 번호일때 초진료->재진료 변경 메세지
  5075. centcd = model.getValue("/root/main/otpt/otpt_centcd");
  5076. orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  5077. fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  5078. fCheckBMTPatMsg(pidflag, centcd, orddeptcd, fsexamflag);
  5079. }
  5080. //버튼 활성화 선택..
  5081. if (btn_stat.attribute("background-color") == "#ff0000"){
  5082. btn_save.disabled = true;
  5083. btn_updt.disabled = false;
  5084. btn_cncl.disabled = false;
  5085. }else if (btn_stat.attribute("background-color") == "#c0c0c0" || btn_stat.attribute("background-color") == "#0000ff"){
  5086. btn_save.disabled = false;
  5087. btn_updt.disabled = true;
  5088. btn_cncl.disabled = false;
  5089. }
  5090. //2016/07/18 치과 화면 초기화시 카드가 선택되도록 요청함에 따라서 기준자료로 체크하도록 수정(이정택)
  5091. var chk_value= model.getValue("/root/paminit/P6587list/P6587[cdid='01']/cdnm");
  5092. if(isNull(chk_value)){
  5093. model.makeValue("/root/hidden/com/cardcashflag" , "C"); //Y-카드, N-현금영수증, C-현금
  5094. }else{
  5095. model.makeValue("/root/hidden/com/cardcashflag" , chk_value); //Y-카드, N-현금영수증, C-현금
  5096. }
  5097. //model.setValue("/root/hidden/com/cardcashflag", "C"); //Y-카드, N-현금영수증, C-현금
  5098. radio1.dispatch("xforms-value-changed");
  5099. //2016/07/18 치과 화면 초기화시 카드가 선택되도록 요청함에 따라서 기준자료로 체크하도록 수정(이정택)
  5100. //수가계산 후 예약내역변경 체크를 위해..
  5101. model.removeNodeset("/root/cmp");
  5102. model.makeNode("/root/cmp/otpt");
  5103. // model.makeNode("/root/cmp/ptdc");
  5104. model.makeNode("/root/cmp/ptin");
  5105. model.makeNode("/root/cmp/ptbs");
  5106. model.copyNode("/root/cmp/otpt" , "/root/main/otpt");
  5107. // model.copyNode("/root/cmp/ptdc" , "/root/main/ptdc");
  5108. model.copyNode("/root/cmp/ptin" , "/root/main/ptin");
  5109. model.copyNode("/root/cmp/ptbs" , "/root/main/ptbs");
  5110. //END..
  5111. return true;
  5112. }else {
  5113. return false;
  5114. }
  5115. }
  5116. //2007-11-27 이동식 - 멀티접수 세팅
  5117. function fSetMultiRsgt(){
  5118. var nodeCnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  5119. //재원여부 판단
  5120. var ptbs_inhospyn = model.getValue("/root/main/ptbs/ptbs_inhospyn");
  5121. var ptbs_tdaydsch = model.getValue("/root/main/ptbs/ptbs_tdaydsch");
  5122. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  5123. if (ptbs_inhospyn == "Y")
  5124. {
  5125. //messageBox("확인! " + ptbs_hngnm + " 환자는 현재 재원 중입니다!","E999","");
  5126. return false;
  5127. }else if( ptbs_tdaydsch == 'Y' && model.getValue("/root/main/otpt/otpt_orddd") == getCurrentDate() ){
  5128. // messageBox("확인! " + ptbs_hngnm + " 환자는 당일퇴원환자입니다!","E999","");
  5129. // return false;
  5130. }
  5131. //END..
  5132. for(var i = 1; i <= nodeCnt; i++){
  5133. var histstat = model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_histstat");
  5134. var tablename = model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_tablename");
  5135. //의사처방이 존재하면 멀티접수 제외
  5136. if( model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_dracptyn") == 'Y' ){
  5137. continue;
  5138. }
  5139. grd_outhist.row = i;
  5140. if( histstat == 'T' && tablename != 'inpt' ){
  5141. // if( tablename == 'temp' && nodeCnt == 1){
  5142. //
  5143. // if(fOnClickOutHistGrid()){
  5144. // messageBox("가예약내역이 선택되었습니다. 수가계산 후 외래접수하세요.","E999","");
  5145. // return true;
  5146. // }else{
  5147. // return false;
  5148. // }
  5149. // }else if( tablename == 'otpt' ){
  5150. if( tablename == 'otpt' ){
  5151. fOldOTPTCopy2(i); //예약내역 카피 및 old 데이터 생성
  5152. //이력별 수납내역 조회 => 2007.06.29 fOldOTPTCopy 다음으로 순서바꿈
  5153. fOTPTHistRef();
  5154. //접수이력정보를 수정한다.
  5155. // model.setValue("/root/main/otpt/otpt_histstat", "R");
  5156. // //예약 정보를 수납한다는 플래그 세팅.- 'Y'
  5157. // model.setValue("/root/hidden/flag/rcpt_flag", "Y");
  5158. }else{
  5159. continue;
  5160. }
  5161. //접수이력정보를 수정한다.
  5162. model.setValue("/root/main/otpt/otpt_histstat", "R");
  5163. //선후불여부를 세팅한다.
  5164. model.setValue("/root/main/otpt/otpt_medamtpostyn", "N");
  5165. //예약 정보를 수납한다는 플래그 세팅.- 'Y'
  5166. model.setValue("/root/hidden/flag/rcpt_flag", "Y");
  5167. fAddMultiRgst();
  5168. }
  5169. }
  5170. grd_outhist.row = 0;
  5171. }
  5172. //END..
  5173. //2007-11-29 이동식 - 멀티등록 추가
  5174. function fAddMultiRgst(){
  5175. //입력할 외래등록 내역에 대한 체크 : 과/의사/일자/보험유형/주부유형
  5176. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  5177. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  5178. var otpt_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  5179. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  5180. var otpt_mskind = model.getValue("/root/main/otpt/otpt_mskind");
  5181. var otpt_fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  5182. if (otpt_orddeptcd == null || otpt_orddeptcd == "" || otpt_orddeptcd == "-" || otpt_orddeptcd == " " ||
  5183. otpt_orddrid == null || otpt_orddrid == "" || otpt_orddrid == "-" || otpt_orddrid == " " ||
  5184. otpt_orddd == null || otpt_orddd == "" || otpt_orddd == "-" || otpt_orddd == " ")
  5185. {
  5186. //messageBox("확인! 진료일자/과/의사 코드값중 비어있는 항목이 존재합니다!","E999","");
  5187. return;
  5188. }
  5189. fOrdTypeChk();
  5190. var rtval = fCalcScorCalcBefore();
  5191. if (rtval == true){
  5192. grd_rgstrsrv.additem();
  5193. var currow = grd_rgstrsrv.row;
  5194. //otpt 증번호 '-'로 들어가는거 막기 위해서...
  5195. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/ptin/ptin_insucd"));
  5196. model.setValue("/root/main/ptin/ptin_insukind",model.getValue("/root/main/otpt/otpt_insukind"));
  5197. model.copyNode("/root/main/m_otpt/otpt["+ currow +"]","/root/main/otpt");
  5198. model.makeNode("/root/main/m_otpt/otpt["+ currow +"]/otpt_mseqno");
  5199. model.setValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_mseqno",currow);
  5200. //grd_rgstrsrv.rebuild();
  5201. //보험
  5202. model.makeNode("/root/main/m_ptin/ptin["+ currow +"]");
  5203. model.copyNode("/root/main/m_ptin/ptin["+ currow +"]","/root/main/ptin");
  5204. model.makeNode("/root/main/m_ptin/ptin["+ currow +"]/ptin_mseqno");
  5205. model.setValue("/root/main/m_ptin/ptin["+ currow +"]/ptin_mseqno",currow);
  5206. //할인
  5207. // model.makeNode("/root/main/m_ptdc/ptdc["+ currow +"]");
  5208. // model.copyNode("/root/main/m_ptdc/ptdc["+ currow +"]","/root/main/ptdc");
  5209. // model.makeNode("/root/main/m_ptdc/ptdc["+ currow +"]/ptdc_mseqno");
  5210. // model.setValue("/root/main/m_ptdc/ptdc["+ currow +"]/ptdc_mseqno",currow);
  5211. //2007.06.18 접수내역 생성시 수가계산
  5212. //2007-11-30 이동식 수정 - 수가계산로직 함수처리
  5213. // var controlObj = document.controls("btn_calcscorcalc");
  5214. // controlObj.dispatch("DOMActivate");
  5215. //2007-11-30 이동식 수정 - 수가계산로직 함수처리
  5216. // if ( ! fCallCalcscorcalc() ){
  5217. // grd_rgstrsrv.deleteItem(currow);
  5218. // model.removeNodeset("/root/main/m_otpt/otpt["+ currow +"]");
  5219. // model.removeNodeset("/root/main/m_ptin/ptin["+ currow +"]");
  5220. // model.removeNodeset("/root/main/m_ptdc/ptdc["+ currow +"]");
  5221. // return false;
  5222. // }
  5223. btn_otpt.selected = false;
  5224. btn_m_otpt.selected = true;
  5225. btn_c_otpt.selected = false;
  5226. model.toggle("case6");
  5227. }
  5228. }
  5229. //2007-11-20 이동식 - 컨설트 내역 조회
  5230. function fGetOrdCnstInfo(){
  5231. model.makeNode("/root/send/cnstinfo/pid");
  5232. model.makeNode("/root/send/cnstinfo/flag");
  5233. model.setValue("/root/send/cnstinfo/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  5234. model.setValue("/root/send/cnstinfo/flag", 'O');
  5235. model.makeNode("/root/hidden/rcv/cnstinfo/temp");
  5236. var retValue = false;
  5237. if( submit("TRPAC00301") ){
  5238. //2008-01-07 이동식 수정 - 컨설트 의뢰정보가 1건일때 와 2건 이상일때 구분하여 메세지 처리
  5239. var cnstCnt = getNodesetCount("/root/hidden/rcv/cnstinfo/temp/emrcnst/pid");
  5240. if( cnstCnt > 1 ){
  5241. if( messageBox("Consult 내역이 있습니다. 내역을 확인하시겠습니까?", "Q999", "") == 6 ){
  5242. if( fGetEMRCnstInfo() ){
  5243. retValue = true;
  5244. }
  5245. }
  5246. }else if( cnstCnt == 1 ){
  5247. var reqorddeptnm = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/reqdeptnm");
  5248. var reqorddrnm = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/requsernm");
  5249. var recvorddeptnm = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/recvdeptnm");
  5250. var recvorddrnm = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/recvusernm");
  5251. if( messageBox(reqorddeptnm + " " + reqorddrnm + " 교수님께서 " +
  5252. recvorddeptnm + " " + recvorddrnm + " 교수님께 Consult 내역이 있습니다. \n지금 접수하시겠습니까?", "Q999", "") == 6 ){
  5253. var orddd = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/hopedd");
  5254. var orddeptcd = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/recvdeptcd");
  5255. var orddrid = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/recvuserid");
  5256. var ordreqformflag = model.getValue("/root/hidden/rcv/cnstinfo/temp/emrcnst/ordreqformflag");
  5257. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  5258. cmb_orddeptcd.dispatch("xforms-value-changed");
  5259. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  5260. cmb_orddrid.dispatch("xforms-value-changed");
  5261. model.setValue("/root/main/otpt/otpt_orddd", orddd);
  5262. ipt_orddd.dispatch("xforms-value-changed");
  5263. //기초정보 세팅
  5264. model.setValue("/root/main/otpt/otpt_ordreqformflag", ordreqformflag); //진료의뢰서 수급절차 - 원진료의 수급절차를 따른다
  5265. model.setValue("/root/main/otpt/otpt_etcordflag", "H"); //기타구분 - 의뢰
  5266. model.setValue("/root/main/otpt/otpt_rsrvflag", "C"); //예약구분 - 협진
  5267. RSRVFLAG = 'C'; //예약구분 - 협진
  5268. model.refresh();
  5269. }
  5270. }
  5271. }
  5272. model.removeNodeset("/root/send/cnstinfo");
  5273. model.removeNodeset("/root/hidden/rcv/cnstinfo");
  5274. return retValue;
  5275. }
  5276. //2007-11-19 이동식 - 검진환자체크
  5277. function fCheckMediExam(){
  5278. model.makeNode("/root/send/mediexam/pid");
  5279. model.setValue("/root/send/mediexam/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  5280. model.makeNode("/root/hidden/rcv/mediexam");
  5281. if( submit("TRPMO00113") ){
  5282. var orddd = model.getValue("/root/hidden/rcv/mediexam/orddd");
  5283. if( isValidDateTime(orddd, "YYYYMMDD")){
  5284. var interval = getDateInterval(getCurrentDate(), orddd);
  5285. var intervalMsg = '';
  5286. if( interval <= 0 ){
  5287. interval = parseInt(interval) * -1
  5288. intervalMsg = interval + "일 전";
  5289. if( interval <= 60 ){
  5290. messageBox(orddd.substr(0,4) + "년 " + orddd.substr(4,2) + "월 " + orddd.substr(6,2)
  5291. + "일(" + intervalMsg + ") 건강검진을 받은 이력이 있습니다. \n초재진여부를 확인해 주세요.", "I999", "");
  5292. }
  5293. }
  5294. }
  5295. }
  5296. model.removeNodeset("/root/send/mediexam");
  5297. model.removeNodeset("/root/hidden/rcv/mediexam");
  5298. }
  5299. //카드/현금 금액 변경
  5300. function fCardCashAmtChanged(flag){
  5301. var inputCardAmt = model.getValue("/root/main/opmi/opmi_cardamt");
  5302. var inputCashAmt = model.getValue("/root/main/opmi/opmi_cashamt");
  5303. //입력한 카드 금액이 숫자형이 아닐경우
  5304. if( isNaN(inputCardAmt) || inputCardAmt == '' || inputCardAmt == ' '){
  5305. messageBox("카드금액을 잘못 입력하셨습니다. 확인 후 다시 입력해 주세요.", "E999", "");
  5306. //수납구분을 현금으로 세팅한다.
  5307. radio1.value = "C";
  5308. radio1.dispatch("xforms-value-changed");
  5309. model.refresh();
  5310. return false;
  5311. }
  5312. //입력한 현금 금액이 숫자형이 아닐경우
  5313. if( isNaN(inputCashAmt) || inputCashAmt == '' || inputCashAmt == ' '){
  5314. messageBox("현금금액을 잘못 입력하셨습니다. 확인 후 다시 입력해 주세요.", "E999", "");
  5315. //수납구분을 현금으로 세팅한다.
  5316. radio1.value = "C";
  5317. radio1.dispatch("xforms-value-changed");
  5318. model.refresh();
  5319. return false;
  5320. }
  5321. //결제액 계산
  5322. var cardamt = 0;
  5323. var cashamt = 0;
  5324. var onlnamt = 0;
  5325. var targetamt = model.getValue("/root/main/opmi/opmi_targetamt");
  5326. //카드금액
  5327. if( CHECKCARDCASH == 'OLD' ){
  5328. var cardPath = '';
  5329. //var otptPath = '';
  5330. if( getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  5331. cardPath = '/root/main/c_card/card';
  5332. if( getNodesetCount(cardPath + "/card_pid") > 0 ){
  5333. var cnt = getNodesetCount(cardPath + "/card_pid");
  5334. var cOtptCnt = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  5335. for(var i = 1; i <= cnt; i++ ){
  5336. for(var inner = 0; inner <= cOtptCnt; inner++ ){
  5337. if( model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_check") == 'Y' ){
  5338. //선택된 취소대상 접수내역과 rcptdd, rcptno, rcptseqno가 같은 경우에만 카드승인 금액을 합한다.
  5339. if( model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptdd") == model.getValue(cardPath + "[" + i + "]/card_rcptdd")
  5340. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptno") == model.getValue(cardPath + "[" + i + "]/card_rcptno")
  5341. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptseqno") == model.getValue(cardPath + "[" + i + "]/card_rcptseqno") ){
  5342. if( model.getValue(cardPath + "[" + i + "]/card_rcptstat") == 'Y'){
  5343. cardamt = parseInt(cardamt) + parseInt( model.getValue(cardPath + "[" + i + "]/card_cardamt"));
  5344. }
  5345. }
  5346. }
  5347. }
  5348. }
  5349. }
  5350. }else{
  5351. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  5352. cardPath = '/root/main/m_card/card';
  5353. //otptPath = '/root/main/c_otpt/otpt';
  5354. }else{
  5355. cardPath = '/root/main/h_card/card';
  5356. //otptPath = '/root/main/h_otpt/otpt';
  5357. }
  5358. if( getNodesetCount(cardPath + "/card_pid") > 0 ){
  5359. var cnt = getNodesetCount(cardPath + "/card_pid");
  5360. for(var i = 1; i <= cnt; i++ ){
  5361. if( model.getValue(cardPath + "[" + i + "]/card_rcptstat") == 'Y'){
  5362. cardamt = parseInt(cardamt) + parseInt( model.getValue(cardPath + "[" + i + "]/card_cardamt"));
  5363. }
  5364. }
  5365. }
  5366. }
  5367. cardamt = parseInt(cardamt) - parseInt(model.getValue("/root/main/opmi/opmi_precardamt"));
  5368. var cashPath = '';
  5369. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  5370. cashPath = '/root/main/m_cash/cash';
  5371. }else if( getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  5372. cashPath = '/root/main/c_cash/cash';
  5373. }else{
  5374. cashPath = '/root/main/h_cash/cash';
  5375. }
  5376. if( getNodesetCount(cashPath + "/cash_pid") > 0 ){
  5377. var cnt = getNodesetCount(cashPath + "/cash_pid");
  5378. for(var i = 1; i <= cnt; i++ ){
  5379. if( model.getValue(cashPath + "[" + i + "]/cash_rcptstat") == 'Y'){
  5380. cashamt = parseInt(cashamt) + parseInt( model.getValue(cashPath + "[" + i + "]/cash_cashamt"));
  5381. }
  5382. }
  5383. }
  5384. cashamt = parseInt(cashamt) - parseInt(model.getValue("/root/main/opmi/opmi_precashamt"));
  5385. if( cashamt < 0 ){
  5386. cashamt = 0;
  5387. }
  5388. //오류체크
  5389. //기존 카드/현금영수증 승인 정보 체크
  5390. if( parseInt(cardamt) > 0 || parseInt(cashamt) > 0 ){
  5391. messageBox("카드/현금영수증 승인금액이 있습니다.[카드 : " + cardamt + "][현금영수증 : " + cashamt + "]", "I999", "");
  5392. }
  5393. //멀티 입력일 경우 감액 선택 불가
  5394. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  5395. if (m_opmi_cnt > 1 && flag == 'card' && parseInt(inputCardAmt) != parseInt(targetamt) && parseInt(inputCardAmt) != 0){
  5396. messageBox("멀티접수시는 카드 또는 현금(현금영수증) 중 한가지 방법으로만 접수가능합니다!!","E999","");
  5397. //수납구분을 카드로 세팅한다.
  5398. radio1.value = "Y";
  5399. radio1.dispatch("xforms-value-changed");
  5400. model.refresh();
  5401. return false;
  5402. }else if (m_opmi_cnt > 1 && flag == 'cash' && parseInt(inputCashAmt) != parseInt(targetamt) && parseInt(inputCardAmt) != 0){
  5403. messageBox("멀티접수시는 카드 또는 현금(현금영수증) 중 한가지 방법으로만 접수가능합니다!!","E999","");
  5404. //수납구분을 카드로 세팅한다.
  5405. radio1.value = "C";
  5406. radio1.dispatch("xforms-value-changed");
  5407. model.refresh();
  5408. return false;
  5409. }else if( parseInt(cardamt) + parseInt(cashamt) > parseInt(targetamt) ){
  5410. messageBox("카드 승인금액과 현금영수증 승인금액이 수납대상 금액을 초과합니다!!!", "E999", "");
  5411. model.setValue("/root/main/opmi/opmi_cardamt", cardamt);
  5412. model.setValue("/root/main/opmi/opmi_cashamt", cashamt);
  5413. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5414. }else if( cardamt > 0 && flag == 'card'){
  5415. messageBox("이미 승인된 카드금액이 ["+ cardamt +"]원 있습니다. 카드금액을 임의로 수정할 수 없습니다!!", "E999", "");
  5416. model.setValue("/root/main/opmi/opmi_cardamt", cardamt);
  5417. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt));
  5418. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5419. }else if( cardamt > 0 && flag == 'cash'){
  5420. messageBox("이미 승인된 카드금액이 ["+ cardamt +"]원 있습니다. 현금금액을 임의로 수정할 수 없습니다!!", "E999", "");
  5421. model.setValue("/root/main/opmi/opmi_cardamt", cardamt);
  5422. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt));
  5423. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5424. }else if( parseInt(cashamt) > parseInt(targetamt) - parseInt(inputCardAmt) && flag == 'card'){
  5425. messageBox("수납금액을 초과합니다. ["+ (parseInt(targetamt) - parseInt(cashamt)) +"]원 이상으로 카드금액을 수정할 수 없습니다!!", "E999", "");
  5426. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(cashamt));
  5427. model.setValue("/root/main/opmi/opmi_cashamt", cashamt);
  5428. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5429. }else if( parseInt(cardamt) > parseInt(targetamt) - parseInt(inputCashAmt) && flag == 'cash'){
  5430. messageBox("수납금액을 초과합니다. ["+ (parseInt(targetamt) - parseInt(cardamt)) +"]원 이상으로 현금금액을 수정할 수 없습니다!!", "E999", "");
  5431. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(cashamt));
  5432. model.setValue("/root/main/opmi/opmi_cashamt", cashamt);
  5433. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5434. }else if( flag == 'card'){
  5435. model.setValue("/root/main/opmi/opmi_cardamt", inputCardAmt);
  5436. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(inputCardAmt));
  5437. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5438. }else if( flag == 'cash'){
  5439. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(inputCashAmt));
  5440. model.setValue("/root/main/opmi/opmi_cashamt", inputCashAmt);
  5441. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5442. }
  5443. }else{
  5444. cardamt = inputCardAmt;
  5445. cashamt = inputCashAmt;
  5446. if( btn_stat.attribute("background-color") == "#ff0000" && gs_prcs != "2" ){ //변경/취소 모드이고, 수가계산이 안되어 있을때
  5447. //반환
  5448. var totalAmt = parseInt( model.getValue("/root/main/opmi/opmi_precardamt") )
  5449. + parseInt( model.getValue("/root/main/opmi/opmi_precashamt") )
  5450. + parseInt( model.getValue("/root/main/opmi/opmi_preonlineamt") )
  5451. + parseInt( model.getValue("/root/main/opmi/opmi_premdlrcptamt") )
  5452. + parseInt( targetamt ) ;
  5453. if( flag == 'card'){
  5454. model.setValue("/root/main/opmi/opmi_cardamt", inputCardAmt);
  5455. model.setValue("/root/main/opmi/opmi_cashamt", (parseInt(totalAmt) + parseInt(inputCardAmt)) * -1);
  5456. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5457. }else if( flag == 'cash'){
  5458. model.setValue("/root/main/opmi/opmi_cardamt", (parseInt(totalAmt) + parseInt(inputCashAmt)) * -1);
  5459. model.setValue("/root/main/opmi/opmi_cashamt", inputCashAmt);
  5460. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5461. }
  5462. }else{
  5463. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  5464. if (m_opmi_cnt > 1 && flag == 'card' && parseInt(inputCardAmt) != parseInt(targetamt) && parseInt(inputCardAmt) != 0){
  5465. messageBox("멀티접수시는 카드 또는 현금(현금영수증) 중 한가지 방법으로만 접수가능합니다!!","E999","");
  5466. //수납구분을 카드로 세팅한다.
  5467. radio1.value = "Y";
  5468. radio1.dispatch("xforms-value-changed");
  5469. model.refresh();
  5470. return false;
  5471. }else if (m_opmi_cnt > 1 && flag == 'cash' && parseInt(inputCashAmt) != parseInt(targetamt) && parseInt(inputCashAmt) != 0){
  5472. messageBox("멀티접수시는 카드 또는 현금(현금영수증) 중 한가지 방법으로만 접수가능합니다!!","E999","");
  5473. //수납구분을 카드로 세팅한다.
  5474. radio1.value = "C";
  5475. radio1.dispatch("xforms-value-changed");
  5476. model.refresh();
  5477. return false;
  5478. // }else if( parseInt(inputCashAmt) + parseInt(inputCardAmt) > parseInt(targetamt) ){
  5479. // messageBox("카드 승인금액과 현금영수증 승인금액이 수납대상 금액을 초과합니다!!!", "E999", "");
  5480. // model.setValue("/root/main/opmi/opmi_cardamt", inputCardAmt);
  5481. // model.setValue("/root/main/opmi/opmi_cashamt", inputCashAmt);
  5482. // model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5483. }else if( flag == 'card'){
  5484. model.setValue("/root/main/opmi/opmi_cardamt", inputCardAmt);
  5485. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(inputCardAmt));
  5486. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5487. }else if( flag == 'cash'){
  5488. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(inputCashAmt));
  5489. model.setValue("/root/main/opmi/opmi_cashamt", inputCashAmt);
  5490. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  5491. }
  5492. }
  5493. }
  5494. // model.refresh();
  5495. ipt_cardamt.refresh();
  5496. ipt_cashamt.refresh();
  5497. opt_onlineamt.refresh();
  5498. }
  5499. //장애환자 체크
  5500. //2008-05-22 이동식 추가
  5501. /* 2015/06/28 이정택 주석처리
  5502. function fGetHandicapPatInfo(){
  5503. model.makeNode("/root/temp/handcappat/send/pid");
  5504. model.makeNode("/root/temp/handcappat/send/checkflag");
  5505. model.setValue("/root/temp/handcappat/send/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  5506. model.setValue("/root/temp/handcappat/send/checkflag", 'Y');
  5507. //submit("TRPMC01701");
  5508. if( submit("TRPMC01701") ){
  5509. if( getNodesetCount("/root/temp/handcappat/handcappatlist") > 0 ){
  5510. model.makeNode("/root/main/otpt/otpt_handicaprbookpossnyn");
  5511. model.setValue("/root/main/otpt/otpt_handicaprbookpossnyn", "Y");
  5512. }else{
  5513. model.makeNode("/root/main/otpt/otpt_handicaprbookpossnyn");
  5514. model.setValue("/root/main/otpt/otpt_handicaprbookpossnyn", "N");
  5515. }
  5516. //model.setFocus("radio3");
  5517. }else{
  5518. messageBox("전산장애로 장애등록 정보를 확인할 수 없습니다. '장애인수첩 소지자 여부'를 직접 입력해 주세요", "E999", "");
  5519. //model.setFocus("radio3");
  5520. return false;
  5521. }
  5522. // model.removeNodeset("/root/temp/handcappat");
  5523. }
  5524. */
  5525. //2007-10-11 이동식
  5526. function fAfterChangeCardNo(){
  5527. if(model.getValue("/root/hidden/com/cardcashflag") == "Y" || model.getValue("/root/hidden/com/cardcashflag") == "C"){
  5528. if ((ipt_cardno.currentText).length >16) {
  5529. //16자리보다 크면, "="이 있으면, swipe
  5530. if ( (ipt_cardno.currentText).indexOf("=") >0 ) {
  5531. var vSwipeData = "";
  5532. var vCardno_array = "";
  5533. var vCardno = "";
  5534. //vSwipeData = model.getValue("/root/hidden/com/card_cardno");
  5535. vSwipeData = ipt_cardno.currentText;
  5536. //swipe 시 첫글자에 ?
  5537. if ( vSwipeData.indexOf("?") >= 0 ) {
  5538. vSwipeData = (vSwipeData).substr(1,37);
  5539. }
  5540. if ( vSwipeData.indexOf("/") >= 0 ) {
  5541. vSwipeData = (vSwipeData).substr(1,37);
  5542. }
  5543. model.setValue("/root/hidden/com/swipedata", vSwipeData );
  5544. vCardno_array = vSwipeData.split("=");
  5545. vCardno = vCardno_array[0];
  5546. // swipe 시 첫글자에 ?
  5547. if ( vCardno.indexOf("?") >= 0 ) {
  5548. vCardno = (vCardno).substr(1,16);
  5549. }
  5550. if ( vCardno.indexOf("/") >= 0 ) {
  5551. vCardno = (vCardno).substr(1,16);
  5552. }
  5553. //유효일자
  5554. var vValiterm = (vCardno_array[1]).substr(0,4);
  5555. model.setValue("/root/hidden/com/card_cardno" , vCardno);
  5556. model.setValue("/root/hidden/com/keyinptflag" , "S");
  5557. model.setValue("/root/hidden/com/card_valiterm" , vValiterm);
  5558. model.setValue("/root/hidden/com/cardcashflag" , "Y"); //Y-카드, N-현금영수증, C-현금
  5559. model.setValue("/root/hidden/com/card_allotmm" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  5560. radio1.dispatch("xforms-value-changed");
  5561. // model.refresh();
  5562. if( vValiterm.length == 4 ){
  5563. model.setFocus("ipt_allotmm");
  5564. }else{
  5565. model.setFocus("ipt_valiterm");
  5566. }
  5567. }
  5568. }else if ((ipt_cardno.currentText).length ==16){
  5569. model.setValue("/root/hidden/com/card_cardno" , ipt_cardno.currentText);
  5570. model.setValue("/root/hidden/com/keyinptflag" , "K");
  5571. model.setValue("/root/hidden/com/cardcashflag" , "Y"); //Y-카드, N-현금영수증, C-현금
  5572. radio1.dispatch("xforms-value-changed");
  5573. // model.refresh();
  5574. model.setFocus("ipt_valiterm");
  5575. }
  5576. // model.setValue("/root/hidden/com/cardcashflag", "Y");
  5577. // radio1.dispatch("xforms-value-changed");
  5578. // model.setFocus("ipt_cardamt");
  5579. }else if ( model.getValue("/root/hidden/com/cardcashflag") == "N"){
  5580. //20100401 현금영수증 의무화
  5581. //rdo_indyn.disabled = false;
  5582. //model.setValue("/root/hidden/com/cash_indinstflag", "00"); //00-소득공제, 01-지출증비, 02-미승인
  5583. //현금영수증 선택시
  5584. if((ipt_cardno.currentText).length >18){
  5585. //20100401 현금영수증 의무화
  5586. model.setValue("/root/hidden/com/cash_indinstflag", "00"); //00-소득공제, 01-지출증비, 02-미승인
  5587. //16자리보다 크면, "="이 있으면, swipe
  5588. if((ipt_cardno.currentText).indexOf("=") > 0){
  5589. var vSwipeData = "";
  5590. var vCardno_array = "";
  5591. var vCardno = "";
  5592. //vSwipeData = model.getValue("/root/hidden/com/card_cardno");
  5593. vSwipeData = ipt_cardno.currentText;
  5594. //swipe 시 첫글자에 ?
  5595. if ( vSwipeData.indexOf("?") >= 0 ) {
  5596. vSwipeData = (vSwipeData).substr(1,37);
  5597. }
  5598. if ( vSwipeData.indexOf("/") >= 0 ) {
  5599. vSwipeData = (vSwipeData).substr(1,37);
  5600. }
  5601. vSwipeData = vSwipeData.getRightPad(40, " ");
  5602. model.setValue("/root/hidden/com/swipedata", vSwipeData );
  5603. vCardno_array = vSwipeData.split("=");
  5604. vCardno = vCardno_array[0];
  5605. //swipe 시 첫글자에 ?
  5606. if ( vCardno.indexOf("?") >= 0 ) {
  5607. vCardno = (vCardno).substr(1,16);
  5608. }
  5609. //유효일자
  5610. var vValiterm = (vCardno_array[1]).substr(0,4);
  5611. model.setValue("/root/hidden/com/card_cardno" , vCardno);
  5612. model.setValue("/root/hidden/com/keyinptflag" , "S");
  5613. model.setValue("/root/hidden/com/qualcnfmflag" , "3"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  5614. model.setValue("/root/hidden/com/card_allotmm" , model.getValue("/root/hidden/com/cash_indinstflag")); //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  5615. }
  5616. //2013-01-28
  5617. //현금영수증 사업자 카드
  5618. vCardno = model.getValue("/root/hidden/com/card_cardno");
  5619. if( vCardno.length == 18 && vCardno.substr(8, 1) == '9' ){
  5620. model.setValue("/root/hidden/com/qualcnfmflag" , "3"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  5621. model.setValue("/root/hidden/com/card_allotmm" , '01'); //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  5622. model.setValue("/root/hidden/com/cash_indinstflag" , '01'); //00-소득공제, 01-지출증비, 02-미승인
  5623. }
  5624. model.refresh();
  5625. model.setFocus("ipt_cashamt");
  5626. }else if ((ipt_cardno.currentText).length ==16 || (ipt_cardno.currentText).length ==15 || (ipt_cardno.currentText).length ==18) {
  5627. //20100401 현금영수증 의무화
  5628. model.setValue("/root/hidden/com/cash_indinstflag" ,"00"); //00-소득공제, 01-지출증비, 02-미승인
  5629. var vSwipeData = "";
  5630. vSwipeData = model.getValue("/root/hidden/com/card_cardno")+"=";
  5631. vSwipeData = vSwipeData.getRightPad(40, " ");
  5632. model.setValue("/root/hidden/com/swipedata" , vSwipeData);
  5633. model.setValue("/root/hidden/com/keyinptflag" , "S");
  5634. model.setValue("/root/hidden/com/qualcnfmflag" , "3"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  5635. //2013-01-28
  5636. //현금영수증 사업자 카드
  5637. if( (ipt_cardno.currentText).length == 18 && (ipt_cardno.currentText).substr(8, 1) == '9' ){
  5638. model.setValue("/root/hidden/com/qualcnfmflag" , "3"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  5639. model.setValue("/root/hidden/com/card_allotmm" , '01'); //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  5640. model.setValue("/root/hidden/com/cash_indinstflag" , '01'); //00-소득공제, 01-지출증비, 02-미승인
  5641. }
  5642. model.refresh();
  5643. model.setFocus("ipt_cashamt");
  5644. }else{
  5645. //16자리보다 작으면, 주민번호 혹은 전화번호 사업장번호
  5646. var vSwipeData = "";
  5647. vSwipeData = model.getValue("/root/hidden/com/card_cardno")+"=";
  5648. vSwipeData = vSwipeData.getRightPad(40, " ");
  5649. model.setValue("/root/hidden/com/swipedata" , vSwipeData);
  5650. model.setValue("/root/hidden/com/keyinptflag" , "K");
  5651. //길이가 13자리이면, 주민번호
  5652. if((model.getValue("/root/hidden/com/card_cardno")).length == 13){
  5653. model.setValue("/root/hidden/com/qualcnfmflag" , "1"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  5654. }else{
  5655. //앞 3자리 010,011,016,017,018,019 이면 전화
  5656. if ( (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "010" ||
  5657. (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "011" ||
  5658. (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "016" ||
  5659. (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "017" ||
  5660. (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "018" ||
  5661. (model.getValue("/root/hidden/com/card_cardno")).substr(0,3) == "019" ||
  5662. (model.getValue("/root/hidden/com/card_cardno")).substr(0,4) == "0130"
  5663. ) {
  5664. model.setValue("/root/hidden/com/qualcnfmflag" , "2");
  5665. }else{
  5666. //16자리 길이 미만일 때 13자리 주민번호 제외 후 핸드폰 앞자리 체크 나머지는 사업장
  5667. model.setValue("/root/hidden/com/qualcnfmflag" ,"4");
  5668. model.setValue("/root/hidden/com/cash_indinstflag" ,"01"); //00-소득공제, 01-지출증비, 02-미승인
  5669. }
  5670. }//length ==13
  5671. model.refresh();
  5672. model.setFocus("ipt_cashamt");
  5673. }//lenth ==16
  5674. }//cardyn ==N
  5675. model.refresh();
  5676. }
  5677. //END..
  5678. //2007-10-12 이동식 추가 - 카드취소, 현금영수증 취소
  5679. function fCnclCardAprv(){
  5680. //데이터 변경 체크를 위해..
  5681. model.removeNodeset("/root/cmp");
  5682. model.makeNode("/root/cmp/otpt");
  5683. // model.makeNode("/root/cmp/ptdc");
  5684. model.makeNode("/root/cmp/ptin");
  5685. model.makeNode("/root/cmp/ptbs");
  5686. model.copyNode("/root/cmp/otpt" , "/root/main/otpt");
  5687. // model.copyNode("/root/cmp/ptdc" , "/root/main/ptdc");
  5688. model.copyNode("/root/cmp/ptin" , "/root/main/ptin");
  5689. model.copyNode("/root/cmp/ptbs" , "/root/main/ptbs");
  5690. //END..
  5691. //card
  5692. if (model.getValue("/root/hidden/m_etc/cardaprvflag") != 'N') {
  5693. if( ! fOpenCardPopUp('D') ){
  5694. return false;
  5695. }
  5696. // return true;
  5697. }
  5698. //cash
  5699. if ( model.getValue("/root/hidden/m_etc/cashaprvflag") != 'N') {
  5700. if( ! fOpenCashPopUp('D') ){
  5701. return false;
  5702. }
  5703. // return true;
  5704. }
  5705. return true;
  5706. }
  5707. //END..
  5708. //2007-10-10 이동식 추가 - 카드승인, 현금영수증 승인
  5709. function fGetCardAprv(flag){
  5710. //데이터 변경 체크를 위해..
  5711. model.removeNodeset("/root/cmp");
  5712. model.makeNode("/root/cmp/otpt");
  5713. // model.makeNode("/root/cmp/ptdc");
  5714. model.makeNode("/root/cmp/ptin");
  5715. model.makeNode("/root/cmp/ptbs");
  5716. model.copyNode("/root/cmp/otpt" , "/root/main/otpt");
  5717. // model.copyNode("/root/cmp/ptdc" , "/root/main/ptdc");
  5718. model.copyNode("/root/cmp/ptin" , "/root/main/ptin");
  5719. model.copyNode("/root/cmp/ptbs" , "/root/main/ptbs");
  5720. //END..
  5721. //선후불 체크 - 후불이면 return한다.
  5722. if( model.getValue("/root/main/otpt/otpt_medamtpostyn") != 'N' ){
  5723. return true;
  5724. }
  5725. //END...
  5726. // if (gs_prcs != "2"){
  5727. // messageBox("수가계산 후 카드적용가능합니다!","E999","");
  5728. // return false;
  5729. // }
  5730. //멀티접수시 현금승인 내역이 존재하면 카드 불가
  5731. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 1){
  5732. var cashamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  5733. var cardamt = parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  5734. var onlineamt = parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  5735. if ( (cashamt > 0 && cardamt > 0 && onlineamt > 0) ||
  5736. (cashamt > 0 && cardamt > 0 ) || (cashamt > 0 && onlineamt > 0 ) || (cardamt > 0 && onlineamt > 0) ){
  5737. messageBox("멀티접수시 현금/카드/통장 동시승인은 불가능합니다!","E999","");
  5738. return false;
  5739. }else if( parseInt(model.getValue("/root/main/opmi/opmi_targetamt")) != cashamt + cardamt + onlineamt ){
  5740. messageBox("멀티접수시 납부할 금액은 현금/카드/통장금액 중 하나와 동일해야합니다.","E999","");
  5741. return false;
  5742. }
  5743. }
  5744. //카드가 선택되어 있고, 카드금액이 있을경우 카드 승인
  5745. var vCardamt = parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  5746. var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  5747. if( (radio1.value == 'Y') && (vCardamt > 0) && cardaprvflag != 'N'){
  5748. if( ! fOpenCardPopUp('I') ){
  5749. return false;
  5750. }
  5751. //멀티접수의 경우 영수증'OPMI' 를 세팅
  5752. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  5753. var rowCnt = getNodesetCount("/root/main/m_opmi/opmi");
  5754. var rowCash = 0;
  5755. for(var i = 1; i <= rowCnt; i++){
  5756. rowAmt = parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt"))
  5757. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt"))
  5758. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt")) ;
  5759. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt", 0);
  5760. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt", 0);
  5761. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt", rowAmt);
  5762. }
  5763. }
  5764. }//if( (radio1.value == 'Y') && (vCardamt > 0) && cardaprvflag != 'N'){
  5765. else if( parseInt(vCardamt) > 0 ){
  5766. //멀티접수의 경우 영수증'OPMI' 를 세팅
  5767. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  5768. var rowCnt = getNodesetCount("/root/main/m_opmi/opmi");
  5769. var rowCash = 0;
  5770. for(var i = 1; i <= rowCnt; i++){
  5771. rowAmt = parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt"))
  5772. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt"))
  5773. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt")) ;
  5774. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt", 0);
  5775. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt", 0);
  5776. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt", rowAmt);
  5777. }
  5778. }
  5779. }
  5780. //현금영수증 선택되어 있고, 현금금액이 있을 경우 현금승인
  5781. //2016/04/28 통장입금도 현금영수증으로 승인되도록 수정
  5782. var vCashamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  5783. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  5784. // if( (radio1.value != 'C') && vCashamt > 0 && cashaprvflag != 'N'){
  5785. if( cashaprvflag != 'N' && cashaprvflag != ''){
  5786. if( ! fOpenCashPopUp('I') ){
  5787. return false;
  5788. }
  5789. //멀티접수의 경우 영수증'OPMI' 를 세팅
  5790. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  5791. var rowCnt = getNodesetCount("/root/main/m_opmi/opmi");
  5792. var rowCash = 0;
  5793. for(var i = 1; i <= rowCnt; i++){
  5794. rowAmt = parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt"))
  5795. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt"))
  5796. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt")) ;
  5797. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt", rowAmt);
  5798. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt", 0);
  5799. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt", 0);
  5800. }
  5801. }
  5802. }//if( (radio1.value == 'N') && vCashamt > 0 && cashaprvflag != 'N'){
  5803. else if( parseInt(vCashamt) > 0 ){
  5804. //멀티접수의 경우 영수증'OPMI' 를 세팅
  5805. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  5806. var rowCnt = getNodesetCount("/root/main/m_opmi/opmi");
  5807. var rowCash = 0;
  5808. for(var i = 1; i <= rowCnt; i++){
  5809. rowAmt = parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt"))
  5810. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt"))
  5811. + parseInt(model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt")) ;
  5812. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cashamt", rowAmt);
  5813. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_onlineamt", 0);
  5814. model.setValue("/root/main/m_opmi/opmi[" + i + "]/opmi_cardamt", 0);
  5815. }
  5816. }
  5817. }
  5818. //통장입금금액
  5819. var vOnlineamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  5820. if( (vOnlineamt >0) && (radio1.value == 'C') ){
  5821. //수납내역 별로 통장입금내역을 쪼갬
  5822. model.removeNodeset("/root/main/m_onln");
  5823. model.removeNodeset("/root/main/h_onln");
  5824. var m_otpt = parseInt(getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid"));
  5825. var mseqno = 0;
  5826. rowCnt = 0;
  5827. if( m_otpt > 0 ){
  5828. for(var i=1; i <= m_otpt ; i++) {
  5829. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y' ){
  5830. mseqno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno");
  5831. rowCnt = parseInt(rowCnt) + 1;
  5832. }else{
  5833. continue;
  5834. }
  5835. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_mseqno", mseqno);
  5836. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  5837. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_rcptdd", model.getValue("/root/main/m_opmi/opmi["+( rowCnt )+"]/opmi_rcptdd"));
  5838. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_rcptstat", model.getValue("/root/main/m_opmi/opmi["+( rowCnt)+"]/opmi_rcptstat"));
  5839. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_ordtype", model.getValue("/root/main/m_opmi/opmi["+( rowCnt )+"]/opmi_ordtype"));
  5840. //통장입금정보는 추후 받아온 데이터로 처리
  5841. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_bankcd", "01");
  5842. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_acntno", "010-1234555");
  5843. model.makeValue("/root/main/m_onln/onln["+( rowCnt)+"]/onln_paydd", getCurrentDate());
  5844. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_paypsnnm", "홍길동");
  5845. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_onlineamt", model.getValue("/root/main/m_opmi/opmi["+( rowCnt )+"]/opmi_cashamt"));
  5846. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_rcptexecdd", model.getValue("/root/main/m_opmi/opmi["+( rowCnt )+"]/opmi_rcptexecdd"));
  5847. model.makeValue("/root/main/m_onln/onln["+( rowCnt )+"]/onln_rcpttm", model.getValue("/root/main/m_opmi/opmi["+(rowCnt)+"]/opmi_rcpttm"));
  5848. model.makeValue("/root/main/m_onln/onln["+(rowCnt)+"]/onln_innrtretyn", "N");
  5849. model.makeValue("/root/main/m_onln/onln["+(rowCnt)+"]/onln_preamtyn", "N");
  5850. model.setValue("/root/main/m_opmi/opmi["+( rowCnt)+"]/opmi_paydepoamt", model.getValue("/root/main/m_opmi/opmi["+( rowCnt)+"]/opmi_cashamt"));
  5851. model.setValue("/root/main/m_opmi/opmi["+(rowCnt)+"]/opmi_cardamt", "0");
  5852. model.setValue("/root/main/m_opmi/opmi["+( rowCnt)+"]/opmi_cashamt", "0");
  5853. }
  5854. }else{
  5855. model.makeValue("/root/main/h_onln/onln_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  5856. model.makeValue("/root/main/h_onln/onln_rcptdd", model.getValue("/root/main/opmi/opmi_rcptdd"));
  5857. model.makeValue("/root/main/h_onln/onln_rcptstat", model.getValue("/root/main/opmi/opmi_rcptstat"));
  5858. model.makeValue("/root/main/h_onln/onln_ordtype", model.getValue("/root/main/opmi/opmi_ordtype"));
  5859. //통장입금정보는 추후 받아온 데이터로 처리
  5860. model.makeValue("/root/main/h_onln/onln_bankcd", "01");
  5861. model.makeValue("/root/main/h_onln/onln_acntno", "010-1234555");
  5862. model.makeValue("/root/main/h_onln/onln_paydd", getCurrentDate());
  5863. model.makeValue("/root/main/h_onln/onln_paypsnnm", "홍길동");
  5864. model.makeValue("/root/main/h_onln/onln_onlineamt", model.getValue("/root/main/opmi/onln_onlineamt"));
  5865. model.makeValue("/root/main/h_onln/onln_rcptexecdd", model.getValue("/root/main/opmi/opmi_rcptexecdd"));
  5866. model.makeValue("/root/main/h_onln/onln_rcpttm", model.getValue("/root/main/opmi/opmi_rcpttm"));
  5867. model.makeValue("/root/main/h_onln/onln_innrtretyn", "N");
  5868. model.makeValue("/root/main/h_onln/onln_preamtyn", "N");
  5869. //model.setValue("/root/main/onln/onln_onlineamt", model.getValue("/root/main/opmi/opmi_onlineamt"));
  5870. model.setValue("/root/main/opmi/opmi_paydepoamt", model.getValue("/root/main/opmi/opmi_targetamt"));
  5871. //model.setValue("/root/main/opmi/opmi_cardamt", "0");
  5872. //model.setValue("/root/main/opmi/opmi_cashamt", "0");
  5873. }
  5874. }//end (vOnlineamt >0) && (radio1.value == 'C') )
  5875. else {
  5876. //통장 금액 = 0 이면, s_opmi 의 onlineamt = 0
  5877. // var m_otpt = parseInt(getNodesetCount("/root/main/m_otpt/otpt"));
  5878. // if( m_otpt > 0 ){
  5879. // for(var i=1 ; i <= m_otpt ; i++) {
  5880. //
  5881. // model.setValue("/root/main/m_opmi/opmi[" + (i) + "]/opmi_onlineamt", "0");
  5882. // }
  5883. // }else{
  5884. // model.setValue("/root/main/opmi/opmi_onlineamt" , "0")
  5885. // }
  5886. }
  5887. return true;
  5888. }
  5889. //END..
  5890. //2007-10-04 이동식 추가 - 환자카드발급신청
  5891. function fIssuePatientCard(flag){
  5892. //노드생성
  5893. model.makeNode("/root/hidden/patcardissue/flag");
  5894. model.makeNode("/root/hidden/patcardissue/pid");
  5895. model.makeNode("/root/hidden/patcardissue/rrgstno1");
  5896. model.makeNode("/root/hidden/patcardissue/rrgstno2");
  5897. model.makeNode("/root/hidden/patcardissue/issflag");
  5898. model.makeNode("/root/hidden/patcardissue/issno");
  5899. model.makeNode("/root/hidden/patcardissue/hngnm");
  5900. model.makeNode("/root/hidden/patcardissue/remfact");
  5901. model.makeNode("/root/hidden/patcardissue/result");
  5902. //데이터 체크
  5903. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  5904. if( pid == '' || pid == ' ' || pid == '-' ){
  5905. messageBox("등록번호를 찾을 수 없습니다.", "E999", "");
  5906. return false;
  5907. }
  5908. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  5909. if( rrgstno1 == '' || rrgstno1 == ' ' || rrgstno1 == '-' ){
  5910. messageBox("주민등록번호 앞 6자리를 찾을 수 없습니다.", "E999", "");
  5911. return false;
  5912. }
  5913. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  5914. if( rrgstno2 == '' || rrgstno2 == ' ' || rrgstno2 == '-' ){
  5915. messageBox("주민등록번호 뒤 7자리를 찾을 수 없습니다.", "E999", "");
  5916. return false;
  5917. }
  5918. var hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  5919. if( hngnm == '' || hngnm == ' ' || hngnm == '-' ){
  5920. messageBox("환자이름을 찾을 수 없습니다.", "E999", "");
  5921. return false;
  5922. }
  5923. var issno = model.getValue("/root/hidden/patcardissue/pcinfo");
  5924. if( issno == '' || issno == ' ' || issno == '-' ){
  5925. messageBox("PC 고유번호 정보를 찾을 수 없습니다.", "E999", "");
  5926. return false;
  5927. }
  5928. //노드값 세팅
  5929. model.setValue("/root/hidden/patcardissue/flag", flag); //최초발행 : 'F' 재발행 : 'R'
  5930. model.setValue("/root/hidden/patcardissue/pid", pid);
  5931. model.setValue("/root/hidden/patcardissue/rrgstno1", rrgstno1);
  5932. model.setValue("/root/hidden/patcardissue/rrgstno2", rrgstno2);
  5933. model.setValue("/root/hidden/patcardissue/issflag", "7"); //환자 cf)직원은 '4"
  5934. model.setValue("/root/hidden/patcardissue/issno", issno);
  5935. model.setValue("/root/hidden/patcardissue/hngnm", hngnm);
  5936. model.setValue("/root/hidden/patcardissue/remfact", '-');
  5937. if(submit("TXPAM00201")){
  5938. messageBox("환자카드 발급신청을 정상적으로 완료했습니다. 카드발급 프린터에서 발급상황을 확인하세요.", "I999", "");
  5939. }
  5940. //model.removeNodeset("/root/hidden/patcardissue");
  5941. }
  5942. //END..
  5943. /*
  5944. * 멀티입력추가
  5945. */
  5946. function fMultiRsrvAdd(){
  5947. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  5948. // if (ptbs_pid == null || ptbs_pid == "" || ptbs_pid == " " || ptbs_pid == "-"){
  5949. // messageBox("환자조회후에 진행하시거나 신환은 환자번호 발생후에만 가능합니다!","E999","");
  5950. // return;
  5951. // }
  5952. //재원여부 판단 -- 가정간호 체크 제외..
  5953. if( ! fInhospynCheck()){
  5954. return false;
  5955. }
  5956. //2007-12-27 이동식 추가
  5957. //변경/취소 내역이 선택되어 있을 경우 입력할 수 없다.
  5958. //변경/취소 내역이 선택되어 있는 경우 리턴
  5959. if (btn_stat.attribute("background-color") == "#ff0000"){
  5960. messageBox("확인! 변경/취소 대상내역 선택되어있습니다! 변경/취소 또는 해제 후 진행하십시요!","E999","");
  5961. model.toggle("case5");
  5962. return false;
  5963. }
  5964. //2008-01-14 이동식 추가 - 수급절차는 필수항목체크 사항!!
  5965. if( model.getValue("/root/main/otpt/otpt_ordreqformflag") == '-' || model.getValue("/root/main/otpt/otpt_ordreqformflag") == '' ){
  5966. messageBox("수급절차는 필수 항목입니다. 알맞는 값을 입력해 주세요!", "E999", "");
  5967. model.setFocus("ipt_ordreqformflag");
  5968. return false;
  5969. }
  5970. //2007-12-07 이동식 추가 - 지원 퇴직여부 체크
  5971. if( ! fCheckPsnRetireInfo() ){
  5972. if( messageBox("감면정보를 수정하지 않고 수가계산을", "Q003", "") != 6 ){ //계속 진행하시겠습니까?
  5973. //model.setFocus("cmb_disccd");
  5974. //model.refresh();
  5975. return false;
  5976. }
  5977. }
  5978. //END..
  5979. //진찰료 미산정 사유 체크
  5980. var otpt_medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  5981. // if (otpt_medamtestmyn == "N"){
  5982. // var otpt_medamtfreeresn = model.getValue("/root/main/otpt/otpt_medamtfreeresn");
  5983. // if (otpt_medamtfreeresn == null || otpt_medamtfreeresn == "" || otpt_medamtfreeresn == " " || otpt_medamtfreeresn == "-" || otpt_medamtfreeresn == "00"){
  5984. // messageBox("진찰료 미산정인 경우 사유를 입력하셔야합니다!","E999","");
  5985. // return false;
  5986. // }
  5987. // }
  5988. //새로운 멀티입력 추가 시 예약플래그를 '-' 로 세팅한다.
  5989. if( btn_stat.attribute("background-color") == "#c0c0c0" && model.getValue("/root/main/otpt/otpt_rsrvflag") == '' ){
  5990. // model.setValue("/root/main/otpt/otpt_rsrvflag","-");
  5991. model.setValue("/root/main/otpt/otpt_rsrvflag",RSRVFLAG);
  5992. }
  5993. //단일건 수납하던 중 카드 또는 현금영수증 승인 후 멀티접수로 바꿀경우 안됨!!
  5994. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1 ){ //선택된 멀티 노드가 없고
  5995. if( getNodesetCount("/root/main/h_card/card/card_pid") > 0 ){
  5996. messageBox("이미 카드승인까지 마친 단일접수내역은 멀티접수로 전환하실 수 없습니다. 단일수납하시거나 카드승인취소 후 다시 작업하세요.", "E999", "");
  5997. return false;
  5998. }else if( getNodesetCount("/root/main/h_card/card/card_pid") > 0 ){
  5999. messageBox("이미 현금영수증 승인까지 마친 단일접수내역은 멀티접수로 전환하실 수 없습니다. 단일수납하시거나 현금영수증 승인취소 후 다시 작업하세요.", "E999", "");
  6000. return false;
  6001. }
  6002. }
  6003. //접수이력 조회
  6004. if( model.getValue("/root/hidden/com/histstat") != 'R' ){
  6005. model.setValue("/root/hidden/com/histstat","R");
  6006. fAcptCnclRef();
  6007. }
  6008. var otpt_mseqno = model.getValue("/root/main/otpt/otpt_mseqno");
  6009. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  6010. var otpt_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  6011. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  6012. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6013. var otpt_suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  6014. var otpt_mskind = model.getValue("/root/main/otpt/otpt_mskind");
  6015. var otpt_medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn"); //진찰료 산정여부
  6016. var otpt_fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag"); //초/재진
  6017. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag"); //연속처방/기타구분
  6018. //입력할 외래등록 내역에 대한 체크 : 과/의사/일자/보험유형/주부유형
  6019. if (otpt_orddeptcd == null || otpt_orddeptcd == "" || otpt_orddeptcd == "-" || otpt_orddeptcd == " " ||
  6020. otpt_orddrid == null || otpt_orddrid == "" || otpt_orddrid == "-" || otpt_orddrid == " " ||
  6021. otpt_orddd == null || otpt_orddd == "" || otpt_orddd == "-" || otpt_orddd == " "){
  6022. messageBox("확인! 진료일자/과/의사 코드값중 비어있는 항목이 존재합니다!","E999","");
  6023. return false;
  6024. }
  6025. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  6026. if (otpt_medamtpostyn != "N"){
  6027. messageBox("후불/수납VIP 내역은 수가계산을 할수 없어 멀티접수 불가능합니다! 단독으로 처리하십시요!","E999","");
  6028. return false;
  6029. }
  6030. //보험정보 시작일자,종료일자 체크
  6031. if(otpt_insukind.substr(0,1) != '3' && otpt_insukind.substr(0,1) != '4' ){
  6032. var ptin_fromdd = model.getValue("/root/main/ptin/ptin_fromdd");
  6033. var ptin_todd = model.getValue("/root/main/ptin/ptin_todd");
  6034. if (ptin_fromdd == null || ptin_fromdd == "" || ptin_fromdd == "-" || ptin_fromdd == " "){
  6035. messageBox("확인! 보험정보 시작일자를 입력해 주십시요!","E999","");
  6036. return false;
  6037. }
  6038. if (ptin_todd == null || ptin_todd == "" || ptin_todd == "-" || ptin_todd == " "){
  6039. messageBox("확인! 보험정보 종료일자를 입력해 주십시요!","E999","");
  6040. return false;
  6041. }
  6042. }else{
  6043. }
  6044. //재원여부 판단
  6045. var ptbs_inhospyn = model.getValue("/root/main/ptbs/ptbs_inhospyn");
  6046. var ptbs_tdaydsch = model.getValue("/root/main/ptbs/ptbs_tdaydsch");
  6047. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  6048. // if (ptbs_inhospyn == "Y"){
  6049. // messageBox("확인! " + ptbs_hngnm + " 환자는 현재 재원 중입니다!","E999","");
  6050. // return false;
  6051. // }else if( ptbs_tdaydsch == 'Y' && model.getValue("/root/main/otpt/otpt_orddd") == getCurrentDate() ){
  6052. // messageBox("확인! " + ptbs_hngnm + " 환자는 당일퇴원환자입니다!","E999","");
  6053. // return false;
  6054. // }
  6055. fOrdTypeChk();
  6056. //중복과 체크로직
  6057. if( ! fCheckDuplDeptMultiInput()){
  6058. return false;
  6059. }
  6060. var centcd = model.getValue("/root/main/otpt/otpt_centcd");
  6061. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  6062. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  6063. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  6064. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  6065. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  6066. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  6067. var centcd_old = '';
  6068. var orddd_old = '';
  6069. var orddrid_old = '';
  6070. var orddeptcd_old = '';
  6071. var subdeptcd_old = '';
  6072. var ordtm_old = '';
  6073. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  6074. if(!fCheckDrSche(orddrid, orddeptcd, orddd, ordtm, otpt_medamtestmyn, otpt_etcordflag, insukind, suppkind)){
  6075. return false;
  6076. }
  6077. //진료일정 체크 - 수가계산 부분이 빠지고 진료일정 체크 로직 포함됨!
  6078. if( btn_stat.attribute("background-color") == "#0000ff" ){
  6079. var cur_row = grd_rgstrsrv.row;
  6080. centcd_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_centcd");
  6081. orddd_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_orddd");
  6082. orddrid_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_orddrid");
  6083. orddeptcd_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_orddeptcd");
  6084. subdeptcd_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_subdeptcd");
  6085. ordtm_old = model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_ordtm");
  6086. }
  6087. if( centcd != centcd_old || orddrid != orddrid_old || orddeptcd != orddeptcd_old || orddd != orddd_old || subdeptcd != subdeptcd_old){
  6088. var sRsrvflag = '-';
  6089. if( model.getValue("/root/main/otpt/otpt_insukind") == "71" ){
  6090. sRsrvflag = 'Q';
  6091. }
  6092. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  6093. if( retVal == false ){
  6094. return false;
  6095. }else if( retVal != true ){
  6096. if( CENTERYN != 'Y' ){
  6097. //센터접수
  6098. model.setValue("/root/main/otpt/otpt_centcd", retVal);
  6099. }
  6100. }else{
  6101. if( CENTERYN != 'Y' ){
  6102. //센터코드 초기화
  6103. model.setValue("/root/main/otpt/otpt_centcd", '-');
  6104. }
  6105. }
  6106. }
  6107. //20080703 이동식 추가
  6108. //자보산재 유효성 체크
  6109. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6110. if( insukind.substr(0,1) == '3' || insukind.substr(0,1) == '4' ){
  6111. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  6112. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  6113. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  6114. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  6115. var insucd = '-';
  6116. if( insukind.substr(0,1) == '3' ){ //자보
  6117. //insucd = model.getValue("/root/main/aipm/aipm_insucmpycd");
  6118. //자보내역이 중복으로 존재할 경우가 있으므로 체크
  6119. insucd = model.getValue("/root/main/otpt/otpt_insucd");
  6120. }else if( insukind.substr(0,1) == '4' ){ //산재 공상
  6121. insucd = model.getValue("/root/main/icpm/icpm_inducsbrchcd");
  6122. }
  6123. var ioflag = 'O';
  6124. if(checkJaboSanjae(pid, orddd, orddeptcd, insukind, suppkind, insucd, ioflag) == false ){
  6125. return false;
  6126. }
  6127. model.setValue("/root/main/otpt/otpt_insucd", insucd);
  6128. //2008-07-29 LeeDS
  6129. //보험, 보호일때 자격조회여부 체크
  6130. }
  6131. //end.
  6132. var rtval = fCalcScorCalcBefore();
  6133. if (rtval == true){
  6134. if( btn_stat.attribute("background-color") != "#0000ff" ){
  6135. grd_rgstrsrv.additem();
  6136. var currow = grd_rgstrsrv.row;
  6137. //2008-08-05 이동식 추가
  6138. //진료과명, 의사명 세팅
  6139. model.setValue("/root/main/otpt/otpt_orddeptnm", cmb_orddeptcd.label);
  6140. model.setValue("/root/main/otpt/otpt_orddrnm", model.getValue("/root/init/orddrid[cd = '" + cmb_orddrid.value + "']/nm"));
  6141. //otpt 증번호 '-'로 들어가는거 막기 위해서...
  6142. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/ptin/ptin_insucd"));
  6143. model.setValue("/root/main/ptin/ptin_insukind",model.getValue("/root/main/otpt/otpt_insukind"));
  6144. model.removenode("/root/main/otpt/otpt_check");
  6145. model.removenode("/root/main/otpt/otpt_mseqno");
  6146. model.removeNodeset("/root/main/m_otpt/otpt["+ currow +"]");
  6147. model.makeValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_check", 'Y');
  6148. model.makeNode("/root/main/m_otpt/otpt["+ currow +"]/otpt_mseqno");
  6149. model.setValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_mseqno",currow);
  6150. copyNodeType("/root/main/m_otpt/otpt["+ currow +"]","/root/main/otpt", "after");
  6151. model.setValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_histstat", 'T');
  6152. model.makeValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_ordstat", '1');
  6153. model.makeValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_rcptamt", '0');
  6154. model.makeValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_rcptrnm", '');
  6155. model.makeValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_rcptdt", '');
  6156. //2008-10-13 이동식 추가
  6157. model.makeNode("/root/main/m_otpt/otpt["+ currow +"]/otpt_orddd_old");
  6158. model.setValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_orddd_old", model.getValue("/root/main/otpt/otpt_orddd"));
  6159. //보험
  6160. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  6161. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  6162. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  6163. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  6164. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",currow);
  6165. //model.copyNode("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin");
  6166. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  6167. }else{
  6168. var cur_row = grd_rgstrsrv.row;
  6169. model.copyNode("/root/main/m_otpt/otpt[" + cur_row + "]", "/root/main/otpt");
  6170. //변경 한 예약내역이 바로 선택되어 있도록 수정
  6171. model.setValue("/root/main/m_otpt/otpt["+ cur_row +"]/otpt_check", 'Y');
  6172. //2008-10-13 이동식 추가
  6173. model.makeNode("/root/main/m_otpt/otpt["+ cur_row +"]/otpt_orddd_old");
  6174. model.setValue("/root/main/m_otpt/otpt["+ cur_row +"]/otpt_orddd_old", model.getValue("/root/main/otpt/otpt_orddd"));
  6175. var mseqno = model.getValue("/root/main/otpt/otpt_mseqno");
  6176. //보험
  6177. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  6178. for(var i = 1; i < ptinCnt; i++ ){
  6179. if( model.getValue("/root/main/m_ptin/ptin["+ i +"]/ptin_mseqno") == mseqno ){
  6180. model.removeNodeset("/root/main/m_ptin/ptin["+ i +"]");
  6181. break;
  6182. }
  6183. }
  6184. ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  6185. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  6186. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  6187. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  6188. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",mseqno);
  6189. //model.copyNode("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin");
  6190. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  6191. }
  6192. btn_otpt.selected = false;
  6193. btn_m_otpt.selected = true;
  6194. btn_c_otpt.selected = false;
  6195. model.toggle("case6");
  6196. btn_stat.attribute("background-color") = "#c0c0c0";
  6197. btn_calcscorcalc.disabled = false;
  6198. button2.disabled = false;
  6199. btn_updt.disabled = true;
  6200. btn_cncl.disabled = false;
  6201. btn_save.disabled = true;
  6202. if( RSRVFLAG != 'H' && RSRVFLAG != 'O'){
  6203. RSRVFLAG = '-'; //예약구분 - 당일접수
  6204. }
  6205. //2008-06-12 이동식 추가
  6206. //진철률 테스트시 나온 문제점
  6207. //6. 멀티접수 추가 후 진료과/진료의 진료일자/시간 초기화 필요
  6208. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6209. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  6210. var insucd = model.getValue("/root/main/otpt/otpt_insucd");
  6211. var suppkindresn = model.getValue("/root/main/otpt/otpt_suppkindresn");
  6212. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  6213. var emplno = model.getValue("/root/main/otpt/otpt_emplno");
  6214. var emplnm = model.getValue("/root/main/otpt/otpt_emplnm");
  6215. var handicaprbookpossnyn = model.getValue("/root/main/otpt/otpt_handicaprbookpossnyn");
  6216. model.resetInstanceNode("/root/main/otpt");
  6217. fBaseDataInitOtpt();
  6218. model.setValue("/root/main/otpt/otpt_centcd", "-");
  6219. model.setValue("/root/main/otpt/otpt_subdeptcd", "-");
  6220. //2015/08/17 이정택 주석처리(멀티 입력추가 후 초재진 맞지 않게 돌아가는 현상 수정)
  6221. //cmb_orddeptcd.dispatch("xforms-value-changed");
  6222. //2015/08/17 이정택 주석처리(멀티 입력추가 후 초재진 맞지 않게 돌아가는 현상 수정)
  6223. model.setValue("/root/main/otpt/otpt_orddd", getCurrentDate());
  6224. var ordtm = getCurrentTime().substr( 0, 4);
  6225. if( ordtm < '0830' ){
  6226. ordtm = '0830';
  6227. }else if( ordtm > '1200' && ordtm < '1330' ){
  6228. ordtm = '1330';
  6229. }
  6230. //계정감면 확인
  6231. if(disccd == "-"){
  6232. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  6233. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  6234. if(rrgstno1.length == 6 && rrgstno2.length == 7 ){
  6235. var retValue = fGetPsnWorkInfo(rrgstno1 + rrgstno2);
  6236. //선택한 직원정보 세팅
  6237. if( retValue != '' && retValue != ' ' ){
  6238. var arr_retValue = retValue.split("▦");
  6239. model.setValue("/root/main/otpt/otpt_emplno", arr_retValue[0]);
  6240. model.setValue("/root/main/otpt/otpt_emplnm", arr_retValue[1]);
  6241. model.setValue("/root/main/otpt/otpt_disccd", arr_retValue[2]);
  6242. model.refresh();
  6243. }
  6244. }
  6245. } else {
  6246. model.setValue("/root/main/otpt/otpt_disccd", disccd);
  6247. model.setValue("/root/main/otpt/otpt_emplno", emplno);
  6248. model.setValue("/root/main/otpt/otpt_emplnm", emplnm);
  6249. }
  6250. model.setValue("/root/main/otpt/otpt_ordtm", ordtm);
  6251. model.setValue("/root/main/otpt/otpt_insukind", insukind);
  6252. model.setValue("/root/main/otpt/otpt_suppkind", suppkind);
  6253. model.setValue("/root/main/otpt/otpt_insucd", insucd);
  6254. model.setValue("/root/main/otpt/otpt_suppkindresn", suppkindresn);
  6255. // model.setValue("/root/main/otpt/otpt_disccd", disccd);
  6256. // model.setValue("/root/main/otpt/otpt_emplno", emplno);
  6257. // model.setValue("/root/main/otpt/otpt_emplnm", emplnm);
  6258. model.setValue("/root/main/otpt/otpt_handicaprbookpossnyn", handicaprbookpossnyn);
  6259. // model.setFocus("ipt_orddeptdrabbr");
  6260. model.setFocus("ipt_orddeptabbr");
  6261. model.removeNodeset("/root/main/otpt_old");
  6262. model.makeNode("/root/main/otpt_old");
  6263. }
  6264. model.refresh();
  6265. }
  6266. //2007-09-06 이동식 수정
  6267. function fOnClickOutHistGrid(){
  6268. var rowcnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  6269. var histstat = model.getValue("/root/hidden/com/histstat");
  6270. if (rowcnt < 1){
  6271. return false;
  6272. }else if( histstat == 'X' || histstat == 'x' ){
  6273. return false;
  6274. }else{
  6275. var currow = grd_outhist.row;
  6276. //207-08-16 이동식 추가 - 가접수내역의 경우 변경/취소를 할 수 없다.
  6277. if(model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_tablename") == "temp"){
  6278. //messageBox("가예약내역입니다. 수가계산 후 외래접수하세요.","E999","");
  6279. //return true;
  6280. //가예약테이블의 키값을 세팅한다. - PMOHTEMP acptdd, acptno
  6281. model.makeNode("/root/main/otpt/otpt_acptdd");
  6282. model.setValue("/root/main/otpt/otpt_acptdd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_acptdd"));
  6283. model.makeNode("/root/main/otpt/otpt_acptno");
  6284. model.setValue("/root/main/otpt/otpt_acptno",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_acptno"));
  6285. model.setValue("/root/main/otpt/otpt_orddd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_orddd"));
  6286. model.setValue("/root/main/otpt/otpt_ordtm",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_ordtm"));
  6287. // model.setValue("/root/main/otpt/otpt_rsrvflag",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_rsrvflag"));
  6288. }else{
  6289. var otpt_calcflag = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_calcflag");
  6290. if (otpt_calcflag != "N"){
  6291. messageBox("진료비 수납할 내역이 있습니다. 외래수납에서 수납사항을 확인하세요!","E999","");
  6292. }
  6293. // model.setValue("/root/main/otpt/otpt_rsrvflag",'-');
  6294. // model.setValue("/root/main/otpt/otpt_rsrvflag", RSRVFLAG);
  6295. }
  6296. //END..
  6297. model.setValue("/root/main/otpt/otpt_pid",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_pid"));
  6298. model.setValue("/root/main/otpt/otpt_orddeptcd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_orddeptcd"));
  6299. cmb_orddeptcd.dispatch("xforms-value-changed");
  6300. model.setValue("/root/main/otpt/otpt_mskind",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_mskind")); //주/부유형 Copy 중요!!!
  6301. model.setValue("/root/main/otpt/otpt_ordtype",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_ordtype"));
  6302. model.setValue("/root/main/otpt/otpt_orddrid",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_orddrid"));
  6303. cmb_orddrid.dispatch("xforms-value-changed");
  6304. // model.setValue("/root/main/otpt/otpt_insukind",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insukind"));
  6305. // model.setValue("/root/main/otpt/otpt_suppkind",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_suppkind"));
  6306. // model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insucd"));
  6307. // model.setValue("/root/main/otpt/otpt_disccd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_disccd"));
  6308. //이동식 추가 - cretno, acptseqno, histstat
  6309. model.setValue("/root/main/otpt/otpt_cretno",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_cretno"));
  6310. model.setValue("/root/main/otpt/otpt_acptseqno",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_acptseqno"));
  6311. //model.setValue("/root/main/otpt/otpt_histstat",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_histstat"));
  6312. model.setValue("/root/main/otpt/otpt_histstat",'R');
  6313. model.setValue("/root/main/otpt/otpt_instcd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_instcd"));
  6314. model.makeNode("/root/main/otpt/otpt_tablename");
  6315. model.setValue("/root/main/otpt/otpt_tablename",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_tablename"));
  6316. model.setValue("/root/main/otpt/otpt_rsrvflag",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_rsrvflag"));
  6317. //END..
  6318. model.setValue("/root/main/otpt/otpt_hosoutexptresncd",model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_hosoutexptresncd"));
  6319. model.setValue("/root/main/otpt/otpt_medamtestmyn","Y");
  6320. model.setValue("/root/main/otpt/otpt_nursacptyn","N");
  6321. model.setValue("/root/main/otpt/otpt_dracptyn","N");
  6322. model.setValue("/root/main/otpt/otpt_prcpgenryn","N");
  6323. model.setValue("/root/main/otpt/otpt_tdayinflag","N");
  6324. model.setValue("/root/main/otpt/otpt_calcmthdflag","N");
  6325. model.setValue("/root/main/otpt/otpt_rcptdd","-");
  6326. model.setValue("/root/main/otpt/otpt_rcptno","0");
  6327. model.setValue("/root/main/otpt/otpt_rcptseqno","1");
  6328. var otpt_suppkindresn = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_suppkindresn");
  6329. if (otpt_suppkindresn == "" || otpt_suppkindresn == null || otpt_suppkindresn.length == 0){
  6330. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  6331. }
  6332. var otpt_hosoutexptresncd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_hosoutexptresncd");
  6333. if (otpt_hosoutexptresncd == "" || otpt_hosoutexptresncd == null || otpt_hosoutexptresncd.length == 0){
  6334. model.setValue("/root/main/otpt/otpt_hosoutexptresncd","-");
  6335. }
  6336. // var h_otpt_pid = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_pid");
  6337. // var h_otpt_insukind = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insukind");
  6338. // var h_otpt_insucd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insucd");
  6339. // var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6340. // var ptin_insukind = model.getValue("/root/main/ptin/ptin_insukind");
  6341. //
  6342. // fInsuTabChng();
  6343. //
  6344. // if (h_otpt_insukind != otpt_insukind)
  6345. // {
  6346. // fInsuKindRef(h_otpt_pid, h_otpt_insukind, h_otpt_insucd);
  6347. // fInsuTabChng();
  6348. // }
  6349. //
  6350. // var h_otpt_disccd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_disccd");
  6351. // var ptdc_disccd = model.getValue("/root/main/ptdc/ptdc_disccd");
  6352. //
  6353. // if (h_otpt_disccd != ptdc_disccd)
  6354. // {
  6355. // fDiscCDRef(h_otpt_pid, h_otpt_disccd, "O");
  6356. // }
  6357. // fFsexamflagVeri(); //초재진구분
  6358. fHomeCareVeri(); //가정간호
  6359. //207-08-16 이동식 추가 - 가접수내역이고 환자번호가 없는 경우 외래이력별 상세조회를 하지 않는다.
  6360. if( model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_tablename") != "temp" &&
  6361. model.getValue("/root/main/ptbs/ptbs_pid").getTrim().length > 0 ){
  6362. fOTPTHistRef();
  6363. }
  6364. //END..
  6365. //card,dcgm,unco clear
  6366. model.removeNodeset("/root/main/h_unco/unco"); //error
  6367. model.removeNodeset("/root/main/h_card/card"); //error
  6368. model.removeNodeset("/root/main/h_dcgm/dcgm"); //error
  6369. model.removeNodeset("/root/main/h_dcgm2/dcgm");
  6370. //진료의사 세팅 : 필터링
  6371. //fOrddridSet(model.getValue("/root/main/otpt/otpt_orddeptcd"));
  6372. btn_save.disabled = true;//접수버튼 비활성화
  6373. model.refresh();
  6374. return true;
  6375. }
  6376. }
  6377. //END..
  6378. function fPidVeri(){
  6379. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid").getTrim();
  6380. if (ptbs_pid != null && ptbs_pid != "" && ptbs_pid != " " && ptbs_pid != "-"){
  6381. if (ptbs_pid.length != 0){
  6382. // if (ptbs_pid.isNumber() == true){
  6383. // //환자조회
  6384. // }else{
  6385. // messageBox("환자번호는 숫자만 입력해야합니다!","E999","");
  6386. // fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  6387. // fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  6388. // fMultiInstanceCopy(); //멀티 인스턴스 copy
  6389. // fBaseDataInit("all"); //기본데이터 초기화
  6390. // model.refresh();
  6391. // return false;
  6392. // }
  6393. }else{
  6394. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  6395. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  6396. fMultiInstanceCopy(); //멀티 인스턴스 copy
  6397. fBaseDataInit("all"); //기본데이터 초기화
  6398. model.refresh();
  6399. return false;
  6400. }
  6401. }else{
  6402. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  6403. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  6404. fMultiInstanceCopy(); //멀티 인스턴스 copy
  6405. fBaseDataInit("all"); //기본데이터 초기화
  6406. model.refresh();
  6407. return false;
  6408. }
  6409. }
  6410. function fAgeVeri(){
  6411. var ptbs_age = model.getValue("/root/main/ptbs/ptbs_age");
  6412. if (ptbs_age != null && ptbs_age != "" && ptbs_age != " " && ptbs_age != "-"){
  6413. if (ptbs_age.length >= 1){
  6414. if (ptbs_age.isNumber() != true){
  6415. messageBox("나이는 숫자만 입력해야합니다!","E999","");
  6416. model.setFocus("ipt_age");
  6417. return false;
  6418. }
  6419. }
  6420. }
  6421. }
  6422. function fHngNmVeri(gubn){
  6423. var ptbs_hngnm;
  6424. if (gubn == "xforms-next") ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  6425. else if (gubn == "onkeypress" || gubn == "onkeyup")
  6426. {
  6427. ptbs_hngnm = (ipt_hngnm.currentText).toString();
  6428. //ptbs_hngnm = (model.getValue("/root/main/ptbs/ptbs_hngnm")).toString();
  6429. }
  6430. //한글 한글자를 그냥 길이1로 계산
  6431. if (eval((ptbs_hngnm.length).toString()) < 1){
  6432. messageBox("환자성명은 1글자 이상되어야 합니다!","E999","");
  6433. model.setFocus("ipt_hngnm");
  6434. return false;
  6435. }
  6436. }
  6437. function fRrgstNo1Veri(){
  6438. var ptbs_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  6439. if (ptbs_rrgstno1 != null && ptbs_rrgstno1 != "" && ptbs_rrgstno1 != " " && ptbs_rrgstno1 != "-"){
  6440. if (ptbs_rrgstno1.length != 6){
  6441. messageBox("주민번호1은 6자리여야 합니다!","E999","");
  6442. model.setFocus("ipt_rrgstno1");
  6443. model.refresh();
  6444. return false;
  6445. }
  6446. if (ptbs_rrgstno1.isNumber() != true){
  6447. messageBox("주민번호1은 숫자형태로 입력되어야 합니다!","E999","");
  6448. model.setFocus("ipt_rrgstno1");
  6449. model.refresh();
  6450. return false;
  6451. }
  6452. }else{
  6453. messageBox("주민번호1은 6자리여야 합니다!","E999","");
  6454. model.setFocus("ipt_rrgstno1");
  6455. model.refresh();
  6456. return false;
  6457. }
  6458. }
  6459. function fRrgstNo2Veri(){
  6460. var ptbs_brthdd;
  6461. var ptbs_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  6462. var ptbs_rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  6463. if (ptbs_rrgstno1.length != 6){
  6464. messageBox("환자주민번호1은 6자리입니다!","E999","");
  6465. model.setFocus("ipt_rrgstno1");
  6466. return false;
  6467. }
  6468. if (ptbs_rrgstno2.length != 7){
  6469. messageBox("환자주민번호2은 7자리입니다!","E999","");
  6470. model.setFocus("ipt_rrgstno2");
  6471. return false;
  6472. }
  6473. /*
  6474. 9: 1800 ~ 1899년에 태어난 남성
  6475. 0: 1800 ~ 1899년에 태어난 여성
  6476. 1: 1900 ~ 1999년에 태어난 남성
  6477. 2: 1900 ~ 1999년에 태어난 여성
  6478. 3: 2000 ~ 2099년에 태어난 남성
  6479. 4: 2000 ~ 2099년에 태어난 여성
  6480. 5: 1900 ~ 1999년에 태어난 외국인 남성
  6481. 6: 1900 ~ 1999년에 태어난 외국인 여성
  6482. 7: 2000 ~ 2099년에 태어난 외국인 남성
  6483. 8: 2000 ~ 2099년에 태어난 외국인 여성
  6484. */
  6485. var gubn = ptbs_rrgstno2.substr(0,1);
  6486. switch(gubn){
  6487. case '0' :
  6488. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  6489. break;
  6490. case '9' :
  6491. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  6492. break;
  6493. case '1' :
  6494. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  6495. break;
  6496. case '2' :
  6497. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  6498. break;
  6499. case '3' :
  6500. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  6501. break;
  6502. case '4' :
  6503. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  6504. break;
  6505. case '5' :
  6506. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  6507. break;
  6508. case '6' :
  6509. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  6510. break;
  6511. case '7' :
  6512. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  6513. break;
  6514. case '8' :
  6515. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  6516. break;
  6517. default :
  6518. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  6519. break;
  6520. }
  6521. /*
  6522. * 3번 : 행려환자 중 주민번호 불명자.
  6523. * 4번 : 사회복지 시설 수용자가 아닌자로서 주민번호 불명자
  6524. * 5번 : 사회복지 시설 수용자 중 주민번호 불명자
  6525. */
  6526. if (isValidDateTime(ptbs_brthdd, "YYYYMMDD") == false){
  6527. if( messageBox("주민번호 앞6자리 형식오류입니다. 무시하고 계속 진행하시겠습니까?","Q999","") != 6 ){
  6528. model.setValue("/root/main/ptbs/ptbs_rrgstno1","");
  6529. model.setValue("/root/main/ptbs/ptbs_rrgstno2","");
  6530. model.setValue("/root/main/ptbs/ptbs_brthdd","");
  6531. model.setValue("/root/main/ptbs/ptbs_sex","");
  6532. model.setValue("/root/main/ptbs/ptbs_age","");
  6533. model.refresh();
  6534. model.setFocus("ipt_rrgstno1");
  6535. return false;
  6536. }{
  6537. messageBox("생년월일을 꼭 정확하게 입력해 주세요", "I999", "");
  6538. model.setValue("/root/main/ptbs/ptbs_brthdd","");
  6539. }
  6540. }else{
  6541. model.setValue("/root/main/ptbs/ptbs_brthdd", ptbs_brthdd);
  6542. }
  6543. //성별 세팅
  6544. var ptbs_sex = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  6545. if( !isNull(ptbs_sex) ){
  6546. model.setValue("/root/main/ptbs/ptbs_sex", getGender(ptbs_sex));
  6547. }
  6548. //나이 세팅
  6549. model.setValue("/root/main/ptbs/ptbs_age", getFullAge(model.getValue("/root/main/ptbs/ptbs_brthdd")));
  6550. model.refresh();
  6551. // //외국인 여부 세팅
  6552. // if( gubn == '5' || gubn == '6' || gubn == '7' || gubn == '8'){
  6553. // //var forgeryn = model.getValue("/root/main/ptbs/ptbs_forgeryn");
  6554. // if( model.getValue("/root/main/ptbs/ptbs_forgeryn") != 'Y'
  6555. // && model.getValue("/root/main/otpt/otpt_insukind") != ''
  6556. // && model.getValue("/root/main/otpt/otpt_insukind") != '-'
  6557. // && model.getValue("/root/main/otpt/otpt_insukind") != gsInsu_BoHo1
  6558. // && model.getValue("/root/main/otpt/otpt_insukind") != gsInsu_BoHo2 ){
  6559. //
  6560. // model.setValue("/root/main/ptbs/ptbs_forgeryn", 'Y');
  6561. // }
  6562. // }
  6563. //전체 주민번호 체크
  6564. var ptbs_rrgstno = ptbs_rrgstno1.concat(ptbs_rrgstno2);
  6565. if(isResidentNo(ptbs_rrgstno) == false){
  6566. var message = messageBox("유효하지 않은 주민번호입니다! 계속 진행하시겠습니까?","Q999","");
  6567. if(message == 6){
  6568. return true;
  6569. }else{
  6570. model.setValue("/root/main/ptbs/ptbs_rrgstno1","");
  6571. model.setValue("/root/main/ptbs/ptbs_rrgstno2","");
  6572. model.setValue("/root/main/ptbs/ptbs_brthdd","");
  6573. model.setValue("/root/main/ptbs/ptbs_sex","");
  6574. model.setValue("/root/main/ptbs/ptbs_age","");
  6575. model.setFocus("ipt_rrgstno1");
  6576. model.refresh();
  6577. return false;
  6578. }
  6579. }
  6580. }
  6581. function fHomeTelVeri(){
  6582. var ptbs_hometel = model.getValue("/root/main/ptbs/ptbs_hometel");
  6583. if (ptbs_hometel != null && ptbs_hometel != "" && ptbs_hometel != " " && ptbs_hometel != "-" ){
  6584. if (ptbs_hometel.length >= 1){
  6585. if (ptbs_hometel.length < 7){
  6586. messageBox("전화번호는 7자리 이상입니다!","E999","");
  6587. model.setFocus("ipt_hometel");
  6588. return false;
  6589. }
  6590. }
  6591. }
  6592. }
  6593. function fMpphonTelVeri(){
  6594. var ptbs_mpphontel = model.getValue("/root/main/ptbs/ptbs_mpphontel");
  6595. if (ptbs_mpphontel != null && ptbs_mpphontel != "" && ptbs_mpphontel != " " && ptbs_mpphontel != "-"){
  6596. if (ptbs_mpphontel.length >= 1){
  6597. if (ptbs_mpphontel.length < 10){
  6598. messageBox("휴대폰 전화번호는 10자리 이상입니다!","E999","");
  6599. model.setFocus("ipt_mpphontel");
  6600. return false;
  6601. }else{
  6602. var ptbs_mpphontel_sub = ptbs_mpphontel.substr(0,3);
  6603. if (ptbs_mpphontel_sub != "011" && ptbs_mpphontel_sub != "010" &&
  6604. ptbs_mpphontel_sub != "017" && ptbs_mpphontel.substr(0,4) != "0130" &&
  6605. ptbs_mpphontel_sub != "016" && ptbs_mpphontel_sub != "019" &&
  6606. ptbs_mpphontel_sub != "018"){
  6607. messageBox("휴대폰 앞3자리 형식이 맞지 않습니다!","E999","");
  6608. model.setFocus("ipt_mpphontel");
  6609. return false;
  6610. }
  6611. }
  6612. }
  6613. }
  6614. }
  6615. function fSuppKindSet(otpt_insukind){
  6616. cmb_suppkind.choices.itemset.attribute("nodeset") = "/root/init/suppkind[up = '"+otpt_insukind+"' and (io = 'A' or io = 'O')]";
  6617. cmb_suppkind.refresh();
  6618. }
  6619. function fInsuTabChng(){
  6620. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6621. if(otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 ||
  6622. otpt_insukind == gsBoHo2 || otpt_insukind == gsIlBan ||
  6623. otpt_insukind == gsForIn || otpt_insukind == gsImSang ||
  6624. otpt_insukind == gsInsu_Noin || otpt_insukind == "-"){
  6625. model.toggle("case1");
  6626. }
  6627. //산재
  6628. if(otpt_insukind == gsSanJae){
  6629. model.toggle("case2");
  6630. }
  6631. //자보
  6632. if(otpt_insukind == gsJaboKind){
  6633. model.toggle("case3");
  6634. }
  6635. //공상
  6636. if(otpt_insukind == gsGongSang){
  6637. model.toggle("case4");
  6638. }
  6639. }
  6640. /**---------------------------------------------------
  6641. * @desc : 환자인적정보 조회
  6642. : 환자번호 => 무조건 재조회
  6643. : 환자이름 => 팝업
  6644. : 주민번호 => 무조건 재조회
  6645. * @---------------------------------------------------
  6646. */
  6647. var aa = 0;
  6648. function fPatInfoRef(gubn){
  6649. //2007-08-16 이동식 수정 - 환자번호 없는 환자(가예약환자) 조회를 위해 수정함.
  6650. if( gubn != "2" ){
  6651. if (model.getValue("/root/main/ptbs/ptbs_pid") == "" || model.getValue("/root/main/ptbs/ptbs_pid") == null){
  6652. messageBox("환자등록번호를 입력하여 주십시요!","E999","");
  6653. return false;
  6654. }
  6655. }
  6656. //END..
  6657. fSubmitBefore();
  6658. fSubmitAfter();
  6659. model.setValue("/root/send/data1" , gubn);
  6660. model.copyNode("/root/send/data2" , "/root/main/ptbs");
  6661. if (submit("TRPMO00102") == true){
  6662. //copyNode
  6663. var ptbs_node = instance1.selectSingleNode("/root/hidden/rcv/ptbs");
  6664. if (ptbs_node != null){
  6665. model.copyNode("/root/main/ptbs","/root/hidden/rcv/ptbs");
  6666. //합번등록번호 체크
  6667. var sBindPid = model.getValue("/root/main/ptbs/ptbs_bindpid");
  6668. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' ){
  6669. //합번된 등록번호 메세지 처리
  6670. var sPid = model.getValue("/root/main/ptbs/ptbs_pid");
  6671. var sHngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  6672. var retValue = messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  6673. if( retValue == '6' ){
  6674. model.setValue("/root/main/ptbs/ptbs_pid", sBindPid);
  6675. return fPatInfoRef("1");
  6676. }else{
  6677. //화면 초기화!!
  6678. btn_init.dispatch("DOMActivate");
  6679. return false;
  6680. }
  6681. }
  6682. if( model.getValue("/root/main/ptbs/ptbs_pid").length > 0 ){ //등록번호가 2자리 이상일 때! 구환
  6683. gs_olnw = "O";
  6684. }else{ //초진
  6685. gs_olnw = "N";
  6686. }
  6687. var sex = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  6688. //START 미수액 체크 2008-01-09 이동식 추가
  6689. var bogjamt = model.getValue("/root/main/ptbs/ptbs_bogjamt");
  6690. if( bogjamt == '' || bogjamt == ' ' || isNaN(bogjamt) ){
  6691. bogjamt = 0;
  6692. }
  6693. //2009-03-06 이동식 추가 - 외래수납VIP선수금 메세지
  6694. var bogjvipamt = model.getValue("/root/main/ptbs/ptbs_bogjvipamt");
  6695. if( bogjvipamt == '' || bogjvipamt == ' ' || isNaN(bogjvipamt) ){
  6696. bogjvipamt = 0;
  6697. }
  6698. var outunco = model.getValue("/root/main/ptbs/ptbs_outunco");
  6699. if( outunco == '' || outunco == ' ' || isNaN(outunco) ){
  6700. outunco = 0;
  6701. }
  6702. var inunco = model.getValue("/root/main/ptbs/ptbs_inunco");
  6703. if( inunco == '' || inunco == ' ' || isNaN(inunco) ){
  6704. inunco = 0;
  6705. }
  6706. var aidunco = model.getValue("/root/main/ptbs/ptbs_aidunco");
  6707. if( aidunco == '' || aidunco == ' ' || isNaN(aidunco) ){
  6708. aidunco = 0;
  6709. }
  6710. var keepamt = model.getValue("/root/main/ptbs/ptbs_keepamt");
  6711. if( keepamt == '' || keepamt == ' ' || isNaN(keepamt) ){
  6712. keepamt = 0;
  6713. }
  6714. //직원 감면신청여부
  6715. var fmlychk = model.getValue("/root/hidden/rcv/fmlychk/existyn");
  6716. if(fmlychk=='N'){
  6717. messageBox("재직중인 직원입니다. 감면등록 부탁드립니다.", "I");
  6718. }
  6719. //환자 임신등록여부
  6720. var pregchk = model.getValue("/root/hidden/rcv/pregchk/pregyn");
  6721. if(pregchk=='Y'){
  6722. messageBox("임신부로 등록된 환자입니다. 건강보험, 의료급여2종인 경우는\n보조유형 C4(임신부)를 선택하여 접수해 주시기 바랍니다.", "I");
  6723. }
  6724. if( parseInt( outunco ) != 0 || parseInt( inunco ) != 0 || parseInt(aidunco) != 0 ){
  6725. var unconm = "";
  6726. var inunconm = "";
  6727. if( parseInt( outunco ) > 0 ){
  6728. unconm = "[" + model.getValue("/root/main/ptbs/ptbs_unconm") + "]";
  6729. }
  6730. if( parseInt( inunco ) > 0 ){
  6731. inunconm = "[" + model.getValue("/root/main/ptbs/ptbs_inunconm") + "]";
  6732. }
  6733. //messageBox("미수금이 존재합니다. [외래미수금 : " + outunco + " 원] [퇴원미수금 : " + inunco + " 원] [후원회미수금 : " + aidunco + " 원]", "I999", "");
  6734. var result = messageBox("미수금이 존재합니다. 미수입금을 하시겠습니까? \n\n" + unconm + "[외래미수금 : "+outunco+"] " + inunconm + "[퇴원미수금 : "+inunco +"] [후원회미수금 : " + aidunco + " 원]","Q999","");
  6735. if (result == "6") {
  6736. var vpid = model.getValue("/root/main/ptbs/ptbs_pid");
  6737. setParameter("SMPAM00100_PID_PARM", vpid);
  6738. modal("SMPAM00100", "1", "200", "200", "SMPAM00100", "", "");
  6739. }
  6740. }
  6741. //2009-03-06 이동식 수정 - 외래수납VIP선수금 메세지 추가
  6742. if( parseInt(bogjamt) != 0 || parseInt(bogjvipamt) != 0){
  6743. var bogjMsg = '';
  6744. if( parseInt(bogjamt) != 0 ){
  6745. bogjMsg = bogjMsg + "[선수금 : " + bogjamt + " 원] ";
  6746. }
  6747. if( parseInt(bogjvipamt) != 0 ){
  6748. bogjMsg = bogjMsg + "[수납VIP선수금 : " + bogjvipamt + " 원]";
  6749. }
  6750. messageBox("선수금이 존재합니다. " + bogjMsg, "I999", "");
  6751. }
  6752. if( parseInt(keepamt) != 0 ){
  6753. var totkeepdata = "";
  6754. //상세 보관금을 재조회함. -- 이성인 , 20090821 //요청자 : 김흥준
  6755. model.removeNodeset("/root/temp7");
  6756. model.makeNode("/root/temp7");
  6757. model.makeValue("/root/temp7/pid",ipt_pid.currentText);
  6758. submit("TRPAO00130", false);
  6759. for(var i = 1 ; i <= getNodesetCount("/root/temp7/item") ; i++){
  6760. var keepdata = model.getValue("/root/temp7/item['"+i+"']/keepdata");
  6761. totkeepdata = totkeepdata + " " + keepdata;
  6762. }
  6763. totkeepdata = totkeepdata + "이 있습니다."
  6764. // 가퇴원금 있을 경우 퇴원창구로 안내문구 추가 by 조중래 20120712
  6765. if (totkeepdata.indexOf("가퇴원금") != "-1") {
  6766. totkeepdata += "\r\n\r\n가퇴원금이 있으므로 퇴원창구로 안내해주시기 바랍니다."
  6767. }
  6768. messageBox( totkeepdata, "I999");
  6769. //messageBox("보관금이 존재합니다. [보관금 : " + keepamt + " 원]", "I999", "");
  6770. }
  6771. //END 미수액 체크
  6772. }
  6773. if (instance1.selectSingleNode("/root/hidden/rcv/init/orddrid") != null){
  6774. model.removeNodeset("/root/init/orddrid");
  6775. copyNodeType("/root/init","/root/hidden/rcv/init", "after");
  6776. }
  6777. if (instance1.selectSingleNode("/root/hidden/rcv/h_hndc") != null){
  6778. model.copyNode("/root/main/h_hndc","/root/hidden/rcv/h_hndc");
  6779. }
  6780. if (instance1.selectSingleNode("/root/hidden/rcv/h_cnst") != null){
  6781. model.copyNode("/root/main/h_cnst","/root/hidden/rcv/h_cnst");
  6782. }
  6783. if (instance1.selectSingleNode("/root/hidden/rcv/h_srdg") != null){
  6784. model.copyNode("/root/main/h_srdg","/root/hidden/rcv/h_srdg");
  6785. }
  6786. //20090701 2.희귀난치성산정특례 고시적용
  6787. if (instance1.selectSingleNode("/root/hidden/rcv/h_rooa") != null){
  6788. model.copyNode("/root/main/h_rooa","/root/hidden/rcv/h_rooa");
  6789. }
  6790. if (instance1.selectSingleNode("/root/hidden/rcv/h_ptsp") != null){
  6791. model.copyNode("/root/main/h_ptsp","/root/hidden/rcv/h_ptsp");
  6792. }
  6793. if (instance1.selectSingleNode("/root/hidden/rcv/h_ptin/ptin/ptin_pid") != null){
  6794. model.copyNode("/root/main/ptin","/root/hidden/rcv/h_ptin/ptin");
  6795. }
  6796. if (instance1.selectSingleNode("/root/hidden/rcv/t_otpt") != null){
  6797. model.copyNode("/root/main/t_otpt","/root/hidden/rcv/t_otpt");
  6798. }
  6799. //2008-01-14 이동식 추가
  6800. if (instance1.selectSingleNode("/root/hidden/rcv/m_otpt") != null){
  6801. model.copyNode("/root/main/m_otpt","/root/hidden/rcv/m_otpt");
  6802. //model.refresh();
  6803. }
  6804. var h_otpt_node = instance1.selectSingleNode("/root/hidden/rcv/h_otpt");
  6805. if (h_otpt_node != null){
  6806. model.copyNode("/root/main/h_otpt","/root/hidden/rcv/h_otpt");
  6807. model.removeNodeset("/root/main/t_otpt/otpt");
  6808. //첫번째 행의 외래정보 display
  6809. var otpt_cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  6810. //var otpt_calcflag_cnt = 0;
  6811. //var uncodd = "";
  6812. //var tdayinflag_cnt = 0;
  6813. if (otpt_cnt > 0){
  6814. var check = 'Y';
  6815. var t_otpt_cnt = 0;
  6816. for(var line = 1; line <= otpt_cnt; line++){
  6817. if (check == 'Y'){
  6818. if( model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_orddeptcd") != gsOrddeptCd_ER
  6819. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind") != '81'
  6820. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_rsrvflag") != '3'
  6821. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_rsrvflag") != '4'
  6822. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_rsrvflag") != 'F'
  6823. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_rsrvflag") != 'S'
  6824. && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_rsrvflag") != 'Q'){ //임상, 일반등은 최대한 제외
  6825. //진료과 의사 세팅.
  6826. if( CENTERYN == 'Y' ){
  6827. var otpt_centcd = model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_centcd");
  6828. if( otpt_centcd != '-' && otpt_centcd != '' && otpt_centcd != ' ' ){
  6829. model.setValue("/root/main/otpt/otpt_centcd",otpt_centcd);
  6830. cmb_centcd.dispatch("xforms-value-changed");
  6831. }
  6832. }
  6833. var otpt_orddeptcd = model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_orddeptcd");
  6834. var otpt_orddrid = model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_orddrid");
  6835. model.setValue("/root/main/otpt/otpt_orddeptcd",otpt_orddeptcd);
  6836. // cmb_orddeptcd.dispatch("xforms-value-changed");
  6837. fOrddridSet(otpt_orddeptcd);
  6838. var deptengabbr = model.getValue("/root/init/orddeptcd[ cd = '" + otpt_orddeptcd + "']/deptengabbr");
  6839. model.makeNode("/root/main/otpt/otpt_orddeptabbr");
  6840. model.setValue("/root/main/otpt/otpt_orddeptabbr", deptengabbr);
  6841. model.setValue("/root/main/otpt/otpt_orddrid", otpt_orddrid);
  6842. // cmb_orddrid.dispatch("xforms-value-changed");
  6843. var specordyn = model.getValue("/root/init/orddrid[cd = '" + otpt_orddrid + "' and dp = '" + otpt_orddeptcd + "']/sp");
  6844. //model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  6845. if( specordyn == 'Y' || specordyn == 'y' ){
  6846. model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  6847. rdo_specordyn.disabled = false;
  6848. }else{
  6849. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  6850. rdo_specordyn.disabled = true;
  6851. }
  6852. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  6853. var drengabbr = model.getValue("/root/init/orddrid[ cd = '" + otpt_orddrid + "']/drengabbr");
  6854. // var deptengabbr = model.getValue("/root/main/otpt/otpt_orddeptabbr");
  6855. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  6856. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", drengabbr);
  6857. //2008-09-12
  6858. //센터코드, 서브진료과세팅
  6859. // model.setValue("/root/main/otpt/otpt_centcd", '-');
  6860. model.setValue("/root/main/otpt/otpt_subdeptcd", model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_subdeptcd"));
  6861. //보험정보 세팅..
  6862. var insukind = model.getValue("/root/main/ptin/ptin_insukind");
  6863. if (insukind != "-" && insukind != "" && insukind != null ){ //&&
  6864. // model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind") == insukind){
  6865. model.setValue("/root/hidden/flag/ptin_flag","R");
  6866. model.setValue("/root/main/otpt/otpt_insukind",model.getValue("/root/main/ptin/ptin_insukind"));
  6867. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/ptin/ptin_insucd"));
  6868. //2007.07.28 이동식 수정 - 건강보험일 경우 보험자기호 디폴트 세팅 '0015'
  6869. if( model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom){ // 건강보험 = 11
  6870. var ptin_insucd = model.getValue("/root/main/ptin/ptin_insucd");
  6871. if( ptin_insucd == '-' || ptin_insucd == '' || ptin_insucd == ' ' || ptin_insucd == null ){
  6872. model.setValue("/root/main/ptin/ptin_insucd", boHeom_insucd);
  6873. model.setValue("/root/main/otpt/otpt_insucd", boHeom_insucd);
  6874. }else{
  6875. model.setValue("/root/main/ptin/ptin_insucd", ptin_insucd);
  6876. model.setValue("/root/main/otpt/otpt_insucd", ptin_insucd);
  6877. }
  6878. }else if( model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind") == gsInsu_JaboKind
  6879. || model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind") == gsInsu_SanJae
  6880. || model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind") == gsInsu_GongSang){
  6881. cmb_insukind.dispatch("xforms-select");
  6882. }
  6883. }else{
  6884. model.setValue("/root/main/otpt/otpt_insukind", model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_insukind"));
  6885. cmb_insukind.dispatch("xforms-select");
  6886. }
  6887. //수급절차와 보험정보 유형보조 계산..
  6888. model.setValue("/root/main/otpt/otpt_ordreqformflag", model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_ordreqformflag"));
  6889. // cmb_ordreqformflag.refresh();
  6890. // fCheckOrdReqForm();
  6891. //할인정보 세팅
  6892. // var disccd = model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_disccd");
  6893. // if ( disccd != "-" && disccd != "" && disccd != null ){
  6894. //
  6895. // model.setValue("/root/main/otpt/otpt_disccd",disccd);
  6896. // }else{
  6897. //
  6898. // model.setValue("/root/main/otpt/otpt_disccd",'-');
  6899. // }
  6900. check = 'N';
  6901. }
  6902. }
  6903. if (model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_orddd") == PMO001_TODAY){
  6904. //tdayinflag_cnt++;
  6905. //당일 진료볼 내역 세팅
  6906. t_otpt_cnt = parseInt(t_otpt_cnt) + 1;
  6907. model.makeNode("/root/main/t_otpt/otpt[" + t_otpt_cnt + "]");
  6908. model.copyNode("/root/main/t_otpt/otpt[" + t_otpt_cnt + "]", "/root/main/h_otpt/otpt[" + line + "]");
  6909. }
  6910. if (check == 'N' && model.getValue("/root/main/h_otpt/otpt["+ line +"]/otpt_orddd") < PMO001_TODAY) {
  6911. break;
  6912. }
  6913. }
  6914. //2007-08-16 이동식 추가 - 가예약내역과 등록내역을 구분한다.
  6915. //if( getNodesetCount("") ){
  6916. //setRowStyle("grd_outhist", "4", "temp", "otpt_tablename");
  6917. //}
  6918. //END..
  6919. }
  6920. }
  6921. if (model.getValue("/root/main/ptbs/ptbs_pid").length > 0){
  6922. model.setValue("/root/hidden/flag/ptbs_flag","R");
  6923. }
  6924. //동의서 출력여부
  6925. var scanyn = model.getValue("/root/main/ptbs/ptbs_scanyn");
  6926. cpt_scanyn.text = '[동:' + scanyn + ']';
  6927. //선택진료 스캔여부 2011/10/01 고시
  6928. var spifScanYn = model.getValue("/root/main/ptbs/ptbs_spifscanyn");
  6929. //스캔되지 않은 경우, 선택진료조회화면 연동
  6930. if (!isNull(model.getValue("/root/main/ptbs/ptbs_pid")) && spifScanYn != 'Y') {
  6931. if (getUserInfo("dutplceinstcd") == "031") {
  6932. setParameter("SMPMC06503_PARM_PID", model.getValue("/root/main/ptbs/ptbs_pid"));
  6933. modal("SMPMC06503");
  6934. }else{
  6935. if (messageBox("선택진료신청서 중 스캔되지 않은 건이 존재합니다."
  6936. + "\r\n선택진료신청서를 조회", "S001") == "6") {
  6937. setParameter("SMPMC06503_PARM_PID", model.getValue("/root/main/ptbs/ptbs_pid"));
  6938. modal("SMPMC06503");
  6939. }
  6940. }
  6941. /* 보건복지부 감사 대비 수정(2017/06/01 이정택)
  6942. if (messageBox("선택진료신청서 중 스캔되지 않은 건이 존재합니다."
  6943. + "\r\n선택진료신청서를 조회", "S001") == "6") {
  6944. setParameter("SMPMC06503_PARM_PID", model.getValue("/root/main/ptbs/ptbs_pid"));
  6945. modal("SMPMC06503");
  6946. }
  6947. */
  6948. }
  6949. fOneInstanceBackUp(); //data backup
  6950. //미수납건 메세지 추가
  6951. //재원중인지 메세지 추가
  6952. //grd_outhist.rebuild();
  6953. }else{
  6954. // 환자조회 실패!!
  6955. return false;
  6956. }
  6957. // model.refresh();
  6958. }
  6959. //20100401 현금영수증 의무화
  6960. function fCashQualCnfmno() {
  6961. if (getNodesetCount("/root/send/cashbaseinfo/cashbase/qualcnfmno") > 0) {
  6962. if (model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno") != "" &&
  6963. model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno") != null &&
  6964. model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno") != "-" &&
  6965. model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno") != " ") {
  6966. ipt_cardno.attribute("background-color") = "#ffff66";
  6967. ipt_cardno.hint = "No : " + model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno") + " ";
  6968. } else {
  6969. ipt_cardno.attribute("background-color") = "#ffffff";
  6970. ipt_cardno.hint = "";
  6971. }
  6972. } else {
  6973. ipt_cardno.attribute("background-color") = "#ffffff";
  6974. ipt_cardno.hint = "";
  6975. }
  6976. ipt_cardno.refresh();
  6977. }
  6978. //진료과 중복 체크로직
  6979. function fCheckDuplDeptMultiInput(){
  6980. //2010-12-15 이동식 수정 - 동일과 체크로직을 공통모듈로 수정
  6981. if( ! fCheckDuplDept() ){
  6982. return false;
  6983. }else{
  6984. return true;
  6985. }
  6986. /* 기존 동일과 체크로직 주석 처리
  6987. //입력할 외래등록 내역에 대한 체크 : 과/의사/일자/보험유형/주부유형
  6988. var otpt_mseqno = model.getValue("/root/main/otpt/otpt_mseqno");
  6989. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  6990. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  6991. var otpt_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  6992. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  6993. var otpt_mskind = model.getValue("/root/main/otpt/otpt_mskind");
  6994. var otpt_fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  6995. var otpt_medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  6996. //예약 내역중에 체크
  6997. var otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  6998. if (otpt_cnt > 0 ){
  6999. var otpt_orddd_i;
  7000. var otpt_orddeptcd_i;
  7001. var otpt_orddrid_i;
  7002. var otpt_insukind_i;
  7003. var otpt_mskind_i;
  7004. var otpt_fsexamflag_i;
  7005. var otpt_medamtestmyn_i;
  7006. for(var i = 1; i <= otpt_cnt; i++){
  7007. otpt_mseqno_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_mseqno");
  7008. otpt_orddd_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_orddd");
  7009. otpt_orddeptcd_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_orddeptcd");
  7010. otpt_orddrid_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_orddrid");
  7011. otpt_insukind_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_insukind");
  7012. otpt_mskind_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_mskind");
  7013. otpt_fsexamflag_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_fsexamflag");
  7014. otpt_medamtestmyn_i = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_medamtestmyn");
  7015. if( otpt_medamtestmyn_i == 'Y' && otpt_medamtestmyn == 'Y'){
  7016. if (otpt_orddd == otpt_orddd_i && otpt_orddeptcd == otpt_orddeptcd_i && otpt_orddrid == otpt_orddrid_i && otpt_mseqno != otpt_mseqno_i){
  7017. if( otpt_insukind == otpt_insukind_i){
  7018. messageBox("확인! 동일일자/과/의사인 경우 보험유형이 달라야 합니다!","E999","");
  7019. return false;
  7020. }else if( otpt_mskind == otpt_mskind_i && otpt_mskind == 'M'){
  7021. if(messageBox("확인! 진료일자/진료과/의사가 같고 보험유형이 다른 등록 내역이 존재합니다. 부유형으로 접수하시겠습니까?","Q999","") == 6){
  7022. model.setValue("/root/main/otpt/otpt_mskind", "S");
  7023. }else{
  7024. return false;
  7025. }
  7026. }
  7027. }else if (otpt_orddd == otpt_orddd_i && otpt_orddeptcd == otpt_orddeptcd_i && otpt_orddrid != otpt_orddrid_i && otpt_mseqno != otpt_mseqno_i){
  7028. if( otpt_insukind == otpt_insukind_i){
  7029. if(messageBox("확인! 진료일자/진료과/보험유형이 같고 의사가 다른 등록 내역이 존재합니다. 진찰료 미산정으로 접수하시겠습니까?","Q999","") == 6){
  7030. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  7031. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13");
  7032. }else{
  7033. return false;
  7034. }
  7035. }
  7036. }
  7037. }
  7038. //2007-08-17 이동식 추가
  7039. if( otpt_orddeptcd == otpt_orddeptcd_i && otpt_orddd >= otpt_orddd_i && otpt_mseqno != otpt_mseqno_i){
  7040. //재진 초채진구분플래그 변경.
  7041. model.setValue("/root/main/otpt/otpt_fsexamflag", "R");
  7042. }else if( otpt_fsexamflag == "F" && otpt_orddd >= otpt_orddd_i && otpt_mseqno != otpt_mseqno_i){
  7043. //멀티추가한 내역이 있으면 병원초진을 과초진으로 변경
  7044. model.setValue("/root/main/otpt/otpt_fsexamflag", "D");
  7045. }
  7046. }
  7047. }
  7048. //접수내역중에 체크
  7049. var h_otpt_cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  7050. if (h_otpt_cnt > 0){
  7051. var otpt_orddd_j;
  7052. var otpt_orddeptcd_j;
  7053. var otpt_orddrid_j;
  7054. var otpt_insukind_j;
  7055. var otpt_mskind_j;
  7056. var otpt_medamtestmyn_j;
  7057. for(var j = 1; j <= h_otpt_cnt; j++){
  7058. //otpt_mseqno_j = model.getValue("/root/main/m_otpt/otpt["+ j +"]/otpt_mseqno");
  7059. otpt_orddd_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_orddd");
  7060. otpt_orddeptcd_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_orddeptcd");
  7061. otpt_orddrid_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_orddrid");
  7062. otpt_insukind_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_insukind");
  7063. otpt_mskind_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_mskind");
  7064. otpt_medamtestmyn_j = model.getValue("/root/main/h_otpt/otpt["+ j +"]/otpt_medamtestmyn");
  7065. if(otpt_medamtestmyn_j != 'Y' || otpt_medamtestmyn != 'Y'){
  7066. continue;
  7067. }
  7068. if (otpt_orddd == otpt_orddd_j && otpt_orddeptcd == otpt_orddeptcd_j && otpt_orddrid == otpt_orddrid_j ){
  7069. if( otpt_insukind == otpt_insukind_j){
  7070. messageBox("확인! 동일일자/과/의사인 경우 보험유형이 달라야 합니다!","E999","");
  7071. return false;
  7072. }else if( otpt_mskind == otpt_mskind_j && otpt_mskind == 'M'){
  7073. if(messageBox("확인! 진료일자/진료과/의사가 같고 보험유형이 다른 등록 내역이 존재합니다. 부유형으로 접수하시겠습니까?","Q999","") == 6){
  7074. model.setValue("/root/main/otpt/otpt_mskind", "S");
  7075. }else{
  7076. return false;
  7077. }
  7078. }
  7079. }else if (otpt_orddd == otpt_orddd_j && otpt_orddeptcd == otpt_orddeptcd_j && otpt_orddrid != otpt_orddrid_j ){
  7080. if( otpt_insukind == otpt_insukind_j){
  7081. if(messageBox("확인! 진료일자/진료과/보험유형이 같고 의사가 다른 등록 내역이 존재합니다. 진찰료 미산정으로 접수하시겠습니까?","Q999","") == 6){
  7082. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  7083. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "13");
  7084. }else{
  7085. return false;
  7086. }
  7087. }
  7088. }
  7089. }
  7090. }
  7091. return true;
  7092. */
  7093. }
  7094. function fOrdTypeChk(){
  7095. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  7096. //if (otpt_orddeptcd == '2280000000') model.setValue("/root/main/otpt/otpt_ordtype","E");
  7097. if (otpt_orddeptcd == '2280000000') model.setValue("/root/main/otpt/otpt_ordtype","O"); //의정부테스트
  7098. else model.setValue("/root/main/otpt/otpt_ordtype","O");
  7099. }
  7100. function fInsdrelaSet(){
  7101. //구환인 경우 해당보험정보가 존재하지 않을 경우 무조건 보험관계를 본인으로 세팅
  7102. //신환인 경우 산재,자보,일반,외국인인 경우 보험관계를 본인으로 세팅 => 2005.03.05 전산유저 장미연 요구
  7103. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7104. if (otpt_insukind == gsSanJae || otpt_insukind == gsInsu_GongSang || otpt_insukind == gsJaboKind || otpt_insukind == gsIlBan || otpt_insukind == gsForIn){
  7105. model.setValue("/root/main/ptin/ptin_insdrela","1");
  7106. model.setValue("/root/main/ptin/ptin_insdnm",model.getValue("/root/main/ptbs/ptbs_hngnm"));
  7107. model.setValue("/root/main/ptin/ptin_insdrrgstno1",model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  7108. model.setValue("/root/main/ptin/ptin_insdrrgstno2",model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  7109. }
  7110. }
  7111. function fFsexamflagVeri(){
  7112. /**
  7113. 환자 조회 후 최근 이력 뿌린 후
  7114. fGaYeYakClick() 내에서
  7115. 진료과 선택시
  7116. 일자변경시
  7117. 그리드 클릭시
  7118. 초재진 수동부여 해제시
  7119. **/
  7120. var gubn;
  7121. var otpt_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  7122. // if (gs_olnw == "N" || (otpt_pid == null || otpt_pid == "" || otpt_pid == " " || otpt_pid == "-"))
  7123. if (otpt_pid == null || otpt_pid == "" || otpt_pid == " " || otpt_pid == "-"){
  7124. model.setValue("/root/main/otpt/otpt_fsexamflag","F");
  7125. model.refresh();
  7126. return false;
  7127. }
  7128. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7129. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  7130. var otpt_mskind = model.getValue("/root/main/otpt/otpt_mskind");
  7131. fOrdTypeChk();
  7132. var otpt_ordtype = model.getValue("/root/main/otpt/otpt_ordtype");
  7133. var otpt_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  7134. var otpt_orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  7135. var otpt_cretno_old = model.getValue("/root/main/otpt_old/otpt_cretno_old");
  7136. var otpt_acptseqno_old = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  7137. if (otpt_orddd.length != 8){
  7138. messageBox("진료일자를 확인하세요!","E999","");
  7139. return false;
  7140. }
  7141. //A : 당일접수 B : 전화,인터넷 C : 예약
  7142. if (otpt_orddd > PMO001_TODAY) gubn = "A";
  7143. else gubn = "A";
  7144. fSubmitBefore();
  7145. fSubmitAfter();
  7146. model.setValue("/root/send/data1",gubn);
  7147. model.setValue("/root/send/data2",otpt_pid);
  7148. model.setValue("/root/send/data3",otpt_orddd);
  7149. model.setValue("/root/send/data4",otpt_orddeptcd);
  7150. model.setValue("/root/send/data5",otpt_mskind);
  7151. model.setValue("/root/send/data6",otpt_ordtype);
  7152. model.setValue("/root/send/data7",otpt_orddrid);
  7153. model.setValue("/root/send/data8",otpt_orddd_old); //dept_o
  7154. model.setValue("/root/send/data9",otpt_cretno_old); //doct_o
  7155. model.setValue("/root/send/data10",otpt_acptseqno_old); //doct_o
  7156. model.copyNode("/root/send/data11","/root/hidden/session");
  7157. if (submit("TRPMO00103") == true){
  7158. model.setValue("/root/main/otpt/otpt_fsexamflag",model.getValue("/root/hidden/rcv/otpt/otpt_fsexamflag"));
  7159. model.refresh();
  7160. }
  7161. }
  7162. function fHomeCareVeri(){
  7163. var cnt = 0;
  7164. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7165. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  7166. if (otpt_etcordflag != 'N') return false;
  7167. if (otpt_insukind.substr(1,1) == '1' || otpt_insukind.substr(1,1) == '2'){
  7168. messageBox("가정간호는 보험,보호만 적용 대상입니다!","E999","");
  7169. return false;
  7170. }
  7171. var otpt_orddd = (mode.getValue("/root/main/otpt/otpt_orddd")).substr(1,6);
  7172. var otptfrdt = otpt_orddd.concat("01");
  7173. var otpttodt = otpt_orddd.concat("31");
  7174. var rows = getNodesetCount( "/root/main/h_otpt/otpt/otpt_pid" );
  7175. for(var i=1; i <= rows; i++){
  7176. var otpt_orddd_row = model.getValue ("/root/main/h_otpt/otpt["+ i +"]/otpt_orddd");
  7177. var otpt_etcordflag_row = model.getValue("/root/main/h_otpt/otpt["+ i +"]/otpt_etcordflag");
  7178. if (otpt_etcordflag_row == 'N' && (otpt_orddd_row >= otptfrdt && otpt_orddd_row <= otpttodt)){
  7179. cnt = cnt +1;
  7180. }
  7181. if (otpt_orddd_row < otptfrdt) break;
  7182. }
  7183. model.setValue("/root/main/otpt/otpt_etcordflag","N");
  7184. //가정간호 9회부터 본인부담 100% !!!
  7185. if (cnt > 8) model.setValue("/root/main/otpt/otpt_suppkind",supp_100);
  7186. else model.setValue("/root/main/otpt/otpt_suppkind",supp_BASE);
  7187. model.setValue("/root/main/otpt/otpt_medamtestmyn","N");
  7188. model.refresh();
  7189. }
  7190. /*
  7191. * 수가계산 - Before
  7192. */
  7193. function fCalcScorCalcBefore(){
  7194. if((model.getValue("/root/main/otpt/otpt_orddrid")).length == 0 || model.getValue("/root/main/otpt/otpt_orddrid") == ""){
  7195. messageBox("진료의사 코드가 비어있습니다!","E999","");
  7196. return false;
  7197. }
  7198. if((model.getValue("/root/main/otpt/otpt_insukind")).substr(1,1) == "5" && model.getValue("/root/main/otpt/otpt_suppkind") != supp_BASE){
  7199. messageBox("유형보조를 확인하세요!","E999","");
  7200. return false;
  7201. }
  7202. //추가필요
  7203. if(model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHeom && model.getValue("/root/main/otpt/otpt_suppkind") != supp_100 && (model.getValue("/root/main/ptin/ptin_insuno") == "-" || (model.getValue("/root/main/ptin/ptin_insuno")).length < 2)){
  7204. messageBox("보험증번호를 확인하세요!","E999","");
  7205. return false;
  7206. }
  7207. if((model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1 || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2 || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_JaboKind ) && model.getValue("/root/main/otpt/otpt_suppkind") != supp_100 ){
  7208. var insucd = model.getValue("/root/main/otpt/otpt_insucd");
  7209. if( insucd == '' || insucd == '-' || insucd == ' ' ){
  7210. messageBox("의료급여, 자보의 경우 보험자기호가 필수 입력값입니다. 자격조회를 다시 하시거나 보험유형정보를 다시 선택하신 다음 접수해주세요!!", "E999", "");
  7211. return false;
  7212. }
  7213. }
  7214. //수납VIP 관련 기타 정보 입력 체크
  7215. //2009-02-20
  7216. var retVal = fCheckRcptVIPDetailInfo( model.getValue("/root/main/otpt/otpt_medamtpostyn")
  7217. ,model.getValue("/root/main/otpt/otpt_disccd")
  7218. ,model.getValue("/root/main/otpt/otpt_emplno")
  7219. ,model.getValue("/root/main/otpt/otpt_rcptvipresncd")
  7220. ,model.getValue("/root/main/otpt/otpt_rcptvipetcresn"));
  7221. if( retVal == false ){
  7222. return false;
  7223. }
  7224. //건강보험일 경우 보험증번호 안에 '-' 안 들어가도록 처리
  7225. // if (model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom && model.getValue("/root/main/otpt/otpt_suppkind") != supp_100){
  7226. // var ptin_insuno = model.getValue("/root/main/ptin/ptin_insuno");
  7227. // if (ptin_insuno.isNumber() == false){
  7228. // messageBox("건강보험 보험증번호는 숫자형태만 입력가능합니다!","E999","");
  7229. // return false;
  7230. // }
  7231. // }
  7232. // if (model.getValue("/root/main/otpt/otpt_insucd") != model.getValue("/root/main/ptin/ptin_insucd")){
  7233. // messageBox("등록의 보험기호와 보험내역의 보험기호가 틀립니다!","E999","");
  7234. // return false;
  7235. // }
  7236. if ((model.getValue("/root/main/ptin/ptin_insucd")).length < 1){
  7237. model.setValue("/root/main/ptin/ptin_insucd","-");
  7238. model.setValue("/root/main/otpt/otpt_insucd","-");
  7239. }
  7240. if((model.getValue("/root/main/otpt/otpt_insukind")).substr(0,1) != "3" && (model.getValue("/root/main/otpt/otpt_insukind")).substr(0,1) != "4" ){
  7241. if((model.getValue("/root/main/otpt/otpt_insukind")).substr(0,1) != "5" && (model.getValue("/root/main/otpt/otpt_insukind")).substr(0,1) != "7" && model.getValue("/root/main/otpt/otpt_suppkind") != supp_100){
  7242. if (model.getValue("/root/main/ptin/ptin_insdrela") == "-"){
  7243. messageBox("보험내역의 관계를 입력하십시요!","E999","");
  7244. return false;
  7245. }else if( model.getValue("/root/main/ptin/ptin_insdnm") == '' || model.getValue("/root/main/ptin/ptin_insdnm") == '-' ){
  7246. messageBox("피보험자 성명을 입력하십시요!","E999","");
  7247. return false;
  7248. }
  7249. // else if( model.getValue("/root/main/ptin/ptin_insdrrgstno1") == '' || model.getValue("/root/main/ptin/ptin_insdrrgstno1") == '-'
  7250. // || model.getValue("/root/main/ptin/ptin_insdrrgstno2") == '' || model.getValue("/root/main/ptin/ptin_insdrrgstno2") == '-' ){
  7251. // messageBox("피보험자 주민번호를 입력하십시요!","E999","");
  7252. // return false;
  7253. // }
  7254. }
  7255. var ptin_fromdd = model.getValue("/root/main/ptin/ptin_fromdd");
  7256. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7257. if(ptin_fromdd == null || ptin_fromdd == "" || ptin_fromdd == " " || ptin_fromdd == "-" || isValidDateTime(ptin_fromdd, "YYYYMMDD") == false || (ptin_fromdd.length == 8 && eval(ptin_fromdd) > eval(otpt_orddd))){
  7258. messageBox("확인! 보험시작일자가 형식오류이거나 진료일자보다 미래일자입니다!","E999","");
  7259. return false;
  7260. }
  7261. }
  7262. if((model.getValue("/root/main/ptbs/ptbs_rrgstno1")).length != 6 || (model.getValue("/root/main/ptbs/ptbs_rrgstno2")).length != 7){
  7263. messageBox("주민등록번호를 확인하세요!","E999","");
  7264. return false;
  7265. }
  7266. if(!isValidDateTime(model.getValue("/root/main/ptbs/ptbs_brthdd"), 'YYYYMMDD')){
  7267. messageBox("생년월일을 확인하십시요!","E999","");
  7268. return false;
  7269. }
  7270. //주소입력체크 (우편번호주소)
  7271. if (model.getValue("/root/main/ptbs/ptbs_highaddr") == '-' || isNull(model.getValue("/root/main/ptbs/ptbs_highaddr"))){
  7272. messageBox("우편번호주소는 반드시 입력해야합니다.","E999","");
  7273. return false;
  7274. }
  7275. // var ptdc_disccd = model.getValue("/root/main/otpt/otpt_disccd");
  7276. // var ptdc_empid = model.getValue("/root/main/otpt/otpt_emplno");
  7277. // var ptdc_emprela = model.getValue("/root/main/ptdc/ptdc_emprela");
  7278. // var otpt_disccd = model.getValue("/root/main/otpt/otpt_disccd");
  7279. // if (ptdc_disccd != otpt_disccd || otpt_disccd != "-" && ptdc_empid.length != 8)){
  7280. // messageBox("할인 내역을 확인하십시요!","E999","");
  7281. // return false;
  7282. // }
  7283. // if (ptdc_disccd == "-" && ptdc_empid.length > 0){
  7284. // messageBox("감면계정을 선택하지 않으시고 직원사번을 입력하시면 안됩니다!","E999","");
  7285. // return false;
  7286. // }
  7287. //특이환자 datastore => 어떤방법?
  7288. //2008-08-22 이동식 수정 - 정액/인공신장 세팅 추가..
  7289. //보호정신과,보호인공신장+장애,인공신장에 따라 수가계산방법 세팅(P/N) => 없앰
  7290. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7291. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  7292. var reqdeptno = model.getValue("/root/init/orddeptcd[ cd = '" + model.getValue("/root/main/otpt/otpt_orddeptcd") + "' ]/reqdeptno");
  7293. if( insukind == gsBoHo1 || insukind == gsBoHo2 ){
  7294. if( suppkind == supp_INGONG ){ //|| suppkind == supp_BOKMAK ){ -- 이동재대리님 요청 - 인공신장만 적용...
  7295. model.setValue("/root/main/otpt/otpt_calcmthdflag","O"); //인공신장 세팅
  7296. }else if( reqdeptno == "03"){
  7297. //2007-09-17 코드표준화팀 이한분 요청사항 - 의료급여1,2종 모두 정신과 정액.
  7298. model.setValue("/root/main/otpt/otpt_calcmthdflag","P"); //정신과 정액 세팅
  7299. }else{
  7300. model.setValue("/root/main/otpt/otpt_calcmthdflag","N"); //개별수가 세팅
  7301. }
  7302. //2008-07-25 이동식 보험이 임상유형일때 임상연구구분을 입력하지 않으면 오류체크
  7303. }else{
  7304. if(insukind == gsImSang){
  7305. if(model.getValue("/root/main/otpt/otpt_clincstdyacptflag") == 'N' ){
  7306. messageBox("보험을 임상으로 선택하시고 임상연구 구분을 선택하지 않았습니다. 임상연구 구분값을 입력하세요.", "E999", "");
  7307. return false;
  7308. }
  7309. }
  7310. model.setValue("/root/main/otpt/otpt_calcmthdflag", "N"); //개별수가 세팅
  7311. }
  7312. //아이템 변경 여부 알수 있는 방법???
  7313. if (init_ptbs == (instance1.selectSingleNode("/root/main/ptbs")).xml){
  7314. if (model.getValue("/root/hidden/flag/ptbs_flag") == "U") model.setValue("/root/hidden/flag/ptbs_flag","R");
  7315. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "I") model.setValue("/root/hidden/flag/ptbs_flag","-");
  7316. }else if (init_ptbs != (instance1.selectSingleNode("/root/main/ptbs")).xml){
  7317. if (model.getValue("/root/hidden/flag/ptbs_flag") == "R") model.setValue("/root/hidden/flag/ptbs_flag","U");
  7318. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "-") model.setValue("/root/hidden/flag/ptbs_flag","I");
  7319. }else{
  7320. messageBox("오류! 환자 기본 자료상태를 체크하지 못했습니다!","E999","");
  7321. return false;
  7322. }
  7323. if (init_ptin == (instance1.selectSingleNode("/root/main/ptin")).xml){
  7324. if (model.getValue("/root/hidden/flag/ptin_flag") == "U") model.setValue("/root/hidden/flag/ptin_flag","R");
  7325. else if (model.getValue("/root/hidden/flag/ptin_flag") == "I") model.setValue("/root/hidden/flag/ptin_flag","-");
  7326. }else if (init_ptin != (instance1.selectSingleNode("/root/main/ptin")).xml){
  7327. if (model.getValue("/root/hidden/flag/ptin_flag") == "R") model.setValue("/root/hidden/flag/ptin_flag","U");
  7328. else if (model.getValue("/root/hidden/flag/ptin_flag") == "-") model.setValue("/root/hidden/flag/ptin_flag","I");
  7329. }else{
  7330. messageBox("오류! 환자 보험 자료상태를 체크하지 못했습니다!","E999","");
  7331. return false;
  7332. }
  7333. // if (init_ptdc == (instance1.selectSingleNode("/root/main/ptdc")).xml){
  7334. // if (model.getValue("/root/hidden/flag/ptdc_flag") == "U") model.setValue("/root/hidden/flag/ptdc_flag","R");
  7335. // else if (model.getValue("/root/hidden/flag/ptdc_flag") == "I") model.setValue("/root/hidden/flag/ptdc_flag","-");
  7336. // }
  7337. // else if (init_ptdc != (instance1.selectSingleNode("/root/main/ptdc")).xml){
  7338. // if (model.getValue("/root/hidden/flag/ptdc_flag") == "R") model.setValue("/root/hidden/flag/ptdc_flag","U");
  7339. // else if (model.getValue("/root/hidden/flag/ptdc_flag") == "-") model.setValue("/root/hidden/flag/ptdc_flag","I");
  7340. // }else{
  7341. // messageBox("오류! 환자 할인 자료상태를 체크하지 못했습니다!","E999","");
  7342. // return false;
  7343. // }
  7344. //보험 자격조회 체크 수가계산시 자격조회 여부를 체크한다.
  7345. //멀티접수일경우의 체크는???? - 당일 멀티접수는 문제가 없으나(멀티입력추가할때마다 체크하므로),
  7346. //2008-07-22 이동식
  7347. if( ( model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHeom
  7348. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_Noin
  7349. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1
  7350. // || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2 ) && HOMECARE != 'Y' ){ //가정간호일때 제외
  7351. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2 )
  7352. //&& model.getValue("/root/main/otpt/otpt_suppkind") != gsSupp_100
  7353. ){
  7354. if( model.getValue("/root/hidden/flag/check_insuinfo_flag") != 'Y' && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y'){
  7355. // if( messageBox("접수[변경]시 보험 자격조회를 먼저 하셔야 합니다.([YES] 자격조회, [NO] 계속진행)", "Q999", "") == 6 ){
  7356. // btn_insuno_search.dispatch("DOMActivate");
  7357. // return false;
  7358. // }else{
  7359. //
  7360. // }
  7361. // messageBox("접수[변경]시 보험 자격조회를 먼저 하셔야 합니다.", "E999", "")
  7362. // btn_insuno_search.dispatch("DOMActivate");
  7363. fInsuInfoSearch("I");
  7364. // return false;
  7365. }else if( model.getValue("/root/hidden/flag/check_insuinfo_flag") == 'Y' && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y'){
  7366. if( model.getValue("/root/hidden/flag/check_insuinfo_insukind") != model.getValue("/root/main/otpt/otpt_insukind") ){
  7367. // if( messageBox("기존 자격조회하신 보험 유형과 현재 보험유형이 다릅니다. 자격조회를 다시 하신 후 작업하세요.([YES] 자격조회, [NO] 계속진행)", "Q999", "") == 6 ){
  7368. // btn_insuno_search.dispatch("DOMActivate");
  7369. // return false;
  7370. // }else{
  7371. //
  7372. // }
  7373. // messageBox("접수[변경]시 보험 자격조회를 먼저 하셔야 합니다.", "E999", "")
  7374. // btn_insuno_search.dispatch("DOMActivate");
  7375. fInsuInfoSearch("I");
  7376. // return false;
  7377. }else{
  7378. //본인부담구분 세팅
  7379. model.setValue("/root/main/otpt/otpt_ownbflag", model.getValue("/root/hidden/flag/check_insuinfo_ownbflag"));
  7380. }
  7381. }
  7382. }
  7383. //END,,
  7384. return true;
  7385. }
  7386. //수납VIP 관련 기타 정보 입력 체크
  7387. //2009-02-20
  7388. function fCheckRcptVIPDetailInfo( medamtpostyn, disccd, emplno, rcptvipresncd, rcptvipetcresn){
  7389. if( disccd == '' || disccd == '-' || disccd == ' ' ){
  7390. disccd = '-';
  7391. }
  7392. if( emplno == '' || emplno == '-' || emplno == ' ' ){
  7393. emplno = '-';
  7394. }
  7395. if( rcptvipresncd == '' || rcptvipresncd == '-' || rcptvipresncd == ' ' ){
  7396. rcptvipresncd = '-';
  7397. }
  7398. if( rcptvipetcresn == '' || rcptvipetcresn == '-' || rcptvipetcresn == ' ' ){
  7399. rcptvipetcresn = '-';
  7400. }
  7401. if( emplno != '-' ){
  7402. if( disccd == '-' && medamtpostyn != 'V'){
  7403. messageBox("감면코드가 입력되지 않았거나 수납VIP가 아닌 경우 직원사번을 입력하시면 안됩니다.", "E999", "");
  7404. return false;
  7405. }
  7406. }
  7407. /* 2017/04/24 이정택 주석처리
  7408. if( rcptvipresncd != '-' || rcptvipetcresn != '-'){
  7409. if( medamtpostyn != 'V'){
  7410. messageBox("수납VIP가 아닌 경우 수납VIP적용사유를 입력하시면 안됩니다.", "E999", "");
  7411. return false;
  7412. }
  7413. }
  7414. */
  7415. return true;
  7416. }
  7417. function fOTPTHistRef(){
  7418. var row = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  7419. if (row < 1){
  7420. messageBox("확인! 외래등록 이력이 존재하지 않습니다!","E999","");
  7421. return false;
  7422. }
  7423. if (model.getValue("/root/main/ptbs/ptbs_pid") == "" || model.getValue("/root/main/ptbs/ptbs_pid") == null){
  7424. messageBox("확인! 환자기본자료가 존재하지 않습니다!","E999","");
  7425. return false;
  7426. }
  7427. var currow = grd_outhist.row;
  7428. if (currow == 0){
  7429. messageBox("확인! 조회할 외래등록이력을 선택하십시요!","E999","");
  7430. return false;
  7431. }
  7432. model.resetInstanceNode("/root/main/opmi");
  7433. fBaseDataInitOpmi();
  7434. fSubmitBefore();
  7435. fSubmitAfter();
  7436. model.copyNode("/root/send/data1","/root/main/h_otpt/otpt["+ currow +"]");
  7437. if (submit("TRPMO00104") == true){
  7438. var ptin_node = instance1.selectSingleNode("/root/hidden/rcv/ptin");
  7439. if (ptin_node != null){
  7440. if (model.getValue("/root/hidden/rcv/ptin/ptin_pid") != "" && model.getValue("/root/hidden/rcv/ptin/ptin_pid") != null){
  7441. model.copyNode("/root/main/ptin","/root/hidden/rcv/ptin");
  7442. if (model.getValue("/root/main/ptin/ptin_insukind") != "-") cmb_suppkind.disabled = false;
  7443. else cmb_suppkind.disabled = true;
  7444. fSuppKindSet(model.getValue("/root/main/ptin/ptin_insukind"));
  7445. fInsuTabChng();
  7446. }
  7447. }
  7448. var opmi_node = instance1.selectSingleNode("/root/hidden/rcv/opmi");
  7449. if (opmi_node != null){
  7450. if (model.getValue("/root/hidden/rcv/opmi/opmi_pid") != "" && model.getValue("/root/hidden/rcv/opmi/opmi_pid") != null){
  7451. model.copyNode("/root/main/opmi","/root/hidden/rcv/opmi");
  7452. //작업필요!!!!!!!!!!!!!!
  7453. fCalcRcpt("S");
  7454. }
  7455. }
  7456. //데이터 존재하는 경우만 copy
  7457. var h_card_node = instance1.selectSingleNode("/root/hidden/rcv/h_card");
  7458. if (h_card_node != null){
  7459. model.copyNode("/root/main/h_card","/root/hidden/rcv/h_card");
  7460. }
  7461. var h_dcgm_node = instance1.selectSingleNode("/root/hidden/rcv/h_dcgm");
  7462. if (h_dcgm_node != null){
  7463. //접수변경시 감액 처리 : 이전에 적용된 내역 그대로 display
  7464. //감액 변경시 외래수납에서 처리
  7465. var dcgm1 = 0;
  7466. model.removeNodeset("/root/main/h_dcgm2/dcgm");
  7467. model.removeNodeset("/root/main/h_dcgm/dcgm");
  7468. if( getNodesetCount("/root/hidden/rcv/h_dcgm/dcgm[ dcgm_discreduflag = 'D' ]") > 0 ){
  7469. for(var i = 1; i <= getNodesetCount("/root/hidden/rcv/h_dcgm/dcgm/dcgm_pid"); i++){
  7470. if( model.getValue("/root/hidden/rcv/h_dcgm/dcgm[" + i + "]/dcgm_discreduflag") == 'D' ){
  7471. dcgm1 = parseInt(getNodesetCount("/root/main/h_dcgm/dcgm/dcgm_pid")) + 1;
  7472. model.removeNodeset("/root/main/h_dcgm/dcgm[" + dcgm1 + "]");
  7473. model.makeNode("/root/main/h_dcgm/dcgm[" + dcgm1 + "]");
  7474. copyNodeType("/root/main/h_dcgm/dcgm[" + dcgm1 + "]", "/root/hidden/rcv/h_dcgm/dcgm[" + i + "]", "replace");
  7475. }
  7476. }
  7477. }
  7478. var dcgm2 = 0;
  7479. if( getNodesetCount("/root/hidden/rcv/h_dcgm/dcgm[ dcgm_discreduflag = 'G' ]") > 0 ){
  7480. for(var i = 1; i <= getNodesetCount("/root/hidden/rcv/h_dcgm/dcgm/dcgm_pid"); i++){
  7481. if( model.getValue("/root/hidden/rcv/h_dcgm/dcgm[" + i + "]/dcgm_discreduflag") == 'G' ){
  7482. dcgm2 = parseInt(getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_pid")) + 1;
  7483. model.removeNodeset("/root/main/h_dcgm2/dcgm[" + dcgm2 + "]");
  7484. model.makeNode("/root/main/h_dcgm2/dcgm[" + dcgm2 + "]");
  7485. copyNodeType("/root/main/h_dcgm2/dcgm[" + dcgm2 + "]", "/root/hidden/rcv/h_dcgm/dcgm[" + i + "]", "replace");
  7486. }
  7487. }
  7488. }
  7489. model.setValue("/root/hidden/m_etc/reducd", model.getValue("/root/main/h_dcgm2/dcgm/dcgm_discreducd"));
  7490. }
  7491. var h_unco_node = instance1.selectSingleNode("/root/hidden/rcv/h_unco");
  7492. if (h_unco_node != null){
  7493. model.copyNode("/root/main/h_unco","/root/hidden/rcv/h_unco");
  7494. model.setValue("/root/hidden/m_etc/uncocd", model.getValue("/root/main/h_unco/unco/unco_uncocd"));
  7495. }
  7496. var h_cash_node = instance1.selectSingleNode("/root/hidden/rcv/h_cash");
  7497. if (h_cash_node != null){
  7498. model.copyNode("/root/main/h_cash","/root/hidden/rcv/h_cash");
  7499. }
  7500. var h_onln_node = instance1.selectSingleNode("/root/hidden/rcv/h_onln");
  7501. if (h_onln_node != null){
  7502. model.copyNode("/root/main/h_onln","/root/hidden/rcv/h_onln");
  7503. }
  7504. }
  7505. }
  7506. /*
  7507. * 수가계산
  7508. */
  7509. function fCalcScorCalc(){
  7510. // var ll_dcgm = getNodesetCount("/root/main/h_dcgm/dcgm");
  7511. // var ll_unco = getNodesetCount("/root/main/h_unco/unco");
  7512. // var ll_card = getNodesetCount("/root/main/h_card/card");
  7513. // var ll_cnst = getNodesetCount("/root/main/h_cnst/cnst");
  7514. // var ll_inbs = getNodesetCount("/root/main/h_inbs/inbs");
  7515. var ll_srdg = getNodesetCount("/root/main/h_srdg/srdg");
  7516. //20090701 2.희귀난치성산정특례 고시적용
  7517. var ll_rooa = getNodesetCount("/root/main/h_rooa/rooa");
  7518. // var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  7519. // if (ptbs_pid == "" || ptbs_pid == null){
  7520. // messageBox("환자 기본자료가 없습니다!","E999","");
  7521. // return false;
  7522. // }
  7523. //멀티건일 경우 체크 제외
  7524. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1 ){
  7525. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7526. if (otpt_orddd == "" || otpt_orddd == null){
  7527. messageBox("진료일자를 입력해 주십시요!","E999","");
  7528. return false;
  7529. }
  7530. fOrdTypeChk();
  7531. var otpt_orddrid = (model.getValue("/root/main/otpt/otpt_orddrid"));
  7532. if (otpt_orddrid == "-" || otpt_orddrid == "" || otpt_orddrid == " " || otpt_orddrid == null){
  7533. messageBox("확인! 진료의를 정확히 선택하십시요!","E999","");
  7534. return false;
  7535. }
  7536. //******************************************************************************************************************************
  7537. //20090701 2.희귀난치성산정특례 고시적용 7/1-9/30 유예기간 10/1 마스터 체크
  7538. if (model.getValue("/root/main/otpt/otpt_orddd") >= RAREOBST_APPDD && model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom &&
  7539. (model.getValue("/root/main/otpt/otpt_suppkind") == supp_RAREOBST_SJ || //희귀난치성산정특례
  7540. model.getValue("/root/main/otpt/otpt_suppkind") == "46" ||
  7541. model.getValue("/root/main/otpt/otpt_suppkind") == supp_RAREOBST_SJ_HOME)) { //가정간호(희귀난치성산정특례)
  7542. if (eval(ll_rooa) < 1) {
  7543. //해당 진료일자 중증 내역 존재 여부 체크
  7544. messageBox("확인! 희귀난치성산정특례 내역이 없습니다! 희귀난치성산정특례를 적용 할 수 없습니다!","E999","");
  7545. return false;
  7546. } else {
  7547. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7548. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7549. var ls_rooagubn = 'N';
  7550. ll_rooa = eval(ll_rooa);
  7551. for(var i = 1 ; i <= ll_rooa ; i++){
  7552. var rooa_fromdd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_fromdd");
  7553. var rooa_todd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_todd");
  7554. var rooa_signyn = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_signyn");
  7555. var rooa_insukind = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_insukind");
  7556. if ((eval(rooa_fromdd) <= eval(otpt_orddd) && eval(rooa_todd) >= eval(otpt_orddd)) && rooa_insukind == otpt_insukind) {
  7557. if(rooa_signyn == 'Y' ){
  7558. ls_rooagubn = 'Y';
  7559. }else{
  7560. if( ls_rooagubn != 'Y' ){
  7561. ls_rooagubn = 'C';
  7562. }
  7563. }
  7564. }
  7565. }
  7566. if (ls_rooagubn == 'N') {
  7567. messageBox("확인! 해당기간의 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  7568. return false;
  7569. }else if (ls_rooagubn == 'C') {
  7570. messageBox("확인! 해당기간의 서명된 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  7571. return false;
  7572. }
  7573. }
  7574. }
  7575. //건강보험: 개심술,개두술,암환자 적용시 중증내역이 존재하는지 검증
  7576. if (model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom &&
  7577. (model.getValue("/root/main/otpt/otpt_suppkind") == supp_GAESIMGAEDU || //개심, 개두
  7578. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER || //등록암
  7579. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME || //가정간호(등록암)
  7580. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME_HOSPICE)) //가정형호스피스(등록암)
  7581. {
  7582. //cnt필요 ***
  7583. if (eval(ll_srdg) < 1){
  7584. //해당 진료일자 중증 내역 존재 여부 체크
  7585. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  7586. return false;
  7587. }else{
  7588. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7589. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7590. var ls_srdggubn = 'N';
  7591. ll_srdg = eval(ll_srdg);
  7592. for(var i = 1 ; i <= ll_srdg ; i++){
  7593. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  7594. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  7595. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  7596. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  7597. if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd)) && srdg_insukind == otpt_insukind){
  7598. if( srdg_signyn == 'Y' ){
  7599. ls_srdggubn = 'Y';
  7600. }else{
  7601. if( ls_srdggubn != 'Y' ){
  7602. ls_srdggubn = 'C';
  7603. }
  7604. }
  7605. }
  7606. }
  7607. if (ls_srdggubn == 'N') {
  7608. messageBox("확인! 해당기간의 중증 내역이 존재하지 않습니다!","E999","");
  7609. return false;
  7610. }else if (ls_srdggubn == 'C') {
  7611. messageBox("확인! 해당기간의 서명된 중증 내역이 존재하지 않습니다!","E999","");
  7612. return false;
  7613. }
  7614. }
  7615. }else if(( model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1 || //보호1, 2종
  7616. model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2 ) &&
  7617. (model.getValue("/root/main/otpt/otpt_suppkind") == supp_GAESIMGAEDU || //개심, 개두
  7618. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER || //등록암
  7619. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME || //가정간호(등록암)
  7620. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME_HOSPICE)) //가정형호스피스(등록암)
  7621. {
  7622. //cnt필요 ***
  7623. if (eval(ll_srdg) < 1){
  7624. //해당 진료일자 중증 내역 존재 여부 체크
  7625. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  7626. return false;
  7627. }else{
  7628. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  7629. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7630. var ls_srdggubn = 'N';
  7631. ll_srdg = eval(ll_srdg);
  7632. for(var i = 1 ; i <= ll_srdg ; i++){
  7633. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  7634. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  7635. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  7636. var srdg_seridiagno = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_seridiagno");
  7637. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  7638. if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd))
  7639. && (srdg_seridiagno != '0' && srdg_seridiagno != '' )
  7640. && srdg_insukind != null && otpt_insukind.substr(0,1) == srdg_insukind.substr(0,1) ){
  7641. if( srdg_signyn == 'Y' ){
  7642. ls_srdggubn = 'Y';
  7643. }else{
  7644. if( ls_srdggubn != 'Y' ){
  7645. ls_srdggubn = 'C';
  7646. }
  7647. }
  7648. }else if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd))
  7649. && srdg_insukind != null && otpt_insukind.substr(0,1) == srdg_insukind.substr(0,1) ){
  7650. if( ls_srdggubn != 'Y' ){
  7651. ls_srdggubn = 'X';
  7652. }
  7653. }
  7654. }
  7655. if (ls_srdggubn == 'N'){
  7656. messageBox("확인! 해당기간의 중증 내역이 존재하지 않습니다!","E999","");
  7657. return false;
  7658. }else if (ls_srdggubn == 'C'){
  7659. messageBox("확인! 해당기간의 서명된 중증 내역이 존재하지 않습니다!","E999","");
  7660. return false;
  7661. }else if (ls_srdggubn == 'X'){
  7662. messageBox("확인! 중증내역에 중증번호가 입력되지 않았습니다!","E999","");
  7663. return false;
  7664. }
  7665. }
  7666. }
  7667. }//if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1 ){
  7668. //******************************************************************************************************************************
  7669. // if (model.getvalue("/root/main/ptbs/ptbs_pid") == null || model.getvalue("/root/main/ptbs/ptbs_pid") == "" ||
  7670. // model.getValue("/root/main/ptbs/ptbs_pid") == " " || model.getValue("/root/main/ptbs/ptbs_pid") == "-" )
  7671. if (model.getvalue("/root/main/ptbs/ptbs_pid").length < 1 ){
  7672. gs_olnw = "N";
  7673. //2008-01-07 이동식 수정
  7674. model.setValue("/root/hidden/flag/ptbs_flag","I");
  7675. model.setValue("/root/main/ptbs/ptbs_pid", "");
  7676. //2007-08-28 이동식 추가
  7677. // if( model.getValue("/root/main/otpt/otpt_tablename") == "temp" ){
  7678. // model.setValue("/root/hidden/flag/ptbs_flag","I");
  7679. // }
  7680. //END..
  7681. //존재하면
  7682. }else{
  7683. gs_olnw = "O";
  7684. }
  7685. fSubmitBefore();
  7686. fSubmitAfter();
  7687. model.setValue("/root/hidden/flag/olnw",gs_olnw);
  7688. model.copyNode("/root/send/data1" , "/root/hidden/flag");
  7689. model.copyNode("/root/send/data2" , "/root/main/ptbs");
  7690. model.copyNode("/root/send/data3" , "/root/main/otpt");
  7691. model.copyNode("/root/send/data4" , "/root/main/ptin");
  7692. // model.copyNode("/root/send/data5" , "/root/main/ptdc");
  7693. model.copyNode("/root/send/data6" , "/root/main/opmi");
  7694. model.copyNode("/root/send/data7" , "/root/main/oscl");
  7695. model.copyNode("/root/send/data8" , "/root/main/otpt_old");
  7696. model.copyNode("/root/send/data9" , "/root/hidden/session");
  7697. var spacechk_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  7698. if (spacechk_pid == null || spacechk_pid == "" || spacechk_pid == " " || spacechk_pid == "-") spacechk_pid = "-";
  7699. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null)
  7700. {
  7701. if (instance1.selectSingleNode("/root/main/h_srdg/srdg/srdg_pid") != null)
  7702. {
  7703. for(var i = 1; i <= getNodesetCount("/root/main/h_srdg/srdg/srdg_pid"); i++){
  7704. model.setValue("/root/main/h_srdg/srdg["+ i +"]/srdg_pid",spacechk_pid);
  7705. }
  7706. }
  7707. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null) model.setValue("/root/send/data16", getNodeListCSV(instance1.selectNodes("/root/main/h_srdg/srdg")));
  7708. }
  7709. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null)
  7710. {
  7711. if (instance1.selectSingleNode("/root/main/h_hndc/hndc/hndc_pid") != null)
  7712. {
  7713. for(var i = 1; i <= getNodesetCount("/root/main/h_hndc/hndc/hndc_pid"); i++){
  7714. model.setValue("/root/main/h_hndc/hndc["+ i +"]/hndc_pid",spacechk_pid);
  7715. }
  7716. }
  7717. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null) model.setValue("/root/send/data17", getNodeListCSV(instance1.selectNodes("/root/main/h_hndc/hndc")));
  7718. }
  7719. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null)
  7720. {
  7721. if (instance1.selectSingleNode("/root/main/h_onln/onln/onln_pid") != null)
  7722. {
  7723. for(var i = 1; i <= getNodesetCount("/root/main/h_onln/onln/onln_pid"); i++) {
  7724. model.setValue("/root/main/h_onln/onln["+ i +"]/onln_pid",spacechk_pid);
  7725. }
  7726. }
  7727. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null) model.setValue("/root/send/data18", getNodeListCSV(instance1.selectNodes("/root/main/h_onln/onln")));
  7728. }
  7729. if (instance1.selectSingleNode("/root/main/m_otpt/otpt/otpt_pid") != null)
  7730. {
  7731. if (instance1.selectSingleNode("/root/main/m_otpt/otpt/otpt_pid") != null)
  7732. {
  7733. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_pid"); i++){
  7734. model.setValue("/root/main/m_otpt/otpt["+ i +"]/otpt_pid",spacechk_pid);
  7735. }
  7736. }
  7737. if (instance1.selectSingleNode("/root/main/m_otpt/otpt/otpt_pid") != null) model.setValue("/root/send/data20", getNodeListCSV(instance1.selectNodes("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]")));
  7738. }
  7739. if (instance1.selectSingleNode("/root/main/m_ptin/ptin") != null)
  7740. {
  7741. if (instance1.selectSingleNode("/root/main/m_ptin/ptin/ptin_pid") != null)
  7742. {
  7743. for(var i = 1; i <= getNodesetCount("/root/main/m_ptin/ptin/ptin_pid"); i++){
  7744. model.setValue("/root/main/m_ptin/ptin["+ i +"]/ptin_pid",spacechk_pid);
  7745. }
  7746. }
  7747. if (instance1.selectSingleNode("/root/main/m_ptin/ptin") != null) model.setValue("/root/send/data21", getNodeListCSV(instance1.selectNodes("/root/main/m_ptin/ptin")));
  7748. }
  7749. // 클라이언트 IP주소 저장 추가 by 조중래 20130906
  7750. model.makeValue("/root/send/data2/ptbs_ipaddr", getUserInfo("ipaddr"));
  7751. //수가계산
  7752. if (submit("TXPMO00101") == true){
  7753. //신환이면 ptbs copynode!!!
  7754. if (gs_olnw == "N"){
  7755. //환자번호만 세팅
  7756. model.setValue("/root/main/ptbs/ptbs_pid", model.getValue("/root/hidden/rcv/ptbs/ptbs_pid"));
  7757. // model.copyNode("/root/main/ptbs","/root/hidden/rcv/ptbs");
  7758. //
  7759. // //성별 세팅
  7760. // var sex = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  7761. // model.setValue("/root/main/ptbs/ptbs_sex",getGender(sex));
  7762. //
  7763. // //var age = (model.getValue("/root/main/ptbs/ptbs_rrgstno1")).concat(model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  7764. // //var age = (model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  7765. // //나이 세팅
  7766. // model.setValue("/root/main/ptbs/ptbs_age",getFullAge(model.getValue("/root/main/ptbs/ptbs_brthdd")));
  7767. model.setValue("/root/hidden/flag/ptbs_flag","R");
  7768. //gs_olnw = "O"; //2006-01-24 추가 ************************* 중요!!!
  7769. }
  7770. gs_prcs = "2";
  7771. //멀티인지 단일 건인지 여부 체크 후
  7772. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y']") < 1){
  7773. model.copyNode("/root/main/opmi","/root/hidden/rcv/opmi");
  7774. model.copyNode("/root/main/oscl","/root/hidden/rcv/oscl");
  7775. //2015/08/29 이정택 추가
  7776. model.copyNode("/root/main/m_oscl","/root/hidden/rcv/m_oscl");
  7777. //2015/08/29 이정택 추가
  7778. var bogj_node = instance1.selectSingleNode("/root/hidden/rcv/bogj");
  7779. if (bogj_node != null) model.copyNode("/root/main/bogj","/root/hidden/rcv/bogj");
  7780. // if (getNodesetCount("/root/hidden/rcv/h_dcgm") > 0) model.copyNode("/root/main/h_dcgm","/root/hidden/rcv/h_dcgm");
  7781. // if (getNodesetCount("/root/hidden/rcv/h_unco") > 0) model.copyNode("/root/main/h_unco","/root/hidden/rcv/h_unco");
  7782. fCalcRcpt("S");
  7783. }else{
  7784. model.copyNode("/root/main/m_opmi","/root/hidden/rcv/m_opmi");
  7785. model.copyNode("/root/main/m_oscl","/root/hidden/rcv/m_oscl");
  7786. model.copyNode("/root/main/m_ptin","/root/hidden/rcv/m_ptin");
  7787. // model.copyNode("/root/main/m_ptdc","/root/hidden/rcv/m_ptdc");
  7788. //datagrid3.rebuild();
  7789. //중간금
  7790. // if (getNodesetCount("/root/hidden/rcv/m_dcgm") > 0) model.copyNode("/root/main/m_dcgm","/root/hidden/rcv/m_dcgm");
  7791. // if (getNodesetCount("/root/hidden/rcv/m_unco") > 0) model.copyNode("/root/main/m_unco","/root/hidden/rcv/m_unco");
  7792. var cnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  7793. for(var i = 1; i <= cnt; i++){
  7794. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y' ){
  7795. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_histstat", 'R' ); //선불 접수
  7796. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_medamtpostyn", 'N' ); //진찰료 선불
  7797. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_calcflag", 'N' ); //접수비 수납 완료!!
  7798. model.setValue("/root/hidden/flag/rcpt_flag", 'Y' );
  7799. }
  7800. }
  7801. //수납할 내역 summary 계산 후 display
  7802. fCalcRcpt("M");
  7803. }
  7804. model.setValue("/root/hidden/flag/opmi_flag" , "I");
  7805. model.setValue("/root/hidden/flag/otpt_flag" , "I");
  7806. model.refresh();
  7807. }
  7808. return true;
  7809. }
  7810. function fOldOTPTCopy(currow){
  7811. //수정중~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7812. //2007.09.18 이동식 수정. - 그리드 선택시 수정모드로..
  7813. model.setValue("/root/hidden/com/rowchng", currow);
  7814. copyNodeWithPostfix("/root/main/otpt_old", "/root/main/h_otpt/otpt["+ currow + "]","_old");
  7815. model.copyNode("/root/main/otpt", "/root/main/h_otpt/otpt["+ currow +"]");
  7816. //진료과 의사 세팅.
  7817. if( CENTERYN == 'Y' ){
  7818. var otpt_centcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd");
  7819. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  7820. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  7821. model.setValue("/root/main/otpt/otpt_centcd", otpt_centcd);
  7822. cmb_centcd.dispatch("xforms-value-changed");
  7823. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  7824. fOrddridSet(orddeptcd);
  7825. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  7826. }else{
  7827. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  7828. fOrddridSet(otpt_orddeptcd);
  7829. }
  7830. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  7831. var deptengabbr = model.getValue("/root/init/orddeptcd[ cd = '" + otpt_orddeptcd + "']/deptengabbr");
  7832. model.makeNode("/root/main/otpt/otpt_orddeptabbr");
  7833. model.setValue("/root/main/otpt/otpt_orddeptabbr", deptengabbr);
  7834. //진료의 세팅.
  7835. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  7836. var otpt_orddrid = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddrid");
  7837. model.setValue("/root/main/otpt/otpt_orddrid", otpt_orddrid);
  7838. // cmb_orddrid.dispatch("xforms-value-changed");
  7839. var specordyn = model.getValue("/root/init/orddrid[cd = '" + otpt_orddrid + "' and dp = '" + otpt_orddeptcd + "']/sp");
  7840. //model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  7841. if( specordyn == 'Y' || specordyn == 'y' ){
  7842. model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  7843. rdo_specordyn.disabled = false;
  7844. }else{
  7845. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  7846. rdo_specordyn.disabled = true;
  7847. }
  7848. //2007-08-17 이동식 추가 - 진료의 선택시 영문약어표시
  7849. var drengabbr = model.getValue("/root/init/orddrid[ cd = '" + otpt_orddrid + "']/drengabbr");
  7850. // var deptengabbr = model.getValue("/root/main/otpt/otpt_orddeptabbr");
  7851. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  7852. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", drengabbr);
  7853. //센터, 서브진료과세팅
  7854. // model.setValue("", );
  7855. // model.setValue("", );
  7856. // model.setValue("/root/main/otpt/otpt_specordyn", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_specordyn"));
  7857. model.setValue("/root/main/otpt/otpt_fsexamflag", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_fsexamflag"));
  7858. var h_otpt_pid = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_pid");
  7859. var h_otpt_insukind = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insukind");
  7860. var h_otpt_insucd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insucd");
  7861. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7862. var ptin_insukind = model.getValue("/root/main/ptin/ptin_insukind");
  7863. if (h_otpt_insukind != otpt_insukind){
  7864. fInsuKindRef(h_otpt_pid, h_otpt_insukind, h_otpt_insucd);
  7865. fInsuTabChng();
  7866. }
  7867. // var h_otpt_disccd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_disccd");
  7868. // var ptdc_disccd = model.getValue("/root/main/ptdc/ptdc_disccd");
  7869. // if (h_otpt_disccd != ptdc_disccd){
  7870. // fDiscCDRef(h_otpt_pid, h_otpt_disccd, "O");
  7871. // }
  7872. //fMultiSaveHistRef 함수내에서 btn_updt 에 대해 비활성화 처리하므로 함수 위에서 처리
  7873. btn_calcscorcalc.disabled = false;
  7874. button2.disabled = false;
  7875. btn_updt.disabled = true;
  7876. btn_cncl.disabled = false;
  7877. btn_save.disabled = true;
  7878. //멀티 등록 처리하면서 카드/현금 일괄처리 했는지 여부 체크 + 같이 처리했던 이력 조회
  7879. // fMultiSaveHistRef(currow);
  7880. //row color change => 변경취소 선택
  7881. btn_stat.attribute("background-color") = "#ff0000";
  7882. //END..
  7883. }
  7884. //2007-11-22 이동식
  7885. function fOldOTPTCopy2(currow){
  7886. //수정중~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7887. //2007.09.18 이동식 수정. - 그리드 선택시 수납모드로..
  7888. model.setValue("/root/hidden/com/rowchng",currow);
  7889. copyNodeWithPostfix("/root/main/otpt_old","/root/main/h_otpt/otpt["+ currow+ "]","_old");
  7890. model.copyNode("/root/main/otpt","/root/main/h_otpt/otpt["+ currow +"]");
  7891. cmb_orddeptcd.dispatch("xforms-value-changed");
  7892. model.setValue("/root/main/otpt/otpt_orddrid", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddrid"));
  7893. cmb_orddrid.dispatch("xforms-value-changed");
  7894. model.setValue("/root/main/otpt/otpt_specordyn", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_specordyn"));
  7895. model.setValue("/root/main/otpt/otpt_fsexamflag", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_fsexamflag"));
  7896. var h_otpt_pid = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_pid");
  7897. var h_otpt_insukind = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insukind");
  7898. var h_otpt_insucd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_insucd");
  7899. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  7900. var ptin_insukind = model.getValue("/root/main/ptin/ptin_insukind");
  7901. if (h_otpt_insukind != otpt_insukind){
  7902. fInsuKindRef(h_otpt_pid, h_otpt_insukind, h_otpt_insucd);
  7903. fInsuTabChng();
  7904. }
  7905. // var h_otpt_disccd = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_disccd");
  7906. // var ptdc_disccd = model.getValue("/root/main/ptdc/ptdc_disccd");
  7907. //
  7908. // if (h_otpt_disccd != ptdc_disccd){
  7909. // fDiscCDRef(h_otpt_pid, h_otpt_disccd, "O");
  7910. // }
  7911. //수가계산버튼만 활성화
  7912. // btn_calcscorcalc.disabled = false;
  7913. // btn_updt.disabled = true;
  7914. // btn_cncl.disabled = true;
  7915. // btn_save.disabled = true;
  7916. //멀티 등록 처리하면서 카드/현금 일괄처리 했는지 여부 체크 + 같이 처리했던 이력 조회
  7917. //fMultiSaveHistRef(currow);
  7918. }
  7919. //2007-09-20 이동식 추가
  7920. function fCheckDiscAmt(){
  7921. var discAmt = model.getValue("/root/main/opmi/opmi_discamt");
  7922. //계정감면액이 있을경우에만 해당..
  7923. if( discAmt != '0' && discAmt != ' ' && discAmt != '' ){
  7924. var dcgmCnt = getNodesetCount("/root/main/h_dcgm/dcgm/dcgm_discreduamt");
  7925. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  7926. for(var i = 1; i <= dcgmCnt; i++){
  7927. if( 'D' == model.getValue("/root/main/h_dcgm/dcgm["+ i +"]/dcgm_discreduflag") ){
  7928. model.removeNodeset("/root/main/h_dcgm/dcgm["+ i +"]");
  7929. i = parseInt(i) -1;
  7930. dcgmCnt = parseInt(dcgmCnt) -1;
  7931. }
  7932. }
  7933. var dcgmCnt2= getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_discreduamt");
  7934. for(var i = 1; i <= dcgmCnt2; i++){
  7935. if( 'D' == model.getValue("/root/main/h_dcgm2/dcgm["+ i +"]/dcgm_discreduflag") ){
  7936. model.removeNodeset("/root/main/h_dcgm2/dcgm["+ i +"]");
  7937. i = parseInt(i) -1;
  7938. dcgmCnt2 = parseInt(dcgmCnt2) -1;
  7939. }
  7940. }
  7941. var opmiCnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  7942. if( opmiCnt > 0 ){
  7943. //멀티일때 감면내역 생성
  7944. for(var i = 1; i <= opmiCnt; i++ ){
  7945. for(var otpt = 1; otpt <= getNodesetCount("/root/main/m_otpt/otpt/otpt_mseqno"); otpt++ ){
  7946. if( model.getValue("/root/main/m_otpt/otpt[" + otpt + "]/otpt_mseqno") == model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_mseqno")){
  7947. disccd = model.getValue("/root/main/m_otpt/otpt[" + otpt + "]/otpt_disccd");
  7948. break;
  7949. }
  7950. }
  7951. dcgmCnt = parseInt(getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_pid")) + 1;
  7952. fCreateDcgmNode(dcgmCnt);
  7953. //접수건별 감액금액 세팅
  7954. discAmt = model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_discamt");
  7955. //접수건별 mseqno 세팅
  7956. model.makeNode("/root/main/h_dcgm2/dcgm[" + dcgmCnt + "]/dcgm_mseqno");
  7957. model.setValue("/root/main/h_dcgm2/dcgm[" + dcgmCnt + "]/dcgm_mseqno", model.getValue("/root/main/m_opmi/opmi[" + i + "]/opmi_mseqno"));
  7958. //dcgmCnt = dcgmCnt + 1;
  7959. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreducd",disccd);
  7960. //model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  7961. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduflag","D");
  7962. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduamt",discAmt);
  7963. }
  7964. }else{
  7965. dcgmCnt = parseInt(getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_pid")) + 1;
  7966. fCreateDcgmNode(dcgmCnt);
  7967. //dcgmCnt = dcgmCnt + 1;
  7968. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreducd",disccd);
  7969. //model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  7970. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduflag","D");
  7971. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduamt",discAmt);
  7972. }
  7973. }
  7974. return true;
  7975. }
  7976. //END..
  7977. //2007-09-21 이동식 추가 - DCGM 노드 생성
  7978. function fCreateDcgmNode( row_cnt ){
  7979. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_pid");
  7980. model.setValue("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  7981. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_seqno");
  7982. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptdd");
  7983. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptno");
  7984. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_instcd");
  7985. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptstat");
  7986. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptseqno");
  7987. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_ordtype");
  7988. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_discreduflag");
  7989. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_discreducd");
  7990. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_discreduamt");
  7991. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_apprsn");
  7992. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptexecdd");
  7993. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcpttm");
  7994. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_remfact");
  7995. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_rcptrid");
  7996. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_fstrgstrid");
  7997. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_fstrgstdt");
  7998. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_lastupdtrid");
  7999. model.makeNode("/root/main/h_dcgm2/dcgm["+ row_cnt +"]/dcgm_lastupdtdt");
  8000. }
  8001. //END..
  8002. //2007-09-21 이동식 추가 - UNCO 노드 생성
  8003. function fCreateUncoNode( row_cnt ){
  8004. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_pid");
  8005. model.setValue("/root/main/h_unco/unco["+ row_cnt +"]/unco_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  8006. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptdd");
  8007. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptno");
  8008. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptseqno");
  8009. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_seqno");
  8010. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_instcd");
  8011. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptstat");
  8012. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_ordtype");
  8013. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_orddd");
  8014. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_orddeptcd");
  8015. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_orddrid");
  8016. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_dschdd");
  8017. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_insukind");
  8018. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_suppkind");
  8019. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_uncorcptflag");
  8020. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_uncocls");
  8021. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_uncocd");
  8022. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_uncoamt");
  8023. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptamt");
  8024. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_debtamt");
  8025. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_endyn");
  8026. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_clincstdyno");
  8027. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_empid");
  8028. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptexecdd");
  8029. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcpttm");
  8030. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_rcptrid");
  8031. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_apprsn");
  8032. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_remfact");
  8033. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_fstrgstrid");
  8034. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_fstrgstdt");
  8035. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_lastupdtrid");
  8036. model.makeNode("/root/main/h_unco/unco["+ row_cnt +"]/unco_lastupdtdt");
  8037. }
  8038. //END..
  8039. //2007-10-20 이동식 추가
  8040. function fCheckRgstValues(){
  8041. if(!pamCompareNodes("/root/cmp/otpt", "/root/main/otpt")){
  8042. return false;
  8043. // }else if( ! pamCompareNodes("/root/cmp/ptdc", "/root/main/ptdc")){
  8044. // return false;
  8045. }else if( ! pamCompareNodes("/root/cmp/ptin", "/root/main/ptin")){
  8046. return false;
  8047. }else if( ! pamCompareNodes("/root/cmp/ptbs", "/root/main/ptbs")){
  8048. return false;
  8049. }
  8050. return true;
  8051. }
  8052. //2008-05-23 이동식 추가 - 진료의뢰서 입력
  8053. //20100210 기존로직 서울성모 오픈전 요구사항으로 수정하지 않음.
  8054. // 여의도 요청으로 인하여 원무 공통코드 P0022 / 170 재적용 함.
  8055. function fInsertOrdReqForm(nodePath){
  8056. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  8057. var orddeptcd = model.getValue(nodePath + "otpt_orddeptcd");
  8058. var etcOrdFlag = model.getValue(nodePath + "otpt_etcordflag");
  8059. var insukind = model.getValue(nodePath + "otpt_insukind");
  8060. var ordreqformflag = model.getValue(nodePath + "otpt_ordreqformflag");
  8061. var insuflag = '1'; //보험/보호구분
  8062. var ordReqKind = '1'; //진료의뢰서
  8063. var suppkind = model.getValue(nodePath + "otpt_suppkind");
  8064. //수급절차 급여가능일때만 의뢰서 입력
  8065. if( ordreqformflag != '3' ){
  8066. //return false;
  8067. return true;
  8068. }
  8069. //의뢰서 체크 여부(원무공통코드 P0022 / 170)
  8070. if ( model.getValue("/root/init/P0022/P0022list[cd = '170' ]/nm") == "Y") {
  8071. var reqdeptno = model.getValue("/root/init/orddeptcd[ cd = '" +orddeptcd + "']/reqdeptno");
  8072. //치과(55), 가정의학과(23), 재활의학과(21) 제외
  8073. // 치과 진찰료 별도산정 관련 수정(2017/05/10 이정택)
  8074. //if( reqdeptno == "55" || reqdeptno == "23" || reqdeptno == "21" ){
  8075. if( reqdeptno.substr(0,1)=="5" || reqdeptno == "23" || reqdeptno == "21" ){
  8076. return true;
  8077. }
  8078. if (etcOrdFlag != "G" && etcOrdFlag != "D" && etcOrdFlag != "W" && etcOrdFlag != "Y") {
  8079. //건강보험, 의료급여 이면서, 전액본인부담, 가정간호, 수탁 제외
  8080. if ((insukind == "11" || insukind == "21" || insukind == "22") && suppkind != "01" && suppkind != "10" && suppkind != "11" && suppkind != "12" && suppkind != "13") {
  8081. var cnstCnt = getNodesetCount("/root/main/h_cnst/cnst");
  8082. if (cnstCnt > 0) {
  8083. var sCnstReqDeptNo = "";
  8084. for(var i = 1; i <= cnstCnt; i++ ) {
  8085. //진료의뢰서의 청구과 코드 체크(내과계만 체크)
  8086. sCnstReqDeptNo = model.getValue("/root/init/orddeptcd[ cd = '" + model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") + "']/reqdeptno");
  8087. if (sCnstReqDeptNo == "01") {
  8088. //현재진료과와 의뢰서 등록된 진료과의 청구과 코드가 같으면 의뢰서 메세지 제외
  8089. if (sCnstReqDeptNo == reqdeptno) {
  8090. return true;
  8091. }
  8092. }
  8093. if (model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") == orddeptcd) {
  8094. return true;
  8095. }
  8096. }
  8097. var result = messageBox("[" + model.getValue("/root/init/orddeptcd[ cd = '" +orddeptcd + "']/nm") + "] 진료의뢰서가 없습니다. 의뢰서를 등록하시겠습니까?", "Q999", "");
  8098. if (result == "6") {
  8099. return false;
  8100. }
  8101. } else {
  8102. var result = messageBox("[" + model.getValue("/root/init/orddeptcd[ cd = '" +orddeptcd + "']/nm") + "] 진료의뢰서가 없습니다. 의뢰서를 등록하시겠습니까?", "Q999", "");
  8103. if (result == "6") {
  8104. return false;
  8105. }
  8106. }
  8107. }
  8108. return true;
  8109. }
  8110. return true;
  8111. }
  8112. //건강보험일경우 보험으로 세팅
  8113. if( insukind == '11' ){
  8114. insuflag = '1';
  8115. //급여일 경우 보호로 세팅
  8116. }else if ( insukind == '21' || insukind == '22' ){
  8117. insuflag = '2';
  8118. //보험유형이 보험/보호가 아닐 경우 진료의뢰서 입력 하지 않음.
  8119. }else{
  8120. //return false;
  8121. return true;
  8122. }
  8123. if( etcOrdFlag != 'H' ){ //의뢰 접수
  8124. //진료의뢰서 확인
  8125. var fsexamflag = model.getValue(nodePath + "otpt_fsexamflag");
  8126. var deptengabbr = model.getValue(nodePath + "otpt_orddeptabbr");
  8127. //var deptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + cmb_deptcd.value + "']/deptengabbr");
  8128. var reqdeptno = model.getValue("/root/init/orddeptcd[ cd = '" +orddeptcd + "']/reqdeptno");
  8129. var outhistpath = "/root/main/outhist/outhistlist"; //외래이력노드
  8130. if( fCheckOrdCnst(pid, fsexamflag, orddeptcd, deptengabbr, reqdeptno, outhistpath, insukind) ){
  8131. //이미 의뢰서가 존재할 경우
  8132. return true;
  8133. }else{
  8134. //진료의뢰서 추가 필요
  8135. ordReqKind = '1'; //진료의뢰서
  8136. }
  8137. }else{
  8138. ordReqKind = '3'; //의뢰
  8139. }
  8140. // messageBox("진료의뢰서가 필요합니다.", "E999", "");
  8141. var reqFormCnt = parseInt(getNodesetCount("/root/main/h_cnst/cnst/cnst_pid")) + 1;
  8142. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_stat", 'I');
  8143. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_pid", pid);
  8144. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_orddeptcd", orddeptcd);
  8145. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_insuflag", insuflag);
  8146. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_ordreqkind", ordReqKind);
  8147. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_todd", '99991231');
  8148. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_seqno", '1');
  8149. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  8150. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_histstat", 'Y');
  8151. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_fromdd", getCurrentDate());
  8152. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_reqformhospnm", '-');
  8153. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_reqformdrnm", '-');
  8154. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_remfact", '등록시 자동입력');
  8155. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_fstrgstrid", '');
  8156. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_fstrgstdt", '');
  8157. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_lastupdtrid", '');
  8158. model.makeValue("/root/main/h_cnst/cnst[" + reqFormCnt + "]/cnst_lastupdtdt", '');
  8159. return true;
  8160. }
  8161. /*
  8162. * 접수*변경
  8163. */
  8164. function fSaveUpdt(flag){
  8165. //2007-09-20 이동식 추가 계정감면 체크
  8166. fCheckDiscAmt();
  8167. //END..
  8168. //2008-05-23 이동식 추가 - 진료의뢰서 입력
  8169. var nodePath = "/root/main/otpt/";
  8170. if (fInsertOrdReqForm(nodePath) == false) {
  8171. return false;
  8172. }
  8173. //END..
  8174. var ll_dcgm = getNodesetCount("/root/main/h_dcgm/dcgm");
  8175. var ll_unco = getNodesetCount("/root/main/h_unco/unco");
  8176. var ll_card = getNodesetCount("/root/main/h_card/card");
  8177. var ll_cnst = getNodesetCount("/root/main/h_cnst/cnst");
  8178. var ll_inbs = getNodesetCount("/root/main/h_inbs/inbs");
  8179. var ll_srdg = getNodesetCount("/root/main/h_srdg/srdg");
  8180. //20090701 2.희귀난치성산정특례 고시적용
  8181. var ll_rooa = getNodesetCount("/root/main/h_rooa/rooa");
  8182. if ((model.getValue("/root/main/ptbs/ptbs_hngnm")).length < 1 || model.getValue("/root/main/ptbs/ptbs_hngnm") == '-'){
  8183. messageBox("확인! 환자이름을 확인하십시요!","E999","");
  8184. btn_save.disabled = true;
  8185. return false;
  8186. }
  8187. var otpt_orddrid = (model.getValue("/root/main/otpt/otpt_orddrid"));
  8188. if (otpt_orddrid == "-" || otpt_orddrid == "" || otpt_orddrid == " " || otpt_orddrid == null){
  8189. messageBox("확인! 진료의를 정확히 선택하십시요!","E999","");
  8190. return false;
  8191. }
  8192. //진찰료 후불!!!!!인 경우만 수가계산
  8193. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  8194. //선불
  8195. if (otpt_medamtpostyn == "N" && gs_prcs != "2"){
  8196. messageBox("확인! 수가계산 후에 접수하십시요!","E999","");
  8197. btn_save.disabled = true;
  8198. return false;
  8199. }else{
  8200. //수가계산 후 접수내역이 변경되었는지를 체크한다.
  8201. //변경된 내역이 있으면 재계산!
  8202. //접수 && 선불 && 수가계산완료
  8203. if( flag == 'I' && otpt_medamtpostyn == "N" && gs_prcs == "2"){
  8204. if( ! fCheckRgstValues() ){ //변경 되었다면
  8205. messageBox("확인! 수가계산 후 접수정보를 변경하셨습니다. 수가계산을 다시 하신 후 접수하세요.","E999","");
  8206. btn_save.disabled = true;
  8207. return false;
  8208. }
  8209. }else if( flag == 'U' ){
  8210. if( ! fCheckRgstValues() ){ //변경 되었다면
  8211. messageBox("확인! 수가계산 후 접수정보를 변경하셨습니다. 수가계산을 다시 하신 후 변경하세요.","E999","");
  8212. btn_updt.disabled = true;
  8213. btn_cncl.disabled = false;
  8214. return false;
  8215. }
  8216. }
  8217. }
  8218. //환자번호 체크
  8219. if (otpt_medamtpostyn == "N" && (model.getvalue("/root/main/ptbs/ptbs_pid")).length == 0){
  8220. messageBox("확인! 환자번호를 확인하십시요!","E999","");
  8221. btn_save.disabled = true;
  8222. return false;
  8223. }
  8224. //20090701 2.희귀난치성산정특례 고시적용 7/1-9/30 유예기간 10/1 마스터 체크
  8225. if (model.getValue("/root/main/otpt/otpt_orddd") >= RAREOBST_APPDD && model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom &&
  8226. (model.getValue("/root/main/otpt/otpt_suppkind") == supp_RAREOBST_SJ || //희귀난치성산정특례
  8227. model.getValue("/root/main/otpt/otpt_suppkind") == "46" ||
  8228. model.getValue("/root/main/otpt/otpt_suppkind") == supp_RAREOBST_SJ_HOME)) { //가정간호(희귀난치성산정특례)
  8229. if (eval(ll_rooa) < 1) {
  8230. //해당 진료일자 중증 내역 존재 여부 체크
  8231. messageBox("확인! 희귀난치성산정특례 내역이 없습니다! 희귀난치성산정특례를 적용 할 수 없습니다!","E999","");
  8232. return false;
  8233. } else {
  8234. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  8235. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  8236. var ls_rooagubn = 'N';
  8237. ll_rooa = eval(ll_rooa);
  8238. for(var i = 1 ; i <= ll_rooa ; i++){
  8239. var rooa_fromdd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_fromdd");
  8240. var rooa_todd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_todd");
  8241. var rooa_signyn = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_signyn");
  8242. var rooa_insukind = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_insukind");
  8243. if ((eval(rooa_fromdd) <= eval(otpt_orddd) && eval(rooa_todd) >= eval(otpt_orddd)) && rooa_insukind == otpt_insukind) {
  8244. if(rooa_signyn == 'Y' ){
  8245. ls_rooagubn = 'Y';
  8246. }else{
  8247. if( ls_rooagubn != 'Y' ){
  8248. ls_rooagubn = 'C';
  8249. }
  8250. }
  8251. }
  8252. }
  8253. if (ls_rooagubn == 'N') {
  8254. messageBox("확인! 해당기간의 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  8255. return false;
  8256. }else if (ls_rooagubn == 'C') {
  8257. messageBox("확인! 해당기간의 서명된 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  8258. return false;
  8259. }
  8260. }
  8261. }
  8262. //건강보험: 개심술,개두술,암환자 적용시 중증내역이 존재하는지 검증
  8263. if (model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom &&
  8264. (model.getValue("/root/main/otpt/otpt_suppkind") == supp_GAESIMGAEDU ||
  8265. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER ||
  8266. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME ||
  8267. model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME_HOSPICE))
  8268. {
  8269. if (eval(ll_srdg) < 1){
  8270. //해당 진료일자 중증 내역 존재 여부 체크
  8271. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  8272. return false;
  8273. }else{
  8274. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  8275. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  8276. var ls_srdggubn = 'N';
  8277. ll_srdg = eval(ll_srdg);
  8278. for(var i = 1 ; i <= ll_srdg ; i++){
  8279. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  8280. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  8281. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  8282. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  8283. if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd)) && otpt_insukind == srdg_insukind){
  8284. if( srdg_signyn == 'Y' ){
  8285. ls_srdggubn = 'Y';
  8286. }else{
  8287. if( ls_srdggubn != 'Y' ){
  8288. ls_srdggubn = 'C';
  8289. }
  8290. }
  8291. }
  8292. }
  8293. if (ls_srdggubn == 'N'){
  8294. messageBox("확인! 중증 내역이 존재하지 않습니다!","E999","");
  8295. return false;
  8296. }else if (ls_srdggubn == 'C'){
  8297. messageBox("확인! 서명된 중증 내역이 존재하지 않습니다!","E999","");
  8298. return false;
  8299. }
  8300. }
  8301. }else if ((model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1 || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2 )
  8302. && (model.getValue("/root/main/otpt/otpt_suppkind") == supp_GAESIMGAEDU
  8303. || model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER
  8304. || model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME
  8305. || model.getValue("/root/main/otpt/otpt_suppkind") == supp_CANCER_HOME_HOSPICE))
  8306. {
  8307. if (eval(ll_srdg) < 1){
  8308. //해당 진료일자 중증 내역 존재 여부 체크
  8309. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  8310. return false;
  8311. }else{
  8312. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  8313. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  8314. var ls_srdggubn = 'N';
  8315. ll_srdg = eval(ll_srdg);
  8316. for(var i = 1 ; i <= ll_srdg ; i++){
  8317. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  8318. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  8319. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  8320. var srdg_seridiagno = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_seridiagno");
  8321. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  8322. if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd)) && (srdg_seridiagno != '0' && srdg_seridiagno != '' ) && srdg_insukind != null && otpt_insukind.substr(0,1) == srdg_insukind.substr(0,1) ){
  8323. if( srdg_signyn == 'Y' ){
  8324. ls_srdggubn = 'Y';
  8325. }else{
  8326. ls_srdggubn = 'C';
  8327. }
  8328. }else if ((eval(srdg_fromdd) <= eval(otpt_orddd) && eval(srdg_todd) >= eval(otpt_orddd)) && srdg_insukind != null && otpt_insukind.substr(0,1) == srdg_insukind.substr(0,1) ){
  8329. if( ls_srdggubn != 'Y' ){
  8330. ls_srdggubn = 'X';
  8331. }
  8332. }
  8333. }
  8334. if (ls_srdggubn == 'N'){
  8335. messageBox("확인! 중증 내역이 존재하지 않습니다!","E999","");
  8336. return false;
  8337. }else if (ls_srdggubn == 'C'){
  8338. messageBox("확인! 서명된 중증 내역이 존재하지 않습니다!","E999","");
  8339. return false;
  8340. }else if (ls_srdggubn == 'X'){
  8341. messageBox("확인! 중증내역에 중증번호가 입력되지 않았습니다!","E999","");
  8342. return false;
  8343. }
  8344. }
  8345. }
  8346. //할인내역에 감액 내역 추가
  8347. var InsRow;
  8348. //2007-10-31 이동식 수정 - 모든 할인(감면) 내역을 접수/변경시에 서버로 보낸다.
  8349. //model.copyNode("/root/main/h_dcgm", "/root/main/h_dcgm2");
  8350. //할인내역 또는 임의감면 내역
  8351. var dcgm2_cnt = getNodesetCount("/root/main/h_dcgm2/dcgm");
  8352. for(var k = 1; k <= dcgm2_cnt; k++){
  8353. // if (model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == "" || model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == " " ||
  8354. // model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == null || model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == "0"){
  8355. InsRow = parseInt(getNodesetCount("/root/main/h_dcgm/dcgm")) + 1;
  8356. model.removeNodeset("/root/main/h_dcgm/dcgm[" + InsRow + "]");
  8357. model.makeNode("/root/main/h_dcgm/dcgm[" + InsRow + "]");
  8358. copyNodeType("/root/main/h_dcgm/dcgm[" + InsRow + "]", "/root/main/h_dcgm2/dcgm["+ k +"]", "replace");
  8359. // }
  8360. }
  8361. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  8362. if (otpt_medamtpostyn == "N"){
  8363. var dcgm_cnt = getNodesetCount("/root/main/h_dcgm/dcgm");
  8364. if (dcgm_cnt > 0) model.setValue("/root/hidden/flag/h_dcgm_flag","I");
  8365. else model.setValue("/root/hidden/flag/h_dcgm_flag","-");
  8366. var unco_cnt = getNodesetCount("/root/main/h_unco/unco");
  8367. if (unco_cnt > 0) model.setValue("/root/hidden/flag/h_unco_flag","I");
  8368. else model.setValue("/root/hidden/flag/h_unco_flag","-");
  8369. var card_cnt = getNodesetCount("/root/main/h_card/card");
  8370. if (card_cnt > 0) model.setValue("/root/hidden/flag/h_card_flag","I");
  8371. else model.setValue("/root/hidden/flag/h_card_flag","-");
  8372. var cash_cnt = getNodesetCount("/root/main/h_cash/cash");
  8373. if (cash_cnt > 0) model.setValue("/root/hidden/flag/h_cash_flag","I");
  8374. else model.setValue("/root/hidden/flag/h_cash_flag","-");
  8375. var onln_cnt = getNodesetCount("/root/main/h_onln/onln");
  8376. if (onln_cnt > 0) model.setValue("/root/hidden/flag/h_onln_flag","I");
  8377. else model.setValue("/root/hidden/flag/h_onln_flag","-");
  8378. var opmi_precashamt = eval(model.getValue("/root/main/opmi/opmi_precashamt"));
  8379. var opmi_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"));
  8380. var ll_plus = eval(opmi_precashamt + opmi_cashamt);
  8381. }
  8382. //otpt 증번호 '-'로 들어가는거 막기 위해서...
  8383. if( model.getValue("/root/main/ptin/ptin_insucd") == ' ' || model.getValue("/root/main/ptin/ptin_insucd") == '' ){
  8384. messageBox("보험자기호를 정확히 입력하세요!!", "E999", "");
  8385. return false;
  8386. // 자보 - 전액본인부담 이외의 자보환자는 우측상단의 보험정보를 우선처리
  8387. } else if (model.getValue("/root/main/otpt/otpt_insukind") == "31" && model.getValue("/root/main/otpt/otpt_suppkind") != "01"){
  8388. if (model.getValue("/root/main/otpt/otpt_insucd") == "") {
  8389. messageBox("보험자기호를 정확히 입력하세요!!", "E999", "");
  8390. return false;
  8391. } else {
  8392. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/otpt/otpt_insucd"));
  8393. }
  8394. } else {
  8395. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/ptin/ptin_insucd"));
  8396. }
  8397. if( model.getValue("/root/main/otpt/otpt_insukind") == '' || model.getValue("/root/main/otpt/otpt_insukind") == '-' ){
  8398. messageBox("보험유형을 정확히 입력하세요!!", "E999", "");
  8399. return false;
  8400. }else{
  8401. model.setValue("/root/main/ptin/ptin_insukind",model.getValue("/root/main/otpt/otpt_insukind"));
  8402. }
  8403. // if( model.getValue("/root/main/otpt/otpt_suppkind") == '' || model.getValue("/root/main/otpt/otpt_suppkind") == '-' ){
  8404. // messageBox("보조유형을 정확히 입력하세요!!", "E999", "");
  8405. // return false;
  8406. // }else{
  8407. // model.setValue("/root/main/ptin/ptin_suppkind",model.getValue("/root/main/otpt/otpt_suppkind"));
  8408. // }
  8409. //보험정보 시작일자,종료일자 체크
  8410. var ptin_fromdd = model.getValue("/root/main/ptin/ptin_fromdd");
  8411. var ptin_todd = model.getValue("/root/main/ptin/ptin_todd");
  8412. if (ptin_fromdd == null || ptin_fromdd == "" || ptin_fromdd == "-" || ptin_fromdd == " "){
  8413. messageBox("확인! 보험정보 시작일자를 입력해 주십시요!","E999","");
  8414. return false;
  8415. }
  8416. if (ptin_todd == null || ptin_todd == "" || ptin_todd == "-" || ptin_todd == " "){
  8417. messageBox("확인! 보험정보 종료일자를 입력해 주십시요!","E999","");
  8418. return false;
  8419. }
  8420. fOrdTypeChk();
  8421. if (gs_olnw != "N"){
  8422. //model.setValue("/root/hidden/flag/ptbs_flag","U");
  8423. if (init_ptbs == (instance1.selectSingleNode("/root/main/ptbs")).xml){
  8424. if (model.getValue("/root/hidden/flag/ptbs_flag") == "U") model.setValue("/root/hidden/flag/ptbs_flag","R");
  8425. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "I") model.setValue("/root/hidden/flag/ptbs_flag","-");
  8426. }else if (init_ptbs != (instance1.selectSingleNode("/root/main/ptbs")).xml){
  8427. if (model.getValue("/root/hidden/flag/ptbs_flag") == "R") model.setValue("/root/hidden/flag/ptbs_flag","U");
  8428. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "-") model.setValue("/root/hidden/flag/ptbs_flag","I");
  8429. }else{
  8430. messageBox("오류! 환자 기본 자료상태를 체크하지 못했습니다!","E999","");
  8431. return false;
  8432. }
  8433. }
  8434. if (flag == "I"){
  8435. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  8436. if (otpt_medamtpostyn != "N"){
  8437. model.setValue("/root/hidden/flag/opmi_flag","-");
  8438. //2007-12-15 이동식 추가 - 신환 후불 접수
  8439. if( model.getValue("/root/main/ptbs/ptbs_pid") == '' ||
  8440. model.getValue("/root/main/ptbs/ptbs_pid") == ' ' ||
  8441. model.getValue("/root/main/ptbs/ptbs_pid") == '-' ){
  8442. gs_olnw = "N";
  8443. }
  8444. }
  8445. }else if (flag == "U"){
  8446. model.setValue("/root/hidden/flag/otpt_flag","U");
  8447. model.setValue("/root/hidden/flag/opmi_flag","U");
  8448. }
  8449. //현금승인 기본 세팅
  8450. if (flag == "U" || flag == "I"){
  8451. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  8452. //후불
  8453. if (otpt_medamtpostyn != "N"){
  8454. model.setValue("/root/main/otpt/otpt_calcflag","Y");
  8455. //2007.07.27 이동식 추가 - 최희경대리님 요구사항.
  8456. //후불일 경우 이력상태를 'T'로 저장한다.
  8457. model.setValue("/root/main/otpt/otpt_histstat","T");
  8458. //선불
  8459. }else if (otpt_medamtpostyn == "N"){
  8460. model.setValue("/root/main/otpt/otpt_calcflag","N");
  8461. model.setValue("/root/main/otpt/otpt_histstat","R");
  8462. }
  8463. }
  8464. //2009-07-21 이동식 추가
  8465. //가정간호, 방문간호 진단 카피 로직 추가
  8466. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  8467. /* 진단 copy 로직 시작 */
  8468. var sParamPid = model.getValue("/root/main/ptbs/ptbs_pid");
  8469. if( sParamPid != '' && sParamPid != ' ' && sParamPid != '-' ){
  8470. var sParamRsrvdd = model.getValue("/root/main/otpt/otpt_orddd");
  8471. var sParamRsrvdeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  8472. //파라미터 세팅, 함수호출
  8473. setParameter("preDiagCond", "HomeCare▦"+sParamPid+"▦"+sParamRsrvdd+"▦" + sParamRsrvdeptcd + "▦▦");
  8474. fFindDiagInfo();
  8475. //파라미터 Get
  8476. var sParamArr = getParameter("preDiagResult").split("▦");
  8477. sOrddd_Old = sParamArr[1];
  8478. sIndd_Old = sParamArr[2];
  8479. sCretno_Old = sParamArr[3];
  8480. sGenrflagcd_Old = sParamArr[4];
  8481. sOrddeptcd_Old = sParamArr[5];
  8482. model.makeNode("/root/main/otpt/orddd_old");
  8483. model.makeNode("/root/main/otpt/cretno_old");
  8484. model.makeNode("/root/main/otpt/genrflagcd_old");
  8485. model.makeNode("/root/main/otpt/orddeptcd_old");
  8486. model.makeNode("/root/main/otpt/copyflag");
  8487. if( sGenrflagcd_Old != 'O' ){
  8488. model.setValue("/root/main/otpt/orddd_old", sIndd_Old);
  8489. }else{
  8490. model.setValue("/root/main/otpt/orddd_old", sOrddd_Old);
  8491. }
  8492. model.setValue("/root/main/otpt/cretno_old", sCretno_Old);
  8493. model.setValue("/root/main/otpt/genrflagcd_old", sGenrflagcd_Old);
  8494. model.setValue("/root/main/otpt/orddeptcd_old", sOrddeptcd_Old);
  8495. model.setValue("/root/main/otpt/copyflag", "Y");
  8496. }
  8497. }
  8498. //카드 및 현금영수증 승인
  8499. //2007-10-10 이동식 추가
  8500. if( ! fGetCardAprv(flag) ){
  8501. return false;
  8502. }
  8503. //return false;
  8504. //END..
  8505. fSubmitBefore();
  8506. fSubmitAfter();
  8507. model.setValue("/root/hidden/flag/olnw",gs_olnw);
  8508. model.copyNode("/root/send/data1" , "/root/hidden/flag");
  8509. model.copyNode("/root/send/data2" , "/root/hidden/session");
  8510. model.copyNode("/root/send/data3" , "/root/main/ptbs");
  8511. model.copyNode("/root/send/data4" , "/root/main/otpt");
  8512. model.copyNode("/root/send/data5" , "/root/main/ptin");
  8513. // model.copyNode("/root/send/data6" , "/root/main/ptdc");
  8514. model.copyNode("/root/send/data7" , "/root/main/opmi");
  8515. model.copyNode("/root/send/data8" , "/root/main/oscl");
  8516. model.copyNode("/root/send/data9" , "/root/main/otpt_old");
  8517. //model.copyNode("/root/send/data19" , "/root/main/h_cnst");
  8518. // model.copyNode("/root/send/data10","/root/main/bogj");
  8519. // model.copyNode("/root/send/data11","/root/main/rqst");
  8520. var spacechk_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  8521. if (spacechk_pid == null || spacechk_pid == "" || spacechk_pid == " " || spacechk_pid == "-") spacechk_pid = "-";
  8522. //2015/08/29 이정택 추가
  8523. if (instance1.selectSingleNode("/root/main/m_oscl/oscl") != null)
  8524. {
  8525. if (instance1.selectSingleNode("/root/main/m_oscl/oscl/oscl_pid") != null)
  8526. {
  8527. for(var i = 1; i <= getNodesetCount("/root/main/m_oscl/oscl/oscl_pid"); i++){
  8528. model.setValue("/root/main/m_oscl/oscl["+ i +"]/oscl_pid",spacechk_pid);
  8529. }
  8530. }
  8531. if (instance1.selectSingleNode("/root/main/m_oscl/oscl") != null) model.setValue("/root/send/data29", getNodeListCSV(instance1.selectNodes("/root/main/m_oscl/oscl")));
  8532. }
  8533. //2015/08/29 이정택 추가
  8534. if (instance1.selectSingleNode("/root/main/h_unco/unco") != null)
  8535. {
  8536. if (instance1.selectSingleNode("/root/main/h_unco/unco/unco_pid") != null)
  8537. {
  8538. for(var i = 1; i <= getNodesetCount("/root/main/h_unco/unco"); i++){
  8539. model.setValue("/root/main/h_unco/unco["+ i +"]/unco_pid",spacechk_pid);
  8540. }
  8541. }
  8542. if (instance1.selectSingleNode("/root/main/h_unco/unco") != null) model.setValue("/root/send/data16", getNodeListCSV(instance1.selectNodes("/root/main/h_unco/unco")));
  8543. }
  8544. if (instance1.selectSingleNode("/root/main/h_card/card") != null)
  8545. {
  8546. if (instance1.selectSingleNode("/root/main/h_card/card/card_pid") != null)
  8547. {
  8548. for(var i = 1; i <= getNodesetCount("/root/main/h_card/card"); i++){
  8549. model.setValue("/root/main/h_card/card["+ i +"]/card_pid",spacechk_pid);
  8550. }
  8551. }
  8552. if (instance1.selectSingleNode("/root/main/h_card/card") != null) model.setValue("/root/send/data17", getNodeListCSV(instance1.selectNodes("/root/main/h_card/card")));
  8553. }
  8554. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm") != null)
  8555. {
  8556. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm/dcgm_pid") != null)
  8557. {
  8558. for(var i = 1; i <= getNodesetCount("/root/main/h_dcgm/dcgm"); i++){
  8559. model.setValue("/root/main/h_dcgm/dcgm["+ i +"]/dcgm_pid",spacechk_pid);
  8560. }
  8561. }
  8562. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm") != null) model.setValue("/root/send/data18", getNodeListCSV(instance1.selectNodes("/root/main/h_dcgm/dcgm")));
  8563. }
  8564. if (instance1.selectSingleNode("/root/main/h_cnst/cnst") != null)
  8565. {
  8566. if (instance1.selectSingleNode("/root/main/h_cnst/cnst/cnst_pid") != null)
  8567. {
  8568. for(var i = 1; i <= getNodesetCount("/root/main/h_cnst/cnst/cnst_pid"); i++){
  8569. model.setValue("/root/main/h_cnst/cnst["+ i +"]/cnst_pid",spacechk_pid);
  8570. }
  8571. }
  8572. if (instance1.selectSingleNode("/root/main/h_cnst/cnst") != null) model.setValue("/root/send/data19", getNodeListCSV(instance1.selectNodes("/root/main/h_cnst/cnst")));
  8573. }
  8574. if (instance1.selectSingleNode("/root/main/h_inbs/inbs") != null)
  8575. {
  8576. if (instance1.selectSingleNode("/root/main/h_inbs/inbs/inbs_pid") != null)
  8577. {
  8578. for(var i = 1; i <= getNodesetCount("/root/main/h_inbs/inbs"); i++){
  8579. model.setValue("/root/main/h_inbs/inbs["+ i +"]/inbs_pid",spacechk_pid);
  8580. }
  8581. }
  8582. if (instance1.selectSingleNode("/root/main/h_inbs/inbs") != null) model.setValue("/root/send/data20", getNodeListCSV(instance1.selectNodes("/root/main/h_inbs/inbs")));
  8583. }
  8584. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null)
  8585. {
  8586. if (instance1.selectSingleNode("/root/main/h_srdg/srdg/srdg_pid") != null)
  8587. {
  8588. for(var i = 1; i <= getNodesetCount("/root/main/h_srdg/srdg"); i++){
  8589. model.setValue("/root/main/h_srdg/srdg["+ i +"]/srdg_pid",spacechk_pid);
  8590. }
  8591. }
  8592. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null) model.setValue("/root/send/data21", getNodeListCSV(instance1.selectNodes("/root/main/h_srdg/srdg")));
  8593. }
  8594. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null)
  8595. {
  8596. if (instance1.selectSingleNode("/root/main/h_hndc/hndc/hndc_pid") != null)
  8597. {
  8598. for(var i = 1; i <= getNodesetCount("/root/main/h_hndc/hndc"); i++){
  8599. model.setValue("/root/main/h_hndc/hndc["+ i +"]/hndc_pid",spacechk_pid);
  8600. }
  8601. }
  8602. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null) model.setValue("/root/send/data22", getNodeListCSV(instance1.selectNodes("/root/main/h_hndc/hndc")));
  8603. }
  8604. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null)
  8605. {
  8606. if (instance1.selectSingleNode("/root/main/h_cash/cash/cash_pid") != null)
  8607. {
  8608. for(var i = 1; i <= getNodesetCount("/root/main/h_cash/cash/cash_pid"); i++){
  8609. model.setValue("/root/main/h_cash/cash["+ i +"]/cash_pid",spacechk_pid);
  8610. }
  8611. }
  8612. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null) model.setValue("/root/send/data23", getNodeListCSV(instance1.selectNodes("/root/main/h_cash/cash")));
  8613. }
  8614. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null)
  8615. {
  8616. if (instance1.selectSingleNode("/root/main/h_onln/onln/onln_pid") != null)
  8617. {
  8618. for(var i = 1; i <= getNodesetCount("/root/main/h_onln/onln"); i++){
  8619. model.setValue("/root/main/h_onln/onln["+ i +"]/onln_pid",spacechk_pid);
  8620. }
  8621. }
  8622. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null) model.setValue("/root/send/data24", getNodeListCSV(instance1.selectNodes("/root/main/h_onln/onln")));
  8623. }
  8624. //flag값에 따라 등록 또는 변경 처리
  8625. if (flag == "I"){
  8626. model.setValue("/root/send/data0", "I");
  8627. }else if(flag == "U"){
  8628. model.setValue("/root/send/data0", "U");
  8629. }
  8630. //클라이언트 IP주소 저장 추가 by 조중래 20130906
  8631. model.makeValue("/root/send/data3/ptbs_ipaddr", getUserInfo("ipaddr"));
  8632. //### 외래등록처리 ###
  8633. if (submit("TXPMO00102") == true){
  8634. //신환이거나 구환이라도 환자카드 체크되어있으면 발행처리
  8635. var sIdcard = model.getValue("/root/hidden/com/idcard");
  8636. if (gs_olnw == "N" && sIdcard == "Y")
  8637. //if (flag == "I" && sIdcard == "Y")
  8638. {
  8639. if (gs_olnw == "N") model.copyNode("/root/main/ptbs","/root/hidden/rcv/ptbs");
  8640. //2007-10-04 이동식 추가 - 신환 환자카드 발급
  8641. //신환환자일 경우.
  8642. var idcardyn = model.getValue("/root/hidden/com/idcard");
  8643. if (idcardyn == 'Y' && flag == 'I' ){
  8644. //환자카드발급 신청.
  8645. fIssuePatientCard('F'); //최초발급
  8646. }
  8647. //END..
  8648. //var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  8649. //환자카드 발행 호출
  8650. }
  8651. model.copyNode("/root/main/h_chrt","/root/hidden/rcv/h_chrt");
  8652. //2007.07.28 이동식 추가 - 차트대출 신청/취소
  8653. submit("TXPMO00105");
  8654. //END..
  8655. btn_save.disabled = true;
  8656. //영수증 발행!
  8657. //등록/변경 후 영수일자/영수증번호/영수증일련번호 기타 등등 재조회 필요하지 않나?
  8658. //후불일 경우 영수증 발행하지 않음.
  8659. // 영문영수증 출력관련 프로그램 수정(2016/10/17 이정택)
  8660. var rcptpapr = model.getValue("/root/hidden/com/rcptpapr");
  8661. var engrcptpapr = model.getValue("/root/hidden/com/engrcptpapr");
  8662. if( rcptpapr == 'Y' && fRcptpaprIssueCheck(flag) || (rcptpapr == 'Y' && engrcptpapr == 'Y')){
  8663. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  8664. //otpt_medamtpostyn == N ---> 선불일 경우에만 영수증 발행
  8665. if( otpt_medamtpostyn == 'N' || otpt_medamtpostyn == 'n' ){ //선불일 경우에만 영수증 발행
  8666. //영수증 발행 데이터 세팅.
  8667. model.removeNodeset("/root/temp/receipt");
  8668. model.makeNode("/root/temp/receipt");
  8669. model.copyNode("/root/temp/receipt","/root/hidden/rcv/receipt");
  8670. //2008-01-10 조영상 요청사항
  8671. model.makeValue("/root/temp/receipt/m_cnt", "1");
  8672. //END..
  8673. model.makeNode("/root/temp/receipt/engYN");
  8674. model.makeNode("/root/temp/receipt/reprintYN");
  8675. model.makeNode("/root/temp/receipt/ordtype");
  8676. model.makeNode("/root/temp/receipt/rcptsite");
  8677. model.setValue("/root/temp/receipt/rcptsite", 'J');
  8678. //model.makeNode("");
  8679. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  8680. model.setValue("/root/temp/receipt/reprintYN", "N");
  8681. if(engrcptpapr == 'Y'){
  8682. model.setValue("/root/temp/receipt/ordtype", "외래정산영문영수증");
  8683. }else{
  8684. model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  8685. }
  8686. //2007-09-17 이동식 추가
  8687. model.makeNode("/root/temp/receipt/ordrcptflag");
  8688. model.makeNode("/root/temp/receipt/orddeptcd");
  8689. model.makeNode("/root/temp/receipt/orddrid");
  8690. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  8691. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd") );
  8692. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/otpt/otpt_orddrid") );
  8693. //end..
  8694. //영수증 팝업화면 호출
  8695. modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  8696. //open("SPPAO01900");
  8697. //영수증출력 END..
  8698. }else{
  8699. //영수증 발행 데이터 세팅.
  8700. model.removeNodeset("/root/temp/receipt");
  8701. model.makeNode("/root/temp/receipt");
  8702. model.copyNode("/root/temp/receipt","/root/hidden/rcv/receipt");
  8703. //2008-01-10 조영상 요청사항
  8704. model.makeValue("/root/temp/receipt/m_cnt", "1");
  8705. //END..
  8706. model.makeNode("/root/temp/receipt/engYN");
  8707. model.makeNode("/root/temp/receipt/reprintYN");
  8708. model.makeNode("/root/temp/receipt/ordtype");
  8709. model.makeNode("/root/temp/receipt/rcptsite");
  8710. //model.makeNode("");
  8711. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  8712. model.setValue("/root/temp/receipt/reprintYN", "N");
  8713. model.setValue("/root/temp/receipt/ordtype", "외래예약증");
  8714. model.setValue("/root/temp/receipt/rcptsite", 'J');
  8715. //2007-09-17 이동식 추가
  8716. model.makeNode("/root/temp/receipt/ordrcptflag");
  8717. model.makeNode("/root/temp/receipt/orddeptcd");
  8718. model.makeNode("/root/temp/receipt/orddrid");
  8719. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  8720. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd") );
  8721. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/otpt/otpt_orddrid") );
  8722. model.makeNode("/root/temp/receipt/rcptdd");
  8723. model.setValue("/root/temp/receipt/rcptdd", getCurrentDate());
  8724. model.makeNode("/root/temp/receipt/rcptno");
  8725. model.setValue("/root/temp/receipt/rcptno", '0');
  8726. model.makeNode("/root/temp/receipt/rcptseqno");
  8727. model.setValue("/root/temp/receipt/rcptseqno", '0');
  8728. //end..
  8729. //영수증 팝업화면 호출
  8730. modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  8731. //open("SPPAO01900");
  8732. //영수증출력 END..
  8733. }
  8734. }
  8735. if( flag == 'U' ){
  8736. //2009-01-19 이동식 추가 - 환불내역팝업 호출
  8737. fRtnRcpt("2");
  8738. }
  8739. //외부CD등록여부 체크시 가셔야할 곳 출력
  8740. if (model.getValue("/root/main/otpt/otpt_outercdrgstyn") == "Y") {
  8741. fPrintCdCopty(flag);
  8742. }
  8743. //선택진료신청서 호출(전자동의서 사용가능 IP에서만 처리됨) by 조중래 20130305
  8744. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  8745. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  8746. fCheckSpecOrdAppE();
  8747. }
  8748. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  8749. //개인정보이용동의서가 출력되지 않았을 경우 동의서 자동출력 by 조중래 20120328
  8750. //2015/07/27 대구구강장애인진료센터 관련 추가
  8751. var gugang_cnt = getNodesetCount("/root/hidden/rcv/otpt/otpt[orddeptcd='2242400000']");
  8752. var gugang_ptbs_scanyn = model.getValue("/root/main/ptbs/gugang_ptbs_scanyn");
  8753. var gugang_ocryn="Y";
  8754. if(parseInt(gugang_cnt)>0 && gugang_ptbs_scanyn!="S"){
  8755. gugang_ocryn = "N";
  8756. }
  8757. //2015/07/27 대구구강장애인진료센터 관련 추가
  8758. //자동출력 안되는 케이스
  8759. //1. P0097 등록 사용자 (치과, 모발센터, 건진, 은행 등)
  8760. //2. 진찰료미산정
  8761. //3. 후불
  8762. //4. 가정간호
  8763. //5. 제출 / 스캔완료 건
  8764. //6. 수납처리되지 않은 건
  8765. //7. 가접수 건에 대해서 동의서 받도록 수정
  8766. //8. 개인정보 이용동의서 종이로 받고 스캔 안된경우에 새로 받도록 수정
  8767. if ((model.getValue("/root/hidden/com/personprntyn") == "Y"
  8768. && model.getValue("/root/main/otpt/otpt_medamtpostyn") != "Y"
  8769. && HOMECARE != 'Y'
  8770. && model.getValue("/root/main/ptbs/ptbs_scanyn") != "S"
  8771. && (model.getValue("/root/main/ptbs/ptbs_pid") == model.getValue("/root/temp/receipt/pid")))
  8772. || gugang_ocryn == "N"
  8773. ) {
  8774. //구분에 맞춰 폼코드 처리(1:일반약정서 / 2:기간약정서 / 3:개인정보이용동의서 / 11:대구구강장애인진료센터 개인정보이용동의서)
  8775. var formcd = "";
  8776. if(gugang_ocryn == "N"){
  8777. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='11']/hardcd");
  8778. }else{
  8779. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='3']/hardcd");
  8780. }
  8781. //개인정보이용 동의서 전자동의서를 위한 처리로직 추가 by 조중래 20130305
  8782. var ocrtype = "O";
  8783. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  8784. ocrtype = "S";
  8785. }
  8786. //개인정보이용동의서 출력
  8787. fPerPrintOCR (formcd,
  8788. model.getValue("/root/temp/receipt/pid"),
  8789. model.getValue("/root/temp/receipt/orddd"),
  8790. model.getValue("/root/temp/receipt/cretno"),
  8791. "O",
  8792. ocrtype);
  8793. }
  8794. //2017/12/21 심층진찰관련 동의서 부분추가(이정택)
  8795. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  8796. if(otpt_etcordflag == 'U'){
  8797. var formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='17']/hardcd");
  8798. var ocrtype = "O";
  8799. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  8800. ocrtype = "S";
  8801. }
  8802. //심층진찰 동의서
  8803. fPerPrintOCR (formcd,
  8804. model.getValue("/root/temp/receipt/pid"),
  8805. model.getValue("/root/temp/receipt/orddd"),
  8806. model.getValue("/root/temp/receipt/cretno"),
  8807. "O",
  8808. ocrtype);
  8809. }
  8810. //2017/12/21 심층진찰관련 동의서 부분추가(이정택)
  8811. //2007.07.28 이동식 수정 - 접수/변경/취소 후 모든 화면 초기화
  8812. //btn_init.dispatch("DOMActivate");
  8813. fClear("P");
  8814. }
  8815. model.refresh();
  8816. }
  8817. /*
  8818. * 멀티 등록
  8819. */
  8820. function fMultiSave(){
  8821. var ll_dcgm = getNodesetCount("/root/main/h_dcgm/dcgm");
  8822. var ll_unco = getNodesetCount("/root/main/h_unco/unco");
  8823. var ll_card = getNodesetCount("/root/main/h_card/card");
  8824. var ll_cnst = getNodesetCount("/root/main/h_cnst/cnst");
  8825. var ll_inbs = getNodesetCount("/root/main/h_inbs/inbs");
  8826. var ll_srdg = getNodesetCount("/root/main/h_srdg/srdg");
  8827. //20090701 2.희귀난치성산정특례 고시적용
  8828. var ll_rooa = getNodesetCount("/root/main/h_rooa/rooa");
  8829. //2007-09-20 이동식 추가 계정감면 체크
  8830. if( fCheckDiscAmt() == false ){
  8831. return false;
  8832. }
  8833. //END..
  8834. //진찰료 후불인 경우 !!! => 신환등록번호 발생을 등록시점에도 해야 한다.
  8835. if (gs_olnw == "O" && (model.getvalue("/root/main/ptbs/ptbs_pid")).length == 0){
  8836. messageBox("확인! 환자번호를 확인하십시요!","E999","");
  8837. btn_save.disabled = true;
  8838. return false;
  8839. }
  8840. if ((model.getValue("/root/main/ptbs/ptbs_hngnm")).length < 1 || model.getValue("/root/main/ptbs/ptbs_hngnm") == '-'){
  8841. messageBox("확인! 환자이름을 확인하십시요!","E999","");
  8842. btn_save.disabled = true;
  8843. return false;
  8844. }
  8845. var otpt_orddrid = (model.getValue("/root/main/otpt/otpt_orddrid"));
  8846. if (otpt_orddrid == "-" || otpt_orddrid == "" || otpt_orddrid == " " || otpt_orddrid == null){
  8847. // messageBox("확인! 진료의를 정확히 선택하십시요!","E999","");
  8848. // return false;
  8849. }
  8850. if (gs_prcs != "2"){
  8851. messageBox("확인! 수가계산 후에 접수하세요","E999","");
  8852. btn_save.disabled = true;
  8853. return false;
  8854. }
  8855. var otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt");
  8856. for(var otpt_i = 1; otpt_i <= otpt_cnt; otpt_i++){
  8857. // var otpt_insukind_i = model.getValue("/root/main/m_otpt/otpt["+ otpt_i +"]/otpt_insukind");
  8858. // var otpt_suppkind_i = model.getValue("/root/main/m_otpt/otpt["+ otpt_i +"]/otpt_suppkind");
  8859. // var otpt_orddd_i = model.getValue("/root/main/m_otpt/otpt["+ otpt_i +"]/otpt_orddd");
  8860. // var otpt_orddeptcd_i = model.getValue("/root/main/m_otpt/otpt["+ otpt_i +"]/otpt_orddeptcd");
  8861. var checkValue = model.getValue("/root/main/m_otpt/otpt["+ otpt_i +"]/otpt_check");
  8862. //2008-05-23 이동식 추가 - 진료의뢰서 입력
  8863. if( checkValue == 'Y' ){
  8864. var nodePath = "/root/main/m_otpt/otpt[" + otpt_i + "]/"
  8865. //fInsertOrdReqForm(nodePath);
  8866. if (fInsertOrdReqForm(nodePath) == false) {
  8867. return false;
  8868. }
  8869. }
  8870. //END..
  8871. }
  8872. for(var otpt_k = 1; otpt_k <= otpt_cnt; otpt_k++){
  8873. var otpt_insukind_k = model.getValue("/root/main/m_otpt/otpt["+ otpt_k +"]/otpt_insukind");
  8874. var otpt_suppkind_k = model.getValue("/root/main/m_otpt/otpt["+ otpt_k +"]/otpt_suppkind");
  8875. var otpt_orddd_k = model.getValue("/root/main/m_otpt/otpt["+ otpt_k +"]/otpt_orddd");
  8876. var otpt_check = model.getValue("/root/main/m_otpt/otpt["+ otpt_k +"]/otpt_check");
  8877. //실제 접수할 건만 체크
  8878. if( otpt_check != 'Y' ){
  8879. continue;
  8880. }
  8881. //20090701 2.희귀난치성산정특례 고시적용 7/1-9/30 유예기간 10/1 마스터 체크
  8882. if (otpt_orddd_k >= RAREOBST_APPDD && otpt_insukind_k == gsBoHeom &&
  8883. (otpt_suppkind_k == supp_RAREOBST_SJ || //희귀난치성산정특례
  8884. otpt_suppkind_k == "46" ||
  8885. otpt_suppkind_k == supp_RAREOBST_SJ_HOME)) { //가정간호(희귀난치성산정특례)
  8886. if (eval(ll_rooa) < 1) {
  8887. //해당 진료일자 중증 내역 존재 여부 체크
  8888. messageBox("확인! 희귀난치성산정특례 내역이 없습니다! 희귀난치성산정특례를 적용 할 수 없습니다!","E999","");
  8889. return false;
  8890. } else {
  8891. var ls_rooagubn = 'N';
  8892. ll_rooa = eval(ll_rooa);
  8893. for(var i = 1 ; i <= ll_rooa ; i++){
  8894. var rooa_fromdd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_fromdd");
  8895. var rooa_todd = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_todd");
  8896. var rooa_signyn = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_signyn");
  8897. var rooa_insukind = model.getValue("/root/main/h_rooa/rooa["+ i +"]/rooa_insukind");
  8898. if ((eval(rooa_fromdd) <= eval(otpt_orddd_k) && eval(rooa_todd) >= eval(otpt_orddd_k)) && rooa_insukind == otpt_insukind_k) {
  8899. if(rooa_signyn == 'Y' ){
  8900. ls_rooagubn = 'Y';
  8901. }else{
  8902. if( ls_rooagubn != 'Y' ){
  8903. ls_rooagubn = 'C';
  8904. }
  8905. }
  8906. }
  8907. }
  8908. if (ls_rooagubn == 'N') {
  8909. messageBox("확인! 해당기간의 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  8910. return false;
  8911. }else if (ls_rooagubn == 'C') {
  8912. messageBox("확인! 해당기간의 서명된 희귀난치성산정특례 내역이 존재하지 않습니다!","E999","");
  8913. return false;
  8914. }
  8915. }
  8916. }
  8917. if (otpt_insukind_k == gsBoHeom &&
  8918. (otpt_suppkind_k == supp_GAESIMGAEDU ||
  8919. otpt_suppkind_k == supp_CANCER ||
  8920. otpt_suppkind_k == supp_CANCER_HOME ||
  8921. otpt_suppkind_k == supp_CANCER_HOME_HOSPICE)){
  8922. if (eval(ll_srdg) < 1){
  8923. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  8924. return false;
  8925. }else{
  8926. var ls_srdggubn = "N";
  8927. ll_srdg = eval(ll_srdg);
  8928. for(var i = 1 ; i <= ll_srdg ; i++){
  8929. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  8930. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  8931. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  8932. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  8933. if ((eval(srdg_fromdd) <= eval(otpt_orddd_k) && eval(srdg_todd) >= eval(otpt_orddd_k)) && otpt_insukind_k == srdg_insukind){
  8934. if( srdg_signyn == 'Y' ){
  8935. ls_srdggubn = 'Y';
  8936. }else{
  8937. ls_srdggubn = 'C';
  8938. }
  8939. }
  8940. }
  8941. if (ls_srdggubn == 'N'){
  8942. messageBox("확인! 중증 내역이 존재하지 않습니다!","E999","");
  8943. return false;
  8944. }else if (ls_srdggubn == 'C'){
  8945. messageBox("확인! 서명된 중증 내역이 존재하지 않습니다!","E999","");
  8946. return false;
  8947. }
  8948. }
  8949. }else if ( (otpt_insukind_k == gsInsu_BoHo1 || otpt_insukind_k == gsInsu_BoHo2 ) &&
  8950. (otpt_suppkind_k == supp_GAESIMGAEDU ||
  8951. otpt_suppkind_k == supp_CANCER ||
  8952. otpt_suppkind_k == supp_CANCER_HOME ||
  8953. otpt_suppkind_k == supp_CANCER_HOME_HOSPICE)){
  8954. if (eval(ll_srdg) < 1){
  8955. messageBox("확인! 중증 내역이 없습니다! 중증보조유형을 적용할 수 없습니다!","E999","");
  8956. return false;
  8957. }else{
  8958. var ls_srdggubn = "N";
  8959. ll_srdg = eval(ll_srdg);
  8960. for(var i = 1 ; i <= ll_srdg ; i++){
  8961. var srdg_fromdd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_fromdd");
  8962. var srdg_todd = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_todd");
  8963. var srdg_signyn = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_signyn");
  8964. var srdg_seridiagno = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_seridiagno");
  8965. var srdg_insukind = model.getValue("/root/main/h_srdg/srdg["+ i +"]/srdg_insukind");
  8966. if ((eval(srdg_fromdd) <= eval(otpt_orddd_k) && eval(srdg_todd) >= eval(otpt_orddd_k))
  8967. && (srdg_seridiagno != '0' && srdg_seridiagno != '' )
  8968. && srdg_insukind != null && otpt_insukind_k.substr(0,1) == srdg_insukind.substr(0,1) ){
  8969. if( srdg_signyn == 'Y' ){
  8970. ls_srdggubn = 'Y';
  8971. }else{
  8972. if( ls_srdggubn != 'Y' ){
  8973. ls_srdggubn = 'C';
  8974. }
  8975. }
  8976. }else if ((eval(srdg_fromdd) <= eval(otpt_orddd_k) && eval(srdg_todd) >= eval(otpt_orddd_k))
  8977. && srdg_insukind != null && otpt_insukind_k.substr(0,1) == srdg_insukind.substr(0,1) ){
  8978. if( ls_srdggubn != 'Y' ){
  8979. ls_srdggubn = 'X';
  8980. }
  8981. }
  8982. }
  8983. if (ls_srdggubn == 'N'){
  8984. messageBox("확인! 중증 내역이 존재하지 않습니다!","E999","");
  8985. return false;
  8986. }else if (ls_srdggubn == 'C'){
  8987. messageBox("확인! 서명된 중증 내역이 존재하지 않습니다!","E999","");
  8988. return false;
  8989. }else if (ls_srdggubn == 'X'){
  8990. messageBox("확인! 중증내역에 중증번호가 입력되지 않았습니다!","E999","");
  8991. return false;
  8992. }
  8993. }
  8994. }
  8995. }
  8996. //할인내역에 감액 내역 추가
  8997. var InsRow = 0;
  8998. var dcgm2_cnt = getNodesetCount("/root/main/h_dcgm2/dcgm");
  8999. for(var k = 1; k <= dcgm2_cnt; k++){
  9000. if( getNodesetCount("/root/main/m_opmi/opmi/opmi_mseqno") == 1 ){
  9001. model.makeNode("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_mseqno");
  9002. model.setValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_mseqno", model.getValue("/root/main/m_opmi/opmi/opmi_mseqno"));
  9003. }
  9004. if (model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == "" || model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == " " ||
  9005. model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == null || model.getValue("/root/main/h_dcgm2/dcgm["+ k +"]/dcgm_rcptno") == "0")
  9006. {
  9007. InsRow = parseInt(getNodesetCount("/root/main/h_dcgm/dcgm")) + 1;
  9008. model.removeNodeset("/root/main/h_dcgm/dcgm[" + InsRow + "]");
  9009. model.makeNode("/root/main/h_dcgm/dcgm[" + InsRow + "]");
  9010. model.copyNode("/root/main/h_dcgm/dcgm[" + InsRow + "]", "/root/main/h_dcgm2/dcgm["+ k +"]");
  9011. }
  9012. }
  9013. model.copyNode("/root/main/m_dcgm", "/root/main/h_dcgm");
  9014. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  9015. var dcgm_cnt = getNodesetCount("/root/main/h_dcgm/dcgm");
  9016. if (dcgm_cnt > 0) model.setValue("/root/hidden/flag/h_dcgm_flag","I");
  9017. else model.setValue("/root/hidden/flag/h_dcgm_flag","-");
  9018. var unco_cnt = getNodesetCount("/root/main/h_unco/unco");
  9019. if (unco_cnt > 0) model.setValue("/root/hidden/flag/h_unco_flag","I");
  9020. else model.setValue("/root/hidden/flag/h_unco_flag","-");
  9021. var card_cnt = getNodesetCount("/root/main/h_card/card");
  9022. if (card_cnt > 0) model.setValue("/root/hidden/flag/h_card_flag","I");
  9023. else model.setValue("/root/hidden/flag/h_card_flag","-");
  9024. var cash_cnt = getNodesetCount("/root/main/h_cash/cash");
  9025. if (cash_cnt > 0) model.setValue("/root/hidden/flag/h_cash_flag","I");
  9026. else model.setValue("/root/hidden/flag/h_cash_flag","-");
  9027. var onln_cnt = getNodesetCount("/root/main/h_onln/onln");
  9028. if (onln_cnt > 0) model.setValue("/root/hidden/flag/h_onln_flag","I");
  9029. else model.setValue("/root/hidden/flag/h_onln_flag","-");
  9030. if (gs_olnw != "N"){
  9031. //model.setValue("/root/hidden/flag/ptbs_flag","U");
  9032. if (init_ptbs == (instance1.selectSingleNode("/root/main/ptbs")).xml){
  9033. if (model.getValue("/root/hidden/flag/ptbs_flag") == "U") model.setValue("/root/hidden/flag/ptbs_flag","R");
  9034. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "I") model.setValue("/root/hidden/flag/ptbs_flag","-");
  9035. }else if (init_ptbs != (instance1.selectSingleNode("/root/main/ptbs")).xml){
  9036. if (model.getValue("/root/hidden/flag/ptbs_flag") == "R") model.setValue("/root/hidden/flag/ptbs_flag","U");
  9037. else if (model.getValue("/root/hidden/flag/ptbs_flag") == "-") model.setValue("/root/hidden/flag/ptbs_flag","I");
  9038. }else{
  9039. messageBox("오류! 환자 기본 자료상태를 체크하지 못했습니다!","E999","");
  9040. return false;
  9041. }
  9042. }
  9043. model.setValue("/root/hidden/flag/otpt_flag","I");
  9044. model.setValue("/root/hidden/flag/opmi_flag","I");
  9045. if (getNodesetCount("/root/main/h_card/card") == 1){
  9046. var card_row = 1;
  9047. var card_cardamt = model.getValue("/root/main/h_card/card["+ card_row +"]/card_cardamt");
  9048. card_cardamt = card_cardamt;
  9049. if (card_cardamt == null || card_cardamt == "" || card_cardamt == " " || card_cardamt == "0"){
  9050. model.removeNodeset("/root/main/h_card/card");
  9051. }
  9052. }
  9053. //2007-10-12 이동식 추가 - 카드승인, 현금영수증 승인
  9054. if( ! fGetCardAprv('I') ){
  9055. return false;
  9056. }else{
  9057. //2008-09-26 멀티접수건이 1건인 경우 영수증 값 세팅
  9058. if( getNodesetCount("/root/main/m_opmi/opmi/opmi_pid") == 1 ){
  9059. model.setValue("/root/main/m_opmi/opmi/opmi_reduamt", model.getValue("/root/main/opmi/opmi_reduamt"));
  9060. model.setValue("/root/main/m_opmi/opmi/opmi_uncoamt", model.getValue("/root/main/opmi/opmi_uncoamt"));
  9061. model.setValue("/root/main/m_opmi/opmi/opmi_targetamt", model.getValue("/root/main/opmi/opmi_targetamt"));
  9062. model.setValue("/root/main/m_opmi/opmi/opmi_paydepoamt", model.getValue("/root/main/opmi/opmi_paydepoamt"));
  9063. model.setValue("/root/main/m_opmi/opmi/opmi_cardamt", model.getValue("/root/main/opmi/opmi_cardamt"));
  9064. model.setValue("/root/main/m_opmi/opmi/opmi_cashamt", model.getValue("/root/main/opmi/opmi_cashamt"));
  9065. model.setValue("/root/main/m_opmi/opmi/opmi_onlineamt", model.getValue("/root/main/opmi/opmi_onlineamt"));
  9066. model.setValue("/root/main/m_opmi/opmi/opmi_pregdmndamt", model.getValue("/root/main/opmi/opmi_pregdmndamt"));
  9067. }
  9068. }
  9069. //END..
  9070. model.setValue("/root/main/otpt/otpt_calcflag","N");
  9071. fSubmitBefore();
  9072. fSubmitAfter();
  9073. model.setValue("/root/hidden/flag/olnw",gs_olnw);
  9074. model.copyNode("/root/send/data1" , "/root/hidden/flag");
  9075. model.copyNode("/root/send/data2" , "/root/hidden/session");
  9076. model.copyNode("/root/send/data3" , "/root/main/ptbs");
  9077. model.copyNode("/root/send/data4" , "/root/main/otpt");
  9078. model.copyNode("/root/send/data5" , "/root/main/ptin");
  9079. // model.copyNode("/root/send/data6" , "/root/main/ptdc");
  9080. model.copyNode("/root/send/data7" , "/root/main/opmi");
  9081. model.copyNode("/root/send/data8" , "/root/main/oscl");
  9082. model.copyNode("/root/send/data9" , "/root/main/otpt_old");
  9083. model.copyNode("/root/send/data19" , "/root/main/h_cnst");
  9084. // model.copyNode("/root/send/data10" , "/root/main/bogj");
  9085. // model.copyNode("/root/send/data11" , "/root/main/rqst");
  9086. var spacechk_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9087. if (spacechk_pid == null || spacechk_pid == "" || spacechk_pid == " " || spacechk_pid == "-") spacechk_pid = "-";
  9088. if (instance1.selectSingleNode("/root/main/h_unco/unco") != null)
  9089. {
  9090. if (instance1.selectSingleNode("/root/main/h_unco/unco/unco_pid") != null)
  9091. {
  9092. for(var i = 1; i <= getNodesetCount("/root/main/h_unco/unco/unco_pid"); i++){
  9093. model.setValue("/root/main/h_unco/unco["+ i +"]/unco_pid",spacechk_pid);
  9094. model.makeNode("/root/main/h_unco/unco["+ i +"]/unco_mseqno");
  9095. model.setValue("/root/main/h_unco/unco["+ i +"]/unco_mseqno", model.getValue("/root/main/m_opmi/opmi/opmi_mseqno"));
  9096. }
  9097. }
  9098. if (instance1.selectSingleNode("/root/main/h_unco/unco") != null) model.setValue("/root/send/data16", getNodeListCSV(instance1.selectNodes("/root/main/h_unco/unco")));
  9099. }
  9100. if (instance1.selectSingleNode("/root/main/h_card/card") != null)
  9101. {
  9102. if (instance1.selectSingleNode("/root/main/h_card/card/card_pid") != null)
  9103. {
  9104. for(var i = 1; i <= getNodesetCount("/root/main/h_card/card/card_pid"); i++){
  9105. model.setValue("/root/main/h_card/card["+ i +"]/card_pid",spacechk_pid);
  9106. }
  9107. }
  9108. if (instance1.selectSingleNode("/root/main/h_card/card") != null) model.setValue("/root/send/data17", getNodeListCSV(instance1.selectNodes("/root/main/h_card/card")));
  9109. }
  9110. /*
  9111. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm") != null)
  9112. {
  9113. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm/dcgm_pid") != null)
  9114. {
  9115. for(var i = 1; i <= getNodesetCount("/root/main/h_dcgm/dcgm/dcgm_pid"); i++){
  9116. model.setValue("/root/main/h_dcgm/dcgm["+ i +"]/dcgm_pid",spacechk_pid);
  9117. }
  9118. }
  9119. if (instance1.selectSingleNode("/root/main/h_dcgm/dcgm") != null) model.setValue("/root/send/data18", getNodeListCSV(instance1.selectNodes("/root/main/h_dcgm/dcgm")));
  9120. }
  9121. */
  9122. if (instance1.selectSingleNode("/root/main/h_cnst/cnst") != null)
  9123. {
  9124. if (instance1.selectSingleNode("/root/main/h_cnst/cnst/cnst_pid") != null)
  9125. {
  9126. for(var i = 1; i <= getNodesetCount("/root/main/h_cnst/cnst/cnst_pid"); i++){
  9127. model.setValue("/root/main/h_cnst/cnst["+ i +"]/cnst_pid",spacechk_pid);
  9128. }
  9129. }
  9130. if (instance1.selectSingleNode("/root/main/h_cnst/cnst") != null) model.setValue("/root/send/data19", getNodeListCSV(instance1.selectNodes("/root/main/h_cnst/cnst")));
  9131. }
  9132. // if (instance1.selectSingleNode("/root/main/h_inbs/inbs") != null) model.setValue("/root/send/data20", getNodeListCSV(instance1.selectNodes("/root/main/h_inbs/inbs")));
  9133. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null)
  9134. {
  9135. if (instance1.selectSingleNode("/root/main/h_srdg/srdg/srdg_pid") != null)
  9136. {
  9137. for(var i = 1; i <= getNodesetCount("/root/main/h_srdg/srdg/srdg_pid"); i++){
  9138. model.setValue("/root/main/h_srdg/srdg["+ i +"]/srdg_pid",spacechk_pid);
  9139. }
  9140. }
  9141. if (instance1.selectSingleNode("/root/main/h_srdg/srdg") != null) model.setValue("/root/send/data21", getNodeListCSV(instance1.selectNodes("/root/main/h_srdg/srdg")));
  9142. }
  9143. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null)
  9144. {
  9145. if (instance1.selectSingleNode("/root/main/h_hndc/hndc/hndc_pid") != null)
  9146. {
  9147. for(var i = 1; i <= getNodesetCount("/root/main/h_hndc/hndc/hndc_pid"); i++){
  9148. model.setValue("/root/main/h_hndc/hndc["+ i +"]/hndc_pid",spacechk_pid);
  9149. }
  9150. }
  9151. if (instance1.selectSingleNode("/root/main/h_hndc/hndc") != null) model.setValue("/root/send/data22", getNodeListCSV(instance1.selectNodes("/root/main/h_hndc/hndc")));
  9152. }
  9153. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null)
  9154. {
  9155. if (instance1.selectSingleNode("/root/main/h_cash/cash/cash_pid") != null)
  9156. {
  9157. for(var i = 1; i <= getNodesetCount("/root/main/h_cash/cash/cash_pid"); i++){
  9158. model.setValue("/root/main/h_cash/cash["+ i +"]/cash_pid",spacechk_pid);
  9159. }
  9160. }
  9161. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null) model.setValue("/root/send/data23", getNodeListCSV(instance1.selectNodes("/root/main/h_cash/cash")));
  9162. }
  9163. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null)
  9164. {
  9165. if (instance1.selectSingleNode("/root/main/h_onln/onln/onln_pid") != null)
  9166. {
  9167. for(var i = 1; i <= getNodesetCount("/root/main/h_onln/onln/onln_pid"); i++){
  9168. model.setValue("/root/main/h_onln/onln["+ i +"]/onln_pid",spacechk_pid);
  9169. }
  9170. }
  9171. if (instance1.selectSingleNode("/root/main/h_onln/onln") != null) model.setValue("/root/send/data24", getNodeListCSV(instance1.selectNodes("/root/main/h_onln/onln")));
  9172. }
  9173. if (instance1.selectSingleNode("/root/main/m_otpt/otpt") != null)
  9174. {
  9175. if (instance1.selectSingleNode("/root/main/m_otpt/otpt/otpt_pid") != null)
  9176. {
  9177. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_pid"); i++){
  9178. model.setValue("/root/main/m_otpt/otpt["+ i +"]/otpt_pid",spacechk_pid);
  9179. }
  9180. }
  9181. if (instance1.selectSingleNode("/root/main/m_otpt/otpt") != null) model.setValue("/root/send/data25", getNodeListCSV(instance1.selectNodes("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]")));
  9182. }
  9183. if (instance1.selectSingleNode("/root/main/m_ptin/ptin") != null)
  9184. {
  9185. if (instance1.selectSingleNode("/root/main/m_ptin/ptin/ptin_pid") != null)
  9186. {
  9187. for(var i = 1; i <= getNodesetCount("/root/main/m_ptin/ptin/ptin_pid"); i++){
  9188. model.setValue("/root/main/m_ptin/ptin["+ i +"]/ptin_pid",spacechk_pid);
  9189. }
  9190. }
  9191. if (instance1.selectSingleNode("/root/main/m_ptin/ptin") != null) model.setValue("/root/send/data26", getNodeListCSV(instance1.selectNodes("/root/main/m_ptin/ptin")));
  9192. }
  9193. if (instance1.selectSingleNode("/root/main/m_opmi/opmi") != null)
  9194. {
  9195. if (instance1.selectSingleNode("/root/main/m_opmi/opmi/opmi_pid") != null)
  9196. {
  9197. for(var i = 1; i <= getNodesetCount("/root/main/m_opmi/opmi/opmi_pid"); i++){
  9198. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_pid",spacechk_pid);
  9199. }
  9200. }
  9201. if (instance1.selectSingleNode("/root/main/m_opmi/opmi") != null) model.setValue("/root/send/data28", getNodeListCSV(instance1.selectNodes("/root/main/m_opmi/opmi")));
  9202. }
  9203. if (instance1.selectSingleNode("/root/main/m_oscl/oscl") != null)
  9204. {
  9205. if (instance1.selectSingleNode("/root/main/m_oscl/oscl/oscl_pid") != null)
  9206. {
  9207. for(var i = 1; i <= getNodesetCount("/root/main/m_oscl/oscl/oscl_pid"); i++){
  9208. model.setValue("/root/main/m_oscl/oscl["+ i +"]/oscl_pid",spacechk_pid);
  9209. }
  9210. }
  9211. if (instance1.selectSingleNode("/root/main/m_oscl/oscl") != null) model.setValue("/root/send/data29", getNodeListCSV(instance1.selectNodes("/root/main/m_oscl/oscl")));
  9212. }
  9213. if (instance1.selectSingleNode("/root/main/m_card/card") != null)
  9214. {
  9215. if (instance1.selectSingleNode("/root/main/m_card/card/card_pid") != null)
  9216. {
  9217. for(var i = 1; i <= getNodesetCount("/root/main/m_card/card/card_pid"); i++){
  9218. model.setValue("/root/main/m_card/card["+ i +"]/card_pid",spacechk_pid);
  9219. }
  9220. }
  9221. if (instance1.selectSingleNode("/root/main/m_card/card") != null) model.setValue("/root/send/data30", getNodeListCSV(instance1.selectNodes("/root/main/m_card/card")));
  9222. }
  9223. if (instance1.selectSingleNode("/root/main/m_cash/cash") != null)
  9224. {
  9225. if (instance1.selectSingleNode("/root/main/m_cash/cash/cash_pid") != null)
  9226. {
  9227. for(var i = 1; i <= getNodesetCount("/root/main/m_cash/cash/cash_pid"); i++){
  9228. model.setValue("/root/main/m_cash/cash["+ i +"]/cash_pid",spacechk_pid);
  9229. }
  9230. }
  9231. if (instance1.selectSingleNode("/root/main/m_cash/cash") != null) model.setValue("/root/send/data31", getNodeListCSV(instance1.selectNodes("/root/main/m_cash/cash")));
  9232. }
  9233. if (instance1.selectSingleNode("/root/main/m_dcgm/dcgm") != null)
  9234. {
  9235. if (instance1.selectSingleNode("/root/main/m_dcgm/dcgm/dcgm_pid") != null)
  9236. {
  9237. for(var i = 1; i <= getNodesetCount("/root/main/m_dcgm/dcgm/dcgm_pid"); i++){
  9238. model.setValue("/root/main/m_dcgm/dcgm["+ i +"]/dcgm_pid",spacechk_pid);
  9239. }
  9240. }
  9241. if (instance1.selectSingleNode("/root/main/m_dcgm/dcgm") != null) model.setValue("/root/send/data32", getNodeListCSV(instance1.selectNodes("/root/main/m_dcgm/dcgm")));
  9242. }
  9243. //서버에서 입력인지 수정인지 분기하기 위해서
  9244. model.setValue("/root/send/data0","I");
  9245. // 클라이언트 IP주소 저장 추가 by 조중래 20130906
  9246. model.makeValue("/root/send/data3/ptbs_ipaddr", getUserInfo("ipaddr"));
  9247. /* 외래등록 */
  9248. if (submit("TXPMO00102") == true){
  9249. //신환이거나 구환이라도 환자카드 체크되어있으면 발행처리
  9250. var sIdcard = model.getValue("/root/hidden/com/idcard");
  9251. if (gs_olnw == "N" && sIdcard == "Y"){
  9252. if (gs_olnw == "N") model.copyNode("/root/main/ptbs","/root/hidden/rcv/ptbs");
  9253. //var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9254. //환자카드발급 신청.
  9255. fIssuePatientCard('F'); //최초발급
  9256. //END..
  9257. }
  9258. model.copyNode("/root/main/h_chrt","/root/hidden/rcv/h_chrt");
  9259. //2007.07.28 이동식 추가 - 차트대출 신청/취소
  9260. submit("TXPMO00105")
  9261. //END..
  9262. btn_save.disabled = true;
  9263. //영수증 발행!
  9264. //등록/변경 후 영수일자/영수증번호/영수증일련번호 기타 등등 재조회 필요하지 않나?
  9265. //후불일 경우 영수증 발행하지 않음. //멀티접수의 경우 후불접수를 하지 않으므로 필요없음.
  9266. //var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  9267. //otpt_medamtpostyn != Y ---> 선불일 경우에만 영수증 발행
  9268. //if( otpt_medamtpostyn != 'Y' || otpt_medamtpostyn != 'y' ){
  9269. var rcptpapr = model.getValue("/root/hidden/com/rcptpapr");
  9270. var engrcptpapr = model.getValue("/root/hidden/com/engrcptpapr");
  9271. if( rcptpapr == 'Y' || engrcptpapr == 'Y'){
  9272. var count = getNodesetCount("/root/hidden/rcv/receipt");
  9273. for(var i = 1; i <= count; i++){
  9274. //영수증 발행 데이터 세팅.
  9275. model.removeNodeset("/root/temp/receipt");
  9276. model.makeNode("/root/temp/receipt");
  9277. model.copyNode("/root/temp/receipt","/root/hidden/rcv/receipt[" + i + "]");
  9278. //2008-01-09 조영상 요청사항 반영 - 이동식
  9279. model.makeValue("/root/temp/receipt/m_cnt", i);
  9280. //END
  9281. model.makeNode("/root/temp/receipt/engYN");
  9282. model.makeNode("/root/temp/receipt/reprintYN");
  9283. model.makeNode("/root/temp/receipt/ordtype");
  9284. model.makeNode("/root/temp/receipt/rcptsite");
  9285. model.setValue("/root/temp/receipt/rcptsite", 'J');
  9286. //model.makeNode("");
  9287. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  9288. model.setValue("/root/temp/receipt/reprintYN", "N");
  9289. if(engrcptpapr == 'Y'){
  9290. model.setValue("/root/temp/receipt/ordtype", "외래정산영문영수증");
  9291. }else{
  9292. model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  9293. }
  9294. //2007-09-17 이동식 추가
  9295. model.makeNode("/root/temp/receipt/ordrcptflag");
  9296. //model.makeNode("/root/temp/receipt/orddeptcd");
  9297. //model.makeNode("/root/temp/receipt/orddrid");
  9298. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  9299. //model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd") );
  9300. ///model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid") );
  9301. //model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/hidden/rcv/receipt[" + i + "]/orddeptcd") );
  9302. //model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/hidden/rcv/receipt[" + i + "]/orddrid") );
  9303. //end..
  9304. //영수증 팝업화면 호출
  9305. //modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  9306. modal("SPPAO01900");
  9307. //영수증출력 END..
  9308. }
  9309. }
  9310. // 외부CD등록여부 체크시 가셔야할 곳 출력
  9311. // 예약정보가 존재하는 경우, 참조해야할 노드를 변경해야함
  9312. var rsrvCdFlag = false;
  9313. for(var i = 1; i < grd_rgstrsrv.rows; i++) {
  9314. // 예약정보 존재 체크
  9315. if (model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_check") == 'Y') {
  9316. // 외부CD 등록 체크
  9317. if (model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_outercdrgstyn") == 'Y') {
  9318. rsrvCdFlag = true;
  9319. break;
  9320. }
  9321. }
  9322. }
  9323. if (model.getValue("/root/main/otpt/otpt_outercdrgstyn") == "Y" || rsrvCdFlag) {
  9324. fPrintCdCopty("I");
  9325. }
  9326. // 선택진료신청서 호출(전자동의서 사용가능 IP에서만 처리됨) by 조중래 20130305
  9327. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  9328. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  9329. fCheckSpecOrdAppE();
  9330. }
  9331. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  9332. //2014/10/07/이정택 HIE관련(개인정보 이용 동의서 존재여부)
  9333. //2016/08/31 관련내용 수정
  9334. var hie_ocryn = "Y";
  9335. var hieocrtag = model.getValue("/root/main/ptbs/hieocrtag");
  9336. var rsrvflag=grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_rsrvflag"));
  9337. if(rsrvflag=="V" && parseInt(hieocrtag.substring(0,8)) < parseInt('20150101')){
  9338. hie_ocryn = 'N';
  9339. }
  9340. /*
  9341. var rsrvflag=grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_rsrvflag"));
  9342. if(rsrvflag=="V"){
  9343. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  9344. model.makeValue("/root/send/reqdata/formcd", model.getValue("/root/init/prncd/hardcd[cdseqno='3']/hardcd"));
  9345. submit("TRPMO00127");
  9346. perprintyn = model.getValue("/root/ocrtemp/perprintyn");
  9347. }
  9348. */
  9349. //2014/10/07/이정택 HIE관련
  9350. //2015/07/27 대구구강장애인진료센터 관련 추가
  9351. var gugang_cnt = getNodesetCount("/root/hidden/rcv/otpt/otpt[orddeptcd='2242400000']");
  9352. var gugang_ptbs_scanyn = model.getValue("/root/main/ptbs/gugang_ptbs_scanyn");
  9353. var gugang_ocryn="Y";
  9354. if(parseInt(gugang_cnt)>0 && gugang_ptbs_scanyn!="S"){
  9355. gugang_ocryn = "N";
  9356. }
  9357. //2015/07/27 대구구강장애인진료센터 관련 추가
  9358. // 개인정보이용동의서가 출력되지 않았을 경우 동의서 자동출력 by 조중래 20120328
  9359. // 자동출력 안되는 케이스
  9360. // 1. P0097 등록 사용자 (치과, 모발센터, 건진, 은행 등)
  9361. // 2. 진찰료미산정
  9362. // 3. 후불
  9363. // 4. 가정간호
  9364. // 5. 제출 / 스캔완료 건
  9365. // 6. 수납처리되지 않은 건
  9366. // 7. HIE 환자 일경우 기준일자 체크하여 출력처리
  9367. // 8. 대구장애인구강센터일시에는 별도의 개인정보이용동의서 받도록 수정
  9368. // 9. 개인정보 이용동의서 종이로 받고 스캔 안된경우에 새로 받도록 수정
  9369. if ((model.getValue("/root/hidden/com/personprntyn") == "Y"
  9370. && model.getValue("/root/main/otpt/otpt_medamtestmyn") != "N"
  9371. && model.getValue("/root/main/otpt/otpt_medamtpostyn") != "Y"
  9372. && HOMECARE != 'Y'
  9373. && (model.getValue("/root/main/ptbs/ptbs_scanyn") == "X" || model.getValue("/root/main/ptbs/ptbs_scanyn") == "P" || isNull(model.getValue("/root/main/ptbs/ptbs_scanyn")))
  9374. //&& (model.getValue("/root/main/ptbs/ptbs_scanyn") == "X" || isNull(model.getValue("/root/main/ptbs/ptbs_scanyn")))
  9375. && (model.getValue("/root/main/ptbs/ptbs_pid") == model.getValue("/root/temp/receipt/pid")))
  9376. || (rsrvflag=="V" && hie_ocryn=="N")
  9377. || gugang_ocryn == "N"
  9378. ) {
  9379. // 구분에 맞춰 폼코드 처리(1:일반약정서 / 2:기간약정서 / 3:개인정보이용동의서)
  9380. var formcd = "";
  9381. if(gugang_ocryn == "N"){
  9382. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='11']/hardcd");
  9383. }else{
  9384. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='3']/hardcd");
  9385. }
  9386. // 개인정보이용 동의서 전자동의서를 위한 처리로직 추가 by 조중래 20130305
  9387. var ocrtype = "O";
  9388. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  9389. ocrtype = "S";
  9390. }
  9391. // 개인정보이용동의서 출력
  9392. fPerPrintOCR (formcd,
  9393. model.getValue("/root/temp/receipt/pid"),
  9394. model.getValue("/root/temp/receipt/orddd"),
  9395. model.getValue("/root/temp/receipt/cretno"),
  9396. "O",
  9397. ocrtype);
  9398. }
  9399. //2017/12/21 심층진찰관련 동의서 부분추가(이정택)
  9400. for(var i = 1; i <= otpt_cnt; i++){
  9401. if( model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_check") != 'Y' ){
  9402. continue;
  9403. }
  9404. var otpt_etcordflag = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_etcordflag");
  9405. var otpt_ocr_scanyn = model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_ocr_scanyn");
  9406. if(otpt_etcordflag=='U' && otpt_ocr_scanyn=='X'){
  9407. var formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='17']/hardcd");
  9408. var ocrtype = "O";
  9409. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  9410. ocrtype = "S";
  9411. }
  9412. //심층진찰 동의서
  9413. fPerPrintOCR (formcd,
  9414. model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_pid"),
  9415. model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_orddd"),
  9416. model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_cretno"),
  9417. "O",
  9418. ocrtype);
  9419. }
  9420. }
  9421. //2017/12/21 심층진찰관련 동의서 부분추가(이정택)
  9422. //2007.07.28 이동식 수정 - 접수/변경/취소 후 모든 화면 초기화
  9423. //btn_init.dispatch("DOMActivate");
  9424. fClear("P");
  9425. /*
  9426. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9427. aa = 0; //추후 삭제
  9428. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  9429. fMultiInstanceReset(); //멀티구조 인스턴스 초기화 //풀었음
  9430. fMultiInstanceCopy(); //멀티 인스턴스 copy
  9431. fBaseDataInit("all"); //기본데이터 초기화
  9432. model.setValue("/root/main/ptbs/ptbs_pid",ptbs_pid);
  9433. fPatInfoRef("1");
  9434. //fChrtlend("M");
  9435. */
  9436. }
  9437. model.refresh();
  9438. }
  9439. //2010-11-09 이동식
  9440. //산재의 경우 보조유형이 2개인 케이스가 있을 수 있어 보조유형을 선택할때 해당 산재 정보를
  9441. //가져 올 수 있도록 조회 조건에 보조유형을 추가 함 기존 로직에서 파라미터를 한개 더 받을 수
  9442. //있도록 함수 추가
  9443. function fInsuKindRef(pid, insukind, insucd){
  9444. fInsuKindRef(pid, insukind, insucd, '');
  9445. }
  9446. //기존 로직에 파라미터 suppkind 만 추가
  9447. function fInsuKindRef(pid, insukind, insucd, suppkind){
  9448. fSubmitBefore();
  9449. // fSubmitAfter();
  9450. model.setValue("/root/send/data1", pid);
  9451. model.setValue("/root/send/data2", insukind);
  9452. model.setValue("/root/send/data3", insucd);
  9453. model.setValue("/root/send/data4", model.getValue("/root/main/otpt/otpt_orddd"));
  9454. model.setValue("/root/send/data5", suppkind);
  9455. model.copyNode("/root/send/data6","/root/hidden/session");
  9456. model.makeNode("/root/hidden/rcv2");
  9457. if (insukind != "-" && insukind != "" && insukind != null && insukind != " "){
  9458. if (submit("TRPMO00111") == true){
  9459. if (instance1.selectSingleNode("/root/hidden/rcv2/h_ptin/ptin/ptin_pid") != null){
  9460. var ptin_pid = model.getValue("/root/hidden/rcv2/h_ptin/ptin/ptin_pid");
  9461. if (ptin_pid != null && ptin_pid != "" && ptin_pid != " " && ptin_pid != "-"){
  9462. model.copyNode("/root/main/ptin","/root/hidden/rcv2/h_ptin/ptin");
  9463. if (model.getValue("/root/main/ptin/ptin_insukind") != "-"){
  9464. cmb_suppkind.disabled = false;
  9465. }else{
  9466. cmb_suppkind.disabled = true;
  9467. }
  9468. fSuppKindSet(model.getValue("/root/main/ptin/ptin_insukind"));
  9469. if (model.getValue("/root/main/ptin/ptin_insukind") != "-" && model.getValue("/root/main/ptin/ptin_insukind") != "" &&
  9470. model.getValue("/root/main/ptin/ptin_insukind") != null && model.getValue("/root/main/ptin/ptin_insukind") != " ")
  9471. {
  9472. model.setValue("/root/hidden/flag/ptin_flag","R");
  9473. model.setValue("/root/main/otpt/otpt_insucd", model.getValue("/root/main/ptin/ptin_insucd"));
  9474. }
  9475. }else{
  9476. model.setValue("/root/main/ptin/ptin_insucd","-");
  9477. model.setValue("/root/main/ptin/ptin_insunm","-");
  9478. model.setValue("/root/main/ptin/ptin_insuno","-");
  9479. model.setValue("/root/hidden/flag/ptin_flag","-");
  9480. model.setValue("/root/main/otpt/otpt_insucd","-");
  9481. }
  9482. }else{
  9483. model.setValue("/root/main/ptin/ptin_insucd","-");
  9484. model.setValue("/root/main/ptin/ptin_insunm","-");
  9485. model.setValue("/root/main/ptin/ptin_insuno","-");
  9486. model.setValue("/root/hidden/flag/ptin_flag","-");
  9487. model.setValue("/root/main/otpt/otpt_insucd","-");
  9488. }
  9489. //조회된 경우, 화면의 중증정보에 세팅
  9490. var srdg_pid = model.getValue("/root/hidden/rcv2/h_srdg/srdg/srdg_pid");
  9491. if (srdg_pid.length != 0) {
  9492. //중증번호,중증적용 시작일자 세팅
  9493. model.copyNode("/root/main/h_srdg","/root/hidden/rcv2/h_srdg");
  9494. }
  9495. //20090701 2.희귀난치성산정특례 고시적용
  9496. var rooa_pid = model.getValue("/root/hidden/rcv2/h_rooa/rooa/rooa_pid");
  9497. if (rooa_pid.length != 0) {
  9498. //중증번호,중증적용 시작일자 세팅
  9499. model.copyNode("/root/main/h_rooa","/root/hidden/rcv2/h_rooa");
  9500. }
  9501. //조회된 경우, 화면의 자보정보 세팅
  9502. var aipm_pid = model.getValue("/root/hidden/rcv2/h_aipm/aipm/aipm_pid");
  9503. if (aipm_pid.length != 0) {
  9504. //자보정보 세팅
  9505. model.copyNode("/root/main/aipm","/root/hidden/rcv2/h_aipm/aipm");
  9506. model.setValue("/root/main/ptin/ptin_insucd", model.getValue("/root/main/aipm/aipm_insucmpycd"));
  9507. model.setValue("/root/main/otpt/otpt_suppkind", model.getValue("/root/main/aipm/aipm_suppkind"));
  9508. model.setValue("/root/main/otpt/otpt_insucd", model.getValue("/root/main/aipm/aipm_insucmpycd"));
  9509. }
  9510. //조회된 경우, 화면의 산재정보 세팅
  9511. var icpm_pid = model.getValue("/root/hidden/rcv2/h_icpm/icpm/icpm_pid");
  9512. if (icpm_pid.length != 0) {
  9513. //산재정보 세팅
  9514. model.copyNode("/root/main/icpm","/root/hidden/rcv2/h_icpm/icpm");
  9515. model.setValue("/root/main/ptin/ptin_insucd", model.getValue("/root/main/icpm/icpm_inducsbrchcd"));
  9516. model.setValue("/root/main/otpt/otpt_suppkind", model.getValue("/root/main/icpm/icpm_suppkind"));
  9517. model.setValue("/root/main/otpt/otpt_insucd", model.getValue("/root/main/icpm/icpm_inducsbrchcd"));
  9518. }
  9519. }else{
  9520. fInsdrelaSet();
  9521. }
  9522. //2007.07.28 이동식 수정 - 건강보험일 경우 보험자기호 디폴트 세팅 '0015'
  9523. if( model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom){ // 건강보험 = 11
  9524. var ptin_insucd = model.getValue("/root/main/ptin/ptin_insucd");
  9525. if( ptin_insucd == '' || ptin_insucd == ' ' || ptin_insucd =='-' ){
  9526. model.setValue("/root/main/ptin/ptin_insucd", boHeom_insucd);
  9527. model.setValue("/root/main/otpt/otpt_insucd", boHeom_insucd);
  9528. }else{
  9529. model.setValue("/root/main/ptin/ptin_insucd", ptin_insucd);
  9530. model.setValue("/root/main/otpt/otpt_insucd", ptin_insucd);
  9531. }
  9532. ipt_insucd.dispatch("DOMFocusOut");
  9533. // if( ptin_insucd == '-' || ptin_insucd == '' || ptin_insucd == ' ' || ptin_insucd == null ){
  9534. // model.setValue("/root/main/ptin/ptin_insunm", "");
  9535. // }
  9536. }
  9537. model.refresh();
  9538. }
  9539. }
  9540. function fInsdrelaSet(){
  9541. //구환인 경우 해당보험정보가 존재하지 않을 경우 무조건 보험관계를 본인으로 세팅
  9542. //신환인 경우 산재,자보,일반,외국인인 경우 보험관계를 본인으로 세팅
  9543. var otpt_Insukind = model.getValue("/root/main/otpt/otpt_insukind");
  9544. if (otpt_Insukind == gsSanJae || otpt_Insukind == gsJaboKind || otpt_Insukind == gsIlBan || otpt_Insukind == gsForIn){
  9545. model.setValue("/root/main/ptin/ptin_insdrela","1");
  9546. model.setValue("/root/main/ptin/ptin_insdnm",model.getValue("/root/main/ptbs/ptbs_hngnm"));
  9547. model.setValue("/root/main/ptin/ptin_insdrrgstno1",model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  9548. model.setValue("/root/main/ptin/ptin_insdrrgstno2",model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  9549. }
  9550. }
  9551. /* 2008-06-11 이동식 주석처리 - 감면정보 관리 하지 않음.
  9552. function fDiscCDRef(pid,disccd,disccls)
  9553. {
  9554. fSubmitBefore();
  9555. fSubmitAfter();
  9556. model.setValue("/root/send/data1", pid);
  9557. model.setValue("/root/send/data2", disccd);
  9558. model.setValue("/root/send/data3", disccls);
  9559. model.setValue("/root/send/data4", model.getValue("/root/main/otpt/otpt_orddd"));
  9560. model.copyNode("/root/send/data5","/root/hidden/session");
  9561. if (disccd != "-" && disccd != "" && disccd != null && disccd != " ")
  9562. {
  9563. if (submit("TRPMO00106") == true)
  9564. {
  9565. if (instance1.selectSingleNode("/root/hidden/rcv/ptdc/ptdc_pid") != null)
  9566. {
  9567. var ptdc_pid = model.getValue("/root/hidden/rcv/ptdc/ptdc_pid");
  9568. if (ptdc_pid != null && ptdc_pid != "" && ptdc_pid != " " && ptdc_pid != "-")
  9569. {
  9570. model.copyNode("/root/main/ptdc","/root/hidden/rcv/ptdc");
  9571. if (model.getValue("/root/main/ptdc/ptdc_disccd") != "-" && model.getValue("/root/main/ptdc/ptdc_disccd") != "" &&
  9572. model.getValue("/root/main/ptdc/ptdc_disccd") != null && model.getValue("/root/main/ptdc/ptdc_disccd") != " ")
  9573. {
  9574. model.setValue("/root/hidden/flag/ptdc_flag","R");
  9575. model.copyNode("/root/main/otpt/otpt_disccd","/root/main/ptdc/ptdc_disccd");
  9576. }
  9577. model.refresh();
  9578. }
  9579. }
  9580. }
  9581. }
  9582. }
  9583. */
  9584. function fAcptCnclRef(){
  9585. fSubmitBefore();
  9586. fSubmitAfter();
  9587. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9588. if (ptbs_pid == null || ptbs_pid == "" || ptbs_pid == " " || ptbs_pid == "-"){
  9589. model.makeNode("/root/send/data1/otpt_hngnm");
  9590. model.makeNode("/root/send/data1/otpt_rrgstno1");
  9591. model.makeNode("/root/send/data1/otpt_rrgstno2");
  9592. model.makeNode("/root/send/data1/otpt_histstat");
  9593. model.setValue("/root/send/data1/otpt_hngnm",model.getValue("/root/main/ptbs/ptbs_hngnm"));
  9594. model.setValue("/root/send/data1/otpt_rrgstno1",model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  9595. model.setValue("/root/send/data1/otpt_rrgstno2",model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  9596. model.setValue("/root/send/data1/otpt_histstat",model.getValue("/root/hidden/com/histstat"));
  9597. //model.copyNode("/root/send/data2","/root/hidden/session");
  9598. }else{
  9599. model.makeNode("/root/send/data1/otpt_pid");
  9600. model.makeNode("/root/send/data1/otpt_histstat");
  9601. model.setValue("/root/send/data1/otpt_pid",model.getValue("/root/main/ptbs/ptbs_pid"));
  9602. model.setValue("/root/send/data1/otpt_histstat",model.getValue("/root/hidden/com/histstat"));
  9603. }
  9604. submit("TRPMO00107");
  9605. }
  9606. function fOtptOldChk(){
  9607. var otpt_pid_old = (model.getValue("/root/main/otpt_old/otpt_pid_old"));
  9608. var otpt_orddd_old = (model.getValue("/root/main/otpt_old/otpt_orddd_old"));
  9609. var otpt_cretno_old = (model.getValue("/root/main/otpt_old/otpt_cretno_old"));
  9610. var otpt_acptseqno_old = (model.getValue("/root/main/otpt_old/otpt_acptseqno_old"));
  9611. var otpt_orddeptcd_old = (model.getValue("/root/main/otpt_old/otpt_orddeptcd_old"));
  9612. var otpt_orddrid_old = (model.getValue("/root/main/otpt_old/otpt_orddrid_old"));
  9613. var otpt_mskind_old = (model.getValue("/root/main/otpt_old/otpt_mskind_old"));
  9614. if (otpt_pid_old == null || otpt_pid_old == "" || otpt_pid_old == " " || otpt_pid_old == "-")
  9615. {
  9616. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[1]!","E999","");
  9617. return false;
  9618. }
  9619. if (otpt_orddd_old == null || otpt_orddd_old == "" || otpt_orddd_old == " " || otpt_orddd_old == "-")
  9620. {
  9621. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[2]!","E999","");
  9622. return false;
  9623. }
  9624. if (otpt_cretno_old == null || otpt_cretno_old == "" || otpt_cretno_old == " " || otpt_cretno_old == "-")
  9625. {
  9626. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[3]!","E999","");
  9627. return false;
  9628. }
  9629. if (otpt_acptseqno_old == null || otpt_acptseqno_old == "" || otpt_acptseqno_old == " " || otpt_acptseqno_old == "-")
  9630. {
  9631. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[4]!","E999","");
  9632. return false;
  9633. }
  9634. if (otpt_orddeptcd_old == null || otpt_orddeptcd_old == "" || otpt_orddeptcd_old == " " || otpt_orddeptcd_old == "-")
  9635. {
  9636. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[5]!","E999","");
  9637. return false;
  9638. }
  9639. if (otpt_orddrid_old == null || otpt_orddrid_old == "" || otpt_orddrid_old == " " || otpt_orddrid_old == "-")
  9640. {
  9641. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[6]!","E999","");
  9642. return false;
  9643. }
  9644. if (otpt_mskind_old == null || otpt_mskind_old == "" || otpt_mskind_old == " " || otpt_mskind_old == "-")
  9645. {
  9646. messageBox("확인! 변경 또는 취소할 외래이력을 선택해주십시요[7]!","E999","");
  9647. return false;
  9648. }
  9649. return true;
  9650. }
  9651. function fRsrvCncl(){
  9652. var result = messageBox("접수예약내역을 취소 하시겠습니까?","Q000","");
  9653. if (result != "6") return false;
  9654. //2008-06-27 이동식 추가
  9655. //예약내역중 실제 예약내역이 아닌 화면상의 데이터인 경우 그냥 삭제한다.
  9656. var mCnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_pid");
  9657. for(var i = 1; i <= mCnt; i ++ ){
  9658. if( 'Y' == model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check")
  9659. && 'temp' != model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_tablename")
  9660. && 'otpt' != model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_tablename")){
  9661. grd_rgstrsrv.deleteItem(i);
  9662. i = parseInt(i)-1;
  9663. mCnt = parseInt(mCnt) - 1;
  9664. }
  9665. }
  9666. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid") < 1 ){
  9667. model.refresh();
  9668. return true;
  9669. }
  9670. fSubmitBefore();
  9671. fSubmitAfter();
  9672. model.setValue("/root/send/data1", getNodeListCSV(instance1.selectNodes("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]")));
  9673. model.copyNode("/root/send/data2","/root/hidden/session");
  9674. //model.copyNode("/root/send/data3","/root/hidden/con");
  9675. if (submit("TXPMO00106") == true){
  9676. //2007-10-29 이동식 추가 - 차트대출 취소
  9677. // model.removeNodeset("/root/send/h_chrt/chrt");
  9678. // for(var i = 1; i <= getNodesetCount("/root/send/data1/otpt_pid"); i++ ){
  9679. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/high_flag", "D");
  9680. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/flag", "D");
  9681. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/pid", model.getValue("/root/send/data1/otpt_pid"));
  9682. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/orddd", model.getValue("/root/send/data1/otpt_orddd"));
  9683. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/cretno", model.getValue("/root/send/data1/otpt_cretno"));
  9684. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/acptseqno", model.getValue("/root/send/data1/otpt_acptseqno"));
  9685. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/orddeptcd", model.getValue("/root/send/data1/otpt_orddeptcd"));
  9686. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/orddrid", model.getValue("/root/send/data1/otpt_orddrid"));
  9687. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/ordtm", model.getValue("/root/send/data1/otpt_ordtm"));
  9688. // model.makeValue("/root/send/h_chrt/chrt[" + i + "]/fsexamflag", model.getValue("/root/send/data1/otpt_fsexamflag"));
  9689. // }
  9690. model.copyNode("/root/main/h_chrt","/root/hidden/rcv/h_chrt");
  9691. submit("TXPMO00105");
  9692. model.removeNodeset("/root/send/h_chrt/chrt");
  9693. //END..
  9694. //2007.07.28 이동식 수정 - 접수/변경/취소 후 모든 화면 초기화
  9695. btn_init.dispatch("DOMActivate");
  9696. }
  9697. }
  9698. function fCncl(){
  9699. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9700. // if (ptbs_pid.length != 10){
  9701. if (ptbs_pid.length == 0){
  9702. messageBox("확인! 조회 후 취소 작업을 하십시요!","E999","");
  9703. return false;
  9704. }
  9705. //카드금액 세팅삭제
  9706. var cur_row = grd_outhist.row;
  9707. if (cur_row < 1 ){
  9708. messageBox("확인! 취소할 외래등록이력을 선택하십시요!","E999","");
  9709. return false;
  9710. }
  9711. //멀티취소내역 세팅
  9712. model.setValue("/root/hidden/flag/msave_flag","");
  9713. var c_otpt_cnt = getNodesetCount("/root/main/c_otpt/otpt");
  9714. if (c_otpt_cnt >0){
  9715. var otpt_check_cnt = 0;
  9716. for(var i = 1; i <= c_otpt_cnt; i++){
  9717. if (model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_check") == "Y") otpt_check_cnt++;
  9718. }
  9719. if (otpt_check_cnt > 0) model.setValue("/root/hidden/flag/msave_flag","C");
  9720. }
  9721. //2007-10-13 이동식 - 카드승인취소, 현금영수증 승인취소
  9722. if( model.getValue("/root/hidden/m_etc/cardaprvflag") == 'D' || model.getValue("/root/hidden/m_etc/cashaprvflag") == 'D'){
  9723. if( ! fCnclCardAprv() ){
  9724. // model.setValue("", "N");
  9725. // model.setValue("", "N");
  9726. return false;
  9727. }
  9728. var cardAmt = 0;
  9729. for(var i = 1; i <= getNodesetCount("/root/main/h_card/card/card_pid"); i++ ){
  9730. cardAmt = parseInt(cardAmt) + parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt"));
  9731. }
  9732. if( model.getValue("/root/main/opmi/opmi_precardamt") == cardAmt ){
  9733. model.setValue("/root/main/opmi/opmi_cardamt", 0);
  9734. }else if( cardAmt == 0 ){
  9735. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(model.getValue("/root/main/opmi/opmi_precardamt")) * -1);
  9736. }
  9737. }
  9738. //END...
  9739. fSubmitBefore();
  9740. fSubmitAfter();
  9741. model.copyNode("/root/send/data1","/root/main/otpt_old");
  9742. model.copyNode("/root/send/data2","/root/hidden/flag");
  9743. model.copyNode("/root/send/data3","/root/main/opmi");
  9744. model.copyNode("/root/send/data4","/root/hidden/session");
  9745. model.copyNode("/root/send/data5","/root/main/ptbs");
  9746. var spacechk_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9747. if (spacechk_pid == null || spacechk_pid == "" || spacechk_pid == " " || spacechk_pid == "-") spacechk_pid = "-";
  9748. if (instance1.selectSingleNode("/root/main/h_card/card") != null)
  9749. {
  9750. if (instance1.selectSingleNode("/root/main/h_card/card/card_pid") != null)
  9751. {
  9752. for(var i = 1; i <= getNodesetCount("/root/main/h_card/card/card_pid"); i++){
  9753. model.setValue("/root/main/h_card/card["+ i +"]/card_pid",spacechk_pid);
  9754. }
  9755. }
  9756. if (instance1.selectSingleNode("/root/main/h_card/card") != null){
  9757. model.setValue("/root/send/data6", getNodeListCSV(instance1.selectNodes("/root/main/h_card/card")));
  9758. }
  9759. }
  9760. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null)
  9761. {
  9762. if (instance1.selectSingleNode("/root/main/h_cash/cash/cash_pid") != null)
  9763. {
  9764. for(var i = 1; i <= getNodesetCount("/root/main/h_cash/cash/cash_pid"); i++){
  9765. model.setValue("/root/main/h_cash/cash["+ i +"]/cash_pid",spacechk_pid);
  9766. }
  9767. }
  9768. if (instance1.selectSingleNode("/root/main/h_cash/cash") != null){
  9769. model.setValue("/root/send/data7", getNodeListCSV(instance1.selectNodes("/root/main/h_cash/cash")));
  9770. }
  9771. }
  9772. if (instance1.selectSingleNode("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") != null)
  9773. {
  9774. if (instance1.selectSingleNode("/root/main/c_otpt/otpt/otpt_pid") != null)
  9775. {
  9776. for(var i = 1; i <= getNodesetCount("/root/main/c_otpt/otpt/otpt_pid"); i++){
  9777. model.setValue("/root/main/c_otpt/otpt["+ i +"]/otpt_pid",spacechk_pid);
  9778. }
  9779. }
  9780. if (instance1.selectSingleNode("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") != null){
  9781. model.setValue("/root/send/data8", getNodeListCSV(instance1.selectNodes("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]")));
  9782. }
  9783. }
  9784. if (instance1.selectSingleNode("/root/main/c_opmi/opmi") != null)
  9785. {
  9786. if (instance1.selectSingleNode("/root/main/c_opmi/opmi/opmi_pid") != null)
  9787. {
  9788. for(var i = 1; i <= getNodesetCount("/root/main/c_opmi/opmi/opmi_pid"); i++){
  9789. model.setValue("/root/main/c_opmi/opmi["+ i +"]/opmi_pid",spacechk_pid);
  9790. }
  9791. }
  9792. if (instance1.selectSingleNode("/root/main/c_opmi/opmi") != null){
  9793. model.setValue("/root/send/data9", getNodeListCSV(instance1.selectNodes("/root/main/c_opmi/opmi")));
  9794. }
  9795. }
  9796. if (instance1.selectSingleNode("/root/main/c_card/card") != null)
  9797. {
  9798. if (instance1.selectSingleNode("/root/main/c_card/card/card_pid") != null)
  9799. {
  9800. for(var i = 1; i <= getNodesetCount("/root/main/c_card/card/card_pid"); i++){
  9801. model.setValue("/root/main/c_card/card["+ i +"]/card_pid",spacechk_pid);
  9802. }
  9803. if (instance1.selectSingleNode("/root/main/c_card/card") != null){
  9804. model.setValue("/root/send/data10", getNodeListCSV(instance1.selectNodes("/root/main/c_card/card")));
  9805. }
  9806. }
  9807. }
  9808. if (instance1.selectSingleNode("/root/main/c_cash/cash") != null)
  9809. {
  9810. if (instance1.selectSingleNode("/root/main/c_cash/cash/cash_pid") != null)
  9811. {
  9812. for(var i = 1; i <= getNodesetCount("/root/main/c_cash/cash/cash_pid"); i++){
  9813. model.setValue("/root/main/c_cash/cash["+ i +"]/cash_pid",spacechk_pid);
  9814. }
  9815. if (instance1.selectSingleNode("/root/main/c_cash/cash") != null){
  9816. model.setValue("/root/send/data11", getNodeListCSV(instance1.selectNodes("/root/main/c_cash/cash")));
  9817. }
  9818. }
  9819. }
  9820. if (submit("TXPMO00103") == true){
  9821. model.copyNode("/root/main/h_chrt","/root/hidden/rcv/h_chrt");
  9822. //2007.07.28 이동식 추가 - 차트대출 신청/취소
  9823. submit("TXPMO00105")
  9824. //END..
  9825. //마이너스 영수증 발행 안함!!!
  9826. //영수증발행 체크된 경우에만 영수증 발행.
  9827. var rcptpapr = model.getValue("/root/hidden/com/rcptpapr");
  9828. if( rcptpapr == 'Y' ){
  9829. //후불일 경우 영수증 발행하지 않음.
  9830. //var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  9831. //otpt_medamtpostyn != Y ---> 선불일 경우에만 영수증 발행
  9832. //if( otpt_medamtpostyn != 'Y' && otpt_medamtpostyn != 'y' ){
  9833. //환불영수증출력
  9834. if (instance1.selectSingleNode("/root/hidden/rcv/opmi") != null){
  9835. model.copyNode("/root/main/opmi","/root/hidden/rcv/opmi");
  9836. //영수증 발행 데이터 세팅.
  9837. model.removeNodeset("/root/temp/receipt");
  9838. model.makeNode("/root/temp/receipt/pid");
  9839. model.makeNode("/root/temp/receipt/cretno");
  9840. model.makeNode("/root/temp/receipt/acptseqno");
  9841. model.makeNode("/root/temp/receipt/rcptdd");
  9842. model.makeNode("/root/temp/receipt/rcptno");
  9843. model.makeNode("/root/temp/receipt/rcptseqno");
  9844. model.makeNode("/root/temp/receipt/orddd");
  9845. model.makeNode("/root/temp/receipt/ordtype");
  9846. model.makeNode("/root/temp/receipt/instcd");
  9847. model.makeNode("/root/temp/receipt/engYN");
  9848. model.makeNode("/root/temp/receipt/reprintYN");
  9849. //2008-01-10 조영상 요청사항
  9850. model.makeValue("/root/temp/receipt/m_cnt", "1");
  9851. //END..
  9852. //2007-09-17 이동식 추가 - 조영상 요청사항
  9853. model.makeNode("/root/temp/receipt/ordrcptflag");
  9854. model.makeNode("/root/temp/receipt/orddeptcd");
  9855. model.makeNode("/root/temp/receipt/orddrid");
  9856. //END..
  9857. model.makeNode("/root/temp/receipt/rcptsite");
  9858. model.setValue("/root/temp/receipt/rcptsite", 'J');
  9859. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  9860. model.setValue("/root/temp/receipt/reprintYN", "N");
  9861. model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  9862. model.setValue("/root/temp/receipt/pid", model.getValue("/root/main/otpt/otpt_pid") );
  9863. model.setValue("/root/temp/receipt/cretno", model.getValue("/root/main/otpt/otpt_cretno") );
  9864. model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/main/otpt/otpt_acptseqno") );
  9865. model.setValue("/root/temp/receipt/rcptdd", model.getValue("/root/hidden/rcv/opmi/opmi_rcptdd") );
  9866. model.setValue("/root/temp/receipt/rcptno", model.getValue("/root/hidden/rcv/opmi/opmi_rcptno") );
  9867. model.setValue("/root/temp/receipt/rcptseqno", model.getValue("/root/hidden/rcv/opmi/opmi_rcptseqno") );
  9868. model.setValue("/root/temp/receipt/orddd", model.getValue("/root/main/otpt/otpt_orddd") );
  9869. model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/otpt/otpt_instcd") );
  9870. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  9871. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd") );
  9872. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/otpt/otpt_orddrid") );
  9873. //영수증 팝업화면 호출
  9874. //modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  9875. modal("SPPAO01900");
  9876. //영수증출력 END..
  9877. }
  9878. //}
  9879. }
  9880. //2009-01-19 이동식 추가 - 환불내역팝업 호출
  9881. fRtnRcpt("3");
  9882. //2007.07.28 이동식 수정 - 접수/변경/취소 후 모든 화면 초기화
  9883. btn_init.dispatch("DOMActivate");
  9884. /*
  9885. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  9886. aa = 0; //추후 삭제
  9887. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  9888. fMultiInstanceReset();
  9889. fMultiInstanceCopy(); //멀티 인스턴스 copy
  9890. fBaseDataInit("all"); //기본데이터 초기화
  9891. model.setValue("/root/main/ptbs/ptbs_pid",ptbs_pid);
  9892. fPatInfoRef("1");
  9893. //fChrtlend("D");
  9894. */
  9895. }
  9896. }
  9897. //수가계산 후 사용
  9898. function fCalcRcpt(flag){
  9899. //절사액은 수가계산시 가져옴.
  9900. var totnopyamt = 0;
  9901. var totreduamt = 0;
  9902. var totamt = 0;
  9903. //총진료비, 비급여총액, 감액(총액 : 할인 + 감액)
  9904. //총진료비 = 급여총액 + 비급여총액+ 비보험총액 + 선택진료료
  9905. //총비급여총액 = 비급여총액+ 비보험총액
  9906. //총감액 = 할인액 + 감액 + 특정처방할인액
  9907. if (instance1.selectSingleNode("/root/main/opmi/opmi_targetamt") == null){
  9908. model.makeNode("/root/main/opmi/opmi_targetamt");
  9909. }
  9910. if (flag == "M" || flag == "C"){
  9911. var opmi_cnt;
  9912. var path;
  9913. if (flag == "M"){
  9914. opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  9915. path = "/root/main/m_opmi/opmi";
  9916. }else if (flag == "C"){
  9917. opmi_cnt = getNodesetCount("/root/main/c_opmi/opmi/opmi_pid");
  9918. path = "/root/main/c_opmi/opmi";
  9919. }
  9920. var opmi_payamt = 0; //급여금액
  9921. var opmi_allownbamt = 0; //비보험액
  9922. var opmi_nopyamt = 0; //비급여액
  9923. var opmi_payownbamt = 0; //급여금액 중 본인부담액
  9924. var opmi_payinsubamt = 0; //급여금액 중 보험자부담액
  9925. var opmi_handcapfund = 0; //장애기금
  9926. var opmi_procsubtamt = 0; //의료급여대불액
  9927. var opmi_ersubtamt = 0; //응급대불액
  9928. var opmi_specamt = 0; //선택진료
  9929. var opmi_discamt = 0; //할인액
  9930. var opmi_reduamt = 0; //감액
  9931. var opmi_bloddiscamt = 0; //혈액할인액
  9932. var opmi_totownbamt = 0; //총본인부담액
  9933. var opmi_premdlrcptamt = 0; //기중간수납금
  9934. var opmi_precardamt = 0; //기카드금액
  9935. var opmi_precashamt = 0; //기현금금액
  9936. var opmi_preonlineamt = 0; //기온라인금액
  9937. var opmi_mdlrcptamt = 0; //중간수납금
  9938. var opmi_uncoamt = 0; //미수금액
  9939. var opmi_cardamt = 0; //카드금액
  9940. var opmi_cashamt = 0; //현금금액
  9941. var opmi_onlineamt = 0; //온라인금액
  9942. var opmi_restamt = 0; //절사액
  9943. var opmi_totamt = 0; //총금액
  9944. var opmi_totnopyamt = 0; //총비급여액
  9945. var opmi_subtamt = 0; //???
  9946. var opmi_totreduamt = 0; //총감액
  9947. var opmi_pregdmndamt = 0; //산전지원금
  9948. var opmi_prepregdmndamt = 0; //기산전지원금
  9949. //20090701 1.단수처리 고시적용
  9950. var opmi_payinsurestamt = 0;
  9951. var opmi_payownbamt100 = 0;
  9952. var opmi_payinsubamt100 = 0;
  9953. var opmi_totownbamt100 = 0;
  9954. // 20110701 미용목적성형 부가가치세 적용
  9955. var opmi_taxamt = 0; // 부가세
  9956. if (opmi_cnt > 0){
  9957. for(var i = 1; i <= opmi_cnt; i++){
  9958. opmi_payamt = parseInt(opmi_payamt)+ parseInt(model.getValue(path + "["+ i +"]/opmi_payamt"));
  9959. opmi_allownbamt = parseInt(opmi_allownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_allownbamt"));
  9960. opmi_nopyamt = parseInt(opmi_nopyamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_nopyamt"));
  9961. opmi_payownbamt = parseInt(opmi_payownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payownbamt"));
  9962. opmi_payinsubamt = parseInt(opmi_payinsubamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsubamt"));
  9963. opmi_handcapfund = parseInt(opmi_handcapfund) + parseInt(model.getValue(path + "["+ i +"]/opmi_handcapfund"));
  9964. opmi_procsubtamt = parseInt(opmi_procsubtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_procsubtamt"));
  9965. opmi_ersubtamt = parseInt(opmi_ersubtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_ersubtamt"));
  9966. opmi_specamt = parseInt(opmi_specamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_specamt"));
  9967. opmi_discamt = parseInt(opmi_discamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_discamt"));
  9968. opmi_reduamt = parseInt(opmi_reduamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_reduamt"));
  9969. opmi_bloddiscamt = parseInt(opmi_bloddiscamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_bloddiscamt"));
  9970. opmi_totownbamt = parseInt(opmi_totownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totownbamt"));
  9971. opmi_premdlrcptamt = parseInt(opmi_premdlrcptamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_premdlrcptamt"));
  9972. opmi_pregdmndamt = parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  9973. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"));
  9974. //if( btn_stat.attribute("background-color") == "#c0c0c0" ){ //접수일경우 gs_prcs = "2";
  9975. if( gs_prcs == "2" ){
  9976. opmi_precardamt = parseInt(opmi_precardamt)
  9977. + parseInt(model.getValue(path + "["+ i +"]/opmi_precardamt"));
  9978. opmi_precashamt = parseInt(opmi_precashamt)
  9979. + parseInt(model.getValue(path + "["+ i +"]/opmi_precashamt"));
  9980. opmi_preonlineamt = parseInt(opmi_preonlineamt)
  9981. + parseInt(model.getValue(path + "["+ i +"]/opmi_preonlineamt"));
  9982. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt)
  9983. + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"));
  9984. opmi_cardamt = parseInt(opmi_cardamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  9985. opmi_cashamt = parseInt(opmi_cashamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  9986. opmi_onlineamt = parseInt(opmi_onlineamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  9987. opmi_pregdmndamt = parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  9988. }else{ //수정삭제일 경우
  9989. opmi_precardamt = parseInt(opmi_precardamt)
  9990. + parseInt(model.getValue(path + "["+ i +"]/opmi_precardamt"))
  9991. + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  9992. opmi_precashamt = parseInt(opmi_precashamt)
  9993. + parseInt(model.getValue(path + "["+ i +"]/opmi_precashamt"))
  9994. + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  9995. opmi_preonlineamt = parseInt(opmi_preonlineamt)
  9996. + parseInt(model.getValue(path + "["+ i +"]/opmi_preonlineamt"))
  9997. + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  9998. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt)
  9999. + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"))
  10000. + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10001. opmi_cardamt = 0 //parseInt(opmi_cardamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  10002. opmi_cashamt = 0 //parseInt(opmi_cashamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  10003. opmi_onlineamt = 0 //parseInt(opmi_onlineamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  10004. opmi_pregdmndamt = 0 //parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10005. }
  10006. opmi_mdlrcptamt = parseInt(opmi_mdlrcptamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_mdlrcptamt"));
  10007. opmi_uncoamt = parseInt(opmi_uncoamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_uncoamt"));
  10008. opmi_restamt = parseInt(opmi_restamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_restamt"));
  10009. opmi_totamt = parseInt(opmi_totamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totamt"));
  10010. opmi_totnopyamt = parseInt(opmi_totnopyamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totnopyamt"));
  10011. opmi_subtamt = parseInt(opmi_subtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_subtamt"));
  10012. opmi_totreduamt = parseInt(opmi_totreduamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totreduamt"));
  10013. //20090701 1.단수처리 고시적용
  10014. opmi_payinsurestamt = parseInt(opmi_payinsurestamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsurestamt"));
  10015. opmi_payownbamt100 = parseInt(opmi_payownbamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_payownbamt100"));
  10016. opmi_payinsubamt100 = parseInt(opmi_payinsubamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsubamt100"));
  10017. opmi_totownbamt100 = parseInt(opmi_totownbamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_totownbamt100"));
  10018. // 20110701 미용목적성형 부가가치세 적용
  10019. opmi_taxamt = parseInt(opmi_taxamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_taxamt"));
  10020. }
  10021. }
  10022. model.setValue("/root/main/opmi/opmi_payamt",(opmi_payamt).toString());
  10023. model.setValue("/root/main/opmi/opmi_allownbamt",(opmi_allownbamt).toString());
  10024. model.setValue("/root/main/opmi/opmi_nopyamt",(opmi_nopyamt).toString());
  10025. model.setValue("/root/main/opmi/opmi_payownbamt",(opmi_payownbamt).toString());
  10026. model.setValue("/root/main/opmi/opmi_payinsubamt",(opmi_payinsubamt).toString());
  10027. model.setValue("/root/main/opmi/opmi_handcapfund",(opmi_handcapfund).toString());
  10028. model.setValue("/root/main/opmi/opmi_procsubtamt",(opmi_procsubtamt).toString());
  10029. model.setValue("/root/main/opmi/opmi_ersubtamt",(opmi_ersubtamt).toString());
  10030. model.setValue("/root/main/opmi/opmi_specamt",(opmi_specamt).toString());
  10031. model.setValue("/root/main/opmi/opmi_discamt",(opmi_discamt).toString());
  10032. model.setValue("/root/main/opmi/opmi_reduamt",(opmi_reduamt).toString());
  10033. model.setValue("/root/main/opmi/opmi_bloddiscamt",(opmi_bloddiscamt).toString());
  10034. model.setValue("/root/main/opmi/opmi_totownbamt",(opmi_totownbamt).toString());
  10035. model.setValue("/root/main/opmi/opmi_premdlrcptamt",(opmi_premdlrcptamt).toString());
  10036. model.setValue("/root/main/opmi/opmi_precardamt",(opmi_precardamt).toString());
  10037. model.setValue("/root/main/opmi/opmi_precashamt",(opmi_precashamt).toString());
  10038. model.setValue("/root/main/opmi/opmi_preonlineamt",(opmi_preonlineamt).toString());
  10039. model.setValue("/root/main/opmi/opmi_mdlrcptamt",(opmi_mdlrcptamt).toString());
  10040. model.setValue("/root/main/opmi/opmi_uncoamt",(opmi_uncoamt).toString());
  10041. model.setValue("/root/main/opmi/opmi_cardamt",(opmi_cardamt).toString());
  10042. model.setValue("/root/main/opmi/opmi_cashamt",(opmi_cashamt).toString());
  10043. model.setValue("/root/main/opmi/opmi_onlineamt",(opmi_onlineamt).toString());
  10044. model.setValue("/root/main/opmi/opmi_restamt",(opmi_restamt).toString());
  10045. model.setValue("/root/main/opmi/opmi_totamt",(opmi_totamt).toString());
  10046. model.setValue("/root/main/opmi/opmi_totnopyamt",(opmi_totnopyamt).toString());
  10047. model.setValue("/root/main/opmi/opmi_subtamt",(opmi_subtamt).toString());
  10048. model.setValue("/root/main/opmi/opmi_totreduamt",(opmi_totreduamt).toString());
  10049. model.setValue("/root/main/opmi/opmi_targetamt", (opmi_cashamt + opmi_cardamt + opmi_onlineamt).toString());
  10050. model.setValue("/root/main/opmi/opmi_pregdmndamt", opmi_pregdmndamt);
  10051. model.setValue("/root/main/opmi/opmi_prepregdmndamt", opmi_prepregdmndamt);
  10052. //20090701 1.단수처리 고시적용
  10053. model.setValue("/root/main/opmi/opmi_payinsurestamt", opmi_payinsurestamt);
  10054. model.setValue("/root/main/opmi/opmi_payownbamt100", opmi_payownbamt100);
  10055. model.setValue("/root/main/opmi/opmi_payinsubamt100", opmi_payinsubamt100);
  10056. model.setValue("/root/main/opmi/opmi_totownbamt100", opmi_totownbamt100);
  10057. //20110701 미용목적성형 부가가치세 적용
  10058. model.setValue("/root/main/opmi/opmi_taxamt", opmi_taxamt);
  10059. }else if( flag == "C"){
  10060. var opmi_cnt;
  10061. var path;
  10062. opmi_cnt = getNodesetCount("/root/main/c_opmi/opmi/opmi_pid");
  10063. var otptCnt = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  10064. path = "/root/main/c_opmi/opmi";
  10065. var opmi_payamt = 0; //급여금액
  10066. var opmi_allownbamt = 0; //비보험액
  10067. var opmi_nopyamt = 0; //비급여액
  10068. var opmi_payownbamt = 0; //급여금액 중 본인부담액
  10069. var opmi_payinsubamt = 0; //급여금액 중 보험자부담액
  10070. var opmi_handcapfund = 0; //장애기금
  10071. var opmi_procsubtamt = 0; //의료급여대불액
  10072. var opmi_ersubtamt = 0; //응급대불액
  10073. var opmi_specamt = 0; //선택진료
  10074. var opmi_discamt = 0; //할인액
  10075. var opmi_reduamt = 0; //감액
  10076. var opmi_bloddiscamt = 0; //혈액할인액
  10077. var opmi_totownbamt = 0; //총본인부담액
  10078. var opmi_premdlrcptamt = 0; //기중간수납금
  10079. var opmi_precardamt = 0; //기카드금액
  10080. var opmi_precashamt = 0; //기현금금액
  10081. var opmi_preonlineamt = 0; //기온라인금액
  10082. var opmi_mdlrcptamt = 0; //중간수납금
  10083. var opmi_uncoamt = 0; //미수금액
  10084. var opmi_cardamt = 0; //카드금액
  10085. var opmi_cashamt = 0; //현금금액
  10086. var opmi_onlineamt = 0; //온라인금액
  10087. var opmi_restamt = 0; //절사액
  10088. var opmi_totamt = 0; //총금액
  10089. var opmi_totnopyamt = 0; //총비급여액
  10090. var opmi_subtamt = 0; //???
  10091. var opmi_totreduamt = 0; //총감액
  10092. var opmi_pregdmndamt = 0;
  10093. var opmi_prepregdmndamt = 0;
  10094. //20090701 1.단수처리 고시적용
  10095. var opmi_payinsurestamt = 0;
  10096. var opmi_payownbamt100 = 0;
  10097. var opmi_payinsubamt100 = 0;
  10098. var opmi_totownbamt100 = 0;
  10099. //20110701 미용목적성형 부가가치세 적용
  10100. var opmi_taxamt = 0;
  10101. if (opmi_cnt > 0){
  10102. for(var i = 1; i <= opmi_cnt; i++){
  10103. for(var inner = 1; inner <= otptCnt; inner++ ){
  10104. if( model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_check") == 'Y' ){
  10105. if(model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptdd") == model.getValue("/root/main/c_opmi/opmi[" + i + "]/opmi_rcptdd")
  10106. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptno") == model.getValue("/root/main/c_opmi/opmi[" + i + "]/opmi_rcptno")
  10107. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptseqno") == model.getValue("/root/main/c_opmi/opmi[" + i + "]/opmi_rcptseqno") ){
  10108. opmi_payamt = parseInt(opmi_payamt)+ parseInt(model.getValue(path + "["+ i +"]/opmi_payamt"));
  10109. opmi_allownbamt = parseInt(opmi_allownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_allownbamt"));
  10110. opmi_nopyamt = parseInt(opmi_nopyamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_nopyamt"));
  10111. opmi_payownbamt = parseInt(opmi_payownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payownbamt"));
  10112. opmi_payinsubamt = parseInt(opmi_payinsubamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsubamt"));
  10113. opmi_handcapfund = parseInt(opmi_handcapfund) + parseInt(model.getValue(path + "["+ i +"]/opmi_handcapfund"));
  10114. opmi_procsubtamt = parseInt(opmi_procsubtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_procsubtamt"));
  10115. opmi_ersubtamt = parseInt(opmi_ersubtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_ersubtamt"));
  10116. opmi_specamt = parseInt(opmi_specamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_specamt"));
  10117. opmi_discamt = parseInt(opmi_discamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_discamt"));
  10118. opmi_reduamt = parseInt(opmi_reduamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_reduamt"));
  10119. opmi_bloddiscamt = parseInt(opmi_bloddiscamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_bloddiscamt"));
  10120. opmi_totownbamt = parseInt(opmi_totownbamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totownbamt"));
  10121. opmi_premdlrcptamt = parseInt(opmi_premdlrcptamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_premdlrcptamt"));
  10122. opmi_pregdmndamt = parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10123. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"));
  10124. //if( btn_stat.attribute("background-color") == "#c0c0c0" ){ //접수일경우 gs_prcs = "2";
  10125. if( gs_prcs == "2" ){
  10126. opmi_precardamt = parseInt(opmi_precardamt)
  10127. + parseInt(model.getValue(path + "["+ i +"]/opmi_precardamt"));
  10128. opmi_precashamt = parseInt(opmi_precashamt)
  10129. + parseInt(model.getValue(path + "["+ i +"]/opmi_precashamt"));
  10130. opmi_preonlineamt = parseInt(opmi_preonlineamt)
  10131. + parseInt(model.getValue(path + "["+ i +"]/opmi_preonlineamt"));
  10132. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt)
  10133. + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"));
  10134. opmi_cardamt = parseInt(opmi_cardamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  10135. opmi_cashamt = parseInt(opmi_cashamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  10136. opmi_onlineamt = parseInt(opmi_onlineamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  10137. opmi_pregdmndamt = parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10138. }else{ //수정삭제일 경우
  10139. opmi_precardamt = parseInt(opmi_precardamt)
  10140. + parseInt(model.getValue(path + "["+ i +"]/opmi_precardamt"))
  10141. + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  10142. opmi_precashamt = parseInt(opmi_precashamt)
  10143. + parseInt(model.getValue(path + "["+ i +"]/opmi_precashamt"))
  10144. + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  10145. opmi_preonlineamt = parseInt(opmi_preonlineamt)
  10146. + parseInt(model.getValue(path + "["+ i +"]/opmi_preonlineamt"))
  10147. + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  10148. opmi_prepregdmndamt = parseInt(opmi_prepregdmndamt)
  10149. + parseInt(model.getValue(path + "["+ i +"]/opmi_prepregdmndamt"))
  10150. + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10151. opmi_cardamt = 0 //parseInt(opmi_cardamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cardamt"));
  10152. opmi_cashamt = 0 //parseInt(opmi_cashamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_cashamt"));
  10153. opmi_onlineamt = 0 //parseInt(opmi_onlineamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_onlineamt"));
  10154. opmi_pregdmndamt = 0 //parseInt(opmi_pregdmndamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_pregdmndamt"));
  10155. }
  10156. opmi_mdlrcptamt = parseInt(opmi_mdlrcptamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_mdlrcptamt"));
  10157. opmi_uncoamt = parseInt(opmi_uncoamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_uncoamt"));
  10158. opmi_restamt = parseInt(opmi_restamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_restamt"));
  10159. opmi_totamt = parseInt(opmi_totamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totamt"));
  10160. opmi_totnopyamt = parseInt(opmi_totnopyamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totnopyamt"));
  10161. opmi_subtamt = parseInt(opmi_subtamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_subtamt"));
  10162. opmi_totreduamt = parseInt(opmi_totreduamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_totreduamt"));
  10163. //20090701 1.단수처리 고시적용
  10164. opmi_payinsurestamt = parseInt(opmi_payinsurestamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsurestamt"));
  10165. opmi_payownbamt100 = parseInt(opmi_payownbamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_payownbamt100"));
  10166. opmi_payinsubamt100 = parseInt(opmi_payinsubamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_payinsubamt100"));
  10167. opmi_totownbamt100 = parseInt(opmi_totownbamt100) + parseInt(model.getValue(path + "["+ i +"]/opmi_totownbamt100"));
  10168. // 20110701 미용목적성형 부가가치세 적용
  10169. opmi_taxamt = parseInt(opmi_taxamt) + parseInt(model.getValue(path + "["+ i +"]/opmi_taxamt"));
  10170. }else{
  10171. continue;
  10172. }
  10173. }else{
  10174. continue;
  10175. }
  10176. }
  10177. }
  10178. }
  10179. model.setValue("/root/main/opmi/opmi_payamt",(opmi_payamt).toString());
  10180. model.setValue("/root/main/opmi/opmi_allownbamt",(opmi_allownbamt).toString());
  10181. model.setValue("/root/main/opmi/opmi_nopyamt",(opmi_nopyamt).toString());
  10182. model.setValue("/root/main/opmi/opmi_payownbamt",(opmi_payownbamt).toString());
  10183. model.setValue("/root/main/opmi/opmi_payinsubamt",(opmi_payinsubamt).toString());
  10184. model.setValue("/root/main/opmi/opmi_handcapfund",(opmi_handcapfund).toString());
  10185. model.setValue("/root/main/opmi/opmi_procsubtamt",(opmi_procsubtamt).toString());
  10186. model.setValue("/root/main/opmi/opmi_ersubtamt",(opmi_ersubtamt).toString());
  10187. model.setValue("/root/main/opmi/opmi_specamt",(opmi_specamt).toString());
  10188. model.setValue("/root/main/opmi/opmi_discamt",(opmi_discamt).toString());
  10189. model.setValue("/root/main/opmi/opmi_reduamt",(opmi_reduamt).toString());
  10190. model.setValue("/root/main/opmi/opmi_bloddiscamt",(opmi_bloddiscamt).toString());
  10191. model.setValue("/root/main/opmi/opmi_totownbamt",(opmi_totownbamt).toString());
  10192. model.setValue("/root/main/opmi/opmi_premdlrcptamt",(opmi_premdlrcptamt).toString());
  10193. model.setValue("/root/main/opmi/opmi_precardamt",(opmi_precardamt).toString());
  10194. model.setValue("/root/main/opmi/opmi_precashamt",(opmi_precashamt).toString());
  10195. model.setValue("/root/main/opmi/opmi_preonlineamt",(opmi_preonlineamt).toString());
  10196. model.setValue("/root/main/opmi/opmi_mdlrcptamt",(opmi_mdlrcptamt).toString());
  10197. model.setValue("/root/main/opmi/opmi_uncoamt",(opmi_uncoamt).toString());
  10198. model.setValue("/root/main/opmi/opmi_cardamt",(opmi_cardamt).toString());
  10199. model.setValue("/root/main/opmi/opmi_cashamt",(opmi_cashamt).toString());
  10200. model.setValue("/root/main/opmi/opmi_onlineamt",(opmi_onlineamt).toString());
  10201. model.setValue("/root/main/opmi/opmi_restamt",(opmi_restamt).toString());
  10202. model.setValue("/root/main/opmi/opmi_totamt",(opmi_totamt).toString());
  10203. model.setValue("/root/main/opmi/opmi_totnopyamt",(opmi_totnopyamt).toString());
  10204. model.setValue("/root/main/opmi/opmi_subtamt",(opmi_subtamt).toString());
  10205. model.setValue("/root/main/opmi/opmi_totreduamt",(opmi_totreduamt).toString());
  10206. model.setValue("/root/main/opmi/opmi_targetamt", (opmi_cashamt + opmi_cardamt + opmi_onlineamt).toString());
  10207. model.setValue("/root/main/opmi/opmi_pregdmndamt", opmi_pregdmndamt);
  10208. model.setValue("/root/main/opmi/opmi_prepregdmndamt", opmi_prepregdmndamt);
  10209. //20090701 1.단수처리 고시적용
  10210. model.setValue("/root/main/opmi/opmi_payinsurestamt", opmi_payinsurestamt);
  10211. model.setValue("/root/main/opmi/opmi_payownbamt100", opmi_payownbamt100);
  10212. model.setValue("/root/main/opmi/opmi_payinsubamt100", opmi_payinsubamt100);
  10213. model.setValue("/root/main/opmi/opmi_totownbamt100", opmi_totownbamt100);
  10214. // 20110701 미용목적성형 부가가치세 적용
  10215. model.setValue("/root/main/opmi/opmi_taxamt", opmi_taxamt);
  10216. }else{
  10217. //if( btn_stat.attribute("background-color") != "#c0c0c0" ){ //접수가 아닐 경우
  10218. if( gs_prcs != "2" ){ //수가계산을 안한 경우
  10219. var precardamt = parseInt(model.getValue("/root/main/opmi/opmi_precardamt")) + parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  10220. var precashamt = parseInt(model.getValue("/root/main/opmi/opmi_precashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  10221. var preonlnamt = parseInt(model.getValue("/root/main/opmi/opmi_preonlineamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  10222. var prepregdmndamt = parseInt(model.getValue("/root/main/opmi/opmi_prepregdmndamt")) + parseInt(model.getValue("/root/main/opmi/opmi_pregdmndamt"));
  10223. model.setValue("/root/main/opmi/opmi_precardamt",(precardamt).toString());
  10224. model.setValue("/root/main/opmi/opmi_precashamt",(precashamt).toString());
  10225. model.setValue("/root/main/opmi/opmi_preonlineamt",(preonlnamt).toString());
  10226. model.setValue("/root/main/opmi/opmi_prepregdmndamt",(prepregdmndamt).toString());
  10227. model.setValue("/root/main/opmi/opmi_cardamt", 0);
  10228. model.setValue("/root/main/opmi/opmi_cashamt", 0);
  10229. model.setValue("/root/main/opmi/opmi_onlineamt", 0);
  10230. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  10231. }
  10232. var subtamt = parseInt(model.getValue("/root/main/opmi/opmi_procsubtamt")) + parseInt(model.getValue("/root/main/opmi/opmi_ersubtamt"));
  10233. model.setValue("/root/main/opmi/opmi_subtamt", subtamt);
  10234. var targetamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt"))
  10235. + parseInt(model.getValue("/root/main/opmi/opmi_cardamt"))
  10236. + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  10237. model.setValue("/root/main/opmi/opmi_targetamt", targetamt);
  10238. }
  10239. //총비급여총액
  10240. totnopyamt = (parseInt(model.getValue("/root/main/opmi/opmi_nopyamt")) +
  10241. parseInt(model.getValue("/root/main/opmi/opmi_allownbamt")));
  10242. //총감액
  10243. var bloddiscamt = parseInt(model.getValue("/root/main/opmi/opmi_bloddiscamt"));
  10244. if (bloddiscamt == null) bloddiscamt = 0;
  10245. totreduamt = (parseInt(model.getValue("/root/main/opmi/opmi_discamt")) +
  10246. parseInt(model.getValue("/root/main/opmi/opmi_reduamt")) +
  10247. parseInt(bloddiscamt));
  10248. //총진료비
  10249. totamt = (parseInt(model.getValue("/root/main/opmi/opmi_payamt")) +
  10250. parseInt(model.getValue("/root/main/opmi/opmi_nopyamt")) +
  10251. parseInt(model.getValue("/root/main/opmi/opmi_allownbamt")) +
  10252. parseInt(model.getValue("/root/main/opmi/opmi_specamt"))
  10253. );
  10254. model.setValue("/root/main/opmi/opmi_totnopyamt",totnopyamt.toString());
  10255. model.setValue("/root/main/opmi/opmi_totreduamt",totreduamt.toString());
  10256. model.setValue("/root/main/opmi/opmi_totamt",totamt.toString());
  10257. //2007-10-16 이동식 추가
  10258. //계산시, 수납할 금액을 금액표시기에 전송
  10259. //금액표시기 초기화
  10260. fInit_Display();
  10261. //금액표시기 포트열기
  10262. fOpenCom();
  10263. fDisplayAmt(model.getValue("/root/main/ptbs/ptbs_hngnm"), model.getValue("/root/main/opmi/opmi_targetamt"), model.getValue("/root/hidden/session/sess_usernm"));
  10264. fCloseCom();
  10265. //이름, 금액
  10266. //END..
  10267. model.refresh();
  10268. }
  10269. //팝업 조작 후 사용
  10270. function fCalcRcpt2(){
  10271. //var owntotamt = eval(model.getValue("/root/main/opmi/opmi_owntotamt"));
  10272. //20090701 1.단수처리 고시적용
  10273. //var owntotamt = eval(model.getValue("/root/main/opmi/opmi_totownbamt"));
  10274. var owntotamt = eval(model.getValue("/root/main/opmi/opmi_totownbamt100"));
  10275. if (owntotamt == null) owntotamt = 0;
  10276. var precashamt = eval(model.getValue("/root/main/opmi/opmi_precashamt"));
  10277. if (precashamt == null) precashamt = 0;
  10278. var precardamt = eval(model.getValue("/root/main/opmi/opmi_precardamt"));
  10279. if (precardamt == null) precardamt = 0;
  10280. var discamt = eval(model.getValue("/root/main/opmi/opmi_discamt"));
  10281. if (discamt == null) discamt = 0;
  10282. var prepregdmndamt = eval(model.getValue("/root/main/opmi/opmi_prepregdmndamt"));
  10283. if (prepregdmndamt == null) prepregdmndamt = 0;
  10284. var pregdmndamt = eval(model.getValue("/root/main/opmi/opmi_pregdmndamt"));
  10285. if (pregdmndamt == null) pregdmndamt = 0;
  10286. var bloddiscamt = eval(model.getValue("/root/main/opmi/opmi_bloddiscamt"));
  10287. if (bloddiscamt == null) bloddiscamt = 0;
  10288. var reduamt = eval(model.getValue("/root/main/opmi/opmi_totreduamt"));
  10289. if (reduamt == null) reduamt = 0;
  10290. var uncoamt = eval(model.getValue("/root/main/opmi/opmi_uncoamt"));
  10291. if (uncoamt == null) uncoamt = 0;
  10292. var reduamt = eval(model.getValue("/root/main/opmi/opmi_reduamt"));
  10293. if (reduamt == null) reduamt = 0;
  10294. var cardamt = eval(model.getValue("/root/main/opmi/opmi_cardamt"));
  10295. if (cardamt == null) cardamt = 0;
  10296. var onlineamt = eval(model.getValue("/root/main/opmi/opmi_onlineamt"));
  10297. if (onlineamt == null) onlineamt = 0;
  10298. var preonlineamt = eval(model.getValue("/root/main/opmi/opmi_preonlineamt"));
  10299. if (preonlineamt == null) preonlineamt = 0;
  10300. var handcapfund = eval(model.getValue("/root/main/opmi/opmi_handcapfund"));
  10301. if (handcapfund == null) handcapfund = 0;
  10302. var mdlrcptamt = eval(model.getValue("/root/main/opmi/opmi_mdlrcptamt"));
  10303. //var mdlrcptamt = eval(mdlrcptamt.currentText);
  10304. if (mdlrcptamt == null) mdlrcptamt = 0;
  10305. var premdlrcptamt = eval(model.getValue("/root/main/opmi/opmi_premdlrcptamt"));
  10306. if (premdlrcptamt == null) premdlrcptamt = 0;
  10307. var restamt = eval(model.getValue("/root/main/opmi/opmi_restamt"));
  10308. if (restamt == null) restamt = 0;
  10309. owntotamt = owntotamt - restamt;
  10310. //discamt 마이너스시 뺌 reduamt 안에 금액이 포함되어 있음
  10311. var cashamt_r = owntotamt - (precashamt + precardamt + preonlineamt + handcapfund + bloddiscamt +reduamt + uncoamt + mdlrcptamt + premdlrcptamt + discamt + pregdmndamt + prepregdmndamt); //xforms-value-changed
  10312. //2007-09-04 이동식
  10313. model.setValue("/root/main/opmi/opmi_targetamt",(cashamt_r).toString());
  10314. model.setValue("/root/main/opmi/opmi_paydepoamt",(cashamt_r).toString());
  10315. //END..
  10316. //2008-06-25 이동식 추가
  10317. model.setValue("/root/hidden/com/cardcashflag", "C"); //Y-카드, N-현금영수증, C-현금
  10318. radio1.dispatch("xforms-value-changed");
  10319. //end..
  10320. //2007-10-16 이동식 추가
  10321. //계산시, 수납할 금액을 금액표시기에 전송
  10322. fOpenCom();
  10323. fDisplayAmt(model.getValue("/root/main/ptbs/ptbs_hngnm"), model.getValue("/root/main/opmi/opmi_targetamt"), model.getValue("/root/hidden/session/sess_usernm"));
  10324. fCloseCom()
  10325. //이름, 금액
  10326. //END..
  10327. model.refresh();
  10328. model.setFocus("radio1");
  10329. }
  10330. //오늘로 접수변경
  10331. function fChngOrdddToToday(){
  10332. var histstat = model.getValue("/root/hidden/com/histstat");
  10333. if (histstat == "X"){
  10334. messageBox("취소이력상태에서는 접수변경 할 수 없습니다!","E999","");
  10335. btn_stat.dispatch("DOMActivate");
  10336. return;
  10337. }
  10338. //2007-09-20 이동식 추가
  10339. var currow = grd_outhist.row;
  10340. var curcol = grd_outhist.col;
  10341. if( currow < 1 && curcol < 1 ){
  10342. messageBox("외래이력 탭에서 오늘로 접수변경할 내역을 정확히 선택하신 후 다시 시도하세요!!", "E999", "");
  10343. return false;
  10344. }
  10345. //END..
  10346. //2007-12-24 이동식 수정 - 입원전환 내역의 경우 변경/취소 불가!!
  10347. if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_tdayinflag") != 'N' &&
  10348. model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_tdayinflag") != '-')
  10349. {
  10350. messageBox("확인! 입원전환 내역은 접수변경할 수 없습니다!","E999","");
  10351. return false;
  10352. }
  10353. //2007-09-27 이동식 추가
  10354. if( ! fCheckOutRgstUpdate()){
  10355. btn_stat.dispatch("DOMActivate");
  10356. return false;
  10357. }
  10358. //당일접수로 변경시 일정체크로직 추가
  10359. var centcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd");
  10360. var orddrid = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddrid");
  10361. var orddeptcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddeptcd");
  10362. var subdeptcd = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_subdeptcd");
  10363. var orddd = getCurrentDate(); //model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd");
  10364. var ordtm = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_ordtm");
  10365. var fsexamflag = model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_fsexamflag");
  10366. var sRsrvflag = '-';
  10367. if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_insukind") == "71" ){
  10368. sRsrvflag = 'Q';
  10369. }
  10370. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  10371. if( retVal == false ){
  10372. return false;
  10373. }else if( retVal != true ){
  10374. if( CENTERYN != 'Y' ){
  10375. //센터접수
  10376. model.setValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd", retVal);
  10377. }
  10378. }else{
  10379. if( CENTERYN != 'Y' ){
  10380. //센터코드 초기화
  10381. model.setValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd", '-');
  10382. }
  10383. }
  10384. fSubmitBefore();
  10385. fSubmitAfter();
  10386. copyNodeWithPostfix("/root/send/data1","/root/main/h_otpt/otpt["+ currow +"]","_old");
  10387. model.copyNode("/root/send/data2","/root/hidden/session");
  10388. // model.copyNode("/root/send/data3", "/root/main/h_otpt/otpt["+ currow +"]");
  10389. model.makeValue("/root/send/data3/updtcnclresn", "[수납]당일로 접수변경");
  10390. model.makeValue("/root/send/data3/otpt_flag", 'U');
  10391. model.makeValue("/root/send/data3/orddeptcd", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddeptcd"));
  10392. model.makeValue("/root/send/data3/subdeptcd", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_subdeptcd"));
  10393. model.makeValue("/root/send/data3/centcd", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_centcd"));
  10394. model.makeValue("/root/send/data3/orddrid", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddrid"));
  10395. model.makeValue("/root/send/data3/specordyn", model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_specordyn"));
  10396. model.makeValue("/root/send/data3/orddd", getCurrentDate());
  10397. model.makeValue("/root/send/data3/ordtm", getCurrentTime().substr( 0, 4));
  10398. //당일예약으로 변경시 예약구분을 당일접수로 변경
  10399. model.makeValue("/root/send/data1/otpt_rsrvflag_old", '-');
  10400. if (submit("TXPMO00302") == true){
  10401. //영수증 발행 데이터 세팅.
  10402. model.removeNodeset("/root/temp/receipt");
  10403. model.makeNode("/root/temp/receipt/pid");
  10404. model.makeNode("/root/temp/receipt/cretno");
  10405. model.makeNode("/root/temp/receipt/acptseqno");
  10406. model.makeNode("/root/temp/receipt/rcptdd");
  10407. model.makeNode("/root/temp/receipt/rcptno");
  10408. model.makeNode("/root/temp/receipt/rcptseqno");
  10409. model.makeNode("/root/temp/receipt/orddd");
  10410. model.makeNode("/root/temp/receipt/ordtype");
  10411. model.makeNode("/root/temp/receipt/instcd");
  10412. model.makeNode("/root/temp/receipt/engYN");
  10413. model.makeNode("/root/temp/receipt/reprintYN");
  10414. //2008-01-10 조영상 요청사항
  10415. model.makeValue("/root/temp/receipt/m_cnt", "1");
  10416. //END..
  10417. //2007-09-17 이동식 추가 - 조영상 요청사항
  10418. model.makeNode("/root/temp/receipt/ordrcptflag");
  10419. model.makeNode("/root/temp/receipt/orddeptcd");
  10420. model.makeNode("/root/temp/receipt/orddrid");
  10421. //END..
  10422. model.makeNode("/root/temp/receipt/rcptsite");
  10423. model.setValue("/root/temp/receipt/rcptsite", 'J');
  10424. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  10425. // model.setValue("/root/temp/receipt/reprintYN", model.getValue("/root/hidden/com/orgflag")); //재발행
  10426. model.setValue("/root/temp/receipt/reprintYN", "N"); //재발행
  10427. //model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  10428. //2015/04/08 이정택 수정
  10429. //당일로 접수 변경시 영수증에 납부할 금액을 -> 이미 납부한금액으로 표현되도록 수정
  10430. model.makeValue("/root/temp/receipt/changeyn", "Y");
  10431. //2015/04/08 이정택 수정
  10432. model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  10433. model.setValue("/root/temp/receipt/pid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_pid") );
  10434. model.setValue("/root/temp/receipt/cretno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_cretno") );
  10435. model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_acptseqno") );
  10436. model.setValue("/root/temp/receipt/rcptdd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_rcptdd") );
  10437. model.setValue("/root/temp/receipt/rcptno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_rcptno") );
  10438. model.setValue("/root/temp/receipt/rcptseqno", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_rcptseqno") );
  10439. model.setValue("/root/temp/receipt/orddd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddd") );
  10440. model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_instcd") );
  10441. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  10442. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddeptcd") );
  10443. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/hidden/rcv/chart/chartlist/otpt_orddrid") );
  10444. // //예약증을 발급할 것인지, 접수영수증을 발행할 것인지 체크.
  10445. // //예약증 발행 로직
  10446. // if( btn_stat.attribute("background-color") == "#0000ff"){
  10447. // model.setValue("/root/temp/receipt/ordtype", "외래예약증");
  10448. // model.setValue("/root/temp/receipt/pid", model.getValue("/root/main/otpt/otpt_pid") );
  10449. // model.setValue("/root/temp/receipt/cretno", model.getValue("/root/main/otpt/otpt_cretno") );
  10450. // model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/main/otpt/otpt_acptseqno") );
  10451. // model.setValue("/root/temp/receipt/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  10452. // model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/otpt/otpt_instcd") );
  10453. // model.setValue("/root/temp/receipt/ordrcptflag", '');
  10454. // model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd") );
  10455. // model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/otpt/otpt_orddrid") );
  10456. //
  10457. // }else if( btn_stat.attribute("background-color") != "#0000ff" ){
  10458. // model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  10459. // model.setValue("/root/temp/receipt/pid", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_pid") );
  10460. // model.setValue("/root/temp/receipt/cretno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_cretno") );
  10461. // model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_acptseqno") );
  10462. // model.setValue("/root/temp/receipt/rcptdd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptdd") );
  10463. // model.setValue("/root/temp/receipt/rcptno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptno") );
  10464. // model.setValue("/root/temp/receipt/rcptseqno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptseqno") );
  10465. // model.setValue("/root/temp/receipt/orddd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddd") );
  10466. // model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_instcd") );
  10467. // model.setValue("/root/temp/receipt/ordrcptflag", '');
  10468. // model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddeptcd") );
  10469. // model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddrid") );
  10470. // }
  10471. //영수증 팝업화면 호출
  10472. //modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  10473. modal("SPPAO01900");
  10474. //영수증출력 END..
  10475. //화면 초기화!!
  10476. btn_init.dispatch("DOMActivate");
  10477. }
  10478. }
  10479. function fPrestRowDel(){
  10480. //멀티 카드내역은 실제 카드 내역이 취소되면서 삭제
  10481. //멀티 현금내역은 실제 현금 내역이 취소되면서 삭제
  10482. var h_card_cnt = getNodesetCount("/root/main/h_card/card");
  10483. if (h_card_cnt > 0){
  10484. //sum으로 체크
  10485. var card_cardamt = 0;
  10486. for(var g = 1; g <= h_card_cnt; g++){
  10487. card_cardamt = card_cardamt + eval(model.getValue("/root/main/h_card/card["+ g +"]/card_cardamt"));
  10488. }
  10489. if (card_cardamt != 0){
  10490. messageBox("승인된 카드내역을 취소한 후 입력한 내역을 삭제하십시요!","E999","");
  10491. return false;
  10492. }
  10493. }
  10494. var h_cash_cnt = getNodesetCount("/root/main/h_cash/cash");
  10495. if (h_cash_cnt > 0){
  10496. var cash_cashamt = 0;
  10497. for(var h = 1; h <= h_cash_cnt; h++){
  10498. cash_cashamt = cash_cashamt + eval(model.getValue("/root/main/h_cash/cash["+ h +"]/cash_cashamt"));
  10499. }
  10500. if (cash_cashamt != 0){
  10501. messageBox("승인된 현금영수증내역을 취소한 후 입력한 내역을 삭제하십시요!","E999","");
  10502. return false;
  10503. }
  10504. }
  10505. //2007-12-07 이동식 추가
  10506. var motpt_cnt = getNodesetCount("/root/main/m_otpt/otpt");
  10507. //end,,
  10508. var currow = grd_rgstrsrv.row;
  10509. var otpt_mseqno_currow = model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_mseqno");
  10510. grd_rgstrsrv.deleteitem(currow);
  10511. var ptin_cnt = getNodesetCount("/root/main/m_ptin/ptin");
  10512. var ptin_mseqno_a;
  10513. for(var a = 1; a <= ptin_cnt; a++){
  10514. ptin_mseqno_a = model.getValue("/root/main/m_ptin/ptin["+ a +"]/ptin_mseqno");
  10515. if (otpt_mseqno_currow == ptin_mseqno_a) {
  10516. model.removenode("/root/main/m_ptin/ptin["+ a +"]");
  10517. }
  10518. }
  10519. // var ptdc_cnt = getNodesetCount("/root/main/m_ptdc/ptdc");
  10520. // var ptdc_mseqno_b;
  10521. // for(var b = 1; b <= ptdc_cnt; b++){
  10522. // ptdc_mseqno_b = model.getValue("/root/main/m_ptdc/ptdc["+ b +"]/ptdc_mseqno");
  10523. //
  10524. // if (otpt_mseqno_currow == ptdc_mseqno_b) model.removenode("/root/main/m_ptdc/ptdc["+ b +"]");
  10525. // }
  10526. //계산된 내역이 존재하면
  10527. //해당 otpt의 opmi 삭제, 내부적으로 oscl..등등 삭제
  10528. //카드/현금 내역은 승인 취소시에 비교해서 삭제
  10529. var opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  10530. if (opmi_cnt > 0){
  10531. var opmi_mseqno_i;
  10532. for(var i = 1; i <= opmi_cnt; i++){
  10533. opmi_mseqno_i = model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno");
  10534. //if (otpt_mseqno_currow == opmi_mseqno_i) datagrid3.deleteitem(i);
  10535. }
  10536. var oscl_cnt = getNodesetCount("/root/main/m_oscl/oscl");
  10537. var oscl_mseqno_j;
  10538. for(var j = 1; j <= oscl_cnt; j++){
  10539. oscl_mseqno_j = model.getValue("/root/main/m_oscl/oscl["+ j +"]/oscl_mseqno");
  10540. if (otpt_mseqno_currow == oscl_mseqno_j) model.removenode("/root/main/m_oscl/oscl["+ j +"]");
  10541. }
  10542. var dcgm_cnt = getNodesetCount("/root/main/m_dcgm/dcgm");
  10543. if (dcgm_cnt > 0){
  10544. var dcgm_mseqno_k;
  10545. for(var k = 1; k <= dcgm_cnt; k++){
  10546. dcgm_mseqno_k = model.getValue("/root/main/m_dcgm/dcgm["+ k +"]/dcgm_mseqno");
  10547. if (otpt_mseqno_currow == dcgm_mseqno_k) model.removenode("/root/main/m_dcgm/dcgm["+ k +"]");
  10548. }
  10549. }
  10550. }
  10551. //삭제내역 제외하고 재계산
  10552. if( motpt_cnt <= 1 ){
  10553. fInitUpdtMultiData();
  10554. }else{
  10555. fCalcRcpt("M");
  10556. }
  10557. return true;
  10558. }
  10559. function fMultiSaveHistRef(row){
  10560. fSubmitBefore();
  10561. fSubmitAfter();
  10562. model.copyNode("/root/send/data1","/root/main/h_otpt/otpt["+ row +"]");
  10563. model.copyNode("/root/send/data2","/root/hidden/session");
  10564. if (submit("TRPMO00108") == true){
  10565. //묶인 외래이력
  10566. if (getNodesetCount("/root/hidden/rcv/c_otpt/otpt") > 0){
  10567. model.copyNode("/root/main/c_otpt","/root/hidden/rcv/c_otpt");
  10568. model.copyNode("/root/main/c_opmi","/root/hidden/rcv/c_opmi");
  10569. //멀리 취소할 이력 체크박스 선택/해제시 수납내역 summary display 필요
  10570. var card_msg = "";
  10571. var cash_msg = "";
  10572. //카드
  10573. if (getNodesetCount("/root/hidden/rcv/c_card/card") > 0){
  10574. model.copyNode("/root/main/c_card","/root/hidden/rcv/c_card");
  10575. card_msg = "카드";
  10576. }
  10577. //현금
  10578. if (getNodesetCount("/root/hidden/rcv/c_cash/cash") > 0){
  10579. model.copyNode("/root/main/c_cash","/root/hidden/rcv/c_cash");
  10580. cash_msg = "현금";
  10581. }
  10582. //취소시 멀티 내역 단독으로 변경/취소 시 승인 내역 조작 체크, 일괄 취소시 카드 승인 취소 가능
  10583. messageBox("멀티 접수시 승인한 " + card_msg + " " + cash_msg + "내역이 존재합니다!", "E999","");
  10584. //toggle
  10585. btn_otpt.selected = false;
  10586. btn_m_otpt.selected = false;
  10587. btn_c_otpt.selected = true;
  10588. model.toggle("case7");
  10589. //접수,변경 버튼 비활성화
  10590. btn_save.disabled = true;
  10591. btn_updt.disabled = true;
  10592. //2007-12-16 이동식 추가 - 멀티취소내역 디폴트 모두선택!!
  10593. //button14.dispatch("onclick");
  10594. //grd_multicncl.rebuild();
  10595. //model.refresh();
  10596. }
  10597. }
  10598. }
  10599. function fCalcRcptCardMulti(){
  10600. if (getNodesetCount("/root/main/m_card/card/card_pid") < 1){
  10601. messageBox("멀티접수카드 내역이 미존재합니다!","E999","");
  10602. return false;
  10603. }
  10604. var opmi_cashamt;
  10605. for(var i = 1; i <= getNodesetCount("/root/main/m_opmi/opmi"); i++){
  10606. opmi_cashamt = model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt");
  10607. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cardamt",opmi_cashamt);
  10608. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt","0");
  10609. }
  10610. }
  10611. function fPatInfoUpdt(){
  10612. if(fBrthddVeri(model.getValue("/root/main/ptbs/ptbs_brthdd"), ipt_brthdd) == false) return; //2010-01-18 김주희 DUR관련 생년월일체크
  10613. fSubmitBefore();
  10614. fSubmitAfter();
  10615. model.copyNode("/root/send/data1", "/root/main/ptbs");
  10616. model.copyNode("/root/send/data2", "/root/hidden/session");
  10617. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  10618. if (ptbs_pid != null && ptbs_pid != "" && ptbs_pid != " " && ptbs_pid != "-"){
  10619. model.setValue("/root/source/srchcond", "1");
  10620. model.setValue("/root/source/pid", ptbs_pid);
  10621. //2016/04/12 이정택 추가
  10622. model.setValue("/root/source/checkfnexam", "5");
  10623. //2016/04/12 이정택 추가
  10624. model.makeNode("/root/hidden/rcv/patinfo");
  10625. if(submit("TRPMC02500")){
  10626. if( getNodesetCount("/root/hidden/rcv/patinfo/patinfolist/pid") < 1 ){
  10627. var msg = messageBox(ptbs_pid + "로 등록된 환자정보가 존재하지 않습니다. 현재 입력하신 등록번호로 환자정보를 새로 등록하시겠습니까?", "Q999", "");
  10628. if( msg != 6 ){
  10629. model.removeNodeset("/root/hidden/rcv/patinfo");
  10630. model.resetInstanceNode("/root/source");
  10631. return false;
  10632. }else{
  10633. model.makeNode("/root/send/data1/pid_flag");
  10634. model.setValue("/root/send/data1/pid_flag", "F"); //강제채번 플래그
  10635. }
  10636. }
  10637. }
  10638. }
  10639. /*
  10640. // 1. 외래환자의 경우 표시명은 실명과 동일하게 설정
  10641. if (isNull(model.getValue("/root/main/ptbs/ptbs_inhospyn")) || model.getValue("/root/main/ptbs/ptbs_inhospyn") == "-") {
  10642. model.setValue("/root/main/ptbs/ptbs_hngnm2", model.getValue("/root/main/ptbs/ptbs_hngnm"));
  10643. // 2. 재원중인 환자의 경우 실명과 표시명이 다를 경우 표시명을 동명이인체크하여 세팅
  10644. // (재원중인 환자가 실명과 표시명이 다른 경우는 개명 또는 신생아 출생등록 크게 2케이스임)
  10645. } else {
  10646. var hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  10647. var hngnm2 = model.getValue("/root/main/ptbs/ptbs_hngnm2");
  10648. hngnm2 = hngnm2.replace(/[A-Z]/gi, "");
  10649. // 표시명이 다른경우 중복되지 않는 표시명 자동추출하여 세팅
  10650. if (hngnm != hngnm2) {
  10651. // 중복되지 않는 표시명 취득
  10652. var ivrObjt2 = document.all("ivr_nameconf");
  10653. if (ivrObjt2 == null) {
  10654. body.createChild("xforms:iviewer", "id:ivr_nameconf; src:../../../pam/patinfomngtweb/xrw/SPPMC07300_동명이인환자관리.xrw");
  10655. ivrObjt2 = document.all("ivr_nameconf");
  10656. }
  10657. var hngNm2 = ivrObjt2.window.javascript.fGetNewHngnm2(model.getValue("/root/main/ptbs/ptbs_pid"), model.getValue("/root/main/ptbs/ptbs_hngnm"));
  10658. // 재원환자 동명이인처리된 경우 팝업으로 내용안내
  10659. messageBox("재원환자 동명이인 체크결과에 의하여 표시명이 다음과 같이 설정되었습니다. "
  10660. + "\r\n업무에 참고하시기 바랍니다."
  10661. + "\r\n표시명 : "+ hngNm2, "I000");
  10662. model.setValue("/root/main/ptbs/ptbs_hngnm2", hngNm2);
  10663. }
  10664. }
  10665. */
  10666. model.removeNodeset("/root/hidden/rcv/patinfo");
  10667. model.resetInstanceNode("/root/source");
  10668. // 클라이언트 IP주소 저장 추가 by 조중래 20130906
  10669. model.makeValue("/root/send/data1/ptbs_ipaddr", getUserInfo("ipaddr"));
  10670. if (submit("TXPMO00104")){
  10671. if( getNodesetCount("/root/hidden/rcv/ptbs/ptbs_pid") > 0 ){
  10672. model.copyNode("/root/main/ptbs", "/root/hidden/rcv/ptbs");
  10673. model.setValue("/root/hidden/flag/ptbs_flag", "");
  10674. model.refresh();
  10675. }else{
  10676. messageBox("인적사항변경 오류입니다. 다시 시도해 주세요.", "E999", "");
  10677. return false;
  10678. }
  10679. //동의서 출력여부(2017/12/07 이정택 수정(환자번호 새로 채번시 적용토록 수정))
  10680. var scanyn = model.getValue("/root/main/ptbs/ptbs_scanyn");
  10681. cpt_scanyn.text = '[동:' + scanyn + ']';
  10682. //동의서 출력여부(2017/12/07 이정택 수정(환자번호 새로 채번시 적용토록 수정))
  10683. //신환이거나 구환이라도 환자카드 체크되어있으면 발행처리
  10684. var sIdcard = model.getValue("/root/hidden/com/idcard");
  10685. if ((ptbs_pid == "" || ptbs_pid ==' ' || ptbs_pid == '-') && sIdcard == "Y"){
  10686. //환자카드발급 신청.
  10687. fIssuePatientCard('F'); //최초발급
  10688. gs_olnw = 'O'; //환자기본정보 저장하고 환자카드 발급된 상황이므로 구환으로 세팅
  10689. //END..
  10690. }
  10691. }
  10692. }
  10693. function fCreateVirtualAccount(){
  10694. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  10695. if( pid == '' || pid == ' ' || pid == '-' ){
  10696. messageBox("환자를 조회하신 후에 가상계좌를 생성하세요!!", "E999", "");
  10697. return false;
  10698. }
  10699. fSubmitBefore();
  10700. fSubmitAfter();
  10701. model.setValue("/root/send/data1", pid);
  10702. if(submit("TXPMO00108")){
  10703. messageBox("가상계좌생성을 완료했습니다.", "I999", "");
  10704. model.setValue("/root/main/ptbs/ptbs_onlineaccountno", model.getValue("/root/hidden/rcv/vacntno/vacntno"));
  10705. opt_vacntno.refresh();
  10706. }
  10707. }
  10708. function fChrtlend(gubn){
  10709. if (getNodesetCount("/root/main/h_chrt/chrt") < 1) return false;
  10710. fSubmitBefore();
  10711. fSubmitAfter();
  10712. if (instance1.selectSingleNode("/root/main/h_chrt/chrt") != null) model.setValue("/root/send/data1", getNodeListCSV(instance1.selectNodes("/root/main/h_chrt/chrt")));
  10713. submit("TRPMO00109");
  10714. }
  10715. //2007-09-27 이동식 추가
  10716. function fCheckOutRgstUpdate(){
  10717. var currow = grd_outhist.row;
  10718. if (model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_dracptyn") == 'Y'){
  10719. messageBox("확인! 이미 진료의사 접수되었습니다!","E999","");
  10720. return false;
  10721. }else if(model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_etcordflag") == 'M' || model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_etcordflag") == 'J'){
  10722. messageBox("연속처방(물리치료, 주사)내역입니다. 반환하실 수 없습니다.","E999","");
  10723. return false;
  10724. }
  10725. //재진예약의 경우 접수화면에서 임의적으로 변경 할 수 없고 수납에서 수납한다.
  10726. //histstat || 후불인 경우
  10727. var otpt_histstat_old = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_histstat");
  10728. var otpt_rcptno_old = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_rcptno");
  10729. if (otpt_histstat_old == "T" ){ //|| eval(otpt_rcptno_old) < 1){
  10730. messageBox("확인! 미수납 예약내역은 외래수납하시거나 외래진료예약 화면에서 변경/취소하십시요!","E999","");
  10731. return false;
  10732. }
  10733. var otpt_medamtpostyn_old = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_medamtpostyn");
  10734. var otpt_rcptno_old = model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_rcptno");
  10735. if (otpt_medamtpostyn_old != "N" && eval(otpt_rcptno_old) < 1){
  10736. messageBox("확인! 미수납상태의 후불/수납VIP는 변경불가! 외래수납하시거나 외래진료예약 화면에서 변경/취소하십시요!","E999","");
  10737. return false;
  10738. }
  10739. return true;
  10740. }
  10741. //END..
  10742. //7.23 이동식 추가
  10743. function fInitializeExceptPTBS(){
  10744. //단일구조 인스턴스 초기화
  10745. model.resetInstanceNode("/root/main/patinfo");
  10746. model.resetInstanceNode("/root/main/ptin");
  10747. // model.resetInstanceNode("/root/main/ptdc");
  10748. model.resetInstanceNode("/root/main/otpt");
  10749. model.resetInstanceNode("/root/main/otpt_old");
  10750. model.resetInstanceNode("/root/main/opmi");
  10751. model.resetInstanceNode("/root/hidden/com");
  10752. model.resetInstanceNode("/root/hidden/flag");
  10753. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  10754. fMultiInstanceCopy(); //멀티 인스턴스 copy
  10755. fOneInstanceBackUp(); //단일구조 인스턴수 백업
  10756. fMultiInstanceBackUp(); //멀티구조 인스턴스 백업
  10757. fBaseDataInit("all"); //기본데이터 초기화
  10758. fInsuTabChng();
  10759. model.refresh();
  10760. }
  10761. function fCheckSpcfPat(){
  10762. if( getNodesetCount("/root/main/h_ptsp/ptsp") > 0 ){
  10763. btn_patspcfyn.attribute("background-color") = "#ff0000";
  10764. }else{
  10765. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  10766. }
  10767. }
  10768. //2007-08-15 이동식 추가
  10769. //당일 접수의 경우 진료시간을 수가계산/접수 시점에 갱신한다.
  10770. function fSetOrdTime(){
  10771. if( model.getValue("/root/hidden/com/rsrvdesc") == "당일접수"){
  10772. //진료시간 세팅
  10773. // model.setValue("/root/main/otpt/otpt_orddd", getCurrentDate());
  10774. var ordtm = getCurrentTime().substr( 0, 4);
  10775. if( ordtm < '0830' ){
  10776. ordtm = '0830';
  10777. }else if( ordtm > '1200' && ordtm < '1330' ){
  10778. ordtm = '1330';
  10779. }
  10780. model.setValue("/root/main/otpt/otpt_ordtm", ordtm);
  10781. // model.setValue("/root/main/otpt/otpt_ordtm",(getCurrentTime()).substring(0,4));
  10782. }
  10783. }
  10784. function fSearchOutRgstInfo(){
  10785. var ptbs_pid = ipt_pid.currentText; //model.getValue("/root/main/ptbs/ptbs_pid");
  10786. var ptbs_hngnm = ipt_hngnm.currentText;
  10787. var ptbs_rrgstno1 = ipt_rrgstno1.currentText;
  10788. var ptbs_rrgstno2 = ipt_rrgstno2.currentText;
  10789. var checkAutoMultiRgst = true;
  10790. if (ptbs_pid != null && ptbs_pid != "" && ptbs_pid != " " && ptbs_pid != "-"){
  10791. aa = 0; //추후 삭제
  10792. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  10793. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  10794. fMultiInstanceCopy(); //멀티 인스턴스 copy
  10795. fBaseDataInit("all"); //기본데이터 초기화
  10796. fInsuTabChng();
  10797. model.setValue("/root/main/ptbs/ptbs_pid",ptbs_pid);
  10798. model.setValue("/root/main/ptbs/ptbs_hngnm",ptbs_hngnm);
  10799. model.setValue("/root/main/ptbs/ptbs_rrgstno1",ptbs_rrgstno1);
  10800. model.setValue("/root/main/ptbs/ptbs_rrgstno2",ptbs_rrgstno2);
  10801. fOneInstanceBackUp();
  10802. // model.refresh();
  10803. ipt_pid.refresh();
  10804. // setInputNodeCurText();
  10805. if (fPidVeri() == false) return;
  10806. if (fPatInfoRef("1") == false) return;
  10807. //2009-04-16 이동식 추가
  10808. //사망환자 체크
  10809. fCheckDethYN( model.getValue("/root/main/ptbs/ptbs_dethyn"), model.getValue("/root/main/ptbs/ptbs_dethdt"));
  10810. fInhospynCheck(); //재원환자인지 체크합니다.2007/05/22 조영상
  10811. //2009-02-12 이동식 추가 --성모병원에서 전환된 환자 메세지 처리
  10812. fCheckMigPatMsg( model.getValue("/root/main/ptbs/ptbs_pidflag") );
  10813. //2007.07.30 이동식 추가 - 특이환자체크
  10814. fCheckSpcfPat();
  10815. //2008-06-02 이동식 수정 단일 트랜잭션으로 수정
  10816. if( fGetTotalCheckInfo() == false ){
  10817. return false;
  10818. }
  10819. //미진료 예약 환불금 여부 확인
  10820. //fCheckRefund(ptbs_pid);
  10821. //자보/산재 등록내역 체크
  10822. fCheckAutoInduInsu(model.getValue("/root/main/ptbs/ptbs_pid"), getCurrentDate());
  10823. //사생활보호 관리여부 확인
  10824. fGetPatPrivacyInfo(model.getValue("/root/main/ptbs/ptbs_pid"));
  10825. // 격리대상정보 표시
  10826. fSetIsolInfo(model.getValue("/root/main/ptbs/ptbs_isolinfo"));
  10827. //최근 1년 외래이력표시
  10828. model.setValue("/root/hidden/com/rectoneyear", 'Y');
  10829. bool6.dispatch("xforms-value-changed");
  10830. //END..
  10831. }else if( model.getValue("/root/main/ptbs/ptbs_hngnm").length > 0
  10832. && model.getValue("/root/main/ptbs/ptbs_rrgstno1").length == 6
  10833. && model.getValue("/root/main/ptbs/ptbs_rrgstno2").length == 7 ){
  10834. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  10835. var ptbs_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  10836. var ptbs_rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  10837. aa = 0; //추후 삭제
  10838. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  10839. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  10840. fMultiInstanceCopy(); //멀티 인스턴스 copy
  10841. fBaseDataInit("all"); //기본데이터 초기화
  10842. model.setValue("/root/main/ptbs/ptbs_pid" ,ptbs_pid);
  10843. model.setValue("/root/main/ptbs/ptbs_hngnm" ,ptbs_hngnm);
  10844. model.setValue("/root/main/ptbs/ptbs_rrgstno1" ,ptbs_rrgstno1);
  10845. model.setValue("/root/main/ptbs/ptbs_rrgstno2" ,ptbs_rrgstno2);
  10846. //fOneInstanceBackUp();
  10847. fOneInstanceBackUp();
  10848. model.refresh();
  10849. //model.refresh();
  10850. gs_olnw = "N";
  10851. if (fPatInfoRef("2") == false) return;
  10852. /* //인사정보의 직원, 직원가족정보 조회
  10853. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  10854. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  10855. // 환자번호로 검색(20120918 wify)
  10856. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  10857. if( rrgstno1.length == 6 && rrgstno2.length == 7 ){
  10858. // var retValue = fGetPsnWorkInfo(rrgstno1 + rrgstno2);
  10859. var retValue = fGetPsnWorkInfoDir(pid);
  10860. //선택한 직원정보 세팅
  10861. if( retValue != '' && retValue != ' ' ){
  10862. var arr_retValue = retValue.split("▦");
  10863. model.setValue("/root/main/otpt/otpt_emplno", arr_retValue[0]);
  10864. model.setValue("/root/main/otpt/otpt_emplnm", arr_retValue[1]);
  10865. // model.refresh();
  10866. }
  10867. } */
  10868. }else{
  10869. messageBox("환자 인적사항을 확인하세요! 인적사항이 정확하지 않아 외래이력을 가져올 수 없습니다.", "E999", "");
  10870. return false;
  10871. }
  10872. //END..
  10873. //전화예약환자 메세지 표시 - 칠곡 도기환 샘 요청
  10874. //미수납 전화예약 내역이 있을 경우 알림메세지 띄움.
  10875. var mCnt = getNodesetCount("/root/main/m_otpt/otpt/otpt_orddd");
  10876. if( mCnt > 0 ){
  10877. var msgpopupyn = 'N';
  10878. for(var i = 1; i <= mCnt; i++ ){
  10879. //'2' 전화예약
  10880. if( model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_rsrvflag") == '2' && model.getValue("/root/main/m_otpt/otpt["+ i +"]/otpt_orddd") == getCurrentDate() ){
  10881. messageBox("전화예약 환자입니다. 접수예약 탭에서 확인하세요!", "I999", "");
  10882. msgpopupyn = 'Y';
  10883. break;
  10884. }
  10885. }
  10886. if( msgpopupyn == 'N' ){
  10887. messageBox("예약내역이 있습니다. 접수예약 탭에서 확인하세요!", "I999", "");
  10888. }
  10889. }
  10890. //20120910
  10891. //이지패스 등록환자의 경우 환자정보 로딩시 VIP후불 자동 세팅되도록 수정
  10892. if( model.getValue("/root/main/ptbs/ptbs_hngnm").search("★") > 0 ){ //일치하는 부분이 없으면 -1 반환
  10893. model.setValue("/root/main/otpt/otpt_medamtpostyn", "V"); //VIP후불
  10894. model.setValue("/root/main/otpt/otpt_rcptvipresncd", "04"); //VIP후불수납(오픈카드)
  10895. rdo_medamtpostyn.dispatch("xforms-select");
  10896. }
  10897. //개인정보이용 동의서 자동출력 여부
  10898. model.setValue("/root/hidden/com/personprntyn", PersonPrntYN);
  10899. // 선택진료비제도 개선에 따른 정산여부 조회 추가 by 조중래 20140730
  10900. // workType, pid, orddd, cretno, prcpdd, execPrcpUniqno, openType
  10901. getPrcpRcptCheck("PAM", model.getValue("/root/main/ptbs/ptbs_pid"), "", "", "", "", "open");
  10902. model.setValue("/root/send/data37/pid", model.getValue("/root/main/ptbs/ptbs_pid") );
  10903. model.setValue("/root/send/data37/rgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1") );
  10904. model.setValue("/root/send/data37/rgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2") );
  10905. model.setValue("/root/send/data37/name", model.getValue("/root/main/ptbs/ptbs_hngnm") );
  10906. model.setValue("/root/send/data37/orddd", model.getValue("/root/main/otpt/otpt_orddd") );
  10907. if(submit("TRPAO00118")){
  10908. var gr_disccd = model.getValue("/root/main/otpt/otpt_disccd");
  10909. var tempdisccd = model.getValue("/root/temp10/disclist/disccd");
  10910. if(gr_disccd != tempdisccd){
  10911. messageBox("감면코드가 감면정보에 등록된 정보와 다릅니다. 확인하십시오.", "E999");
  10912. }
  10913. }
  10914. model.refresh();
  10915. }
  10916. function fGetEmplInfo(){
  10917. setParameter("SPPMC03800_emplid", '');
  10918. setParameter("SPPMC03800_emplnm", model.getValue("/root/main/ptbs/ptbs_hngnm"));
  10919. setParameter("SPPMC03800_rrgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  10920. setParameter("SPPMC03800_rrgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  10921. setParameter("SPPMC03800_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  10922. modal("SPPMC03800", "1","150", "150", "SPPMC03800", "", "");
  10923. var emplID = getParameter("SPPMC03800_emplid");
  10924. var emplNM = getParameter("SPPMC03800_emplnm");
  10925. // var discuncoflag = getParameter("SPPMC03800_discuncoflag");
  10926. var discuncocd = getParameter("SPPMC03800_discuncocd");
  10927. var aftrcptyn = getParameter("SPPMC03800_aftrcptyn");
  10928. clearParameter("SPPMC03800_pid");
  10929. clearParameter("SPPMC03800_emplid");
  10930. clearParameter("SPPMC03800_emplnm");
  10931. clearParameter("SPPMC03800_discuncoflag");
  10932. clearParameter("SPPMC03800_discuncocd");
  10933. clearParameter("SPPMC03800_aftrcptyn");
  10934. //후수납( 수납VIP )여부 세팅
  10935. //2009-02-06 이동식 추가
  10936. if( aftrcptyn == 'Y' ){
  10937. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'V'); //수납 VIP
  10938. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '01');
  10939. rdo_medamtpostyn.dispatch("xforms-select");
  10940. }else{
  10941. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N'); //선불
  10942. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  10943. rdo_medamtpostyn.dispatch("xforms-select");
  10944. }
  10945. if( emplID != '' && emplID != ' ' ){
  10946. model.setValue("/root/main/otpt/otpt_emplno", emplID.substr(0,9));
  10947. model.setValue("/root/main/otpt/otpt_emplnm", emplNM);
  10948. }
  10949. if( discuncocd != '' ){
  10950. model.setValue("/root/main/otpt/otpt_disccd", discuncocd);
  10951. }else{
  10952. model.setValue("/root/main/otpt/otpt_disccd", '-');
  10953. model.setValue("/root/main/otpt/otpt_emplno", "");
  10954. model.setValue("/root/main/otpt/otpt_emplnm", "");
  10955. }
  10956. model.refresh();
  10957. }
  10958. function fCheckCardCash(flag){
  10959. var cardcashflag = model.getValue("/root/hidden/com/cardcashflag");
  10960. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  10961. var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  10962. // model.setValue("/root/hidden/m_etc/cashaprvflag", "I"); //현금영수증 승인 아님
  10963. // model.setValue("/root/hidden/m_etc/cardaprvflag", "I"); //카드 승인 아님
  10964. // var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  10965. // var cashaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag")
  10966. if( cardcashflag == '' ){
  10967. messageBox("확인! 수납방법이 정확히 선택되지 않았습니다. 다시 선택해 주세요.", "E999", "");
  10968. return false;
  10969. }
  10970. //현금
  10971. if( cardcashflag == 'C'){
  10972. if( parseInt(model.getValue("/root/main/opmi/opmi_cardamt")) == 0 ){
  10973. model.setValue("/root/hidden/m_etc/cardaprvflag", "N");
  10974. }
  10975. if( cardcashflag == 'C' || (cardcashflag == 'Y' && model.getValue("/root/hidden/com/cash_indinstflag") == '02') ){
  10976. model.setValue("/root/hidden/m_etc/cashaprvflag", "N");
  10977. }
  10978. if( parseInt( opmi_cashamt ) < 0 ){
  10979. // messageBox("확인! 수납방법을 현금으로 선택하시고 현금금액을 입력하지 않았습니다.", "E999", "");
  10980. messageBox("확인! 현금 수납금액을 확인하세요!", "E999", "");
  10981. return false;
  10982. }
  10983. if( parseInt(model.getValue("/root/main/opmi/opmi_cardamt")) > 0 && getNodesetCount("/root/main/h_card/card/card_pid") < 1 && flag == 'I'){
  10984. // messageBox("확인! 수납방법을 현금으로 선택하시고 현금금액을 입력하지 않았습니다.", "E999", "");
  10985. messageBox("확인! 수납방법을 현금으로 선택하시고 카드금액을 입력하셨습니다!", "E999", "");
  10986. return false;
  10987. }
  10988. }
  10989. //카드
  10990. var card_cnt = getNodesetCount("/root/main/h_card/card/card_pid");
  10991. var opmi_cardamt = parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  10992. if (card_cnt > 0){
  10993. var card_cardamt = 0;
  10994. var card_cardamt_row = 0;
  10995. for(var i = 1; i <= card_cnt; i++){
  10996. card_cardamt_row = model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt");
  10997. card_cardamt = parseInt(card_cardamt) + parseInt(card_cardamt_row);
  10998. }
  10999. //변경의 경우 기존 이전 카드 수납금액을 제외한다.
  11000. if( flag == 'U' ){
  11001. card_cardamt = parseInt(card_cardamt) - parseInt(model.getValue("/root/main/opmi/opmi_precardamt"));
  11002. }
  11003. //카드승인금액과 영수증 카드금액이 같을때
  11004. if( card_cardamt == opmi_cardamt ){
  11005. model.setValue("/root/hidden/m_etc/cardaprvflag", "N"); //카드승인완료
  11006. // return true;
  11007. }else if ( card_cardamt > 0 ){
  11008. messageBox("확인! 카드승인금액이 있습니다. 확인 후 다시 접수(변경)하세요.","E999","");
  11009. return false;
  11010. }else if( card_cardamt < 0 ){
  11011. messageBox("확인! 카드승인 취소한 금액이 있습니다. 확인 후 다시 접수(변경)하세요.","E999","");
  11012. return false;
  11013. }
  11014. }else if( parseInt(opmi_cardamt) * -1 == parseInt(model.getValue("/root/main/opmi/opmi_precardamt")) && flag == 'U' ){
  11015. //카드승인반환 후 현금 수납으로 변경
  11016. model.setValue("/root/hidden/m_etc/cardaprvflag", "N"); //카드승인완료
  11017. }
  11018. if( opmi_cardamt > 0 && model.getValue("/root/hidden/m_etc/cardaprvflag") != 'N'){
  11019. if( cardcashflag != 'Y'){
  11020. messageBox("확인! 카드결제액을 입력하고 수납방법을 현금(현금영수증)으로 선택하셨습니다. ", "E999", "");
  11021. return false;
  11022. }else if( parseInt( model.getValue("/root/main/opmi/opmi_cardamt") ) == 0 ){
  11023. messageBox("확인! 수납방법을 카드로 선택하시고 카드결제액을 입력하지 않았습니다.", "E999", "");
  11024. return false;
  11025. }else if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  11026. messageBox("확인! 수납방법을 카드로 선택하시고 카드번호를 입력하지 않았습니다.", "E999", "");
  11027. return false;
  11028. }else if( model.getValue("/root/hidden/com/card_valiterm").length < 1 ){
  11029. messageBox("확인! 수납방법을 카드로 선택하시고 카드유효기간을 입력하지 않았습니다.", "E999", "");
  11030. return false;
  11031. }else if( model.getValue("/root/hidden/com/card_allotmm").length < 1 ){
  11032. messageBox("확인! 수납방법을 카드로 선택하시고 카드할부기간을 입력하지 않았습니다.", "E999", "");
  11033. return false;
  11034. }
  11035. //카드승인풀래그 추가
  11036. model.setValue("/root/hidden/m_etc/cardaprvflag", "I");
  11037. }else if( opmi_cardamt == 0 && cardcashflag == 'Y' && model.getValue("/root/hidden/m_etc/cardaprvflag") != 'N'){
  11038. messageBox("확인! 수납방법을 카드로 선택하시고 카드결제액을 입력하지 않았습니다. ", "E999", "");
  11039. return false;
  11040. }else if( opmi_cardamt < 0 && flag == 'U' && model.getValue("/root/hidden/m_etc/cardaprvflag") != 'N'){
  11041. messageBox("카드수납내역 변경의 경우 카드팝업에서 작업 후 접수(변경)하세요!", "E999", "");
  11042. //카드팝업호출!!
  11043. btn_cardpopup.dispatch("DOMActivate");
  11044. return false;
  11045. }else if( opmi_cardamt < 0 && flag == 'I'){
  11046. messageBox("카드 수납금액이 마이너스 금액입니다. 확인 후 다시 접수(변경)하세요.", "E999", "");
  11047. return false;
  11048. }
  11049. //현금영수증
  11050. var cash_cnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  11051. var opmi_cashamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  11052. if (cash_cnt > 0)
  11053. {
  11054. var cash_cashamt = 0;
  11055. var cash_cashamt_row = 0;
  11056. for(var i = 1; i <= cash_cnt; i++){
  11057. cash_cashamt_row = model.getValue("/root/main/h_cash/cash["+ i +"]/cash_cashamt");
  11058. cash_cashamt = parseInt(cash_cashamt) + parseInt(cash_cashamt_row);
  11059. }
  11060. //변경의 경우 기존 이전 카드 수납금액을 제외한다.
  11061. if( flag == 'U' ){
  11062. cash_cashamt = parseInt(cash_cashamt) - parseInt(model.getValue("/root/main/opmi/opmi_precashamt"));
  11063. }
  11064. if( cash_cashamt == opmi_cashamt ){
  11065. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  11066. }else if( cash_cashamt == 0 && opmi_cashamt < 0 && flag == 'U' ){
  11067. if( messageBox("현금영수증 승인 내역이 있습니다. 승인취소하시겠습니까?", "Q999", "") == 6 ){
  11068. model.setValue("/root/hidden/m_etc/cashaprvflag", "D"); //현금영수증 승인 취소
  11069. }else{
  11070. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  11071. }
  11072. }else if( parseInt(cash_cashamt) * -1 == parseInt(model.getValue("/root/main/opmi/opmi_precashamt")) ){
  11073. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  11074. }else if ( cash_cashamt > 0 ){
  11075. messageBox("확인! 현금영수증 승인금액이 수납금액 보다 많습니다. 확인 후 다시 접수(변경)하세요.","E999","");
  11076. return false;
  11077. }else if( cash_cashamt < 0 ){
  11078. if( messageBox("확인! 현금영수증 승인금액이 수납금액 보다 적습니다. 계속 진행하시겠습니까?","Q999","") == 6 ){
  11079. }else{
  11080. return false;
  11081. }
  11082. }
  11083. }
  11084. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  11085. if( opmi_cashamt > 0 && cardcashflag == 'N' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  11086. if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  11087. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금영수증번호를 입력하지 않았습니다.", "E999", "");
  11088. return false;
  11089. }
  11090. //현금영수증승인 풀래그 추가
  11091. model.setValue("/root/hidden/m_etc/cashaprvflag", "I");
  11092. }else if( opmi_cashamt == 0 && cardcashflag == 'N' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  11093. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금결제액을 입력하지 않았습니다. ", "E999", "");
  11094. return false;
  11095. }
  11096. //2008-07-16 이동식 추가 - 현금영수증 + 카드 동시 승인
  11097. if( opmi_cashamt > 0 && cardcashflag == 'Y' && model.getValue("/root/hidden/com/cash_indinstflag") != '02' && ( cashaprvflag != 'N' && cashaprvflag != 'D') ){
  11098. //카드 + 현금영수증 동시 승인..
  11099. // if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  11100. // messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금영수증번호를 입력하지 않았습니다.", "E999", "");
  11101. // return false;
  11102. // }
  11103. //현금영수증승인 풀래그 추가
  11104. model.setValue("/root/hidden/m_etc/cashaprvflag", "I");
  11105. }
  11106. //END...
  11107. // else if( opmi_cashamt < 0 && cardcashflag != 'C' && flag == 'U'){
  11108. //
  11109. // messageBox("현금영수증 수납내역 변경의 경우 현금영수증 팝업에서 작업 후 접수변경하세요!", "E999", "");
  11110. // //현금영수증팝업호출!!
  11111. // btn_cashpopup.dispatch("DOMActivate");
  11112. // return false;
  11113. if( opmi_cashamt < 0 && cardcashflag != 'C' && flag == 'I'){
  11114. messageBox("현금영수증 수납금액이 마이너스 금액입니다. 확인 후 다시 접수(변경)하세요.", "E999", "");
  11115. return false;
  11116. }
  11117. return true;
  11118. }
  11119. function fCheckSpecOrdApp(flag){
  11120. // 전자동의서 적용을 위한 ip주소 검증
  11121. // 전자동의서 적용대상 ip는 별도 로직으로 처리 by 조중래 20130306
  11122. if (flag != "E" && model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  11123. return;
  11124. }
  11125. //2009-09-28 이동식 추가
  11126. //선택진료싸인을 병원별로 등록에서 할지 안할지를 옵션처리
  11127. if( flag != 'E' ){
  11128. if(model.getValue("/root/init/P0022/P0022list[cd = '141' ]/nm") == 'EMR' ){
  11129. return false;
  11130. }
  11131. }
  11132. if (flag == "S") {
  11133. //if (model.getValue("/root/main/otpt/otpt_specordyn") == "N" || model.getValue("/root/main/otpt/otpt_orddd") < getCurrentDate()) {
  11134. if (model.getValue("/root/main/otpt/otpt_orddd") < getCurrentDate()) {
  11135. return false;
  11136. }
  11137. //20111004 이름이 일반의사는 선택진료 체크 제외
  11138. //20111121 원내생진료실 + 보험유형 일반 선택진료 체크 제외
  11139. if(model.getValue("/root/main/otpt/otpt_orddrid") == '11111'
  11140. || model.getValue("/root/main/otpt/otpt_insukind") == '51'
  11141. || model.getValue("/root/main/otpt/otpt_orddeptcd") == '2241800000' ){
  11142. return false;
  11143. }
  11144. model.makeValue("/root/send/data36/pid" , model.getValue("/root/main/ptbs/ptbs_pid"));
  11145. model.makeValue("/root/send/data36/instcd" , model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  11146. model.makeValue("/root/send/data36/orddd" , model.getValue("/root/main/otpt/otpt_orddd"));
  11147. model.makeValue("/root/send/data36/orddeptcd" , model.getValue("/root/main/otpt/otpt_orddeptcd"));
  11148. model.makeValue("/root/send/data36/orddrid" , model.getValue("/root/main/otpt/otpt_orddrid"));
  11149. model.makeValue("/root/send/data36/ordtype" , model.getValue("/root/main/otpt/otpt_ordtype"));
  11150. model.makeValue("/root/send/data36/disccd" , model.getValue("/root/main/otpt/otpt_disccd"));
  11151. model.makeValue("/root/send/data36/etcordflag" , model.getValue("/root/main/otpt/otpt_etcordflag"));
  11152. model.makeValue("/root/send/data36/medamtfreeresn" , model.getValue("/root/main/otpt/otpt_medamtfreeresn"));
  11153. submit("TRPMO00125"); //선택진료 등록 여부를 조회
  11154. if (model.getValue("/root/tempchk/specapp/rgstyn") == "N") {
  11155. var sOrddeptcd = instance1.selectSingleNode("/root/init/orddeptcd[cd='" + model.getValue("/root/main/otpt/otpt_orddeptcd") + "']");
  11156. if (sOrddeptcd == null) {
  11157. var sOrddeptcdMsg = "";
  11158. } else {
  11159. var sOrddeptcdMsg = "[" + sOrddeptcd.nm.nodeValue + "]";
  11160. }
  11161. var sOrddrid = instance1.selectSingleNode("/root/init/orddrid[cd='" + model.getValue("/root/main/otpt/otpt_orddrid") + "']");
  11162. if (sOrddrid == null) {
  11163. var ssOrddridMsg = "";
  11164. } else {
  11165. var sOrddridMsg = " [" + sOrddrid.nm.nodeValue + "]";
  11166. }
  11167. sMsg = sOrddeptcdMsg + sOrddridMsg
  11168. if( messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까?", "Q999", "") == 6 ){
  11169. /*
  11170. model.makeValue("/root/tempchk/specchk/stat", "");
  11171. model.makeValue("/root/tempchk/specchk/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  11172. model.makeValue("/root/tempchk/specchk/hngnm", model.getValue("/root/main/ptbs/ptbs_hngnm"));
  11173. model.makeValue("/root/tempchk/specchk/rrgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  11174. model.makeValue("/root/tempchk/specchk/rrgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  11175. model.makeValue("/root/tempchk/specchk/choiflag", "");
  11176. model.makeValue("/root/tempchk/specchk/ordtype", "O");
  11177. model.makeValue("/root/tempchk/specchk/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  11178. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
  11179. model.makeValue("/root/tempchk/specchk/orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
  11180. if (model.getValue("/root/main/otpt/otpt_specordyn") != "N") {
  11181. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  11182. } else {
  11183. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  11184. }
  11185. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/main/otpt/otpt_orddd"));
  11186. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  11187. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  11188. */
  11189. var s_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  11190. var s_ordtype = "O";
  11191. var s_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  11192. var s_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  11193. var s_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  11194. var s_fromdd = model.getValue("/root/main/otpt/otpt_orddd");
  11195. var s_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  11196. var s_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  11197. var s_rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  11198. var s_cretno = model.getValue("/root/main/otpt/otpt_cretno");
  11199. // 선택진료신청안내창 열기
  11200. fOpenSPIFInfo();
  11201. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  11202. // 선택진료신청안내창 닫기
  11203. fCloseSPIFInfo();
  11204. return true;
  11205. }
  11206. return false;
  11207. } else {
  11208. return false;
  11209. }
  11210. } else if (flag == "M") {
  11211. var iCount = getNodesetCount("/root/main/m_otpt/otpt");
  11212. var bChk = false;
  11213. for(var i = 1; i <= iCount; i++) {
  11214. //if (model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == "Y" && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_specordyn") != "N"
  11215. if (model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == "Y"
  11216. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd") >= getCurrentDate()) {
  11217. //20111004 이름이 일반의사는 선택진료 체크 제외
  11218. //20111121 원내생진료실 + 보험유형 일반 선택진료 체크 제외
  11219. if(model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid") == '11111'
  11220. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == '51'
  11221. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd") == '2241800000'){
  11222. //bChk = false;
  11223. continue;
  11224. }
  11225. model.makeValue("/root/send/data36/pid" , model.getValue("/root/main/ptbs/ptbs_pid"));
  11226. model.makeValue("/root/send/data36/instcd" , model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  11227. model.makeValue("/root/send/data36/orddd" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd"));
  11228. model.makeValue("/root/send/data36/orddeptcd" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd"));
  11229. model.makeValue("/root/send/data36/orddrid" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid"));
  11230. model.makeValue("/root/send/data36/ordtype" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordtype"));
  11231. model.makeValue("/root/send/data36/disccd" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_disccd"));
  11232. model.makeValue("/root/send/data36/etcordflag" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_etcordflag"));
  11233. model.makeValue("/root/send/data36/medamtfreeresn" , model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_medamtfreeresn"));
  11234. submit("TRPMO00125"); //선택진료 등록 여부를 조회
  11235. if (model.getValue("/root/tempchk/specapp/rgstyn") == "N") {
  11236. var sOrddeptcd = instance1.selectSingleNode("/root/init/orddeptcd[cd='" + model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd") + "']");
  11237. if (sOrddeptcd == null) {
  11238. var sOrddeptcdMsg = "";
  11239. } else {
  11240. var sOrddeptcdMsg = "[" + sOrddeptcd.nm.nodeValue + "]";
  11241. }
  11242. var sOrddrid = instance1.selectSingleNode("/root/init/orddrid[cd='" + model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid") + "']");
  11243. if (sOrddrid == null) {
  11244. var ssOrddridMsg = "";
  11245. } else {
  11246. var sOrddridMsg = " [" + sOrddrid.nm.nodeValue + "]";
  11247. }
  11248. sMsg = sOrddeptcdMsg + sOrddridMsg
  11249. if( messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까?", "Q999", "") == 6 ){
  11250. /*
  11251. model.makeValue("/root/tempchk/specchk/stat", "");
  11252. model.makeValue("/root/tempchk/specchk/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  11253. model.makeValue("/root/tempchk/specchk/hngnm", model.getValue("/root/main/ptbs/ptbs_hngnm"));
  11254. model.makeValue("/root/tempchk/specchk/rrgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  11255. model.makeValue("/root/tempchk/specchk/rrgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  11256. model.makeValue("/root/tempchk/specchk/choiflag", "");
  11257. model.makeValue("/root/tempchk/specchk/ordtype", "O");
  11258. model.makeValue("/root/tempchk/specchk/orddd", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd"));
  11259. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd"));
  11260. model.makeValue("/root/tempchk/specchk/orddrid", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid"));
  11261. if (model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_specordyn") != "N") {
  11262. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  11263. } else {
  11264. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  11265. }
  11266. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd"));
  11267. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  11268. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  11269. */
  11270. var s_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  11271. var s_ordtype = "O";
  11272. var s_orddd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd");
  11273. var s_orddeptcd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd");
  11274. var s_orddrid = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddrid");
  11275. var s_fromdd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddd");
  11276. var s_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  11277. var s_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  11278. var s_rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  11279. var s_cretno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_cretno");
  11280. // 선택진료신청안내창 열기
  11281. fOpenSPIFInfo();
  11282. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  11283. // 선택진료신청안내창 닫기
  11284. fCloseSPIFInfo();
  11285. bChk = true;
  11286. }
  11287. } else if (model.getValue("/root/tempchk/specapp/rgstyn") == "-") { //자동조회 하지 않음.
  11288. return false;
  11289. }
  11290. }
  11291. }
  11292. if (bChk == true) {
  11293. return true;
  11294. } else {
  11295. return false;
  11296. }
  11297. } else if (flag == "E") {
  11298. /*
  11299. model.makeValue("/root/tempchk/specchk/stat", "");
  11300. model.makeValue("/root/tempchk/specchk/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  11301. model.makeValue("/root/tempchk/specchk/hngnm", model.getValue("/root/main/ptbs/ptbs_hngnm"));
  11302. model.makeValue("/root/tempchk/specchk/rrgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  11303. model.makeValue("/root/tempchk/specchk/rrgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  11304. model.makeValue("/root/tempchk/specchk/choiflag", "");
  11305. model.makeValue("/root/tempchk/specchk/ordtype", "O");
  11306. model.makeValue("/root/tempchk/specchk/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  11307. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
  11308. model.makeValue("/root/tempchk/specchk/orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
  11309. if (model.getValue("/root/main/otpt/otpt_specordyn") != "N") {
  11310. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  11311. } else {
  11312. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  11313. }
  11314. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/main/otpt/otpt_orddd"));
  11315. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  11316. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  11317. */
  11318. var s_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  11319. var s_ordtype = "O";
  11320. var s_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  11321. var s_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  11322. var s_orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  11323. var s_fromdd = model.getValue("/root/main/otpt/otpt_orddd");
  11324. var s_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  11325. var s_rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  11326. var s_rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  11327. var s_cretno = model.getValue("/root/main/otpt/otpt_cretno");
  11328. // 전자동의서 태블릿 설치여부 체크
  11329. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") != "Y") {
  11330. // 선택진료신청안내창 열기
  11331. fOpenSPIFInfo();
  11332. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  11333. // 선택진료신청안내창 닫기
  11334. fCloseSPIFInfo();
  11335. } else {
  11336. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  11337. }
  11338. }
  11339. }
  11340. // 선택진료신청서 전자동의서용
  11341. function fCheckSpecOrdAppE(){
  11342. // 전자동의서 적용을 위한 ip주소 검증
  11343. if (model.getValue("/root/paminit/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") != "Y") {
  11344. return;
  11345. }
  11346. // 카운터 설정
  11347. var iCount = getNodesetCount("/root/hidden/rcv/otpt/otpt");
  11348. for(var i = 1; i <= iCount; i++) {
  11349. if (model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddd") >= getCurrentDate()) {
  11350. //20111004 이름이 일반의사는 선택진료 체크 제외
  11351. //20111121 원내생진료실 + 보험유형 일반 선택진료 체크 제외
  11352. if(model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddrid") == '11111'
  11353. || model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/insukind") == '51'
  11354. || model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddeptcd") == '2241800000'){
  11355. continue;
  11356. }
  11357. model.makeValue("/root/send/data36/instcd" , model.getValue("/root/hidden/session/sess_dutplceinstcd"));
  11358. model.makeValue("/root/send/data36/pid" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/pid"));
  11359. model.makeValue("/root/send/data36/orddd" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddd"));
  11360. model.makeValue("/root/send/data36/orddeptcd" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddeptcd"));
  11361. model.makeValue("/root/send/data36/orddrid" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddrid"));
  11362. model.makeValue("/root/send/data36/ordtype" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/ordtype"));
  11363. model.makeValue("/root/send/data36/disccd" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/disccd"));
  11364. model.makeValue("/root/send/data36/etcordflag" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/etcordflag"));
  11365. model.makeValue("/root/send/data36/medamtfreeresn" , model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/medamtfreeresn"));
  11366. submit("TRPMO00125"); //선택진료 등록 여부를 조회
  11367. // 선택진료신청서 등록되지 않은 경우
  11368. if (model.getValue("/root/tempchk/specapp/rgstyn") == "N") {
  11369. var sOrddeptcd = instance1.selectSingleNode("/root/init/orddeptcd[cd='" + model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddeptcd") + "']");
  11370. if (sOrddeptcd == null) {
  11371. var sOrddeptcdMsg = "";
  11372. } else {
  11373. var sOrddeptcdMsg = sOrddeptcd.nm.nodeValue;
  11374. }
  11375. var sOrddrid = instance1.selectSingleNode("/root/init/orddrid[cd='" + model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddrid") + "']");
  11376. if (sOrddrid == null) {
  11377. var ssOrddridMsg = "";
  11378. } else {
  11379. var sOrddridMsg = sOrddrid.nm.nodeValue;
  11380. }
  11381. sMsg = "[" + sOrddeptcdMsg + "]" + " [" + sOrddridMsg + "]";
  11382. if( messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까?", "Q999", "") == 6 ){
  11383. var s_instcd = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/instcd");
  11384. var s_pid = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/pid");
  11385. var s_ordtype = "O";
  11386. var s_orddd = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddd");
  11387. var s_orddeptcd = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddeptcd");
  11388. var s_orddrid = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddrid");
  11389. var s_fromdd = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/orddd");
  11390. var s_cretno = model.getValue("/root/hidden/rcv/otpt/otpt[" + i + "]/cretno");
  11391. var s_hngnm = model.getValue("/root/hidden/rcv/ptbs/ptbs_hngnm");
  11392. var s_rrgstno1 = model.getValue("/root/hidden/rcv/ptbs/ptbs_rrgstno1");
  11393. var s_rrgstno2 = model.getValue("/root/hidden/rcv/ptbs/ptbs_rrgstno2");
  11394. var s_detladdr = model.getValue("/root/hidden/rcv/ptbs/ptbs_detladdr");
  11395. var s_hometel = model.getValue("/root/hidden/rcv/ptbs/ptbs_hometel");
  11396. // 전자동의서 파라미터 설정
  11397. setParameter("SSMRC03160_param_patid", s_pid);
  11398. setParameter("SSMRC03160_param_cretno", s_cretno);
  11399. setParameter("SSMRC03160_param_indate", s_orddd);
  11400. setParameter("SSMRC03160_param_instcd", s_instcd);
  11401. setParameter("SSMRC03160_param_class", s_ordtype);
  11402. setParameter("SSMRC03160_param_docucd", "1300013647"); // 1300013647 선택진료신청서(원무)
  11403. setParameter("SSMRC03160_param_cuser", getUserId());
  11404. setParameter("SSMRC03160_param_flag", "S"); // S : 선택진료신청서, A : 입원약정서, T : 기간약정서
  11405. // 환자 기본정보 설정
  11406. setParameter("SSMRC03160_param_pathngnm", s_hngnm);
  11407. setParameter("SSMRC03160_param_pataddr", s_detladdr);
  11408. setParameter("SSMRC03160_param_pattelno", s_hometel);
  11409. setParameter("SSMRC03160_param_patrrgstno", s_rrgstno1 + "-" + s_rrgstno2);
  11410. // 주진료과정보 설정 진료과/의사
  11411. var sSpecordyn = model.getValue("/root/init/orddrid[cd = '" + s_orddrid + "' and dp = '" + s_orddeptcd + "']/sp");
  11412. model.makeValue("/root/main/inform/orddeptnm", sOrddeptcdMsg);
  11413. model.makeValue("/root/main/inform/orddrnm", sOrddridMsg);
  11414. model.makeValue("/root/main/inform/specordyn", sSpecordyn);
  11415. model.makeValue("/root/main/inform/appdd", getCurrentDate());
  11416. // 전자동의서 팝업 호출
  11417. modal("SSMRC03160");
  11418. }
  11419. }
  11420. }
  11421. }
  11422. }
  11423. function fClear(flag) {
  11424. //if( fCheckCardCashAprv() != true ){
  11425. //return false;
  11426. //}
  11427. //금액표시기 닫기
  11428. //fCloseCom();
  11429. var sPid = model.getValue("/root/main/ptbs/ptbs_pid");
  11430. ipt_pid.disabled = true;
  11431. cap_privacy.visible = false; // 사생활보호
  11432. aa = 0; //추후 삭제
  11433. model.setFocus("btn_init");
  11434. btn_init.refresh();
  11435. fOneInstanceReset("all"); //단일구조 인스턴스 초기화
  11436. fMultiInstanceReset(); //멀티구조 인스턴스 초기화
  11437. model.refresh();
  11438. fMultiInstanceCopy(); //멀티 인스턴스 copy
  11439. fOneInstanceBackUp(); //단일구조 인스턴수 백업
  11440. fMultiInstanceBackUp(); //멀티구조 인스턴스 백업
  11441. fBaseDataInit("all"); //기본데이터 초기화
  11442. fInsuTabChng();
  11443. //개인정보이용 동의서 자동출력 여부
  11444. model.setValue("/root/hidden/com/personprntyn", PersonPrntYN);
  11445. //최근 1년 외래이력표시
  11446. model.setValue("/root/hidden/com/rectoneyear", 'Y');
  11447. bool6.dispatch("xforms-value-changed");
  11448. //20100401 현금영수증 의무화 주석
  11449. model.removeNodeset("/root/send/cashbaseinfo");
  11450. ipt_cardno.hint ="";
  11451. ipt_cardno.attribute("background-color") = "#ffffff";
  11452. model.removenode("/root/properties/parameters");
  11453. model.makeNode("/root/properties/parameters");
  11454. // 동의서 출력여부 초기화
  11455. cpt_scanyn.text = '';
  11456. // 격리표식 초기화
  11457. img_isola.src = "../../../com/hismainweb/images/btn_top_infection2_d.gif";
  11458. img_isolb.src = "../../../com/hismainweb/images/btn_top_infection0_d.gif";
  11459. img_isolc.src = "../../../com/hismainweb/images/btn_top_infection1_d.gif";
  11460. //2008-11-27 이동식추가
  11461. //자격조회 유무
  11462. // model.setValue("/root/hidden/com/searchInsuInfoYN", 'Y');
  11463. //2007-09-17 이동식 - 버튼 설정..
  11464. btn_calcscorcalc.disabled = false;
  11465. button2.disabled = false;
  11466. btn_save.disabled = true;
  11467. btn_updt.disabled = true;
  11468. btn_cncl.disabled = false;
  11469. //END..
  11470. //2007-11-29 이동식 추가 - 초기화시 접수예약 탭이 디폴트로 보여지게!!
  11471. btn_otpt.selected = false;
  11472. btn_m_otpt.selected = true;
  11473. btn_c_otpt.selected = false;
  11474. model.toggle("case6");
  11475. //end..
  11476. if( CENTERYN == 'Y' ){
  11477. cmb_centcd.visible = true;
  11478. combo3.visible = false;
  11479. combo4.visible = false;
  11480. cmb_orddeptcd.visible = true;
  11481. cmb_orddrid.visible = true;
  11482. model.setValue("/root/main/otpt/otpt_orddeptcd", '');
  11483. model.setValue("/root/main/otpt/otpt_orddrid", '');
  11484. model.setValue("/root/main/otpt/otpt_orddeptabbr", '');
  11485. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", '');
  11486. }else{
  11487. cmb_centcd.visible = false;
  11488. combo3.visible = false;
  11489. combo4.visible = false;
  11490. cmb_orddeptcd.visible = true;
  11491. cmb_orddrid.visible = true;
  11492. model.setValue("/root/main/otpt/otpt_orddeptcd", '');
  11493. model.setValue("/root/main/otpt/otpt_orddrid", '');
  11494. model.setValue("/root/main/otpt/otpt_orddeptabbr", '');
  11495. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", '');
  11496. }
  11497. //if (flag =="P") {
  11498. // model.setValue("/root/main/ptbs/ptbs_pid", sPid);
  11499. //}
  11500. //기본 포커스.
  11501. model.refresh();
  11502. ipt_pid.disabled = false;
  11503. model.setFocus("ipt_pid");
  11504. ipt_pid.refresh();
  11505. if( RSRVFLAG != 'H' && RSRVFLAG != 'O'){
  11506. RSRVFLAG = '-';
  11507. }
  11508. HOMECARE = 'N';
  11509. //2014/10/08 이정택 HIE관련
  11510. cap_hiepat.visible=false;
  11511. //2014/10/08 이정택 HIE관련
  11512. }
  11513. // 20110729 외부CD등록 시 가셔야할 곳 출력 - 조중래
  11514. function fPrintCdCopty(rgstFlag) {
  11515. // 칠곡에는 양식이 없으므로 사용보류
  11516. if (getUserInfo("posinstcd") == '031' || getUserInfo("posinstcd") == '033') {
  11517. setParameter("SPPMB03500_formcd", "1000009155"); //FORMCD 1000009155
  11518. setParameter("SPPMB03500_cnt", "1");
  11519. // 변경시
  11520. if (rgstFlag == 'U') {
  11521. setParameter("SPPMB03500_pid", model.getValue ( "/root/main/ptbs/ptbs_pid" ));
  11522. setParameter("SPPMB03500_orddd", model.getValue ( "/root/main/otpt/otpt_orddd" ));
  11523. setParameter("SPPMB03500_cretno", model.getValue ( "/root/main/otpt/otpt_cretno" ));
  11524. setParameter("SPPMB03500_ordtype", 'O');
  11525. setParameter("SPPMB03500_orddrid", model.getValue ( "/root/main/otpt/otpt_orddrid" ));
  11526. setParameter("SPPMB03500_orddeptcd", model.getValue ( "/root/main/otpt/otpt_orddeptcd" ));
  11527. // 등록시
  11528. } else {
  11529. setParameter("SPPMB03500_pid", model.getValue ( "/root/temp/receipt/pid" ));
  11530. setParameter("SPPMB03500_orddd", model.getValue ( "/root/temp/receipt/orddd" ));
  11531. setParameter("SPPMB03500_cretno", model.getValue ( "/root/temp/receipt/cretno" ));
  11532. setParameter("SPPMB03500_ordtype", 'O');
  11533. setParameter("SPPMB03500_orddrid", model.getValue ( "/root/temp/receipt/orddrid" ));
  11534. setParameter("SPPMB03500_orddeptcd", model.getValue ( "/root/temp/receipt/orddeptcd" ));
  11535. }
  11536. var xpt = window.screenleft + 50;
  11537. var ypt = window.screenTop + 50;
  11538. var coord = getRelativeCoordinate ( xpt, ypt );
  11539. var mon = coord[0];
  11540. xpt = coord[1];
  11541. ypt = coord[2];
  11542. modal ( "SPPMB03500", mon, xpt, ypt, "SPPMB03500", "","", "", false );
  11543. clearParameter("SPPMB03500_formcd");
  11544. clearParameter("SPPMB03500_cnt");
  11545. clearParameter("SPPMB03500_pid");
  11546. clearParameter("SPPMB03500_orddd");
  11547. clearParameter("SPPMB03500_cretno");
  11548. clearParameter("SPPMB03500_ordtype");
  11549. clearParameter("SPPMB03500_orddrid");
  11550. clearParameter("SPPMB03500_orddeptcd");
  11551. }
  11552. }
  11553. //2016/04/21 치과, 본원, 칠곡간 환자정보 공유 관련 수정(이정택)
  11554. function fPatInfoCheck(){
  11555. var ptbs_instcd = model.getValue("/root/main/ptbs/ptbs_instcd");
  11556. var dutplceinstcd = getUserInfo("dutplceinstcd");
  11557. if(ptbs_instcd!=dutplceinstcd){
  11558. if(dutplceinstcd=="031" && ptbs_instcd=="033"){
  11559. messageBox("환자 정보를 치과에서 가져왔습니다.\n인적사항저장 후 진행하시기 바랍니다. ", "I");
  11560. model. makeValue("/root/main/ptbs/ptbs_instcd", "031");
  11561. }
  11562. if(dutplceinstcd=="032" && ptbs_instcd=="033"){
  11563. messageBox("환자 정보를 치과에서 가져왔습니다.\n인적사항저장 후 진행하시기 바랍니다. ", "I");
  11564. model. makeValue("/root/main/ptbs/ptbs_instcd", "032");
  11565. }
  11566. if(dutplceinstcd=="033" && ptbs_instcd=="031"){
  11567. messageBox("환자 정보를 본원에서 가져왔습니다.\n인적사항저장 후 진행하시기 바랍니다. ", "I");
  11568. model. makeValue("/root/main/ptbs/ptbs_instcd", "033");
  11569. }
  11570. }
  11571. }
  11572. ]]>
  11573. </script>
  11574. </xhtml:head>
  11575. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  11576. <input id="ipt_reduamt" ref="/root/main/opmi/opmi_reduamt" class="input_default" navindex="41" visibility="hidden" format="(-)#,###" appearance="input" style="left:705px; top:516px; width:108px; height:19px; text-align:right; ">
  11577. <script type="javascript" ev:event="DOMFocusOut">
  11578. <![CDATA[
  11579. var dcgmCnt = getNodesetCount("/root/main/h_dcgm2/dcgm");
  11580. var reduCD = model.getValue("/root/hidden/m_etc/reducd");
  11581. var discAmt = model.getValue("/root/main/opmi/opmi_reduamt");
  11582. //임의감면 금액이 0원 일경우 DCGM 노드를 모두 삭제한다.
  11583. if( discAmt == '0' || discAmt == ''){
  11584. model.removeNodeset("/root/main/h_dcgm2/dcgm");
  11585. model.setValue("/root/hidden/m_etc/reducd", "");
  11586. model.setValue("/root/main/opmi/opmi_reduamt", '0');
  11587. fCalcRcpt2();
  11588. return true;
  11589. }
  11590. //수정전 임의감면액
  11591. var bfDiscAmt = 0;
  11592. var bfReduCD = '';
  11593. for(var i = 1; i <= dcgmCnt; i++){
  11594. bfDiscAmt = bfDiscAmt + parseInt( model.getValue("/root/main/h_dcgm2/dcgm[" + i + "]/dcgm_discreduamt") );
  11595. if( i == 1 ){
  11596. bfReduCD = model.getValue("/root/main/h_dcgm2/dcgm[" + i + "]/dcgm_discreducd");
  11597. }else{
  11598. bfReduCD = '';
  11599. }
  11600. ///root/main/h_unco/unco/unco_uncocd
  11601. }
  11602. //bfDiscAmt = bfDiscAmt - parseInt( model.getValue("/root/main/opmi/opmi_discamt") );
  11603. //미수내역이 2건 이상 존재! 팝업창을 이용해서 수정해야 함.
  11604. if( dcgmCnt > 1 ){
  11605. messageBox("감면내역이 2건 이상입니다. 임의감면입력창을 이용해 주세요.","E999","");
  11606. model.setValue("/root/main/opmi/opmi_reduamt", bfDiscAmt);
  11607. model.setValue("/root/hidden/m_etc/reducd", bfReduCD);
  11608. model.refresh();
  11609. return false;
  11610. //미수코드 선택여부 체크
  11611. }else if( reduCD == '' || reduCD == ' '){
  11612. messageBox("감면코드를 입력하지 않았습니다. 감면코드를 입력 후 다시 시도해 주세요.", "E999", "");
  11613. model.setValue("/root/main/opmi/opmi_reduamt", bfDiscAmt); //수정전의 값으로 다시 변경한다.
  11614. model.setValue("/root/hidden/m_etc/reducd", bfReduCD);
  11615. model.refresh();
  11616. model.setFocus("input8");
  11617. return false;
  11618. }
  11619. //멀티 입력일 경우 감액 선택 불가
  11620. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  11621. if (m_opmi_cnt > 1){
  11622. messageBox("멀티접수시는 감액 적용불가능합니다!","E999","");
  11623. model.setValue("/root/main/opmi/opmi_reduamt", bfDiscAmt);
  11624. model.setValue("/root/hidden/m_etc/reducd", bfReduCD);
  11625. model.refresh();
  11626. return;
  11627. }
  11628. //감면금액이 납부할 금액보다 큰경우
  11629. var cardAmt = 0;
  11630. var cashAmt = 0;
  11631. if( CHECKCARDCASH == 'OLD' ){
  11632. var cardCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  11633. for(var i = 0; i <= cardCnt; i ++ ){
  11634. cardAmt = parseInt(cardAmt) + parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt"));
  11635. }
  11636. var cashCnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  11637. for(var i = 0; i <= cashCnt; i ++ ){
  11638. cashAmt = parseInt(cashAmt) + parseInt(model.getValue("/root/main/h_cash/cash[" + i + "]/cash_cashamt"));
  11639. }
  11640. }else{
  11641. cardAmt = 0;
  11642. cashAmt = 0;
  11643. }
  11644. var targetAmt = model.getValue("/root/main/opmi/opmi_targetamt");
  11645. var preCardAmt = model.getValue("/root/main/opmi/opmi_precardamt");
  11646. var preCashAmt = model.getValue("/root/main/opmi/opmi_precashamt");
  11647. var totalAmt = parseInt(targetAmt) - parseInt(cardAmt) - parseInt(cashAmt) + parseInt(preCardAmt) + parseInt(preCashAmt) + parseInt(bfDiscAmt);
  11648. if( parseInt(discAmt) > parseInt(totalAmt) ){
  11649. if( parseInt(totalAmt) == parseInt(targetAmt) ){
  11650. messageBox("임의감면금액이 납부할 금액보다 큽니다. 납부금액을 확인하시고 다시하세요.","E999","");
  11651. }else{
  11652. messageBox("임의감면금액이 납부할 금액보다 큽니다. 납부할 금액과 카드/현금영수증 승인 금액을 확인하시고 다시하세요.","E999","");
  11653. }
  11654. model.setValue("/root/main/opmi/opmi_reduamt", bfDiscAmt);
  11655. model.setValue("/root/hidden/m_etc/reducd", bfReduCD);
  11656. fCalcRcpt2();
  11657. //model.refresh();
  11658. return false;
  11659. }
  11660. if( dcgmCnt == 1 ){
  11661. model.setValue("/root/main/h_dcgm2/dcgm/dcgm_discreduamt",discAmt);
  11662. model.setValue("/root/main/h_dcgm2/dcgm/dcgm_discreducd",reduCD);
  11663. model.setValue("/root/main/h_dcgm2/dcgm/dcgm_discreduflag","G");
  11664. }else{
  11665. dcgmCnt = parseInt(dcgmCnt) + 1;
  11666. fCreateDcgmNode(dcgmCnt);
  11667. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduamt",discAmt);
  11668. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreducd",reduCD);
  11669. model.setValue("/root/main/h_dcgm2/dcgm["+ dcgmCnt +"]/dcgm_discreduflag","G");
  11670. }
  11671. fCalcRcpt2();
  11672. ]]>
  11673. </script>
  11674. <script type="javascript" ev:event="onkeypress">
  11675. <![CDATA[
  11676. if (event.keyCode == "13") {
  11677. model.setValue("/root/main/opmi/opmi_reduamt", ipt_reduamt.currentText);
  11678. ipt_reduamt.refresh();
  11679. model.setFocus("ipt_uncoamt");
  11680. }
  11681. ]]>
  11682. </script>
  11683. </input>
  11684. <input id="input8" ref="/root/hidden/m_etc/reducd" navindex="40" visibility="hidden" imemode="disabled" maxlength="4" _chartype="upper" style="left:597px; top:516px; width:35px; height:19px; ">
  11685. <script type="javascript" ev:event="xforms-value-changed">
  11686. <![CDATA[
  11687. var reducd = model.getValue("/root/hidden/m_etc/reducd");
  11688. if(getNodesetCount("/root/init/reducd[ cd = '" + reducd + "' ]/nm") < 1 ){
  11689. messageBox("감면코드를 잘못 입력하셨습니다. 확인 후 다시 입력하세요!", "E999", "");
  11690. model.setValue("/root/hidden/m_etc/reducd", '');
  11691. input8.refresh();
  11692. }
  11693. cmb_reducd.refresh();
  11694. cmb_reducd.dispatch("xforms-value-changed");
  11695. //코드를 입력했을 때 코드명 세팅
  11696. // model.setValue("/root/main/outrgst/m_etc/disccls", model.getValue("/root/init/reducd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/discreducd")+ "']/cls"));
  11697. ]]>
  11698. </script>
  11699. <script type="javascript" ev:event="onkeypress">
  11700. <![CDATA[
  11701. if (event.keyCode == "13") {
  11702. model.setValue("/root/hidden/m_etc/reducd", input8.currentText);
  11703. cmb_reducd.refresh();
  11704. cmb_reducd.dispatch("xforms-value-changed");
  11705. }
  11706. ]]>
  11707. </script>
  11708. </input>
  11709. <select1 id="cmb_reducd" ref="/root/hidden/m_etc/reducd" class="combo_default" visibility="hidden" appearance="minimal" editmode="search" showvalue="true" style="left:633px; top:516px; width:70px; height:19px; ">
  11710. <choices>
  11711. <itemset nodeset="/root/init/reducd">
  11712. <label ref="nm"/>
  11713. <value ref="cd"/>
  11714. </itemset>
  11715. </choices>
  11716. <script type="javascript" ev:event="xforms-value-changed">
  11717. <![CDATA[
  11718. if( cmb_unco.value == '' || cmb_unco.value == ' ' || cmb_unco.value == '-' ){
  11719. model.setValue("/root/main/opmi/opmi_reduamt", '0');
  11720. ipt_reduamt.dispatch("DOMFocusOut");
  11721. }
  11722. model.setFocus("ipt_reduamt");
  11723. ]]>
  11724. </script>
  11725. </select1>
  11726. <caption id="caption123" class="cell_1" visibility="hidden" style="left:0px; top:290px; width:135px; height:23px; vertical-align:middle; ">직원소개/추천인</caption>
  11727. <caption id="caption86" class="cell_1" style="left:0px; top:285px; width:135px; height:91px; vertical-align:middle; ">참고사항</caption>
  11728. <line id="line83" class="line_2" style="x1:855px; y1:667px; x2:1194px; y2:667px; "/>
  11729. <line id="line159" class="line_2" style="x1:855px; y1:547px; x2:1194px; y2:547px; "/>
  11730. <line id="line126" class="line_2" style="x1:855px; y1:643px; x2:1194px; y2:643px; "/>
  11731. <line id="line91" class="line_2" style="x1:855px; y1:499px; x2:1194px; y2:499px; "/>
  11732. <line id="line124" class="line_2" style="x1:855px; y1:571px; x2:1194px; y2:571px; "/>
  11733. <line id="line123" class="line_2" style="x1:855px; y1:451px; x2:1194px; y2:451px; "/>
  11734. <line id="line90" class="line_2" style="x1:855px; y1:523px; x2:1194px; y2:523px; "/>
  11735. <line id="line122" class="line_2" style="x1:855px; y1:595px; x2:1194px; y2:595px; "/>
  11736. <line id="line2" class="line_2" style="x1:855px; y1:739px; x2:1194px; y2:739px; "/>
  11737. <line id="line121" class="line_2" style="x1:855px; y1:402px; x2:1194px; y2:402px; "/>
  11738. <line id="line1" class="line_2" style="x1:855px; y1:715px; x2:1194px; y2:715px; "/>
  11739. <line id="line120" class="line_2" style="x1:855px; y1:378px; x2:1194px; y2:378px; "/>
  11740. <line id="line161" class="line_2" style="x1:855px; y1:619px; x2:1194px; y2:619px; "/>
  11741. <line id="line160" class="line_2" style="x1:855px; y1:691px; x2:1194px; y2:691px; "/>
  11742. <line id="line86" class="line_2" style="x1:855px; y1:306px; x2:1194px; y2:306px; "/>
  11743. <line id="line119" class="line_2" style="x1:855px; y1:354px; x2:1194px; y2:354px; "/>
  11744. <line id="line85" class="line_2" style="x1:855px; y1:426px; x2:1194px; y2:426px; "/>
  11745. <line id="line118" class="line_2" style="x1:855px; y1:428px; x2:1194px; y2:428px; "/>
  11746. <line id="line117" class="line_2" style="x1:855px; y1:330px; x2:1194px; y2:330px; "/>
  11747. <line id="line8" class="line_2" style="x1:855px; y1:475px; x2:1194px; y2:475px; "/>
  11748. <line id="line112" class="line_2" style="x1:855px; y1:62px; x2:1195px; y2:62px; "/>
  11749. <line id="line94" class="line_2" style="x1:425px; y1:183px; x2:850px; y2:183px; "/>
  11750. <line id="line93" class="line_2" style="x1:425px; y1:231px; x2:850px; y2:231px; "/>
  11751. <line id="line82" class="line_2" style="x1:425px; y1:279px; x2:850px; y2:279px; "/>
  11752. <line id="line6" class="line_2" style="x1:425px; y1:303px; x2:850px; y2:303px; "/>
  11753. <line id="line92" class="line_2" style="x1:425px; y1:255px; x2:850px; y2:255px; "/>
  11754. <line id="line81" class="line_2" style="x1:425px; y1:327px; x2:850px; y2:327px; "/>
  11755. <line id="line5" class="line_2" style="x1:425px; y1:399px; x2:850px; y2:399px; "/>
  11756. <line id="line89" class="line_2" style="x1:425px; y1:351px; x2:850px; y2:351px; "/>
  11757. <line id="line98" class="line_2" style="x1:425px; y1:63px; x2:850px; y2:63px; "/>
  11758. <line id="line87" class="line_2" style="x1:425px; y1:375px; x2:850px; y2:375px; "/>
  11759. <line id="line97" class="line_2" style="x1:425px; y1:87px; x2:850px; y2:87px; "/>
  11760. <line id="line108" class="line_2" style="x1:425px; y1:111px; x2:850px; y2:111px; "/>
  11761. <line id="line96" class="line_2" style="x1:425px; y1:135px; x2:850px; y2:135px; "/>
  11762. <line id="line95" class="line_2" style="x1:425px; y1:159px; x2:850px; y2:159px; "/>
  11763. <line id="line84" class="line_2" style="x1:425px; y1:207px; x2:850px; y2:207px; "/>
  11764. <line id="line105" class="line_2" style="x1:0px; y1:115px; x2:420px; y2:115px; "/>
  11765. <line id="line7" class="line_2" style="x1:0px; y1:399px; x2:420px; y2:399px; "/>
  11766. <line id="line104" class="line_2" style="x1:0px; y1:90px; x2:420px; y2:90px; "/>
  11767. <line id="line136" class="line_2" style="x1:0px; y1:283px; x2:420px; y2:283px; "/>
  11768. <line id="line4" class="line_2" style="x1:0px; y1:375px; x2:420px; y2:375px; "/>
  11769. <line id="line100" class="line_2" style="x1:0px; y1:189px; x2:420px; y2:189px; "/>
  11770. <line id="line111" class="line_2" style="x1:0px; y1:261px; x2:420px; y2:261px; "/>
  11771. <line id="line110" class="line_2" style="x1:0px; y1:285px; x2:420px; y2:285px; "/>
  11772. <line id="line99" class="line_2" style="x1:0px; y1:237px; x2:420px; y2:237px; "/>
  11773. <line id="line109" class="line_2" style="x1:0px; y1:213px; x2:420px; y2:213px; "/>
  11774. <line id="line106" class="line_2" style="x1:0px; y1:165px; x2:420px; y2:165px; "/>
  11775. <input id="ipt_pid" ref="/root/main/ptbs/ptbs_pid" accesskey="ctrl+keyCode(48)" class="input_s_essential" navindex="1" imemode="disabled" maxlength="10" format="#" appearance="input" style="left:138px; top:43px; width:105px; height:19px; ">
  11776. <script type="javascript" ev:event="onkeypress">
  11777. <![CDATA[
  11778. //무조건 재조회 할수 있도록 clear 후에 조회 호출 필요
  11779. if (event.keyCode == "13"){
  11780. var pid = ipt_pid.currentText;
  11781. //QC프로그램 호출결과를 먼저 참조하도록 설정 추가 by 조중래 20130528
  11782. if(pid == null || pid == ''){
  11783. pid = getQCInfo();
  11784. }
  11785. if(pid == '' || pid == ' '){
  11786. model.setValue("/root/main/ptbs/ptbs_pid", '');
  11787. model.setFocus("ipt_hngnm");
  11788. }else if( pid.length < 1 ){
  11789. model.setValue("/root/main/ptbs/ptbs_pid", '');
  11790. model.refresh();
  11791. btn_init.dispatch("DOMActivate");
  11792. }else{
  11793. //글로벌변수 선언 환자번호
  11794. setGlobalVariable("g_pid",pid,"p");
  11795. btn_init.dispatch("DOMActivate");
  11796. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  11797. ipt_pid.refresh();
  11798. callLoadingWindow("");
  11799. fSearchOutRgstInfo();
  11800. //2016/04/12 치과 및 본원간 환자정보 동기화 관련 수정(이정택)
  11801. fPatInfoCheck();
  11802. //미수안내 메세지
  11803. fGetPtunyn();
  11804. removeLoadingWindow();
  11805. model.setFocus("ipt_orddeptabbr");
  11806. }
  11807. //DUR 특정질환 검색 로직 추가 (2018/04/16 이정택)
  11808. if(!isNull(model.getValue("/root/main/ptbs/ptbs_pid"))){
  11809. setParameter("SPMMD00100_ifyn", "Y");
  11810. setParameter("SPMMD00100_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  11811. modal("SPMMD00100");
  11812. }
  11813. //DUR 특정질환 검색 로직 추가 (2018/04/16 이정택)
  11814. //2015/06/17 메르스 관련 문구
  11815. fMersPatChk("PAM", model.getValue("/root/main/ptbs/ptbs_pid"));
  11816. //2015/06/17
  11817. // 2015/07/28 신우편번호 확인
  11818. if(model.getValue("/root/paminit/P0022list/P0022[cdid='94']/cdnm")=="Y"){
  11819. if(fNewZipCode(model.getValue("/root/main/ptbs/ptbs_zipcd1"), model.getValue("/root/main/ptbs/ptbs_zipcd2"))){
  11820. btn_address.dispatch("DOMActivate");
  11821. }
  11822. }
  11823. // 2015/07/28 신우편번호 확인
  11824. //2017/02/22 보호정신과 세팅
  11825. fCheckOrdReqForm();
  11826. }
  11827. ]]>
  11828. </script>
  11829. <script type="javascript" ev:event="xforms-value-changed">
  11830. <![CDATA[
  11831. //fInitializeExceptPTBS();
  11832. if (event.keyCode != "13"){
  11833. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  11834. btn_init.dispatch("DOMActivate");
  11835. model.setValue("/root/main/ptbs/ptbs_pid", ptbs_pid);
  11836. model.refresh();
  11837. }
  11838. ]]>
  11839. </script>
  11840. <script type="javascript" ev:event="onaccesskey">
  11841. <![CDATA[
  11842. fkeyCode_pid("ipt_pid","onkeypress");
  11843. ]]>
  11844. </script>
  11845. </input>
  11846. <button id="btn_ptbs_search" class="icon_search" style="left:246px; top:45px; width:16px; height:16px; ">
  11847. <caption/>
  11848. <script type="javascript" ev:event="DOMActivate">
  11849. <![CDATA[
  11850. // modal("../../../pam/patinfomngtweb/xrw/SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  11851. //조회건수가 1건일 경우 팝업창을 바로 닫는다.
  11852. model.setValue("/root/source/checkfnexam", "1");
  11853. model.setValue("/root/source/autoflag", "NON"); //조회내역 없을경우 자동 화면 닫기
  11854. //2016/11/22 이정택(화면을 어디서 호출했는지 구분)
  11855. model.makeValue("/root/source/worktype", "PAM");
  11856. //2016/11/22 이정택(화면을 어디서 호출했는지 구분)
  11857. if( model.getValue("/root/source/srchcond") == '' ){
  11858. model.setValue("/root/source/srchcond", '4');
  11859. }
  11860. modal("SPPMC02500", 1,"150", "150", "SPPMC02500", "/root/source", "/root/send");
  11861. model.resetInstanceNode("/root/source");
  11862. //환자번호 copy
  11863. var popupendflag = model.getValue("/root/main/popupendflag");
  11864. if (popupendflag == "ok")
  11865. {
  11866. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  11867. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  11868. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  11869. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  11870. btn_init.dispatch("DOMActivate");
  11871. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  11872. model.setValue("/root/main/ptbs/ptbs_hngnm", hngnm);
  11873. model.setValue("/root/main/ptbs/ptbs_rrgstno1", rrgstno1);
  11874. model.setValue("/root/main/ptbs/ptbs_rrgstno2", rrgstno2);
  11875. model.refresh();
  11876. //20080703 이동식 추가
  11877. //환자정보 조회 중 상태 표시
  11878. callLoadingWindow("");
  11879. //end,
  11880. fSearchOutRgstInfo();
  11881. //20080703 이동식 추가
  11882. //환자정보 조회 중 상태 표시 지우기
  11883. removeLoadingWindow() ;
  11884. //end,
  11885. //포커스 이동 - 진료의 입력칸!!
  11886. // model.setFocus("ipt_orddeptdrabbr");
  11887. model.setFocus("ipt_orddeptabbr");
  11888. }else{
  11889. //환자조회 팝업에서 '취소'또는 'X'로 종료하면 화면 클리어!!
  11890. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  11891. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  11892. if( rrgstno1.length == 6 && rrgstno2.length == 7 ){
  11893. //포커스 이동 연락처 립력칸!!
  11894. ipt_rrgstno2.dispatch("xforms-value-changed");
  11895. model.setFocus("ipt_hometel");
  11896. }else{
  11897. //포커스 이동 주민번호 입력칸!!
  11898. model.setFocus("ipt_rrgstno1");
  11899. ipt_rrgstno1.refresh();
  11900. }
  11901. }
  11902. //2016/04/12 치과 및 본원간 환자정보 동기화 관련 수정(이정택)
  11903. fPatInfoCheck();
  11904. ]]>
  11905. </script>
  11906. </button>
  11907. <select1 id="cmb_sex" ref="/root/main/ptbs/ptbs_sex" class="combo_default" appearance="minimal" style="left:337px; top:43px; width:55px; height:19px; ">
  11908. <choices>
  11909. <itemset nodeset="/root/init_com/init/P0313list/P0313">
  11910. <label ref="cdnm"/>
  11911. <value ref="cdid"/>
  11912. </itemset>
  11913. </choices>
  11914. </select1>
  11915. <input id="ipt_age" ref="/root/main/ptbs/ptbs_age" class="input_default" style="left:395px; top:43px; width:25px; height:19px; ">
  11916. <script type="javascript" ev:event="xforms-value-changed">
  11917. <![CDATA[
  11918. if (fAgeVeri() == false) return;
  11919. ]]>
  11920. </script>
  11921. <script type="javascript" ev:event="onkeypress">
  11922. <![CDATA[
  11923. if (event.keyCode == "13"){
  11924. //setInputNodeCurText();
  11925. if (fAgeVeri() == false) return;
  11926. }
  11927. ]]>
  11928. </script>
  11929. </input>
  11930. <input id="ipt_hngnm" ref="/root/main/ptbs/ptbs_hngnm" class="input_s_essential" navindex="2" imemode="hangul" style="left:138px; top:68px; width:128px; height:19px; ">
  11931. <script type="javascript" ev:event="onkeypress">
  11932. <![CDATA[
  11933. if (event.keyCode == "13"){
  11934. // setInputNodeCurText();
  11935. model.setValue("/root/main/ptbs/ptbs_hngnm", ipt_hngnm.currentText);
  11936. //if (fHngNmVeri("onkeypress") == false) return;
  11937. //fInhospynCheck(); //재원환자인지 체크합니다.
  11938. model.setFocus("ipt_rrgstno1");
  11939. // model.setValue("/root/source/srchcond", "2");
  11940. // model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  11941. // inputEnterKey("btn_ptbs_search", "DOMActivate");
  11942. //환자팝업으로 조회 후 존재하지 않으면
  11943. //gs_olnw = "N";
  11944. }
  11945. ]]>
  11946. </script>
  11947. </input>
  11948. <input id="ipt_engnm" ref="/root/main/ptbs/ptbs_engnm" class="input_default" imemode="alpha" style="left:269px; top:68px; width:151px; height:19px; "/>
  11949. <input id="ipt_rrgstno1" ref="/root/main/ptbs/ptbs_rrgstno1" class="input_s_essential" navindex="3" maxlength="6" format="999999" style="left:138px; top:93px; width:62px; height:19px; ">
  11950. <script type="javascript" ev:event="xforms-value-changed">
  11951. <![CDATA[
  11952. model.setValue("/root/main/ptbs/ptbs_rrgstno1", ipt_rrgstno1.currentText);
  11953. model.setValue("/root/main/ptbs/ptbs_rrgstno2", ipt_rrgstno2.currentText);
  11954. if(model.getValue("/root/main/ptbs/ptbs_rrgstno2").length == 7){
  11955. if (fRrgstNo2Veri() == false) return;
  11956. }else{
  11957. if (fRrgstNo1Veri() == false) return;
  11958. }
  11959. ]]>
  11960. </script>
  11961. <script type="javascript" ev:event="onkeypress">
  11962. <![CDATA[
  11963. if (event.keyCode == "13"){
  11964. // setInputNodeCurText();
  11965. model.setValue("/root/main/ptbs/ptbs_rrgstno1", ipt_rrgstno1.currentText);
  11966. model.setValue("/root/main/ptbs/ptbs_rrgstno2", ipt_rrgstno2.currentText);
  11967. //if (fRrgstNo1Veri() == false) return;
  11968. var hngnm = ipt_hngnm.currentText;
  11969. var rrgstno1 = ipt_rrgstno1.currentText
  11970. var rrgstno2 = ipt_rrgstno2.currentText
  11971. if( hngnm.length > 0 && rrgstno1.length == 0 && rrgstno2.length == 0){
  11972. model.setValue("/root/source/srchcond", "2");
  11973. model.setValue("/root/source/hngnm", hngnm);
  11974. }else if( hngnm.length > 0 ){
  11975. model.setValue("/root/source/srchcond", "4");
  11976. model.setValue("/root/source/hngnm", hngnm);
  11977. model.setValue("/root/source/rrgstno1", rrgstno1);
  11978. model.setValue("/root/source/rrgstno2", rrgstno2);
  11979. }else{
  11980. model.setValue("/root/source/srchcond", "3");
  11981. model.setValue("/root/source/rrgstno1", rrgstno1);
  11982. model.setValue("/root/source/rrgstno2", rrgstno2);
  11983. }
  11984. inputEnterKey("btn_ptbs_search", "DOMActivate");
  11985. }
  11986. /*
  11987. model.setValue("/root/source/srchcond", "3");
  11988. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  11989. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.currentText);
  11990. inputEnterKey("btn_ptbs_search", "DOMActivate");
  11991. */
  11992. ]]>
  11993. </script>
  11994. </input>
  11995. <input id="ipt_rrgstno2" ref="/root/main/ptbs/ptbs_rrgstno2" class="input_s_essential" navindex="4" autonext="false" maxlength="7" format="9999999" style="left:203px; top:93px; width:63px; height:19px; ">
  11996. <script type="javascript" ev:event="onkeypress">
  11997. <![CDATA[
  11998. if (event.keyCode == "13"){
  11999. // setInputNodeCurText();
  12000. model.setValue("/root/main/ptbs/ptbs_rrgstno2", ipt_rrgstno2.currentText);
  12001. model.setValue("/root/main/ptbs/ptbs_rrgstno1", ipt_rrgstno1.currentText);
  12002. //if (fRrgstNo2Veri() == false) return;
  12003. //fInhospynCheck(); //재원환자인지 체크합니다.
  12004. var hngnm = ipt_hngnm.currentText;
  12005. var rrgstno1 = ipt_rrgstno1.currentText
  12006. var rrgstno2 = ipt_rrgstno2.currentText
  12007. if( hngnm.length > 0 ){
  12008. model.setValue("/root/source/srchcond", "4");
  12009. model.setValue("/root/source/hngnm", hngnm);
  12010. model.setValue("/root/source/rrgstno1", rrgstno1);
  12011. model.setValue("/root/source/rrgstno2", rrgstno2);
  12012. }else{
  12013. model.setValue("/root/source/srchcond", "3");
  12014. model.setValue("/root/source/rrgstno1", rrgstno1);
  12015. model.setValue("/root/source/rrgstno2", rrgstno2);
  12016. }
  12017. inputEnterKey("btn_ptbs_search", "DOMActivate");
  12018. //환자조회팝업 취소 시 포커스 이동 - 연락처
  12019. // if( model.getValue("/root/main/popupendflag") != 'ok' ){
  12020. // model.setFocus("ipt_hometel");
  12021. // }
  12022. //환자팝업으로 조회 후 존재하지 않으면
  12023. //gs_olnw = "N";
  12024. }
  12025. ]]>
  12026. </script>
  12027. <script type="javascript" ev:event="xforms-value-changed">
  12028. <![CDATA[
  12029. model.setValue("/root/main/ptbs/ptbs_rrgstno2", ipt_rrgstno2.currentText);
  12030. model.setValue("/root/main/ptbs/ptbs_rrgstno1", ipt_rrgstno1.currentText);
  12031. //인사정보의 직원, 직원가족정보 조회
  12032. var rrgstno2 = model.getValue("/root/main/ptbs/ptbs_rrgstno2");
  12033. var rrgstno1 = model.getValue("/root/main/ptbs/ptbs_rrgstno1");
  12034. if(rrgstno1.length == 6 && rrgstno2.length == 7){
  12035. if(fRrgstNo2Veri() == false) return;
  12036. // var retValue = fGetPsnWorkInfo(rrgstno1 + rrgstno2);
  12037. // //선택한 직원정보 세팅
  12038. // if( retValue != '' && retValue != ' ' ){
  12039. // var arr_retValue = retValue.split("▦");
  12040. // model.setValue("/root/main/otpt/otpt_emplno", arr_retValue[0]);
  12041. // model.setValue("/root/main/otpt/otpt_emplnm", arr_retValue[1]);
  12042. // model.refresh();
  12043. // }
  12044. }
  12045. ]]>
  12046. </script>
  12047. </input>
  12048. <input id="ipt_brthdd" ref="/root/main/ptbs/ptbs_brthdd" class="input_default" navindex="5" format="yyyy-mm-dd" style="left:337px; top:93px; width:83px; height:19px; ">
  12049. <script type="javascript" ev:event="xforms-value-changed">
  12050. <![CDATA[
  12051. if(fBrthddVeri(model.getValue("/root/main/ptbs/ptbs_brthdd"),ipt_brthdd) == false) return; //2010-01-18 김주희 DUR관련 생년월일체크
  12052. ]]>
  12053. </script>
  12054. </input>
  12055. <input id="ipt_hometel" ref="/root/main/ptbs/ptbs_hometel" class="input_default" navindex="6" maxlength="13" style="left:138px; top:118px; width:128px; height:19px; text-align:left; ">
  12056. <script type="javascript" ev:event="xforms-value-changed">
  12057. <![CDATA[
  12058. model.setValue("/root/main/ptbs/ptbs_hometel", ipt_hometel.currentText );
  12059. if (fHomeTelVeri() == false) return;
  12060. model.setValue("/root/main/ptbs/ptbs_hometel", fMakeTelNumFormat(model.getValue("/root/main/ptbs/ptbs_hometel")));
  12061. ipt_hometel.refresh();
  12062. ]]>
  12063. </script>
  12064. <script type="javascript" ev:event="onkeypress">
  12065. <![CDATA[
  12066. if (event.keyCode == "13"){
  12067. model.setFocus("ipt_mpphontel");
  12068. }
  12069. ]]>
  12070. </script>
  12071. </input>
  12072. <input id="ipt_mpphontel" ref="/root/main/ptbs/ptbs_mpphontel" class="input_default" navindex="7" autonext="false" maxlength="13" style="left:269px; top:118px; width:151px; height:19px; text-align:left; ">
  12073. <script type="javascript" ev:event="xforms-value-changed">
  12074. <![CDATA[
  12075. model.setValue("/root/main/ptbs/ptbs_mpphontel", ipt_mpphontel.currentText );
  12076. if (fMpphonTelVeri() == false) return;
  12077. model.setValue("/root/main/ptbs/ptbs_mpphontel", fMakeTelNumFormat(model.getValue("/root/main/ptbs/ptbs_mpphontel")));
  12078. ipt_mpphontel.refresh();
  12079. ]]>
  12080. </script>
  12081. <script type="javascript" ev:event="onkeypress">
  12082. <![CDATA[
  12083. if (event.keyCode == "13"){
  12084. model.setFocus("ipt_etctel1");
  12085. }
  12086. ]]>
  12087. </script>
  12088. </input>
  12089. <caption id="caption29" class="cell_1" style="left:0px; top:141px; width:135px; height:23px; vertical-align:middle; ">주보호자/가족</caption>
  12090. <input id="ipt_etctel1" ref="/root/main/ptbs/ptbs_etctel1" class="input_default" navindex="7" maxlength="13" style="left:138px; top:143px; width:128px; height:19px; text-align:left; ">
  12091. <script type="javascript" ev:event="xforms-value-changed">
  12092. <![CDATA[
  12093. model.setValue("/root/main/ptbs/ptbs_etctel1", fMakeTelNumFormat(model.getValue("/root/main/ptbs/ptbs_etctel1")));
  12094. ipt_etctel1.refresh();
  12095. ]]>
  12096. </script>
  12097. <script type="javascript" ev:event="onkeypress">
  12098. <![CDATA[
  12099. if (event.keyCode == "13"){
  12100. model.setFocus("ipt_etctel2");
  12101. }
  12102. ]]>
  12103. </script>
  12104. </input>
  12105. <input id="ipt_etctel2" ref="/root/main/ptbs/ptbs_etctel2" class="input_default" navindex="7" autonext="false" maxlength="13" style="left:269px; top:143px; width:151px; height:19px; text-align:left; ">
  12106. <script type="javascript" ev:event="xforms-value-changed">
  12107. <![CDATA[
  12108. model.setValue("/root/main/ptbs/ptbs_etctel2", fMakeTelNumFormat(model.getValue("/root/main/ptbs/ptbs_etctel2")));
  12109. ipt_etctel2.refresh();
  12110. ]]>
  12111. </script>
  12112. <script type="javascript" ev:event="onkeypress">
  12113. <![CDATA[
  12114. if (event.keyCode == "13"){
  12115. model.setFocus("btn_address");
  12116. var zipcd1 = model.getValue("/root/main/ptbs/ptbs_zipcd1");
  12117. var zipcd2 = model.getValue("/root/main/ptbs/ptbs_zipcd2");
  12118. var zipseq = model.getValue("/root/main/ptbs/ptbs_zipcdseq");
  12119. if( zipcd1 == '000' && zipcd2 == '00' ){
  12120. btn_address.dispatch("DOMActivate");
  12121. }else if( zipcd1.length < 3 || zipcd2.length < 3 || isNaN(zipseq) ){
  12122. model.setValue("/root/main/ptbs/ptbs_zipcd1", "000");
  12123. model.setValue("/root/main/ptbs/ptbs_zipcd2", "00");
  12124. model.setValue("/root/main/ptbs/ptbs_zipcdseq", "0");
  12125. btn_address.dispatch("DOMActivate");
  12126. }else{
  12127. model.setFocus("ipt_detladdr");
  12128. }
  12129. }
  12130. ]]>
  12131. </script>
  12132. </input>
  12133. <line id="line10" class="line_2" style="x1:0px; y1:140px; x2:420px; y2:140px; "/>
  12134. <input id="input9" ref="/root/main/ptbs/ptbs_zipcd1" class="input_default" navindex="8" maxlength="3" format="999" style="left:138px; top:168px; width:28px; height:19px; ">
  12135. <script type="javascript" ev:event="xforms-value-changed">
  12136. <![CDATA[
  12137. var zipcd1 = input9.currentText.getTrim();
  12138. var zipcd2 = input26.currentText.getTrim();
  12139. model.setValue("/root/main/ptbs/ptbs_zipcd1", zipcd1);
  12140. model.setValue("/root/main/ptbs/ptbs_zipcd2", zipcd2);
  12141. if( zipcd1 != '' && zipcd1 != '000' && zipcd1 != '-' && zipcd2 != '' && zipcd2 != '00' && zipcd2 != '-' ){
  12142. zbcfOpenZipCodeList("zipcode"
  12143. , zipcd1 + "-" + zipcd2
  12144. , "/root/main/ptbs/ptbs_zipcd1"
  12145. , "/root/main/ptbs/ptbs_zipcd2"
  12146. , "/root/main/ptbs/ptbs_zipcdseq"
  12147. , "/root/main/ptbs/ptbs_highaddr"
  12148. , ""
  12149. , "/root/main/ptbs/ptbs_detladdr"
  12150. , "/root/main/ptbs/ptbs_builno"
  12151. );
  12152. model.setFocus("ipt_detladdr");
  12153. }
  12154. ]]>
  12155. </script>
  12156. <script type="javascript" ev:event="onkeypress">
  12157. <![CDATA[
  12158. if (event.keyCode == "13"){
  12159. // setInputNodeCurText();
  12160. //if (fMpphonTelVeri() == false) return;
  12161. var zipcd1 = model.getValue("/root/main/ptbs/ptbs_zipcd1");
  12162. var zipcd2 = model.getValue("/root/main/ptbs/ptbs_zipcd2");
  12163. var zipseq = model.getValue("/root/main/ptbs/ptbs_zipcdseq");
  12164. if( zipcd1 == '000' && zipcd2 == '00' ){
  12165. btn_address.dispatch("DOMActivate");
  12166. }else if( zipcd1.length < 3 || zipcd2.length < 3 || isNaN(zipseq) ){
  12167. model.setValue("/root/main/ptbs/ptbs_zipcd1", "000");
  12168. model.setValue("/root/main/ptbs/ptbs_zipcd2", "00");
  12169. model.setValue("/root/main/ptbs/ptbs_zipcdseq", "0");
  12170. btn_address.dispatch("DOMActivate");
  12171. }else{
  12172. model.setFocus("ipt_detladdr");
  12173. }
  12174. }
  12175. ]]>
  12176. </script>
  12177. </input>
  12178. <input id="input26" ref="/root/main/ptbs/ptbs_zipcd2" class="input_default" navindex="9" maxlength="3" format="999" style="left:169px; top:168px; width:28px; height:19px; ">
  12179. <script type="javascript" ev:event="xforms-value-changed">
  12180. <![CDATA[
  12181. var zipcd1 = input9.currentText.getTrim();
  12182. var zipcd2 = input26.currentText.getTrim();
  12183. model.setValue("/root/main/ptbs/ptbs_zipcd1", zipcd1);
  12184. model.setValue("/root/main/ptbs/ptbs_zipcd2", zipcd2);
  12185. if( zipcd1 != '' && zipcd1 != '000' && zipcd1 != '-' && zipcd2 != '' && zipcd2 != '00' && zipcd2 != '-' ){
  12186. zbcfOpenZipCodeList("zipcode"
  12187. , zipcd1 + "-" + zipcd2
  12188. , "/root/main/ptbs/ptbs_zipcd1"
  12189. , "/root/main/ptbs/ptbs_zipcd2"
  12190. , "/root/main/ptbs/ptbs_zipcdseq"
  12191. , "/root/main/ptbs/ptbs_highaddr"
  12192. , ""
  12193. , "/root/main/ptbs/ptbs_detladdr"
  12194. , "/root/main/ptbs/ptbs_builno"
  12195. );
  12196. model.setFocus("ipt_detladdr");
  12197. }
  12198. ]]>
  12199. </script>
  12200. </input>
  12201. <input id="input19" ref="/root/main/ptbs/ptbs_zipcdseq" class="input_default" visibility="hidden" format="999" style="left:200px; top:168px; width:15px; height:19px; "/>
  12202. <button id="btn_address" class="icon_search" style="left:200px; top:169px; width:16px; height:16px; ">
  12203. <caption/>
  12204. <script type="javascript" ev:event="DOMActivate">
  12205. <![CDATA[
  12206. zbcfOpenZipCodeList("combination"
  12207. , ""
  12208. , "/root/main/ptbs/ptbs_zipcd1"
  12209. , "/root/main/ptbs/ptbs_zipcd2"
  12210. , "/root/main/ptbs/ptbs_zipcdseq"
  12211. , "/root/main/ptbs/ptbs_highaddr"
  12212. , "hangul"
  12213. , "/root/main/ptbs/ptbs_detladdr"
  12214. , "/root/main/ptbs/ptbs_builno"
  12215. );
  12216. //2014/08/04 하위주소를 초기화
  12217. ipt_detladdr.value="";
  12218. //2014/08/04
  12219. model.setFocus("ipt_detladdr");
  12220. ]]>
  12221. </script>
  12222. </button>
  12223. <output id="opt_addr" ref="/root/main/ptbs/ptbs_highaddr" class="output_fix" appearance="output" style="left:218px; top:168px; width:202px; height:19px; ">
  12224. <script type="javascript" ev:event="onmouseover">
  12225. <![CDATA[
  12226. opt_addr.hint = opt_addr.label;
  12227. ]]>
  12228. </script>
  12229. </output>
  12230. <input id="ipt_detladdr" ref="/root/main/ptbs/ptbs_detladdr" class="input_default" navindex="10" imemode="hangul" style="left:138px; top:192px; width:282px; height:19px; text-align:left; ">
  12231. <script type="javascript" ev:event="onkeypress">
  12232. <![CDATA[
  12233. if (event.keyCode == "13"){
  12234. if( ipt_detladdr.currentText.length == 0 ){
  12235. model.setValue("/root/main/ptbs/ptbs_detladdr", "-");
  12236. }
  12237. model.setFocus("ipt_orddeptabbr");
  12238. }
  12239. ]]>
  12240. </script>
  12241. </input>
  12242. <bool id="bool1" checkvalue="Y,N" ref="/root/main/ptbs/ptbs_forgeryn" style="left:138px; top:215px; width:20px; height:20px; ">
  12243. <script type="javascript" ev:event="onclick">
  12244. <![CDATA[
  12245. if(bool1.value == "Y"){
  12246. model.setValue("/root/main/ptbs/ptbs_nati", "");
  12247. }
  12248. ]]>
  12249. </script>
  12250. </bool>
  12251. <caption id="caption9" style="left:158px; top:215px; width:45px; height:20px; ">외국인</caption>
  12252. <caption id="caption10" class="cell_1" style="left:203px; top:214px; width:65px; height:23px; vertical-align:middle; ">국적코드</caption>
  12253. <select1 id="combo1" ref="/root/main/ptbs/ptbs_nati" class="combo_default" appearance="minimal" editmode="search" showvalue="true" style="left:271px; top:216px; width:149px; height:19px; ">
  12254. <choices>
  12255. <itemset nodeset="/root/init/naticd">
  12256. <label ref="nm"/>
  12257. <value ref="cd"/>
  12258. </itemset>
  12259. </choices>
  12260. </select1>
  12261. <bool id="bool2" visibility="hidden" checkvalue="Y,N" ref="/root/main/ptbs/ptbs_recmyn" style="left:138px; top:291px; width:20px; height:20px; ">
  12262. <script type="javascript" ev:event="onclick">
  12263. <![CDATA[
  12264. model.setValue("/root/main/ptbs/ptbs_recmerid", "");
  12265. model.setValue("/root/main/ptbs/ptbs_recmernm", "");
  12266. model.setValue("/root/main/ptbs/ptbs_recmerrela", "");
  12267. ]]>
  12268. </script>
  12269. </bool>
  12270. <caption id="caption20" visibility="hidden" style="left:158px; top:291px; width:50px; height:20px; ">직원소개</caption>
  12271. <output id="opt_recmernm" ref="/root/main/ptbs/ptbs_recmernm" class="output_fix" visibility="hidden" appearance="output" style="left:213px; top:292px; width:80px; height:19px; "/>
  12272. <button id="btn_emp_search" class="icon_search" visibility="hidden" style="left:296px; top:293px; width:16px; height:16px; ">
  12273. <caption/>
  12274. <script type="javascript" ev:event="DOMActivate">
  12275. <![CDATA[
  12276. //지인관리 개발에 따른 수정 - 20130614
  12277. clearParameter("SPPMC05500_emplno");
  12278. clearParameter("SPPMC05500_pid");
  12279. clearParameter("SPPMC05500_popupendflag")
  12280. setParameter("SPPMC05500_emplno" , model.getValue("/root/main/ptbs/ptbs_recmerid"));
  12281. setParameter("SPPMC05500_pid" , model.getValue("/root/main/ptbs/ptbs_pid"));
  12282. modal("SPPMC05500", "1","50", "50", "", "", "", "sysmenu:hidden;");
  12283. if(getParameter("SPPMC05500_popupendflag") == "Y"){
  12284. model.setValue("/root/main/ptbs/ptbs_recmyn" , getParameter("SPPMC05500_recmyn"));
  12285. model.setValue("/root/main/ptbs/ptbs_recmerid" , getParameter("SPPMC05500_recmerid"));
  12286. model.setValue("/root/main/ptbs/ptbs_recmernm" , getParameter("SPPMC05500_recmernm"));
  12287. model.setValue("/root/main/ptbs/ptbs_recmerrela" , getParameter("SPPMC05500_recmerrela"));
  12288. model.refresh();
  12289. }
  12290. ]]>
  12291. </script>
  12292. </button>
  12293. <select1 id="combo37" ref="/root/main/ptbs/ptbs_recmerrela" class="combo_default" disabled="true" visibility="hidden" appearance="minimal" style="left:315px; top:292px; width:105px; height:19px; ">
  12294. <choices>
  12295. <itemset nodeset="/root/init_com/init/P0327list/P0327">
  12296. <label ref="cdnm"/>
  12297. <value ref="cdid"/>
  12298. </itemset>
  12299. </choices>
  12300. </select1>
  12301. <bool id="bool3" checkvalue="Y,N" ref="/root/main/ptbs/ptbs_vipyn" style="left:138px; top:238px; width:20px; height:20px; ">
  12302. <script type="javascript" ev:event="onclick">
  12303. <![CDATA[
  12304. model.setValue("/root/main/ptbs/ptbs_viprem", "-");
  12305. ]]>
  12306. </script>
  12307. </bool>
  12308. <caption id="caption25" style="left:158px; top:241px; width:22px; height:16px; ">VIP</caption>
  12309. <input id="input22" ref="/root/main/ptbs/ptbs_viprem" class="input_default" imemode="hangul" style="left:183px; top:239px; width:182px; height:19px; "/>
  12310. <bool id="bool10" checkvalue="Y,N" ref="/root/main/ptbs/ptbs_smsaprvyn" style="left:372px; top:240px; width:15px; height:16px; "/>
  12311. <caption id="caption27" style="left:389px; top:241px; width:30px; height:15px; ">SMS</caption>
  12312. <input id="input2" ref="/root/main/ptbs/ptbs_carnum" class="input_default" imemode="hangul" style="left:138px; top:262px; width:127px; height:19px; "/>
  12313. <caption id="caption24" class="cell_1" style="left:269px; top:261px; width:60px; height:23px; vertical-align:middle; ">무인수납</caption>
  12314. <select1 id="radio2" ref="/root/main/ptbs/ptbs_kioskrcptnoyn" appearance="full" cols="2" overflow="visible" style="left:332px; top:264px; width:88px; height:17px; border-style:none; ">
  12315. <choices>
  12316. <item>
  12317. <label>불가</label>
  12318. <value>Y</value>
  12319. </item>
  12320. <item>
  12321. <label>가능</label>
  12322. <value>N</value>
  12323. </item>
  12324. </choices>
  12325. </select1>
  12326. <button id="btn_remfact" class="btn2_letter2" style="left:90px; top:333px; width:42px; height:19px; ">
  12327. <caption>펼침</caption>
  12328. <script type="javascript" ev:event="DOMActivate">
  12329. <![CDATA[
  12330. if (model.getValue("/root/main/ptbs/ptbs_pid") == "") {
  12331. return;
  12332. }
  12333. model.setValue("/root/main/ptbs/ptbs_remfact", fCallSpecPopUp_remfact(model.getValue("/root/main/ptbs/ptbs_pid"),model.getValue("/root/main/ptbs/ptbs_remfact")));
  12334. tar_remfact.refresh();
  12335. ]]>
  12336. </script>
  12337. </button>
  12338. <button id="btn_savePatInfo" class="btn5_letter6" style="left:46px; top:355px; width:86px; height:19px; ">
  12339. <caption>인적사항저장</caption>
  12340. <script type="javascript" ev:event="DOMActivate">
  12341. <![CDATA[
  12342. // var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");//
  12343. // if (ptbs_pid == "" || ptbs_pid == " " || ptbs_pid == null || ptbs_pid == "-"){
  12344. // messageBox("환자 조회후에 인적사항변경하십시요!","E999","");
  12345. // return;
  12346. // }
  12347. //환자정보(주민등록번호) 존재여부 체크
  12348. if(!fGetPtbsInfo(model.getValue("/root/main/ptbs/ptbs_rrgstno1"), model.getValue("/root/main/ptbs/ptbs_rrgstno2"), model.getValue("/root/main/ptbs/ptbs_pid"))){
  12349. return false;
  12350. }
  12351. if( model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '5' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '6' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '7' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '8' ){
  12352. //2017/07/31 주민번호 뒷자리가 외국인일경우 유효성 체크(이정택)
  12353. //if( model.getValue("/root/main/ptbs/ptbs_nati") == '' || model.getValue("/root/main/ptbs/ptbs_nati") == '-' ){
  12354. if(model.getValue("/root/main/ptbs/ptbs_forgeryn")!= 'Y' || isNull(model.getValue("/root/main/ptbs/ptbs_nati"))){
  12355. //2017/07/31 주민번호 뒷자리가 외국인일경우 유효성 체크(이정택)
  12356. messageBox("외국인입니다. 외국인 여부와 국적코드를 입력해 주세요", "E999", "");
  12357. return false;
  12358. }
  12359. }
  12360. fPatInfoUpdt();
  12361. ]]>
  12362. </script>
  12363. </button>
  12364. <textarea id="tar_remfact" ref="/root/main/ptbs/ptbs_remfact" scroll="vertical" editable="false" imemode="hangul" maxlength="450" style="left:138px; top:290px; width:282px; height:83px; "/>
  12365. <input id="opt_vacntno" ref="/root/main/ptbs/ptbs_onlineaccountno" class="input_default" editable="false" imemode="hangul" style="left:138px; top:378px; width:282px; height:19px; font-weight:bold; "/>
  12366. <output id="opt_vacntno1" ref="/root/main/ptbs/ptbs_onlineaccountno" class="output_fix" visibility="hidden" appearance="output" style="left:140px; top:387px; width:282px; height:19px; font-weight:bold; text-align:left; "/>
  12367. <output id="opt_outunco" ref="/root/main/ptbs/ptbs_outunco" class="output_fix" format="(-)#,###" appearance="output" style="left:138px; top:402px; width:92px; height:19px; font-weight:bold; text-align:right; "/>
  12368. <output id="opt_inunco" ref="/root/main/ptbs/ptbs_inunco" class="output_fix" format="(-)#,###" appearance="output" style="left:233px; top:402px; width:92px; height:19px; font-weight:bold; text-align:right; "/>
  12369. <output id="output1" ref="/root/main/ptbs/ptbs_aidunco" class="output_fix" format="(-)#,###" appearance="output" style="left:328px; top:402px; width:92px; height:19px; font-weight:bold; text-align:right; "/>
  12370. <select1 id="cmb_orddrid" ref="/root/main/otpt/otpt_orddrid" class="combo_default" appearance="minimal" rows="5" style="left:628px; top:66px; width:222px; height:19px; ">
  12371. <choices>
  12372. <itemset nodeset="/root/init/orddrid">
  12373. <label ref="nmsp"/>
  12374. <value ref="cd"/>
  12375. </itemset>
  12376. </choices>
  12377. <script type="javascript" ev:event="xforms-value-changed">
  12378. <![CDATA[
  12379. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  12380. if (otpt_orddeptcd == null || otpt_orddeptcd == "" || otpt_orddeptcd == " " || otpt_orddeptcd == "-"){
  12381. messageBox("진료과 선택을 먼저 하십시요!","E999","");
  12382. model.setValue("/root/main/otpt/otpt_orddrid","");
  12383. //cmb_orddrid.dispatch("xforms-value-changed");
  12384. model.refresh();
  12385. model.setFocus("cmb_orddeptcd");
  12386. return;
  12387. }else{
  12388. //가정간호는 선택진료여부 'N' 으로 세팅
  12389. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  12390. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12391. rdo_specordyn.disabled = true;
  12392. }else{
  12393. var specordyn = model.getValue("/root/init/orddrid[cd = '" + cmb_orddrid.value + "' and dp = '" + otpt_orddeptcd + "']/sp");
  12394. //model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  12395. if( specordyn == 'Y' || specordyn == 'y' ){
  12396. model.setValue("/root/main/otpt/otpt_specordyn", 'Y');
  12397. rdo_specordyn.disabled = false;
  12398. }else{
  12399. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12400. rdo_specordyn.disabled = true;
  12401. }
  12402. }
  12403. //원내생 진료실 세팅 - 원내생 진료실의 경우 선택진료여부가 기본 'N' 으로 세팅한다. 감면코드는 A325 로 세팅
  12404. if( otpt_orddeptcd == '2241800000' ){
  12405. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12406. model.setValue("/root/main/otpt/otpt_disccd", "A325");
  12407. }
  12408. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  12409. var drengabbr = model.getValue("/root/init/orddrid[ cd = '" + cmb_orddrid.value + "']/drengabbr");
  12410. // var deptengabbr = model.getValue("/root/main/otpt/otpt_orddeptabbr");
  12411. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  12412. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", drengabbr);
  12413. //END..
  12414. }
  12415. fFsexamflagVeri();
  12416. //휴진체크
  12417. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  12418. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  12419. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  12420. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  12421. var rsrvflag = model.getValue("/root/main/otpt/otpt_rsrvflag");
  12422. if( rsrvflag == '' || rsrvflag == ' ' ){
  12423. rsrvflag = '-';
  12424. }
  12425. // fCheckDrHoliSche(otpt_orddeptcd, cmb_orddrid.value, orddd, ordtm);
  12426. model.refresh();
  12427. model.setFocus("ipt_ordreqformflag");
  12428. ]]>
  12429. </script>
  12430. </select1>
  12431. <select1 id="combo4" ref="/root/main/otpt/otpt_orddrid" class="combo_default" appearance="minimal" style="left:628px; top:66px; width:222px; height:19px; ">
  12432. <choices>
  12433. <itemset nodeset="/root/hidden2/init/cntrorddeptdoctorlist/user">
  12434. <label ref="usernm"/>
  12435. <value ref="userid"/>
  12436. </itemset>
  12437. </choices>
  12438. <script type="javascript" ev:event="xforms-value-changed">
  12439. <![CDATA[
  12440. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  12441. if (otpt_orddeptcd == null || otpt_orddeptcd == "" || otpt_orddeptcd == " " || otpt_orddeptcd == "-"){
  12442. messageBox("진료과 선택을 먼저 하십시요!","E999","");
  12443. model.setValue("/root/main/otpt/otpt_orddrid","");
  12444. //cmb_orddrid.dispatch("xforms-value-changed");
  12445. model.refresh();
  12446. model.setFocus("cmb_orddeptcd");
  12447. return;
  12448. }else{
  12449. //가정간호, 방문간호는 선택진료여부 'N' 으로 세팅
  12450. if( RSRVFLAG == 'H' || RSRVFLAG == 'O' ){
  12451. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12452. rdo_specordyn.disabled = true;
  12453. }else{
  12454. var specordyn = model.getValue("/root/init/orddrid[cd = '" + combo4.value + "' and dp = '" + otpt_orddeptcd + "']/sp");
  12455. //model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  12456. if( specordyn == 'Y' || specordyn == 'y' ){
  12457. model.setValue("/root/main/otpt/otpt_specordyn", 'Y');
  12458. rdo_specordyn.disabled = false;
  12459. }else{
  12460. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12461. rdo_specordyn.disabled = true;
  12462. }
  12463. }
  12464. //원내생 진료실 세팅 - 원내생 진료실의 경우 선택진료여부가 기본 'N' 으로 세팅한다. 감면코드는 A325 로 세팅
  12465. if( otpt_orddeptcd == '2241800000' ){
  12466. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  12467. model.setValue("/root/main/otpt/otpt_disccd", "A325");
  12468. }
  12469. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  12470. var drengabbr = model.getValue("/root/init/orddrid[ cd = '" + combo4.value + "']/drengabbr");
  12471. // var deptengabbr = model.getValue("/root/main/otpt/otpt_orddeptabbr");
  12472. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  12473. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", drengabbr);
  12474. //END..
  12475. }
  12476. fFsexamflagVeri();
  12477. //휴진체크
  12478. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  12479. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  12480. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  12481. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  12482. var rsrvflag = model.getValue("/root/main/otpt/otpt_rsrvflag");
  12483. if( rsrvflag == '' || rsrvflag == ' ' ){
  12484. rsrvflag = '-';
  12485. }
  12486. fCheckDrHoliSche(otpt_orddeptcd, combo4.value, orddd, ordtm);
  12487. model.refresh();
  12488. model.setFocus("ipt_ordreqformflag");
  12489. ]]>
  12490. </script>
  12491. </select1>
  12492. <select1 id="cmb_orddeptcd" ref="/root/main/otpt/otpt_orddeptcd" class="combo_default" appearance="minimal" style="left:628px; top:42px; width:132px; height:19px; ">
  12493. <choices>
  12494. <itemset nodeset="/root/init/orddeptcd">
  12495. <label ref="nm"/>
  12496. <value ref="cd"/>
  12497. </itemset>
  12498. </choices>
  12499. <script type="javascript" ev:event="xforms-value-changed">
  12500. <![CDATA[
  12501. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  12502. //응급의학과 블럭킹 - 의정부테스트
  12503. /*if( otpt_orddeptcd == gsOrddeptCd_ER ){
  12504. messageBox("응급의학과는 외래등록에서 접수할 수 없습니다.", "E999", "");
  12505. model.setValue("/root/main/otpt/otpt_orddeptcd", "");
  12506. model.setValue("/root/main/otpt/otpt_orddeptabbr", "");
  12507. model.setValue("/root/main/otpt/otpt_orddrid", "");
  12508. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  12509. model.refresh();
  12510. model.setFocus("cmb_orddeptcd");
  12511. return false;
  12512. }*/
  12513. //연속처방의 경우 진료과/의사/일자 변경 불가
  12514. if (btn_stat.attribute("background-color") == "#ff0000") //변경
  12515. {
  12516. var otpt_etcordflag_old = model.getValue("/root/main/otpt_old/otpt_etcordflag_old");
  12517. if (otpt_etcordflag_old == "M" || otpt_etcordflag_old == "J")
  12518. {
  12519. var otpt_orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  12520. if (otpt_orddeptcd_old != otpt_orddeptcd)
  12521. {
  12522. messageBox("연속처방이력은 진료과 변경불가능합니다!","E999","");
  12523. model.setValue("/root/main/otpt/otpt_orddeptcd",otpt_orddeptcd_old);
  12524. model.refresh();
  12525. return;
  12526. }
  12527. }
  12528. }
  12529. fFsexamflagVeri();
  12530. fOrddridSet(otpt_orddeptcd);
  12531. //수급절차 세팅
  12532. fGetOrdReqFormFlag(otpt_orddeptcd);
  12533. //보호정신과 세팅
  12534. fCheckOrdReqForm();
  12535. // 대구 장애인구강센터 관련 체크
  12536. //fClinicCheck("A", "/root/main/ptbs", "/root/main/otpt");
  12537. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  12538. var deptengabbr = model.getValue("/root/init/orddeptcd[ cd = '" + cmb_orddeptcd.value + "']/deptengabbr");
  12539. model.makeNode("/root/main/otpt/otpt_orddeptabbr");
  12540. model.setValue("/root/main/otpt/otpt_orddeptabbr", deptengabbr);
  12541. //END..
  12542. //"-"로 기본값 주지 않고 서버로 넘기기 전에 null인지 체크한다.
  12543. model.setValue("root/main/otpt/otpt_orddrid","");
  12544. // model.setValue("/root/main/otpt/otpt_centcd","-");
  12545. model.setValue("/root/main/otpt/otpt_subdeptcd","-");
  12546. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  12547. model.setValue("/root/main/otpt/otpt_orddeptdrabbr","");
  12548. model.refresh();
  12549. model.setFocus("cmb_orddrid");
  12550. // cmb_orddrid.dispatch("onclick");
  12551. ]]>
  12552. </script>
  12553. </select1>
  12554. <select1 id="combo3" ref="/root/main/otpt/otpt_orddeptcd" class="combo_default" appearance="minimal" style="left:628px; top:42px; width:132px; height:19px; ">
  12555. <choices>
  12556. <itemset nodeset="/root/hidden2/init/cntrsuborddeptlist/dept">
  12557. <label ref="depthngnm"/>
  12558. <value ref="deptcd"/>
  12559. </itemset>
  12560. </choices>
  12561. <script type="javascript" ev:event="xforms-value-changed">
  12562. <![CDATA[
  12563. var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  12564. //응급의학과 블럭킹 - 의정부테스트
  12565. /*if( otpt_orddeptcd == gsOrddeptCd_ER ){
  12566. messageBox("응급의학과는 외래등록에서 접수할 수 없습니다.", "E999", "");
  12567. model.setValue("/root/main/otpt/otpt_orddeptcd", "");
  12568. model.setValue("/root/main/otpt/otpt_orddeptabbr", "");
  12569. model.setValue("/root/main/otpt/otpt_orddrid", "");
  12570. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  12571. model.refresh();
  12572. model.setFocus("cmb_orddeptcd");
  12573. return false;
  12574. }*/
  12575. //연속처방의 경우 진료과/의사/일자 변경 불가
  12576. if (btn_stat.attribute("background-color") == "#ff0000") //변경
  12577. {
  12578. var otpt_etcordflag_old = model.getValue("/root/main/otpt_old/otpt_etcordflag_old");
  12579. if (otpt_etcordflag_old == "M" || otpt_etcordflag_old == "J")
  12580. {
  12581. var otpt_orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  12582. if (otpt_orddeptcd_old != otpt_orddeptcd)
  12583. {
  12584. messageBox("연속처방이력은 진료과 변경불가능합니다!","E999","");
  12585. model.setValue("/root/main/otpt/otpt_orddeptcd",otpt_orddeptcd_old);
  12586. model.refresh();
  12587. return;
  12588. }
  12589. }
  12590. }
  12591. combo4.visible = false;
  12592. cmb_orddrid.visible = true;
  12593. fFsexamflagVeri();
  12594. fOrddridSet(otpt_orddeptcd);
  12595. //수급절차 세팅
  12596. fGetOrdReqFormFlag(otpt_orddeptcd);
  12597. //보호정신과 세팅
  12598. fCheckOrdReqForm();
  12599. // 대구 장애인구강센터 관련 체크
  12600. //fClinicCheck("A", "/root/main/ptbs", "/root/main/otpt");
  12601. //2007-08-17 이동식 추가 - 진료과 선택시 영문약어표시
  12602. var deptengabbr = model.getValue("/root/init/orddeptcd[ cd = '" + combo3.value + "']/deptengabbr");
  12603. model.makeNode("/root/main/otpt/otpt_orddeptabbr");
  12604. model.setValue("/root/main/otpt/otpt_orddeptabbr", deptengabbr);
  12605. //END..
  12606. //"-"로 기본값 주지 않고 서버로 넘기기 전에 null인지 체크한다.
  12607. model.setValue("root/main/otpt/otpt_orddrid","");
  12608. // model.setValue("/root/main/otpt/otpt_centcd","-");
  12609. model.setValue("/root/main/otpt/otpt_subdeptcd","-");
  12610. model.makeNode("/root/main/otpt/otpt_orddeptdrabbr");
  12611. model.setValue("/root/main/otpt/otpt_orddeptdrabbr","");
  12612. model.refresh();
  12613. model.setFocus("cmb_orddrid");
  12614. // cmb_orddrid.dispatch("onclick");
  12615. ]]>
  12616. </script>
  12617. </select1>
  12618. <select1 id="cmb_onestop" ref="/root/main/otpt/otpt_onestop" class="combo_default" visibility="hidden" appearance="minimal" style="left:718px; top:378px; width:132px; height:19px; ">
  12619. <choices>
  12620. <itemset nodeset="/root/init/A0420list/A0420">
  12621. <label ref="cdnm"/>
  12622. <value ref="cdid"/>
  12623. </itemset>
  12624. </choices>
  12625. </select1>
  12626. <button id="button8" class="btn3_letter4" visibility="hidden" style="left:534px; top:757px; width:80px; height:22px; ">
  12627. <caption>산재공상</caption>
  12628. </button>
  12629. <button id="btn_cnstinfo" class="btn3_letter2" style="left:81px; top:735px; width:56px; height:22px; ">
  12630. <caption>협진</caption>
  12631. <script type="javascript" ev:event="DOMActivate">
  12632. <![CDATA[
  12633. //fGetEMRCnstInfo();
  12634. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  12635. var param = pid + "▦▦▦▦▦▦";
  12636. setParameter("SMMMR05000_param_userdept", "doctor");
  12637. setParameter("SMMMR05000_param_pinfo", param);
  12638. modal("SMMMR05000", "1","100", "100", "SMMMR05000", "", "");
  12639. // if(submit("TRPAC00301")){
  12640. // }
  12641. ]]>
  12642. </script>
  12643. </button>
  12644. <caption id="caption1" class="cell_1" style="left:855px; top:717px; width:121px; height:23px; vertical-align:middle; "/>
  12645. <!--group id="group2" scroll="auto" style="left:0px; top:13px; width:1194px; height:719px; "-->
  12646. <caption id="caption75" class="tit_2" style="left:5px; top:20px; width:72px; height:13px; ">인적사항</caption>
  12647. <caption id="caption77" class="tit_2" style="left:860px; top:20px; width:144px; height:13px; ">보험</caption>
  12648. <line id="line102" class="line_1" style="x1:0px; y1:36px; x2:420px; y2:36px; "/>
  12649. <line id="line103" class="line_2" style="x1:0px; y1:65px; x2:420px; y2:65px; "/>
  12650. <line id="line107" class="line_1" style="x1:855px; y1:35px; x2:1195px; y2:35px; "/>
  12651. <caption id="caption78" class="cell_1" style="left:0px; top:166px; width:135px; height:23px; vertical-align:middle; ">우편번호</caption>
  12652. <caption id="caption79" class="cell_1" style="left:0px; top:66px; width:135px; height:23px; vertical-align:middle; ">성명[한/영]</caption>
  12653. <caption id="caption80" class="cell_1" style="left:0px; top:190px; width:135px; height:23px; vertical-align:middle; ">하위주소</caption>
  12654. <caption id="caption81" class="cell_1" style="left:0px; top:91px; width:135px; height:23px; vertical-align:middle; "/>
  12655. <caption id="caption82" class="cell_1" style="left:0px; top:41px; width:135px; height:23px; vertical-align:middle; ">등록번호</caption>
  12656. <caption id="caption83" class="cell_1" style="left:269px; top:41px; width:65px; height:23px; vertical-align:middle; ">성별/나이</caption>
  12657. <caption id="caption84" class="cell_1" style="left:269px; top:91px; width:65px; height:23px; vertical-align:middle; ">생년월일</caption>
  12658. <caption id="caption85" class="cell_1" style="left:0px; top:116px; width:135px; height:23px; vertical-align:middle; ">연락처/휴대폰</caption>
  12659. <button id="button39" class="btn2_letter4" style="left:952px; top:15px; width:64px; height:19px; ">
  12660. <caption>산재공상</caption>
  12661. <script type="javascript" ev:event="DOMActivate">
  12662. <![CDATA[
  12663. setParameter("SMPMC02700_pid", model.getValue("/root/main/ptbs/ptbs_pid")); //등록번호
  12664. modal("SMPMC02700", "1","100", "100", "SMPMC02700", "", "");
  12665. ]]>
  12666. </script>
  12667. </button>
  12668. <caption id="caption87" class="cell_1" style="left:855px; top:40px; width:120px; height:23px; vertical-align:middle; ">보험유형</caption>
  12669. <caption id="caption88" class="cell_1" style="left:855px; top:64px; width:120px; height:23px; vertical-align:middle; ">유형보조/보조사유</caption>
  12670. <caption id="caption96" class="cell_1" style="left:425px; top:161px; width:140px; height:23px; vertical-align:middle; ">진찰료 산정/사유</caption>
  12671. <caption id="caption97" class="tit_2" style="left:430px; top:20px; width:79px; height:13px; ">
  12672. <![CDATA[외래등록]]>
  12673. <script type="javascript" ev:event="ondblclick">
  12674. <![CDATA[
  12675. open("SPPMO02001");
  12676. ]]>
  12677. </script>
  12678. </caption>
  12679. <caption id="caption98" class="cell_1" style="left:425px; top:65px; width:140px; height:23px; vertical-align:middle; ">진료의</caption>
  12680. <caption id="caption99" class="cell_1" style="left:425px; top:41px; width:140px; height:23px; vertical-align:middle; ">진료과</caption>
  12681. <caption id="caption101" class="cell_1" style="left:425px; top:89px; width:140px; height:23px; vertical-align:middle; ">진료일자/시간</caption>
  12682. <caption id="caption103" class="cell_1" style="left:425px; top:137px; width:140px; height:23px; vertical-align:middle; ">선택진료</caption>
  12683. <line id="line114" class="line_1" style="x1:425px; y1:36px; x2:850px; y2:36px; "/>
  12684. <output id="output45" ref="/root/hidden/com/rsrvdesc" class="output_fix" appearance="output" style="left:704px; top:90px; width:65px; height:19px; "/>
  12685. <caption id="caption106" class="cell_1" style="left:425px; top:377px; width:140px; height:23px; vertical-align:middle; ">챠트대출신청</caption>
  12686. <caption id="caption107" class="cell_1" style="left:425px; top:305px; width:140px; height:23px; vertical-align:middle; ">장애인수첩 소지자 여부</caption>
  12687. <caption id="caption108" class="cell_1" style="left:425px; top:329px; width:140px; height:23px; vertical-align:middle; ">연속처방/기타구분</caption>
  12688. <caption id="caption109" class="cell_1" style="left:425px; top:353px; width:140px; height:23px; vertical-align:middle; ">임상연구</caption>
  12689. <caption id="caption110" class="cell_1" style="left:855px; top:284px; width:121px; height:23px; vertical-align:middle; ">총진료비/급여총액</caption>
  12690. <caption id="caption111" class="cell_1" style="left:855px; top:404px; width:121px; height:23px; vertical-align:middle; ">희귀난치/계정감면</caption>
  12691. <caption id="caption112" class="cell_1" style="left:855px; top:332px; width:121px; height:23px; vertical-align:middle; ">비급여총액/선택총액</caption>
  12692. <caption id="caption113" class="cell_1" visibility="hidden" style="left:475px; top:515px; width:121px; height:23px; vertical-align:middle; "/>
  12693. <caption id="caption114" class="cell_1" style="left:855px; top:356px; width:121px; height:23px; vertical-align:middle; ">본인부담총액/VAT</caption>
  12694. <caption id="caption115" class="cell_1" style="left:855px; top:549px; width:121px; height:23px; vertical-align:middle; ">납부할 금액</caption>
  12695. <caption id="caption116" class="cell_1" style="left:855px; top:573px; width:121px; height:23px; vertical-align:middle; ">수납방법</caption>
  12696. <line id="line125" class="line_1" style="x1:855px; y1:279px; x2:1194px; y2:279px; "/>
  12697. <caption id="caption117" class="cell_1" style="left:855px; top:380px; width:121px; height:23px; vertical-align:middle; ">장애기금/대불액</caption>
  12698. <caption id="caption118" class="cell_1" style="left:855px; top:525px; width:121px; height:23px; vertical-align:middle; ">선수금</caption>
  12699. <caption id="caption119" class="tit_2" style="left:861px; top:264px; width:64px; height:13px; ">진료비</caption>
  12700. <caption id="caption120" class="cell_1" style="left:855px; top:308px; width:121px; height:23px; vertical-align:middle; ">급여본인/급여보험자</caption>
  12701. <caption id="caption122" class="cell_1" style="left:0px; top:214px; width:135px; height:23px; vertical-align:middle; ">외국인여부</caption>
  12702. <caption id="caption124" class="cell_1" style="left:0px; top:238px; width:135px; height:23px; vertical-align:middle; ">VIP/SMS승인여부</caption>
  12703. <caption id="caption126" class="cell_1" style="left:0px; top:261px; width:135px; height:23px; vertical-align:middle; ">차량번호</caption>
  12704. <line id="line156" class="line_2" style="x1:855px; y1:86px; x2:1195px; y2:86px; "/>
  12705. <shape id="roundrect4" class="roundrect_example" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:708px; width:590px; height:22px; border-style:solid; "/>
  12706. <select1 id="radio30" ref="/root/hidden/com/orgflag" appearance="full" cols="2" rows="1" overflow="visible" style="left:351px; top:711px; width:90px; height:20px; border-style:none; ">
  12707. <choices>
  12708. <item>
  12709. <label>원본</label>
  12710. <value>N</value>
  12711. </item>
  12712. <item>
  12713. <label>사본</label>
  12714. <value>Y</value>
  12715. </item>
  12716. </choices>
  12717. </select1>
  12718. <caption id="caption147" class="cell_1" style="left:855px; top:693px; width:121px; height:23px; vertical-align:middle; "/>
  12719. <caption id="caption148" class="cell_1" style="left:855px; top:597px; width:121px; height:23px; vertical-align:middle; ">소득공제/지출증빙</caption>
  12720. <output id="output56" ref="/root/main/opmi/opmi_targetamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:550px; width:216px; height:19px; text-align:right; "/>
  12721. <button id="button61" class="btn2_letter2" style="left:907px; top:15px; width:42px; height:19px; ">
  12722. <caption>자보</caption>
  12723. <script type="javascript" ev:event="DOMActivate">
  12724. <![CDATA[
  12725. setParameter("SMPMC02600_pid", model.getValue("/root/main/ptbs/ptbs_pid")); //등록번호
  12726. modal("SMPMC02600", "1","100", "100", "SMPMC02600", "", "");
  12727. ]]>
  12728. </script>
  12729. </button>
  12730. <caption id="caption149" class="cell_1" style="left:0px; top:401px; width:135px; height:23px; vertical-align:middle; "/>
  12731. <button id="button59" class="btn2_letter10" style="left:2px; top:403px; width:130px; height:19px; ">
  12732. <caption>외래/퇴원/후원회미수</caption>
  12733. <script type="javascript" ev:event="DOMActivate">
  12734. <![CDATA[
  12735. setParameter("SMPAM00100_PID_PARM", model.getValue("/root/main/ptbs/ptbs_pid"));
  12736. modal("SMPAM00100", "1","30", "30", "SMPAM00100", "", "");
  12737. ]]>
  12738. </script>
  12739. </button>
  12740. <caption id="caption150" class="cell_1" style="left:855px; top:429px; width:121px; height:23px; vertical-align:middle; "/>
  12741. <caption id="caption151" class="cell_1" style="left:855px; top:477px; width:121px; height:23px; vertical-align:middle; ">기현금액/기선수금</caption>
  12742. <caption id="caption152" class="cell_1" style="left:855px; top:501px; width:121px; height:23px; vertical-align:middle; ">기카드액/기온라인</caption>
  12743. <button id="button60" class="btn2_letter4" visibility="hidden" style="left:477px; top:517px; width:64px; height:19px; ">
  12744. <caption>임의감면</caption>
  12745. <script type="javascript" ev:event="DOMActivate">
  12746. <![CDATA[
  12747. if (gs_prcs != "2"){
  12748. messageBox("수가계산 후 감액적용가능합니다!","E999","");
  12749. return;
  12750. }
  12751. //멀티 입력일 경우 감액 선택 불가
  12752. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  12753. if (m_opmi_cnt > 1){
  12754. messageBox("멀티접수시는 감액 적용불가능합니다!","E999","");
  12755. return;
  12756. }
  12757. //감액적용가능한 금액인지 검증
  12758. var vOpmi_rcptexptamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"));
  12759. if (vOpmi_rcptexptamt <= 0){
  12760. // messageBox("감액적용할 금액이 없습니다!","E999","");
  12761. // return;
  12762. }
  12763. //감액노드에 데이타가 없을 경우 빈 node (dcgm) 도 삭제한다(clear)-------------
  12764. // var vnode =instance1.selectSingleNode("/root/send/s_dcgm/dcgm");
  12765. // if (vnode != null) {
  12766. // var nodeList = vnode.hasChildNodes();
  12767. // if (nodeList=="0") { //자식노드가 없으면 remove -초기화
  12768. // model.removenode("/root/send/s_dcgm/dcgm");
  12769. // }
  12770. // }
  12771. //=========================================================================================================================================//
  12772. var parm = model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //진료일자
  12773. model.getValue("/root/main/opmi/opmi_cashamt") + "▦" + //수납대상금액
  12774. "/root/main/h_dcgm2" + "▦" + //parent가 이미 가지고 있던 감액 내역
  12775. "/root/main/h_dcgm2" + "▦"; //팝업이 닫힐때 감액내역을 받을 위치
  12776. setParameter("SPPAO00800_PARM",parm);
  12777. modal("SPPAO00800", "1","400", "400", "SPPAO00800", "", "");
  12778. if (getParameter("SPPAO00800_RTN") == "N" || getParameter("SPPAO00800_RTN") == "") return;
  12779. //=========================================================================================================================================//
  12780. var TotReduAmt = eval(getParameter("SPPAO00800_TotReduAmt"));
  12781. // if (TotReduAmt != 0){
  12782. var opmi_discamt = model.getValue("/root/main/opmi/opmi_discamt");
  12783. opmi_discamt = eval(opmi_discamt);
  12784. var opmi_reduamt = TotReduAmt;
  12785. TotReduAmt = TotReduAmt + opmi_discamt;
  12786. model.setValue("/root/main/opmi/opmi_reduamt",opmi_reduamt.toString());
  12787. model.setValue("/root/main/opmi/opmi_totreduamt",TotReduAmt.toString());
  12788. fCalcRcpt2();
  12789. // }
  12790. ]]>
  12791. </script>
  12792. </button>
  12793. <button id="button46" class="btn2_letter3" style="left:857px; top:431px; width:53px; height:19px; ">
  12794. <caption>미수액</caption>
  12795. <script type="javascript" ev:event="DOMActivate">
  12796. <![CDATA[
  12797. if (gs_prcs != "2"){
  12798. messageBox("수가계산 후 미수적용가능합니다!","E999","");
  12799. return;
  12800. }
  12801. //멀티 입력일 경우 감액 선택 불가
  12802. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  12803. if (m_opmi_cnt > 1){
  12804. messageBox("멀티접수시는 미수 적용불가능합니다!","E999","");
  12805. return;
  12806. }
  12807. //미수적용가능한 금액인지 검증
  12808. var opmi_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"));
  12809. if (opmi_cashamt <= 0){
  12810. // messageBox("미수적용할 금액이 없습니다!","E999","");
  12811. // return;
  12812. }
  12813. //=========================================================================================================================================//
  12814. var parm = "O" + "▦" + //진료형태(ordtype)
  12815. model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //진료일자
  12816. model.getValue("/root/main/opmi/opmi_cashamt") + "▦" + //수납대상금액
  12817. "/root/main/h_unco" + "▦" + //parent가 이미 가지고 있던 미수 내역
  12818. "/root/main/h_unco" + "▦" + //팝업이 닫힐때 미수내역을 받을 위치
  12819. "O" + "▦" + //외래 또는 입원요율
  12820. model.getValue("/root/main/opmi/opmi_payownbamt100") + "▦" + //본인 급여총액
  12821. model.getValue("/root/main/opmi/opmi_totnopyamt") + "▦" + //비급여 본인부담금액
  12822. model.getValue("/root/main/opmi/opmi_specamt") + "▦"; //선택진료 본인부담금액
  12823. setParameter("SPPAO00900_PARM",parm);
  12824. modal("SPPAO00900", "1","400", "400", "SPPAO00900", "", "");
  12825. if (getParameter("SPPAO00900_RTN") == "N" || getParameter("SPPAO00900_RTN") == "") return;
  12826. //=========================================================================================================================================//
  12827. var TotUncoAmt = eval(getParameter("SPPAO00900_TotUncoAmt"));
  12828. // if (TotUncoAmt != 0){
  12829. model.setValue("/root/main/opmi/opmi_uncoamt",TotUncoAmt.toString());
  12830. fCalcRcpt2();
  12831. // }
  12832. ]]>
  12833. </script>
  12834. </button>
  12835. <caption id="caption153" class="cell_1" style="left:855px; top:621px; width:121px; height:23px; vertical-align:middle; "/>
  12836. <caption id="caption154" class="cell_1" style="left:855px; top:645px; width:121px; height:23px; vertical-align:middle; ">유효기간/할부</caption>
  12837. <caption id="caption155" class="cell_1" style="left:855px; top:669px; width:121px; height:23px; vertical-align:middle; "/>
  12838. <button id="btn_cashpopup" class="btn2_letter4" style="left:857px; top:695px; width:64px; height:19px; ">
  12839. <caption>현금금액</caption>
  12840. <script type="javascript" ev:event="DOMActivate">
  12841. <![CDATA[
  12842. //현금 승인시 멀티 이력의 본인 부담금에 해당하는 금액들로 현금 내역 쪼갬
  12843. //멀티 입력 후 승인된 현금내역일 경우 승인 취소시 멀티 현금내역 삭제
  12844. //카드결제액이 존재하는 경우 현금 승인불가
  12845. if( model.getValue("/root/main/ptbs/ptbs_pid") == '' || model.getValue("/root/main/ptbs/ptbs_pid") == ' ' ||
  12846. model.getValue("/root/main/ptbs/ptbs_hngnm") == '' || model.getValue("/root/main/ptbs/ptbs_hngnm") == '' ){
  12847. messageBox("환자를 먼저 조회하신 후에 현금영수증 팝업을 열어 작업을 하실 수 있습니다!!", "E999", "");
  12848. return false;
  12849. }
  12850. model.setValue("/root/hidden/com/cardcashflag", "C"); //Y-카드, N-현금영수증, C-현금
  12851. radio1.dispatch("xforms-value-changed");
  12852. //"#ff0000" :변경,취소
  12853. //"#c0c0c0":접수
  12854. if( CHECKCARDCASH == 'OLD' ){
  12855. if (btn_stat.attribute("background-color") == "#c0c0c0")
  12856. {
  12857. // if (gs_prcs != "2")
  12858. // {
  12859. // messageBox("수가계산 후 현금적용가능합니다!","E999","");
  12860. // return;
  12861. // }
  12862. //멀티접수시 카드승인 내역이 존재하면 현금승인 불가
  12863. if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]/otpt_pid") > 1)
  12864. {
  12865. if (getNodesetCount("/root/main/m_card/card/card_pid") > 0)
  12866. {
  12867. messageBox("멀티접수시 현금/카드 동시승인은 불가능합니다!","E999","");
  12868. return;
  12869. }
  12870. }
  12871. }
  12872. else if (btn_stat.attribute("background-color") == "#ff0000") //변경/취소
  12873. {
  12874. //멀티카드내역 존재여부 체크
  12875. if (getNodesetCount("/root/main/c_card/card/card_pid") > 0)
  12876. {
  12877. messageBox("멀티취소대상 카드내역 존재!","E999","");
  12878. return;
  12879. }
  12880. if (getNodesetCount("/root/main/c_cash/cash/cash_pid") > 0)
  12881. {
  12882. if (getNodesetCount("/root/main/c_cash/cash/cash_pid") != getNodesetCount("/root/main/c_otpt/otpt/otpt_pid"))
  12883. {
  12884. messageBox("멀티접수 내역중 취소 내역존재! 현금승인취소불가능합니다!","E999","");
  12885. return;
  12886. }
  12887. if (c_otpt_yn == "N") //멀티취소
  12888. {
  12889. messageBox("멀티취소대상 현금내역 존재! 현금취소하려면 멀티취소내역 선택하십시요!","E999","");
  12890. return;
  12891. }
  12892. }
  12893. // var result = messageBox("현금내역[변경] 또는 접수[취소]를 위한 현금승인취소 하시려면 예(Yes)\n아니면 아니오(No)","Q000","");
  12894. //
  12895. // if (result == "6")
  12896. // {
  12897. // if (gs_prcs != "2")
  12898. // {
  12899. //수가계산없이 취소하므로 기현금액으로 보내는 행위 필요
  12900. // cncl_precashamt = eval(model.getValue("/root/main/opmi/opmi_precashamt"));
  12901. // cncl_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"));
  12902. //
  12903. // cncl_precashamt= cncl_precashamt + cncl_cashamt;
  12904. // }
  12905. // }
  12906. // else return;
  12907. }
  12908. }
  12909. //=========================================================================================================================================//
  12910. if( ! fOpenCashPopUp() ){ //카드팝업 호출
  12911. radio1.dispatch("xforms-value-changed");
  12912. return false;
  12913. }
  12914. //=========================================================================================================================================//
  12915. //현금수납으로 세팅.. - 카드수납은 완료 했으므로!!
  12916. //model.setValue("/root/hidden/m_etc/cardaprvflag", "C");
  12917. radio1.dispatch("xforms-value-changed");
  12918. //model.refresh();
  12919. ]]>
  12920. </script>
  12921. </button>
  12922. <button id="button51" class="btn2_letter4" style="left:857px; top:718px; width:64px; height:19px; ">
  12923. <caption>통장입금</caption>
  12924. <script type="javascript" ev:event="DOMActivate">
  12925. <![CDATA[
  12926. if (gs_prcs != "2")
  12927. {
  12928. messageBox("수가계산 후 통장입금적용가능합니다!","E999","");
  12929. return;
  12930. }
  12931. //멀티 입력일 경우 감액 선택 불가
  12932. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  12933. if (m_opmi_cnt > 1)
  12934. {
  12935. messageBox("멀티접수시는 통장입금 적용불가능합니다!","E999","");
  12936. return;
  12937. }
  12938. //미수적용가능한 금액인지 검증
  12939. var opmi_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"));
  12940. if (opmi_cashamt < 0)
  12941. {
  12942. messageBox("통장입금적용할 금액이 없습니다!","E999","");
  12943. return;
  12944. }
  12945. //통장입금노드에 데이타가 없을 경우 빈 node (onln) 도 삭제한다(clear)-------------
  12946. var vnode =instance1.selectSingleNode("/root/main/h_onln/onln");
  12947. if (vnode != null) {
  12948. var nodeList = vnode.hasChildNodes();
  12949. if (nodeList=="0") { //자식노드가 없으면 remove -초기화
  12950. model.removenode("/root/main/h_onln/onln");
  12951. }
  12952. }
  12953. //=========================================================================================================================================//
  12954. //var parm = (eval(model.getValue("/root/main/opmi/opmi_cashamt")) + eval(model.getValue("/root/main/opmi/opmi_onlineamt"))).toString() + "▦" + //수납대상금액
  12955. var parm = model.getValue("/root/main/opmi/opmi_cashamt") + "▦" + //수납대상금액
  12956. "/root/main/h_onln" + "▦" + //parent가 이미 가지고 있던 통장입금 내역
  12957. "/root/main/h_onln" + "▦"; //팝업이 닫힐때 통장입금내역을 받을 위치
  12958. setParameter("SPPAO01500_PARM",parm);
  12959. modal("SPPAO01500", "1","200", "200", "SPPAO01500", "", "");
  12960. if (getParameter("SPPAO01500_RTN") == "N" || getParameter("SPPAO01500_RTN") == "") return;
  12961. //=========================================================================================================================================//
  12962. var TotOnlineAmt = eval(getParameter("SPPAO01500_TotOnlineAmt"));
  12963. if (TotOnlineAmt != 0){
  12964. model.setValue("/root/main/opmi/opmi_onlineamt",TotOnlineAmt.toString());
  12965. //현금금액 = 기존현금금액 - 통장입금액
  12966. var vcheck_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"))
  12967. -eval(model.getValue("/root/main/opmi/opmi_onlineamt"));
  12968. model.setValue("/root/main/opmi/opmi_cashamt",(vcheck_cashamt).toString() );
  12969. }else{ // 2016/04/18 이정택(온라인입금 관련 프로그램 수정)
  12970. model.setValue("/root/main/opmi/opmi_onlineamt", "0");
  12971. //현금금액 = 기존현금금액 - 통장입금액
  12972. var vcheck_cashamt = eval(model.getValue("/root/main/opmi/opmi_cashamt"))
  12973. -eval(model.getValue("/root/main/opmi/opmi_onlineamt"));
  12974. model.setValue("/root/main/opmi/opmi_cashamt",(vcheck_cashamt).toString() );
  12975. }
  12976. fCalcRcpt2();
  12977. //2008-01-02 이동식 추가
  12978. radio1.dispatch("xforms-value-changed");
  12979. //model.refresh();
  12980. ]]>
  12981. </script>
  12982. </button>
  12983. <button id="btn_cardpopup" class="btn2_letter5" style="left:857px; top:671px; width:75px; height:19px; ">
  12984. <caption>카드결제액</caption>
  12985. <script type="javascript" ev:event="DOMActivate">
  12986. <![CDATA[
  12987. //카드 승인시 멀티 이력의 본인 부담금에 해당하는 금액들로 카드 내역 쪼갬 => m_card
  12988. //멀티 입력 후 승인된 카드내역일 경우 승인 취소시 각 본인부담금에 해당하는 금액들로 승인[-]내역 쪼갬 => c_card
  12989. //멀티 접수한 이력을 단독으로 변경/취소시 카드 내역 처리에 대한 제한
  12990. //현금숭인내역이 존재시 카드 적용불가
  12991. if( model.getValue("/root/main/ptbs/ptbs_pid") == '' || model.getValue("/root/main/ptbs/ptbs_pid") == ' ' ||
  12992. model.getValue("/root/main/ptbs/ptbs_hngnm") == '' || model.getValue("/root/main/ptbs/ptbs_hngnm") == '' ){
  12993. messageBox("환자를 먼저 조회하신 후에 카드결제팝업을 열어 작업을 하실 수 있습니다!!", "E999", "");
  12994. return false;
  12995. }
  12996. model.setValue("/root/hidden/com/cardcashflag", "Y"); //Y-카드, N-현금영수증, C-현금
  12997. radio1.dispatch("xforms-value-changed");
  12998. var check = "N";
  12999. var cncl_precardamt;
  13000. var cncl_cardamt;
  13001. var c_otpt_yn = "N";
  13002. var motpt_cnt = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]");
  13003. var cotpt_cnt = getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]");
  13004. //"#ff0000" :변경,취소
  13005. //"#c0c0c0":접수
  13006. if( CHECKCARDCASH == 'OLD' ){
  13007. if (btn_stat.attribute("background-color") == "#c0c0c0") //접수
  13008. {
  13009. // if (gs_prcs != "2")
  13010. // {
  13011. // messageBox("수가계산 후 카드수납이 가능합니다.","E999","");
  13012. // return;
  13013. // }
  13014. //멀티접수시 현금승인 내역이 존재하면 카드 불가
  13015. if ( motpt_cnt > 1)
  13016. {
  13017. if (getNodesetCount("/root/main/m_cash/cash/cash_pid") > 0)
  13018. {
  13019. messageBox("멀티접수시 현금/카드 동시수납은 불가능합니다!","E999","");
  13020. return;
  13021. }
  13022. }
  13023. }
  13024. else if (btn_stat.attribute("background-color") == "#ff0000") //변경/취소
  13025. {
  13026. //멀티현금내역 존재여부 체크
  13027. if (getNodesetCount("/root/main/c_cash/cash/cash_pid") > 0)
  13028. {
  13029. messageBox("멀티취소대상에 현금수납내역이 존재합니다!","E999","");
  13030. return;
  13031. }
  13032. if (getNodesetCount("/root/main/c_card/card/card_pid") > 0)
  13033. {
  13034. if (cotpt_cnt = 0) //멀티취소
  13035. {
  13036. messageBox("멀티취소 대상을 선택하신 후 다시 시도해 주십시오. ","E999","");
  13037. return;
  13038. }
  13039. }
  13040. }
  13041. }
  13042. //=========================================================================================================================================//
  13043. if( ! fOpenCardPopUp() ){ //카드팝업 호출
  13044. radio1.dispatch("xforms-value-changed");
  13045. return false;
  13046. }
  13047. //=========================================================================================================================================//
  13048. //현금수납으로 세팅.. - 카드수납은 완료 했으므로!!
  13049. //model.setValue("/root/hidden/m_etc/cardaprvflag", "C");
  13050. radio1.dispatch("xforms-value-changed");
  13051. //model.refresh();
  13052. ]]>
  13053. </script>
  13054. </button>
  13055. <caption id="caption157" class="cell_1" style="left:425px; top:113px; width:140px; height:23px; vertical-align:middle; ">수급절차</caption>
  13056. <select1 id="cmb_insukind" ref="/root/main/otpt/otpt_insukind" class="combo_default" appearance="minimal" style="left:1004px; top:41px; width:190px; height:19px; ">
  13057. <choices>
  13058. <itemset nodeset="/root/init/insukind">
  13059. <label ref="nm"/>
  13060. <value ref="cd"/>
  13061. </itemset>
  13062. </choices>
  13063. <script type="javascript" ev:event="xforms-select">
  13064. <![CDATA[
  13065. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13066. //보험 자격조회 체크 여부 초기화 - 보험정보가 선택될때마다 초기화 시킨다.
  13067. //2008-07-22 이동식
  13068. model.setValue("/root/hidden/flag/check_insuinfo_flag" , "N");
  13069. model.setValue("/root/hidden/flag/check_insuinfo_insukind" , otpt_insukind );
  13070. //END,,
  13071. //구환
  13072. if (gs_olnw == "O"){
  13073. var insucd = "";
  13074. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  13075. model.setValue("/root/main/ptin/ptin_insukind" , otpt_insukind);
  13076. model.setValue("/root/main/ptin/ptin_insucd" , "-");
  13077. model.setValue("/root/main/ptin/ptin_insunm" , "-");
  13078. model.setValue("/root/main/ptin/ptin_insuno" , "-");
  13079. fInsuKindRef(ptbs_pid, otpt_insukind, insucd);
  13080. }else{
  13081. model.setValue("/root/main/ptin/ptin_insukind" , model.getValue("/root/main/otpt/otpt_insukind"));
  13082. model.setValue("/root/main/ptin/ptin_insucd" , "-");
  13083. model.setValue("/root/main/ptin/ptin_insunm" , "-");
  13084. model.setValue("/root/main/ptin/ptin_insuno" , "-");
  13085. var ptin_insdnm = model.getValue("/root/main/ptin/ptin_insdnm");
  13086. var ptin_insdrrgstno1 = model.getValue("/root/main/ptin/ptin_insdrrgstno1");
  13087. var ptin_insdrrgstno2 = model.getValue("/root/main/ptin/ptin_insdrrgstno2");
  13088. var ptin_insdrela = model.getValue("/root/main/ptin/ptin_insdrela");
  13089. if (ptin_insdnm != null && ptin_insdnm != "-") model.setValue("/root/main/ptin/ptin_insdnm","-");
  13090. if (ptin_insdrrgstno1 != null && ptin_insdrrgstno1 != "-") model.setValue("/root/main/ptin/ptin_insdrrgstno1","-");
  13091. if (ptin_insdrrgstno2 != null && ptin_insdrrgstno2 != "-") model.setValue("/root/main/ptin/ptin_insdrrgstno2","-");
  13092. if (ptin_insdrela != null && ptin_insdrela != "-") model.setValue("/root/main/ptin/ptin_insdrela","-");
  13093. model.setValue("/root/main/ptin/ptin_fromdd",PMO001_TODAY);
  13094. model.setValue("/root/main/ptin/ptin_todd",PMO001_MAXDATE);
  13095. fInsdrelaSet();
  13096. //2007.07.28 이동식 수정 - 건강보험일 경우 보험자기호 디폴트 세팅 '0015'
  13097. if( model.getValue("/root/main/otpt/otpt_insukind") == gsBoHeom){ // 건강보험 = 11
  13098. var ptin_insucd = model.getValue("/root/main/ptin/ptin_insucd");
  13099. if( ptin_insucd == '-' || ptin_insucd == '' || ptin_insucd == ' ' || ptin_insucd == null ){
  13100. model.setValue("/root/main/ptin/ptin_insucd", boHeom_insucd);
  13101. model.setValue("/root/main/otpt/otpt_insucd", boHeom_insucd);
  13102. }else{
  13103. model.setValue("/root/main/ptin/ptin_insucd", ptin_insucd);
  13104. model.setValue("/root/main/otpt/otpt_insucd", ptin_insucd);
  13105. }
  13106. }else if(model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1 || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2){
  13107. var ptin_insucd = model.getValue("/root/main/ptin/ptin_insucd");
  13108. if( ptin_insucd == '-' || ptin_insucd == '' || ptin_insucd == ' ' || ptin_insucd == null ){
  13109. model.setValue("/root/main/ptin/ptin_insucd", '-');
  13110. model.setValue("/root/main/otpt/otpt_insucd", '-');
  13111. }else{
  13112. model.setValue("/root/main/ptin/ptin_insucd", ptin_insucd);
  13113. model.setValue("/root/main/otpt/otpt_insucd", ptin_insucd);
  13114. }
  13115. }else{
  13116. model.setValue("/root/main/otpt/otpt_insucd", '-');
  13117. }
  13118. }
  13119. //자보이면 선택보험자부담 Z default
  13120. var ptin_insukind = model.getValue("/root/main/ptin/ptin_insukind");
  13121. if (ptin_insukind == gsInsu_JaboKind){
  13122. // model.setValue("/root/main/otpt/otpt_suppkind", supp_BASE);
  13123. // model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13124. //자보내역이 없을 경우 관계정보 세팅
  13125. if( model.getValue("/root/main/aipm/aipm_pid") == '' ){
  13126. //자보 등록이 안된경우 메세지 처리
  13127. messageBox("자보내역을 등록하지 않았습니다. 등록하신 후 작업하거나 보조유형을 '전액본인부담'으로 등록하세요.", "E999", "");
  13128. model.setValue("/root/main/otpt/otpt_suppkind",'01'); //보조유형 '전액본인부담'으로 세팅
  13129. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13130. fInsdrelaSet();
  13131. }else{
  13132. model.setValue("/root/main/otpt/otpt_suppkind",model.getValue("/root/main/aipm/aipm_suppkind")); //자보유형의 보조유형으로 세팅
  13133. model.setValue("/root/main/otpt/otpt_insucd",model.getValue("/root/main/aipm/aipm_insucmpycd")); //자보유형의 보험코드로 세팅
  13134. }
  13135. // fInsuTabChng();
  13136. }else if (ptin_insukind == gsInsu_SanJae || ptin_insukind == gsInsu_GongSang){
  13137. //산재내역이 없을 경우 관계정보 세팅
  13138. if( model.getValue("/root/main/icpm/icpm_pid") == '' ){
  13139. model.setValue("/root/main/otpt/otpt_suppkind", '00');
  13140. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13141. fInsdrelaSet();
  13142. }else{
  13143. model.setValue("/root/main/otpt/otpt_suppkind",model.getValue("/root/main/icpm/icpm_suppkind")); //자보유형의 보조유형으로 세팅
  13144. }
  13145. }else if (ptin_insukind == gsInsu_ForIn){
  13146. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  13147. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13148. }else if (ptin_insukind == gsInsu_Noin){
  13149. model.setValue("/root/main/otpt/otpt_suppkind", '81');
  13150. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13151. }else{
  13152. model.setValue("/root/main/otpt/otpt_suppkind", supp_BASE);
  13153. model.setValue("/root/main/otpt/otpt_suppkindresn","-");
  13154. // fInsuTabChng();
  13155. }
  13156. fInsuTabChng();
  13157. //산재
  13158. // if (ptin_insukind == gsSanJae) {
  13159. // //산재내역이 없을 경우 관계정보 세팅
  13160. // if( model.getValue("/root/main/icpm/icpm_pid") == '' ){
  13161. // fInsdrelaSet();
  13162. // }
  13163. // }
  13164. //2008-11-17 이동식 추가
  13165. //일반인 경우 수급절차 '일반' 세팅
  13166. if( ptin_insukind == gsInsu_IlBan || ptin_insukind == gsInsu_ForIn){
  13167. model.setValue("/root/main/otpt/otpt_ordreqformflag", '6');
  13168. //자보 산재 공상 외국인 인경우 수급절차 '해당없음' 세팅
  13169. }else if( ptin_insukind == gsInsu_JaboKind || ptin_insukind == gsInsu_SanJae || ptin_insukind == gsInsu_GongSang ){
  13170. model.setValue("/root/main/otpt/otpt_ordreqformflag", '0');
  13171. }else{
  13172. // var cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  13173. // var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  13174. // var checkDept = 'N';
  13175. // for(var i = 1; i <= cnt; i++ ){
  13176. // if( orddeptcd == model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_orddeptcd") ){
  13177. // checkDept = 'Y';
  13178. // model.setValue("/root/main/otpt/otpt_ordreqformflag", model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_ordreqformflag"));
  13179. // break;
  13180. // }else{
  13181. // checkDept = 'N';
  13182. // }
  13183. // }
  13184. // if( checkDept == 'N' ){
  13185. // model.setValue("/root/main/otpt/otpt_ordreqformflag", '-');
  13186. // }
  13187. }
  13188. /*
  13189. * 임상시험
  13190. * 2008-02-15 이동식 추가 - 보험유형이 임상으로 세팅되면 수급절차 사유를 기타 100%로 한다.
  13191. */
  13192. if(ptin_insukind == gsInsu_ImSang){
  13193. model.setValue("/root/main/otpt/otpt_ordreqformflag", '4'); //수급절차 - 기타100%
  13194. //임상연구 선택시 진찰료 미산정 여부 메세지
  13195. if(messageBox("보험유형을 임상으로 선택하셨습니다. 진찰료를 산정 하시겠습니까?", "Q999", "") != 6 ){
  13196. model.setValue("/root/main/otpt/otpt_medamtestmyn" , "N"); //진찰료 산정/사유 - No
  13197. model.setValue("/root/main/otpt/otpt_medamtfreeresn" , "09"); //진찰료 미산정 사유 - 임상(09)
  13198. }
  13199. }
  13200. if(otpt_insukind != "-"){
  13201. cmb_suppkind.disabled = false;
  13202. }else{
  13203. cmb_suppkind.disabled = true;
  13204. }
  13205. fSuppKindSet(otpt_insukind);
  13206. fCheckOrdReqForm();
  13207. //end..
  13208. //2007-12-12
  13209. //2007-12-12 이동식 추가 - 수급절차 본인부담 100% 일때 보험유형보조 전액본인부담으로 세팅!!
  13210. //보험, 급여 일때
  13211. // if( otpt_insukind == gsBoHo2 || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHeom ){
  13212. // if( cmb_ordreqformflag.value == '1' //보험 100%(의뢰서미지참)
  13213. // || cmb_ordreqformflag.value == '2' //본인희망 100%
  13214. // || cmb_ordreqformflag.value == '4' ){ //기타 100%
  13215. //
  13216. // //전액본인부담 '01'
  13217. // model.setValue("/root/main/otpt/otpt_suppkind", '01');
  13218. // model.refresh();
  13219. // }
  13220. // }
  13221. //END..
  13222. //2007-09-05 이동식 추가
  13223. //if( ptin_insukind == gsJaboKind || ptin_insukind == gsSanJae || ptin_insukind == gsGongSang ){
  13224. if( model.getValue("/root/main/ptin/ptin_insdrela") == '-' || model.getValue("/root/main/ptin/ptin_insdrela") == '' ){
  13225. model.setValue("/root/main/ptin/ptin_insdrela", '1');
  13226. //model.setValue("/root/main/ptin/ptin_insucd",'11111');
  13227. cmb_insdrela.dispatch("xforms-value-changed");
  13228. }
  13229. //END..
  13230. model.refresh();
  13231. model.setFocus("cmb_suppkind");
  13232. ]]>
  13233. </script>
  13234. <script type="javascript" ev:event="xforms-value-changed">
  13235. <![CDATA[
  13236. // model.setValue("/root/main/otpt/otpt_suppkind",supp_BASE);
  13237. fInsuTabChng();
  13238. model.setValue("/root/hidden/flag/check_insuinfo_flag", "N");
  13239. model.setValue("/root/hidden/flag/check_insuinfo_insukind", '' );
  13240. model.setValue("/root/hidden/flag/check_insuinfo_suppkind", '' );
  13241. model.setValue("/root/hidden/flag/check_insuinfo_ownbflag", '' );
  13242. model.setValue("/root/hidden/flag/check_insuinfo_rareobstflag", '' );
  13243. ]]>
  13244. </script>
  13245. </select1>
  13246. <select1 id="cmb_suppkind" ref="/root/main/otpt/otpt_suppkind" class="combo_default" disabled="true" appearance="minimal" style="left:1004px; top:65px; width:95px; height:19px; ">
  13247. <choices>
  13248. <itemset nodeset="/root/init/suppkind">
  13249. <label ref="nm"/>
  13250. <value ref="cd"/>
  13251. </itemset>
  13252. </choices>
  13253. <script type="javascript" ev:event="xforms-value-changed">
  13254. <![CDATA[
  13255. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13256. var otpt_suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  13257. var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  13258. //2010-11-09 이동식 추가
  13259. //산재 보조유형 선택시 해당 산재 유형을 조회하도록 추가함. - 산재는 보조유형에 따라 각기 다른 보험 정보를 가질 수 있음. 예) 정상, 후유
  13260. if(otpt_insukind == gsSanJae ){ //산재일 경우
  13261. fInsuKindRef(ptbs_pid, otpt_insukind, '', otpt_suppkind);
  13262. }
  13263. fSuppKindSelect();
  13264. // if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ) && HOMECARE != 'Y' ){ //가정간호 접수일때 제외
  13265. if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 || otpt_insukind == gsInsu_Noin ) && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y' ){
  13266. // btn_insuno_search.dispatch("DOMActivate");
  13267. fInsuInfoSearch("I");
  13268. }
  13269. model.setFocus("btn_calcscorcalc");
  13270. ]]>
  13271. </script>
  13272. </select1>
  13273. <select1 id="cmb_suppkindresn" ref="/root/main/otpt/otpt_suppkindresn" class="combo_default" disabled="true" navindex="31" appearance="minimal" style="left:1101px; top:65px; width:93px; height:19px; ">
  13274. <choices>
  13275. <itemset nodeset="/root/init_com/init/P0032list/P0032">
  13276. <label ref="cdnm"/>
  13277. <value ref="cdid"/>
  13278. </itemset>
  13279. </choices>
  13280. </select1>
  13281. <input id="ipt_orddd" ref="/root/main/otpt/otpt_orddd" class="input_default" navindex="13" inputtype="date" style="left:568px; top:90px; width:95px; height:19px; ">
  13282. <script type="javascript" ev:event="xforms-value-changed">
  13283. <![CDATA[
  13284. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  13285. if (otpt_orddd.length == 8){
  13286. if (eval(otpt_orddd) > eval(PMO001_TODAY)){
  13287. model.setValue("/root/hidden/com/rsrvdesc","예약접수");
  13288. if( RSRVFLAG != 'H' && RSRVFLAG != 'O' && RSRVFLAG != 'C'){
  13289. RSRVFLAG = 'R'; //방문예약
  13290. model.setValue("/root/main/otpt/otpt_rsrvflag", 'R'); //예약구분 당일예약 세팅
  13291. }
  13292. }else if (eval(otpt_orddd) == eval(PMO001_TODAY)){
  13293. model.setValue("/root/hidden/com/rsrvdesc","당일접수");
  13294. if( RSRVFLAG != 'H' && RSRVFLAG != 'O' && RSRVFLAG != 'C'){
  13295. RSRVFLAG = '-'; //당일접수
  13296. model.setValue("/root/main/otpt/otpt_rsrvflag", '-'); //예약구분 당일접수 세팅
  13297. }
  13298. }else{
  13299. messageBox("확인! 과거일자로는 접수 불가능합니다!","E999","");
  13300. model.setValue("/root/main/otpt/otpt_orddd",PMO001_TODAY);
  13301. model.setValue("/root/hidden/com/rsrvdesc","당일접수");
  13302. if( RSRVFLAG != 'H' && RSRVFLAG != 'O' && RSRVFLAG != 'C'){
  13303. RSRVFLAG = '-'; //당일접수
  13304. model.setValue("/root/main/otpt/otpt_rsrvflag", '-'); //예약구분 당일접수 세팅
  13305. }
  13306. model.refresh();
  13307. return;
  13308. }
  13309. // var ptdc_disccd = (model.getValue("/root/main/ptdc/ptdc_disccd"));
  13310. // if (ptdc_disccd != "" && ptdc_disccd != " " && ptdc_disccd != null && ptdc_disccd != "-")
  13311. // {
  13312. // var ptbs_pid = (model.getValue("/root/main/ptbs/ptbs_pid"));
  13313. // if (ptbs_pid != "" && ptbs_pid != " " && ptbs_pid != null && ptbs_pid != "-" && ptbs_pid.length == 8) fDiscCDRef(ptbs_pid,ptdc_disccd,"O");
  13314. // }
  13315. // FJinryoiljeong("1"); //0으로 세팅할지 1로 세팅할지
  13316. }
  13317. else model.setValue("/root/hidden/com/rsrvdesc","당일접수");
  13318. //접수인 경우는 그대로
  13319. //변경인 경우는 과가 틀릴 경우만
  13320. // if (btn_stat.attribute("background-color") == "#c0c0c0") fFsexamflagVeri();
  13321. // else if (btn_stat.attribute("background-color") == "#ff0000")
  13322. // {
  13323. // var otpt_orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  13324. // var otpt_orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  13325. // if (otpt_orddeptcd != otpt_orddeptcd_old) fFsexamflagVeri();
  13326. // }
  13327. fFsexamflagVeri();
  13328. model.refresh();
  13329. model.setFocus("ipt_ordtm");
  13330. ]]>
  13331. </script>
  13332. </input>
  13333. <input id="ipt_ordtm" ref="/root/main/otpt/otpt_ordtm" class="input_default" navindex="14" format="hh:nn" style="left:666px; top:90px; width:35px; height:19px; "/>
  13334. <select1 id="cmb_ordreqformflag" ref="/root/main/otpt/otpt_ordreqformflag" class="combo_default" navindex="15" appearance="minimal" style="left:651px; top:114px; width:199px; height:19px; ">
  13335. <choices>
  13336. <itemset nodeset="/root/init_com/init/P0380list/P0380">
  13337. <label ref="cdnm"/>
  13338. <value ref="cdid"/>
  13339. </itemset>
  13340. </choices>
  13341. <script type="javascript" ev:event="xforms-value-changed">
  13342. <![CDATA[
  13343. // //2007-12-12 이동식 추가 - 수급절차 본인부담 100% 일때 보험유형보조 전액본인부담으로 세팅!!
  13344. // if( cmb_ordreqformflag.value == '1' //보험 100%(의뢰서미지참)
  13345. // || cmb_ordreqformflag.value == '2' //본인희망 100%
  13346. // || cmb_ordreqformflag.value == '4' //기타 100%
  13347. // || cmb_ordreqformflag.value == '5' ){ //의보예정(일반)
  13348. // //건강보험, 자보, 산재일 경우에만 세팅.
  13349. // var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13350. // //보험, 급여 일때
  13351. // if( otpt_insukind == gsBoHo2 || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHeom ){
  13352. // //전액본인부담 '01'
  13353. // model.setValue("/root/main/otpt/otpt_suppkind", '01');
  13354. // }
  13355. // }else if( cmb_ordreqformflag.value == '5' ){
  13356. //
  13357. // if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  13358. // model.setValue("/root/main/otpt/otpt_suppkind", '00');
  13359. // }
  13360. // }
  13361. // model.refresh();
  13362. fCheckOrdReqForm();
  13363. model.setFocus("ipt_disccd");
  13364. ]]>
  13365. </script>
  13366. </select1>
  13367. <select1 id="rdo_specordyn" ref="/root/main/otpt/otpt_specordyn" navindex="16" appearance="full" cellspacing="8" cols="3" overflow="visible" style="left:568px; top:140px; width:249px; height:19px; background-color:transparent; border-style:none; ">
  13368. <choices>
  13369. <item>
  13370. <label>Yes</label>
  13371. <value>Y</value>
  13372. </item>
  13373. <item>
  13374. <label>No</label>
  13375. <value>N</value>
  13376. </item>
  13377. <item>
  13378. <label>진찰료만 No</label>
  13379. <value>S</value>
  13380. </item>
  13381. </choices>
  13382. </select1>
  13383. <select1 id="rdo_medamtestmyn" ref="/root/main/otpt/otpt_medamtestmyn" navindex="17" appearance="full" cellspacing="8" cols="2" overflow="visible" style="left:568px; top:164px; width:104px; height:18px; background-color:transparent; border-style:none; ">
  13384. <choices>
  13385. <item>
  13386. <label>Yes</label>
  13387. <value>Y</value>
  13388. </item>
  13389. <item>
  13390. <label>No</label>
  13391. <value>N</value>
  13392. </item>
  13393. </choices>
  13394. <script type="javascript" ev:event="xforms-value-changed">
  13395. <![CDATA[
  13396. var otpt_medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  13397. if (otpt_medamtestmyn == "Y"){
  13398. cmb_medamtfreeresn.disabled = true;
  13399. //2008-05-23 이동식 수정 - 진찰료 산정 사유가 가접수인경우 차트 대출 신청은 No 셋팅 반영 중 추가
  13400. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "");
  13401. model.setValue("/root/main/otpt/otpt_chrtlendyn", "Y"); //차트대출 YES
  13402. }else if (otpt_medamtestmyn == "N"){
  13403. cmb_medamtfreeresn.disabled = false;
  13404. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "");
  13405. }
  13406. model.refresh();
  13407. ]]>
  13408. </script>
  13409. </select1>
  13410. <select1 id="cmb_medamtfreeresn" ref="/root/main/otpt/otpt_medamtfreeresn" class="combo_default" disabled="true" navindex="18" appearance="minimal" style="left:674px; top:162px; width:176px; height:19px; ">
  13411. <choices>
  13412. <itemset nodeset="/root/init_com/init/P0342list/P0342">
  13413. <label ref="cdnm"/>
  13414. <value ref="cdid"/>
  13415. </itemset>
  13416. </choices>
  13417. <script type="javascript" ev:event="xforms-value-changed">
  13418. <![CDATA[
  13419. //진찰료 산정 사유가 가접수인경우 차트 대출 신청은 No 셋팅되며, 변경 가능 - 김연희 선생님 요구사항
  13420. //2008-05-23 이동식
  13421. if( model.getValue("/root/main/otpt/otpt_medamtfreeresn") == '11' ){ //가접수
  13422. model.setValue("/root/main/otpt/otpt_chrtlendyn", "N"); //차트대출 NO
  13423. model.refresh();
  13424. }else{
  13425. model.setValue("/root/main/otpt/otpt_chrtlendyn", "Y"); //차트대출 YES
  13426. model.refresh();
  13427. }
  13428. ]]>
  13429. </script>
  13430. </select1>
  13431. <select1 id="cmb_etcordflag" ref="/root/main/otpt/otpt_etcordflag" class="combo_default" navindex="26" appearance="minimal" style="left:568px; top:330px; width:282px; height:19px; ">
  13432. <choices>
  13433. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  13434. <label ref="cdnm"/>
  13435. <value ref="cdid"/>
  13436. </itemset>
  13437. </choices>
  13438. <script type="javascript" ev:event="xforms-value-changed">
  13439. <![CDATA[
  13440. //원래값과 비교필요
  13441. var otpt_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  13442. if( otpt_etcordflag == 'B' ){
  13443. model.setValue("/root/main/otpt/otpt_insukind", '51'); //일반
  13444. cmb_insukind.dispatch("xforms-select");
  13445. model.setValue("/root/main/otpt/otpt_suppkind", '28'); //신체감정
  13446. model.refresh();
  13447. } else if ( otpt_etcordflag == 'Y' ){ //신종플루예방접종센터
  13448. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  13449. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  13450. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "27");
  13451. cmb_medamtfreeresn.disabled = false;
  13452. rdo_specordyn.refresh();
  13453. rdo_medamtestmyn.refresh();
  13454. cmb_medamtfreeresn.refresh();
  13455. }else if(otpt_etcordflag == 'Q'){ //가다실 예방접종(국가지원)(2016/06/30)
  13456. var fromdd = model.getValue("/root/paminit/P6586list/P6586[cdid='01']/cdnm");
  13457. var todd = model.getValue("/root/paminit/P6586list/P6586[cdid='02']/cdnm");
  13458. var rrgstno1 = ipt_rrgstno1.value;
  13459. var rrgstno2 = ipt_rrgstno2.value;
  13460. if(!(fromdd<=rrgstno1 && rrgstno1<=todd) || cmb_sex.value!='F'){
  13461. messageBox("가다실 예방접종(국가지원)에 해당되는지 확인 후\n진행 부탁드립니다.(대상 : 만12세 여성)", "I");
  13462. }
  13463. }else if(otpt_etcordflag == 'V'){ //조혈모세포이식검사(HLA) 관련 수정(2018/03/20 이정택)
  13464. messageBox("진찰료 산정을 미발생으로 선택, 사유는 조혈모세포이식검사(HLA)를 선택하여주십시오.\n또한 진찰료 발생을 위해서 별도의 접수가 필요합니다.(보조유형:전액본인부담)", "I");
  13465. }else{
  13466. //신종플루예방접종센터 선택 후 다른것으로 변경시 선택, 진찰료가 미산정으로 되어 있어서 사용자가 실수로 확인 안할 수 있으므로 진료의를 초기화 시킨다.
  13467. if (model.getValue("/root/main/otpt/otpt_medamtfreeresn") == "27") {
  13468. model.setValue("/root/main/otpt/otpt_orddrid", "");
  13469. model.setValue("/root/main/otpt/otpt_medamtestmyn", "Y");
  13470. model.setValue("/root/main/otpt/otpt_specordyn", "");
  13471. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "");
  13472. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  13473. cmb_medamtfreeresn.disabled = true;
  13474. combo4.refresh();
  13475. rdo_specordyn.refresh();
  13476. rdo_medamtestmyn.refresh();
  13477. cmb_medamtfreeresn.refresh();
  13478. ipt_orddeptdrabbr.refresh();
  13479. }
  13480. cmb_insukind.dispatch("xforms-select");
  13481. //model.setValue("/root/main/otpt/otpt_suppkind", '00'); //신체감정
  13482. }
  13483. // if (btn_stat.attribute("background-color") == "#ff0000") //변경
  13484. // {
  13485. // //var otpt_etcordflag_old = model.getValue("/root/main/otpt_old/otpt_etcordflag_old");
  13486. //
  13487. // //if (otpt_etcordflag_old != otpt_etcordflag)
  13488. // if (otpt_etcordflag != "F" && otpt_etcordflag != "-")
  13489. // {
  13490. // model.setValue("/root/main/otpt/otpt_etcordflag",otpt_etcordflag_old);
  13491. // model.refresh();
  13492. // //messageBox("연속처방/기타구분 내역은 변경할수 없습니다!","E999","");
  13493. // messageBox("보호자대진 이외에는 선택할수 없습니다!","E999","");
  13494. // return;
  13495. // }
  13496. // }
  13497. // else if (btn_stat.attribute("background-color") == "#c0c0c0")
  13498. // {
  13499. // if (otpt_etcordflag != "F" && otpt_etcordflag != "-")
  13500. // {
  13501. // model.setValue("/root/main/otpt/otpt_etcordflag","-");
  13502. // model.refresh();
  13503. // messageBox("보호자대진 이외에는 선택할수 없습니다!","E999","");
  13504. // return;
  13505. // }
  13506. // }
  13507. //
  13508. // if( otpt_etcordflag == 'F' ){
  13509. // if( model.getValue("/root/main/otpt/otpt_fsexamflag") != 'R' ){
  13510. //
  13511. // messageBox("초진의 경우 보호자대진을 선택할 수 없습니다.", "E999", "");
  13512. // model.setValue("/root/main/otpt/otpt_etcordflag","-");
  13513. // } cmb_etcordflag.refresh();
  13514. // }
  13515. ]]>
  13516. </script>
  13517. </select1>
  13518. <select1 id="cmb_clincstdyacptflag" ref="/root/main/otpt/otpt_clincstdyacptflag" class="combo_default" navindex="27" appearance="minimal" style="left:568px; top:354px; width:282px; height:19px; ">
  13519. <choices>
  13520. <itemset nodeset="/root/init_com/init/P0328list/P0328">
  13521. <label ref="cdnm"/>
  13522. <value ref="cdid"/>
  13523. </itemset>
  13524. </choices>
  13525. <script type="javascript" ev:event="xforms-value-changed">
  13526. <![CDATA[
  13527. /*
  13528. * N - 임상시험접수아님
  13529. * P - 임상(전액청구)
  13530. * Q - 임상(진찰료제외)
  13531. * A - 동물임상
  13532. */
  13533. //원래값과 비교필요
  13534. var otpt_clincstdyacptflag = cmb_clincstdyacptflag.value;
  13535. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13536. var otpt_suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  13537. //변경
  13538. if(btn_stat.attribute("background-color") == "#ff0000"){
  13539. var otpt_clincstdyacptflag_old = model.getValue("/root/main/otpt/otpt_clincstdyacptflag_old");
  13540. if (otpt_clincstdyacptflag_old == "N" || otpt_clincstdyacptflag_old == "P" || otpt_clincstdyacptflag_old == "Q"){
  13541. if (otpt_clincstdyacptflag == "A"){
  13542. model.setValue("/root/main/otpt/otpt_clincstdyacptflag",otpt_clincstdyacptflag_old);
  13543. model.refresh();
  13544. messageBox("동물임상으로 변경할 수 없습니다! 신규접수하십시요!","E999","");
  13545. return;
  13546. }
  13547. }
  13548. }
  13549. // else if (btn_stat.attribute("background-color") == "#c0c0c0"){
  13550. if( otpt_clincstdyacptflag == 'A' ){ //동물
  13551. //???? 동물임상 처리 로직!
  13552. return false;
  13553. //임상
  13554. }else if (otpt_clincstdyacptflag != "N"){
  13555. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  13556. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  13557. var medfeeyn = ""; //진찰료지원여부
  13558. var returnResult = true;
  13559. //임상환자 정보 조회
  13560. medfeeyn = fGetStdyPatInfo(pid, orddd);
  13561. //임상연구대상이 아닌경우
  13562. if(getNodesetCount("/root/hidden/temp/stdy/medfeeyn") < 1 ){
  13563. messageBox("임상연구 대상환자가 아닙니다. \n임상 대상환자 인지 확인하세요. 임상접수할 수 없습니다.", "E999", "");
  13564. model.setValue("/root/main/otpt/otpt_clincstdyacptflag" , "N");
  13565. model.setValue("/root/main/otpt/otpt_clincstdyno" , "");
  13566. model.refresh();
  13567. return false;
  13568. }
  13569. //임상시험가산여부 체크하여 보조유형 설정
  13570. var addflag = model.getValue("/root/hidden/temp/stdy/addflag");
  13571. if(addflag == 'Y' && otpt_suppkind != '86'){
  13572. messageBox("임상시험가산 환자입니다. \n보조유형(임상시험가산) 으로 설정합니다.", "E999", "");
  13573. model.setValue("/root/main/otpt/otpt_suppkind" , "86");
  13574. model.setValue("/root/main/otpt/otpt_clincstdyacptflag" , "N");
  13575. model.setValue("/root/main/otpt/otpt_clincstdyno" , "");
  13576. // model.refresh();
  13577. // return false;
  13578. returnResult = false;
  13579. }
  13580. if(medfeeyn == 'Y' && otpt_clincstdyacptflag != 'P'){
  13581. messageBox("전액청구 환자입니다. \n임상(전액청구) 으로 설정합니다.", "E999", "");
  13582. model.setValue("/root/main/otpt/otpt_clincstdyacptflag" , "P");
  13583. model.setValue("/root/main/otpt/otpt_clincstdyno" , model.getValue("/root/hidden/temp/stdy/subjno"));
  13584. // model.refresh();
  13585. // return false;
  13586. returnResult = false;
  13587. }
  13588. if(medfeeyn != 'Y' && otpt_clincstdyacptflag == 'P'){
  13589. messageBox("진찰료제외청구 환자입니다. \n임상(진찰료제외) 으로 설정합니다.", "E999", "");
  13590. model.setValue("/root/main/otpt/otpt_clincstdyacptflag" , "Q");
  13591. model.setValue("/root/main/otpt/otpt_clincstdyno" , model.getValue("/root/hidden/temp/stdy/subjno"));
  13592. // model.refresh();
  13593. // return false;
  13594. returnResult = false;
  13595. }
  13596. if(!returnResult){
  13597. model.refresh();
  13598. return false;
  13599. }
  13600. model.setValue("/root/main/otpt/otpt_clincstdyno",model.getValue("/root/hidden/temp/stdy/subjno"));
  13601. //임상연구아님
  13602. }else if (otpt_clincstdyacptflag == "N"){
  13603. model.setValue("/root/main/otpt/otpt_clincstdyacptflag",otpt_clincstdyacptflag);
  13604. model.setValue("/root/main/otpt/otpt_clincstdyno","");
  13605. model.refresh();
  13606. }
  13607. // }
  13608. ]]>
  13609. </script>
  13610. </select1>
  13611. <select1 id="rdo_chrtlendyn" ref="/root/main/otpt/otpt_chrtlendyn" navindex="28" appearance="full" cellspacing="8" cols="2" overflow="visible" style="left:568px; top:380px; width:87px; height:18px; background-color:transparent; border-style:none; ">
  13612. <choices>
  13613. <item>
  13614. <label>Yes</label>
  13615. <value>Y</value>
  13616. </item>
  13617. <item>
  13618. <label>No</label>
  13619. <value>N</value>
  13620. </item>
  13621. </choices>
  13622. </select1>
  13623. <button id="btn_orddd_search" class="icon_search" style="left:828px; top:91px; width:16px; height:16px; ">
  13624. <caption/>
  13625. <script type="javascript" ev:event="DOMActivate">
  13626. <![CDATA[
  13627. model.makeNode("/root/temp/tmpnode/orddrid");
  13628. model.makeNode("/root/temp/tmpnode/orddeptcd");
  13629. model.makeNode("/root/temp/tmpnode/subdeptcd");
  13630. model.makeNode("/root/temp/tmpnode/orddd");
  13631. model.setValue("/root/temp/tmpnode/orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
  13632. model.setValue("/root/temp/tmpnode/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
  13633. model.setValue("/root/temp/tmpnode/subdeptcd", model.getValue("/root/main/otpt/otpt_subdeptcd"));
  13634. model.setValue("/root/temp/tmpnode/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  13635. modal("SPPMB01200", "1", "100", "100" ,"SPPMB01200", "/root/temp/tmpnode", "/root/temp/tmpnode");
  13636. //리턴값 세팅
  13637. var rtn = getParameter("SPPMB01200_RTN");
  13638. if( rtn == 'Y' || rtn == 'y' ){
  13639. var orddd = getParameter("SPPMB01200_orddd");
  13640. var ordtm = getParameter("SPPMB01200_ordtm");
  13641. var orddrid = getParameter("SPPMB01200_orddrid");
  13642. var orddeptcd = getParameter("SPPMB01200_orddeptcd");
  13643. var subdeptcd = getParameter("SPPMB01200_subdeptcd");
  13644. //2017/12/11 심층진료 관련 프로그램 수정(이정택)
  13645. var etcordflag = getParameter("SPPMB01200_etcordflag");
  13646. model.makeValue("/root/main/otpt/otpt_etcordflag", etcordflag);
  13647. //2017/12/11 심층진료 관련 프로그램 수정(이정택)
  13648. model.setValue("/root/main/otpt/otpt_orddd", orddd);
  13649. model.setValue("/root/main/otpt/otpt_ordtm", ordtm);
  13650. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  13651. cmb_orddeptcd.dispatch("xforms-value-changed");
  13652. model.setValue("/root/main/otpt/otpt_subdeptcd", subdeptcd);
  13653. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  13654. cmb_orddrid.dispatch("xforms-value-changed");
  13655. ipt_orddd.dispatch("xforms-value-changed");
  13656. model.refresh();
  13657. }
  13658. model.removeNodeset("/root/temp/tmpnode");
  13659. ]]>
  13660. </script>
  13661. </button>
  13662. <switch id="switch1" style="left:855px; top:88px; width:339px; height:145px; ">
  13663. <case id="case1" selected="true">
  13664. <line id="line138" class="line_2" style="x1:0px; y1:46px; x2:333px; y2:46px; "/>
  13665. <line id="line141" class="line_2" style="x1:0px; y1:118px; x2:333px; y2:118px; "/>
  13666. <line id="line140" class="line_2" style="x1:0px; y1:94px; x2:333px; y2:94px; "/>
  13667. <line id="line139" class="line_2" style="x1:0px; y1:70px; x2:333px; y2:70px; "/>
  13668. <line id="line137" class="line_2" style="x1:0px; y1:22px; x2:333px; y2:22px; "/>
  13669. <output id="output68" ref="/root/main/h_srdg/srdg/srdg_seridiagno" class="output_fix" appearance="output" style="left:121px; top:122px; width:102px; height:19px; "/>
  13670. <caption id="caption127" class="cell_1" style="left:0px; top:72px; width:119px; height:23px; vertical-align:middle; ">피보험자 주민번호</caption>
  13671. <output id="output69" ref="/root/main/h_srdg/srdg/srdg_fromdd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:226px; top:122px; width:106px; height:19px; "/>
  13672. <caption id="caption128" class="cell_1" style="left:0px; top:120px; width:119px; height:23px; vertical-align:middle; ">중증 번호/시작일</caption>
  13673. <caption id="caption129" class="cell_1" style="left:0px; top:48px; width:119px; height:23px; vertical-align:middle; ">피보관계/피보성명</caption>
  13674. <caption id="caption130" class="cell_1" style="left:0px; top:0px; width:119px; height:23px; vertical-align:middle; ">보험자기호/명칭</caption>
  13675. <caption id="caption131" class="cell_1" style="left:0px; top:96px; width:119px; height:23px; vertical-align:middle; ">취득일자/종료일자</caption>
  13676. <caption id="caption132" class="cell_1" style="left:0px; top:24px; width:119px; height:23px; vertical-align:middle; ">보험증번호</caption>
  13677. <input id="ipt_insucd" ref="/root/main/ptin/ptin_insucd" class="input_default" navindex="32" style="left:121px; top:2px; width:82px; height:19px; ">
  13678. <script type="javascript" ev:event="DOMFocusOut">
  13679. <![CDATA[
  13680. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13681. var insucd = model.getValue("/root/main/ptin/ptin_insucd");
  13682. if( insukind != '' && insucd != ''){
  13683. model.setValue("/root/main/ptin/ptin_insunm", fGetInsucdNm( insucd, insukind));
  13684. model.setValue("/root/main/otpt/otpt_insucd", insucd);
  13685. model.refresh();
  13686. }
  13687. ]]>
  13688. </script>
  13689. <script type="javascript" ev:event="onkeypress">
  13690. <![CDATA[
  13691. if (event.keyCode == "13"){
  13692. model.setFocus("ipt_insuno");
  13693. }
  13694. ]]>
  13695. </script>
  13696. </input>
  13697. <input id="ipt_insunm" ref="/root/main/ptin/ptin_insunm" class="input_default" style="left:222px; top:2px; width:110px; height:19px; "/>
  13698. <input id="ipt_insuno" ref="/root/main/ptin/ptin_insuno" class="input_default" navindex="33" maxlength="20" style="left:121px; top:25px; width:189px; height:19px; ">
  13699. <script type="javascript" ev:event="xforms-value-changed">
  13700. <![CDATA[
  13701. model.setValue("/root/main/ptin/ptin_insuno", ipt_insuno.currentText);
  13702. ]]>
  13703. </script>
  13704. <script type="javascript" ev:event="onkeypress">
  13705. <![CDATA[
  13706. if (event.keyCode == "13"){
  13707. model.setFocus("btn_calcscorcalc");
  13708. }
  13709. ]]>
  13710. </script>
  13711. </input>
  13712. <select1 id="cmb_insdrela" ref="/root/main/ptin/ptin_insdrela" class="combo_default" navindex="34" appearance="minimal" style="left:121px; top:49px; width:102px; height:19px; ">
  13713. <choices>
  13714. <itemset nodeset="/root/init_com/init/P0016list/P0016">
  13715. <label ref="cdnm"/>
  13716. <value ref="cdid"/>
  13717. </itemset>
  13718. </choices>
  13719. <script type="javascript" ev:event="xforms-value-changed">
  13720. <![CDATA[
  13721. var ptin_insdrela = model.getValue("/root/main/ptin/ptin_insdrela");
  13722. if (ptin_insdrela != "" && ptin_insdrela != "-"){
  13723. if (ptin_insdrela == "1") //본인
  13724. {
  13725. model.setValue("/root/main/ptin/ptin_insdnm",model.getValue("/root/main/ptbs/ptbs_hngnm"));
  13726. model.setValue("/root/main/ptin/ptin_insdrrgstno1",model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
  13727. model.setValue("/root/main/ptin/ptin_insdrrgstno2",model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  13728. model.setFocus("ipt_fromdd"); //취득일자
  13729. }else{
  13730. // model.setValue("/root/main/ptin/ptin_insdnm","-");
  13731. // model.setValue("/root/main/ptin/ptin_insdrrgstno1","-");
  13732. // model.setValue("/root/main/ptin/ptin_insdrrgstno2","-");
  13733. // model.setFocus("ipt_insdnm"); //피보성명
  13734. }
  13735. }
  13736. model.refresh();
  13737. ]]>
  13738. </script>
  13739. </select1>
  13740. <input id="ipt_insdnm" ref="/root/main/ptin/ptin_insdnm" class="input_default" navindex="35" style="left:226px; top:49px; width:106px; height:19px; "/>
  13741. <input id="ipt_insdrrgstno1" ref="/root/main/ptin/ptin_insdrrgstno1" class="input_default" navindex="36" maxlength="6" style="left:121px; top:73px; width:102px; height:19px; "/>
  13742. <input id="ipt_insdrrgstno2" ref="/root/main/ptin/ptin_insdrrgstno2" class="input_default" navindex="37" maxlength="7" style="left:226px; top:73px; width:106px; height:19px; "/>
  13743. <input id="ipt_fromdd" ref="/root/main/ptin/ptin_fromdd" class="input_default" navindex="38" inputtype="date" style="left:121px; top:97px; width:102px; height:19px; "/>
  13744. <input id="ipt_todd" ref="/root/main/ptin/ptin_todd" class="input_default" navindex="39" inputtype="date" style="left:226px; top:97px; width:106px; height:19px; "/>
  13745. <button id="btn_insucd_search" class="icon_search" style="left:205px; top:2px; width:16px; height:16px; ">
  13746. <caption/>
  13747. <script type="javascript" ev:event="DOMActivate">
  13748. <![CDATA[
  13749. modal("SPPMB01500", "1","150", "150", "SPPMB01500", "", "");
  13750. var rtn = getParameter("SPPMB01500_RTN");
  13751. if( rtn == 'Y' || rtn == 'y' ){
  13752. var insucd = getParameter("SPPMB01500_insucd");
  13753. var insucdnm = getParameter("SPPMB01500_insucdnm");
  13754. model.setValue("/root/main/ptin/ptin_insucd", insucd);
  13755. model.setValue("/root/main/otpt/otpt_insucd", insucd);
  13756. model.setValue("/root/main/ptin/ptin_insunm", insucdnm);
  13757. model.refresh();
  13758. }
  13759. ]]>
  13760. </script>
  13761. </button>
  13762. <button id="btn_insuno_search" accesskey="f4" class="icon_search" style="left:313px; top:26px; width:16px; height:16px; ">
  13763. <caption/>
  13764. <script type="javascript" ev:event="DOMActivate">
  13765. <![CDATA[
  13766. fInsuInfoSearch("P"); //팝업으로 띄우기
  13767. ]]>
  13768. </script>
  13769. <hint>
  13770. <![CDATA[F4]]>
  13771. </hint>
  13772. </button>
  13773. <button id="btn_srdg" class="btn2_letter2" style="left:0px; top:122px; width:42px; height:19px; ">
  13774. <caption>중증</caption>
  13775. <script type="javascript" ev:event="DOMActivate">
  13776. <![CDATA[
  13777. // model.setValue("/root/source/srchcond", 1);
  13778. // model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  13779. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  13780. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  13781. var insucd = model.getValue("/root/main/ptin/ptin_insucd");
  13782. setParameter("SPMRD00900_pid", pid); //등록번호
  13783. setParameter("SPMRD00900_genrflagcd", 'O'); //외래='O', 입원='I'
  13784. modal("SPMRD00900", "1","100", "100", "SPMRD00900", "", "");
  13785. //보험정보 재조회
  13786. // var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  13787. // var suppkindresn = model.getValue("");
  13788. // cmb_insukind.dispatch("xforms-select");
  13789. if( pid != "" && pid != null ){
  13790. fSubmitBefore();
  13791. fSubmitAfter();
  13792. model.setValue("/root/send/data1", pid);
  13793. model.setValue("/root/send/data2", insukind);
  13794. model.setValue("/root/send/data3", insucd);
  13795. model.setValue("/root/send/data4", model.getValue("/root/main/otpt/otpt_orddd"));
  13796. model.copyNode("/root/send/data5","/root/hidden/session");
  13797. if (insukind != "-" && insukind != "" && insukind != null && insukind != " "){
  13798. if (submit("TRPMO00110") == true){
  13799. //조회된 경우, 화면의 중증정보에 세팅
  13800. model.removeNodeset("/root/main/h_srdg/srdg");
  13801. var srdg_pid = model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_pid");
  13802. if (srdg_pid.length > 0) {
  13803. //중증번호,중증적용 시작일자 세팅
  13804. model.copyNode("/root/main/h_srdg","/root/hidden/rcv/h_srdg");
  13805. }
  13806. }else{
  13807. messageBox("전산장애로 환자중증정보를 확인할 수 없습니다. 잠시 후 다시 작업해 주세요", "E999", "");
  13808. }
  13809. }
  13810. }
  13811. model.refresh();
  13812. ]]>
  13813. </script>
  13814. </button>
  13815. </case>
  13816. <case id="case2">
  13817. <line id="line62" class="line_2" style="x1:0px; y1:22px; x2:335px; y2:22px; "/>
  13818. <output id="output5" ref="/root/main/icpm/icpm_insucdnm" class="output_fix" appearance="output" style="left:207px; top:49px; width:128px; height:19px; "/>
  13819. <line id="line63" class="line_2" style="x1:0px; y1:46px; x2:335px; y2:46px; "/>
  13820. <line id="line64" class="line_2" style="x1:0px; y1:70px; x2:335px; y2:70px; "/>
  13821. <output id="output7" ref="/root/main/icpm/icpm_ordopendd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:233px; top:73px; width:102px; height:19px; "/>
  13822. <line id="line65" class="line_2" style="x1:0px; y1:94px; x2:335px; y2:94px; "/>
  13823. <caption id="caption40" class="cell_1" style="left:0px; top:0px; width:120px; height:23px; vertical-align:middle; ">관리번호</caption>
  13824. <output id="output8" ref="/root/main/icpm/icpm_aprvtodd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:233px; top:97px; width:102px; height:19px; "/>
  13825. <output id="output34" ref="/root/main/icpm/icpm_mngtno" class="output_fix" appearance="output" style="left:123px; top:1px; width:212px; height:19px; "/>
  13826. <caption id="caption41" class="cell_1" style="left:0px; top:72px; width:120px; height:23px; vertical-align:middle; ">사고일자/진료개시</caption>
  13827. <caption id="caption13" class="cell_1" style="left:0px; top:96px; width:120px; height:23px; vertical-align:middle; ">요양승인기간</caption>
  13828. <output id="output36" ref="/root/main/icpm/icpm_bizplcenm" class="output_fix" appearance="output" style="left:123px; top:25px; width:212px; height:19px; "/>
  13829. <output id="output37" ref="/root/main/icpm/icpm_inducsbrchcd" class="output_fix" appearance="output" style="left:123px; top:49px; width:82px; height:19px; "/>
  13830. <caption id="caption44" class="cell_1" style="left:0px; top:48px; width:120px; height:23px; vertical-align:middle; ">산재지사</caption>
  13831. <output id="output38" ref="/root/main/icpm/icpm_acddd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:123px; top:73px; width:107px; height:19px; "/>
  13832. <output id="output39" ref="/root/main/icpm/icpm_aprvfromdd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:123px; top:97px; width:107px; height:19px; "/>
  13833. <caption id="caption39" class="cell_1" style="left:0px; top:24px; width:120px; height:23px; vertical-align:middle; ">사업장명</caption>
  13834. <line id="line37" class="line_3" style="x1:0px; y1:119px; x2:335px; y2:119px; "/>
  13835. </case>
  13836. <case id="case3">
  13837. <line id="line59" class="line_2" style="x1:0px; y1:118px; x2:335px; y2:118px; "/>
  13838. <line id="line56" class="line_2" style="x1:0px; y1:94px; x2:335px; y2:94px; "/>
  13839. <line id="line54" class="line_2" style="x1:0px; y1:70px; x2:335px; y2:70px; "/>
  13840. <line id="line52" class="line_2" style="x1:0px; y1:22px; x2:335px; y2:22px; "/>
  13841. <output id="output30" ref="/root/main/aipm/aipm_insuamt" class="output_fix" format="#,###" appearance="output" style="left:123px; top:73px; width:107px; height:19px; text-align:right; "/>
  13842. <output id="output31" ref="/root/main/aipm/aipm_restamt" class="output_fix" format="#,###" appearance="output" style="left:123px; top:97px; width:107px; height:19px; text-align:right; "/>
  13843. <output id="output6" ref="/root/main/aipm/aipm_insucdnm" class="output_fix" appearance="output" style="left:208px; top:1px; width:127px; height:19px; "/>
  13844. <caption id="caption50" class="cell_1" style="left:0px; top:96px; width:120px; height:23px; vertical-align:middle; ">지불가능금액</caption>
  13845. <output id="output32" ref="/root/main/aipm/aipm_aprvfromdd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:123px; top:121px; width:107px; height:19px; "/>
  13846. <caption id="caption51" class="cell_1" style="left:0px; top:72px; width:120px; height:23px; vertical-align:middle; ">발생금액</caption>
  13847. <output id="output9" ref="/root/main/aipm/aipm_aprvtodd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:233px; top:121px; width:102px; height:19px; "/>
  13848. <output id="output27" ref="/root/main/aipm/aipm_insucmpycd" class="output_fix" appearance="output" style="left:123px; top:1px; width:82px; height:19px; "/>
  13849. <caption id="caption45" class="cell_1" style="left:0px; top:0px; width:120px; height:23px; vertical-align:middle; ">보험회사</caption>
  13850. <output id="output29" ref="/root/main/aipm/aipm_paylimamt" class="output_fix" format="#,###" appearance="output" style="left:123px; top:49px; width:107px; height:19px; text-align:right; "/>
  13851. <caption id="caption47" class="cell_1" style="left:0px; top:120px; width:120px; height:23px; vertical-align:middle; ">승인기간</caption>
  13852. <caption id="caption49" class="cell_1" style="left:0px; top:48px; width:120px; height:23px; vertical-align:middle; ">지불한도액</caption>
  13853. <line id="line9" class="line_2" style="x1:0px; y1:46px; x2:335px; y2:46px; "/>
  13854. <output id="output13" ref="/root/main/aipm/aipm_paygrntno" class="output_fix" appearance="output" style="left:123px; top:25px; width:107px; height:19px; text-align:right; "/>
  13855. <caption id="caption28" class="cell_1" style="left:0px; top:24px; width:120px; height:23px; vertical-align:middle; ">지불보증번호</caption>
  13856. <button id="button15" class="btn5_letter2" style="left:234px; top:25px; width:42px; height:19px; ">
  13857. <caption>조회</caption>
  13858. <script type="javascript" ev:event="DOMActivate">
  13859. <![CDATA[
  13860. // 자보환자 심사에 따른 제어 로직 추가 by 조중래 20130703
  13861. setParameter("SPPMC02601_PID", model.getValue("/root/main/ptbs/ptbs_pid"));
  13862. setParameter("SPPMC02601_ORDDD", model.getValue("/root/main/otpt/otpt_orddd"));
  13863. //사고번호조회화면 호출
  13864. modal("SPPMC02601");
  13865. var okflag = getParameter("SPPMC02601_OKFLAG");
  13866. var suppkind = getParameter("SPPMC02601_SUPPKIND");
  13867. var insucd = getParameter("SPPMC02601_INSUCD");
  13868. var insunm = getParameter("SPPMC02601_INSUNM");
  13869. var paygrntno = getParameter("SPPMC02601_PAYGRNTNO");
  13870. if(okflag == "Y"){
  13871. if(suppkind != ""){
  13872. model.setValue("/root/main/otpt/otpt_suppkind", suppkind);
  13873. }
  13874. if (insucd != "") {
  13875. model.setValue("/root/main/aipm/aipm_insucmpycd", insucd);
  13876. model.setValue("/root/main/aipm/aipm_insucdnm", insunm);
  13877. model.setValue("/root/main/otpt/otpt_insucd", insucd);
  13878. }
  13879. if (paygrntno != "") {
  13880. model.makeValue("/root/main/aipm/aipm_paygrntno", paygrntno);
  13881. }
  13882. }
  13883. model.refresh();
  13884. ]]>
  13885. </script>
  13886. </button>
  13887. </case>
  13888. <case id="case4">
  13889. <caption id="caption145" class="cell_1" style="left:0px; top:0px; width:119px; height:23px; vertical-align:middle; ">공상적용 잔여일수</caption>
  13890. <line id="line155" class="line_3" style="x1:0px; y1:22px; x2:334px; y2:22px; "/>
  13891. <output id="output83" ref="/root/main/icpm/icpm_spredayno" class="output_fix" appearance="output" style="left:121px; top:1px; width:210px; height:19px; "/>
  13892. </case>
  13893. </switch>
  13894. <select id="checkbox7" ref="/root/hidden/com/idcard" overflow="visible" appearance="full" style="left:5px; top:711px; width:95px; height:20px; border-style:none; ">
  13895. <choices>
  13896. <item>
  13897. <label>환자카드발행</label>
  13898. <value>Y</value>
  13899. </item>
  13900. </choices>
  13901. </select>
  13902. <select id="checkbox8" ref="/root/hidden/com/rcptpapr" overflow="visible" appearance="full" style="left:101px; top:711px; width:90px; height:20px; border-style:none; ">
  13903. <choices>
  13904. <item>
  13905. <label>영수증발행</label>
  13906. <value>Y</value>
  13907. </item>
  13908. </choices>
  13909. </select>
  13910. <select id="checkbox9" ref="/root/hidden/com/engrcptpapr" overflow="visible" appearance="full" style="left:182px; top:711px; width:85px; height:15px; border-style:none; ">
  13911. <choices>
  13912. <item>
  13913. <label>영문영수증</label>
  13914. <value>Y</value>
  13915. </item>
  13916. </choices>
  13917. </select>
  13918. <switch id="switch2" style="left:0px; top:454px; width:850px; height:245px; ">
  13919. <case id="case5">
  13920. <datagrid id="grd_outhist" nodeset="/root/main/h_otpt/otpt" backcoloralternate="transparent" caption="진료일자^시간^진료과^진료의^진료과^진료의사^선택^초/재진^진료상태^진찰료^수납여부^보험유형^유형보조^예약구분^VIP구분^기타구분^선/후불^접수자^접수일시^수납자^수납일시^참고사항^변경/취소사유^테이블명^가예약접수일^가접수일련번호^수납VIP적용사유^처방당일후수납여부^협진팀명^선택진료구분" colsep="^" colwidth="66, 40, 105, 65, 110, 75, 43, 50, 55, 65, 61, 80, 65, 70, 51, 70, 64, 58, 130, 60, 130, 150, 150, 100, 100, 100, 100, 120, 100, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:1px; top:1px; width:846px; height:240px; ">
  13921. <col ref="otpt_orddd" format="yyyy-mm-dd"/>
  13922. <col ref="otpt_ordtm" format="hh:nn"/>
  13923. <col ref="otpt_orddeptnm"/>
  13924. <col ref="otpt_orddrnm"/>
  13925. <col disabled="true" ref="otpt_orddeptcd" type="combo" visibility="hidden">
  13926. <choices>
  13927. <itemset nodeset="/root/init/orddeptcd">
  13928. <label ref="nm"/>
  13929. <value ref="cd"/>
  13930. </itemset>
  13931. </choices>
  13932. </col>
  13933. <col disabled="true" ref="otpt_orddrid" type="combo" visibility="hidden">
  13934. <choices>
  13935. <itemset nodeset="/root/init/orddrid">
  13936. <label ref="nm"/>
  13937. <value ref="cd"/>
  13938. </itemset>
  13939. </choices>
  13940. </col>
  13941. <col disabled="true" ref="otpt_specordyn" type="combo">
  13942. <choices>
  13943. <item>
  13944. <label>선택</label>
  13945. <value>Y</value>
  13946. </item>
  13947. <item>
  13948. <label>선택(S)</label>
  13949. <value>S</value>
  13950. </item>
  13951. <item>
  13952. <label>비선택</label>
  13953. <value>N</value>
  13954. </item>
  13955. </choices>
  13956. </col>
  13957. <col disabled="true" ref="otpt_fsexamflag" type="combo">
  13958. <choices>
  13959. <itemset nodeset="/root/init_com/init/P0021list/P0021">
  13960. <label ref="cdnm"/>
  13961. <value ref="cdid"/>
  13962. </itemset>
  13963. </choices>
  13964. </col>
  13965. <col disabled="true" ref="otpt_ordstat" type="combo">
  13966. <choices>
  13967. <item>
  13968. <label>예약</label>
  13969. <value>1</value>
  13970. </item>
  13971. <item>
  13972. <label>접수</label>
  13973. <value>2</value>
  13974. </item>
  13975. <item>
  13976. <label>진료종료</label>
  13977. <value>3</value>
  13978. </item>
  13979. <item>
  13980. <label>수납완료</label>
  13981. <value>4</value>
  13982. </item>
  13983. <item>
  13984. <label>반환</label>
  13985. <value>5</value>
  13986. </item>
  13987. </choices>
  13988. </col>
  13989. <col ref="otpt_rcptamt" format="(-)#,###" style="text-align:right; "/>
  13990. <col disabled="true" ref="otpt_histstat" type="combo">
  13991. <choices>
  13992. <item>
  13993. <label>수납</label>
  13994. <value>R</value>
  13995. </item>
  13996. <item>
  13997. <label>미수납</label>
  13998. <value>T</value>
  13999. </item>
  14000. <item>
  14001. <label>반환</label>
  14002. <value>X</value>
  14003. </item>
  14004. </choices>
  14005. </col>
  14006. <col disabled="true" ref="otpt_insukind" type="combo">
  14007. <choices>
  14008. <itemset nodeset="/root/init/insukind">
  14009. <label ref="nm"/>
  14010. <value ref="cd"/>
  14011. </itemset>
  14012. </choices>
  14013. </col>
  14014. <col disabled="true" ref="otpt_suppkind" type="combo">
  14015. <choices>
  14016. <itemset nodeset="/root/init/suppkind">
  14017. <label ref="nm"/>
  14018. <value ref="cd"/>
  14019. </itemset>
  14020. </choices>
  14021. </col>
  14022. <col disabled="true" ref="otpt_rsrvflag" type="combo">
  14023. <choices>
  14024. <itemset nodeset="/root/init_com/init/P0341list/P0341">
  14025. <label ref="cdnm"/>
  14026. <value ref="cdid"/>
  14027. </itemset>
  14028. </choices>
  14029. </col>
  14030. <col disabled="true" ref="otpt_rcptvipresncd" type="combo">
  14031. <choices>
  14032. <itemset nodeset="/root/init_com/init/P0477list/P0477">
  14033. <label ref="cdnm"/>
  14034. <value ref="cdid"/>
  14035. </itemset>
  14036. </choices>
  14037. </col>
  14038. <col ref="otpt_etcordflag" type="combo">
  14039. <choices>
  14040. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  14041. <label ref="cdnm"/>
  14042. <value ref="cdid"/>
  14043. </itemset>
  14044. </choices>
  14045. </col>
  14046. <col disabled="true" ref="otpt_medamtpostyn" type="combo">
  14047. <choices>
  14048. <item>
  14049. <label>선불</label>
  14050. <value>N</value>
  14051. </item>
  14052. <item>
  14053. <label>후불</label>
  14054. <value>Y</value>
  14055. </item>
  14056. <item>
  14057. <label>수납 VIP</label>
  14058. <value>V</value>
  14059. </item>
  14060. </choices>
  14061. </col>
  14062. <col ref="otpt_fstacptnm"/>
  14063. <col ref="otpt_fstacptdt" format="yyyy-mm-dd hh:nn:ss"/>
  14064. <col ref="otpt_rcptrnm"/>
  14065. <col ref="otpt_rcptdt" format="yyyy-mm-dd hh:nn:ss"/>
  14066. <col ref="otpt_remfact"/>
  14067. <col ref="otpt_updtcnclresn"/>
  14068. <col ref="otpt_tablename" visibility="hidden"/>
  14069. <col ref="otpt_acptdd" visibility="hidden"/>
  14070. <col ref="otpt_acptno" visibility="hidden"/>
  14071. <col ref="otpt_rcptvipetcresn"/>
  14072. <col ref="otpt_prcptdayaftrcptyn"/>
  14073. <col disabled="true" ref="otpt_coopteamcd" type="combo">
  14074. <choices>
  14075. <itemset nodeset="/root/init_com/init/M0525list/M0525">
  14076. <label ref="cdnm"/>
  14077. <value ref="cdid"/>
  14078. </itemset>
  14079. </choices>
  14080. </col>
  14081. <col ref="otpt_specordtype"/>
  14082. <script type="javascript" ev:event="onclick">
  14083. <![CDATA[
  14084. if( btn_otpt.selected != true ){
  14085. return;
  14086. }
  14087. //수가계산 안 한 상태로 처리
  14088. gs_prcs = "0";
  14089. //2007-09-20 이동식 추가
  14090. var currow = grd_outhist.row;
  14091. var curcol = grd_outhist.col;
  14092. if( currow < 1 || curcol < 1 || ! isDataCell() ){
  14093. return false;
  14094. }
  14095. //END..
  14096. var histstat = model.getValue("/root/hidden/com/histstat");
  14097. if (histstat == "X"){
  14098. messageBox("취소이력상태에서는 변경/취소 대상을 선택할 수 없습니다!","E999","");
  14099. btn_stat.dispatch("DOMActivate");
  14100. return;
  14101. }
  14102. //2007-12-01 이동식 추가
  14103. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  14104. messageBox("접수예약 탭에서 선택된 내역을 해제하신 후에 변경/반환 하세요.","E999", "");
  14105. btn_otpt.selected = false;
  14106. btn_m_otpt.selected = true;
  14107. btn_c_otpt.selected = false;
  14108. model.toggle("case6");
  14109. return false;
  14110. }
  14111. //end..
  14112. //207-08-16 이동식 추가 - 가접수내역의 경우 변경/취소를 할 수 없다.
  14113. if(model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_tablename") == "temp"){
  14114. //messageBox("외래등록에서 가접수내역을 변경/취소 하실 수 없습니다. 전화예약에서 변경/취소 하세요.","E999","");
  14115. //return false;
  14116. btn_stat.dispatch("DOMActivate");
  14117. if(fOnClickOutHistGrid()){
  14118. messageBox("가예약내역입니다. 수가계산 후 외래접수하세요.","E999","");
  14119. return true;
  14120. }
  14121. }else if(model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_tablename") == "inpt" || model.getValue("/root/main/h_otpt/otpt[" + currow + "]/otpt_rsrvflag") == "X" ){
  14122. messageBox("6시간 이내 응급내역입니다. 변경/취소 하실 수 없습니다.", "E999", "");
  14123. btn_stat.dispatch("DOMActivate");
  14124. return false;
  14125. }
  14126. //END..
  14127. //2007-12-24 이동식 수정 - 입원전환 내역의 경우 변경/취소 불가!!
  14128. if (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_tdayinflag") != 'N' && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_tdayinflag") != '-'){
  14129. messageBox("확인! 입원전환 내역은 변경/취소할 수 없습니다!","E999","");
  14130. return false;
  14131. }
  14132. //2007-09-27 이동식 추가
  14133. if( ! fCheckOutRgstUpdate()){
  14134. btn_stat.dispatch("DOMActivate");
  14135. return false;
  14136. }
  14137. //END..
  14138. fOldOTPTCopy(currow); //멀티접수시 카드,현금 결제한 내역조회 포함
  14139. //이력별 수납내역 조회 => 2007.06.29 fOldOTPTCopy 다음으로 순서바꿈
  14140. fOTPTHistRef();
  14141. // 2015/04/02 이정택(초재진 구분 확인)
  14142. /*
  14143. var otpt_orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  14144. var otpt_cretno_old = model.getValue("/root/main/otpt_old/otpt_cretno_old");
  14145. var otpt_acptseqno_old = model.getValue("/root/main/otpt_old/otpt_acptseqno_old");
  14146. */
  14147. /*
  14148. model.setValue("/root/main/otpt_old/otpt_orddd_old", "");
  14149. model.setValue("/root/main/otpt_old/otpt_cretno_old", "");
  14150. model.setValue("/root/main/otpt_old/otpt_acptseqno_old", "");
  14151. fFsexamflagVeri();
  14152. var bef_fsexamflag = grd_outhist.valueMatrix(currow, grd_outhist.colRef("otpt_fsexamflag"));
  14153. var aft_fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  14154. if(bef_fsexamflag!=aft_fsexamflag){
  14155. var bef_cdnm = model.getValue("/root/init_com/init/P0021list/P0021[cdid='"+bef_fsexamflag+"']/cdnm");
  14156. var aft_cdnm = model.getValue("/root/init_com/init/P0021list/P0021[cdid='"+aft_fsexamflag+"']/cdnm");
  14157. messageBox("초재진 구분이 [" + bef_cdnm + "]에서 [" + aft_cdnm + "]로 변경되었습니다.\n확인하여 주시기 바랍니다.", "E");
  14158. }
  14159. */
  14160. /*
  14161. model.setValue("/root/main/otpt_old/otpt_orddd_old", otpt_orddd_old);
  14162. model.setValue("/root/main/otpt_old/otpt_cretno_old", otpt_cretno_old);
  14163. model.setValue("/root/main/otpt_old/otpt_acptseqno_old", otpt_acptseqno_old);
  14164. */
  14165. // 2015/04/02 이정택(초재진 구분 확인)
  14166. model.refresh();
  14167. ]]>
  14168. </script>
  14169. <script type="javascript" ev:event="onmousedown">
  14170. <![CDATA[
  14171. if (event.button == 3){
  14172. if(grd_outhist.isCell(event.target) && grd_outhist.mouseRow >= grd_outhist.fixedRows){
  14173. // grd_outhist.endEditCell();
  14174. var currow = grd_outhist.mouseRow;
  14175. var rowcnt = parseInt(getNodesetCount("/root/hidden/rghtmenu/menu")) + 1;
  14176. model.copyNode("/root/hidden/rightmenu1", "/root/hidden/rightmenu");
  14177. //주사/물리치료 -> 일반접수 변경
  14178. if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") == 'J' || model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") == 'M' ){
  14179. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14180. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14181. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "주사/물리치료 -> 일반접수 변경");
  14182. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fChngToNomalRgst");
  14183. rowcnt = parseInt(rowcnt) + 1;
  14184. }
  14185. //일반접수 -> 주사/물리치료 변경
  14186. if( (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rsrvflag") == 'J' || model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rsrvflag") == 'M')
  14187. && (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") != 'J' && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") != 'M') ){
  14188. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14189. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14190. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "일반접수 -> 주사/물리치료 변경");
  14191. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fChngToMJ");
  14192. rowcnt = parseInt(rowcnt) + 1;
  14193. }
  14194. //선후불변경
  14195. if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_dracptyn") != 'Y' && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_orddd") >= getCurrentDate()){
  14196. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14197. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14198. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "선후불변경");
  14199. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fSetMedAmtPostYN2");
  14200. rowcnt = parseInt(rowcnt) + 1;
  14201. }
  14202. window.setPopupMenu(true, "/root/hidden/rightmenu1/menu", "label", "func", false);
  14203. }else{
  14204. window.setPopupMenu(false);
  14205. }
  14206. }
  14207. ]]>
  14208. </script>
  14209. <script type="javascript" ev:event="DOMFocusOut">
  14210. <![CDATA[
  14211. initPopupMenu();
  14212. ]]>
  14213. </script>
  14214. </datagrid>
  14215. </case>
  14216. <case id="case6" selected="true" style="left:0px; top:0px; width:848px; height:243px; ">
  14217. <datagrid id="grd_tdayrgst" nodeset="/root/main/t_otpt/otpt" backcoloralternate="transparent" caption="^진료일자^시간^진료과^진료의^진료과^진료의사^선택^초/재진^진료상태^진찰료^수납여부^보험유형^유형보조^예약구분^VIP구분^기타구분^선/후불^수납자^수납일시^참고사항^변경/취소사유^테이블명^가예약접수일^가접수일련번호^수납VIP적용사유^처방당일후수납여부^협진팀코드^선택진료구분" colsep="^" colwidth="21, 66, 40, 105, 65, 110, 75, 43, 50, 55, 65, 61, 80, 65, 70, 51, 70, 64, 60, 130, 150, 150, 100, 100, 100, 100, 120, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:149px; width:846px; height:92px; ">
  14218. <col checkvalue="Y,N" disabled="true"/>
  14219. <col ref="otpt_orddd" format="yyyy-mm-dd"/>
  14220. <col ref="otpt_ordtm" format="hh:nn"/>
  14221. <col ref="otpt_orddeptnm"/>
  14222. <col ref="otpt_orddrnm"/>
  14223. <col disabled="true" ref="otpt_orddeptcd" type="combo" visibility="hidden">
  14224. <choices>
  14225. <itemset nodeset="/root/init/orddeptcd">
  14226. <label ref="nm"/>
  14227. <value ref="cd"/>
  14228. </itemset>
  14229. </choices>
  14230. </col>
  14231. <col disabled="true" ref="otpt_orddrid" type="combo" visibility="hidden">
  14232. <choices>
  14233. <itemset nodeset="/root/init/orddrid">
  14234. <label ref="nm"/>
  14235. <value ref="cd"/>
  14236. </itemset>
  14237. </choices>
  14238. </col>
  14239. <col disabled="true" ref="otpt_specordyn" type="combo">
  14240. <choices>
  14241. <item>
  14242. <label>선택</label>
  14243. <value>Y</value>
  14244. </item>
  14245. <item>
  14246. <label>선택(S)</label>
  14247. <value>S</value>
  14248. </item>
  14249. <item>
  14250. <label>비선택</label>
  14251. <value>N</value>
  14252. </item>
  14253. </choices>
  14254. </col>
  14255. <col disabled="true" ref="otpt_fsexamflag" type="combo">
  14256. <choices>
  14257. <itemset nodeset="/root/init_com/init/P0021list/P0021">
  14258. <label ref="cdnm"/>
  14259. <value ref="cdid"/>
  14260. </itemset>
  14261. </choices>
  14262. </col>
  14263. <col disabled="true" ref="otpt_ordstat" type="combo">
  14264. <choices>
  14265. <item>
  14266. <label>예약</label>
  14267. <value>1</value>
  14268. </item>
  14269. <item>
  14270. <label>접수</label>
  14271. <value>2</value>
  14272. </item>
  14273. <item>
  14274. <label>진료종료</label>
  14275. <value>3</value>
  14276. </item>
  14277. <item>
  14278. <label>수납완료</label>
  14279. <value>4</value>
  14280. </item>
  14281. <item>
  14282. <label>반환</label>
  14283. <value>5</value>
  14284. </item>
  14285. </choices>
  14286. </col>
  14287. <col ref="otpt_rcptamt" format="(-)#,###" style="text-align:right; "/>
  14288. <col disabled="true" ref="otpt_histstat" type="combo">
  14289. <choices>
  14290. <item>
  14291. <label>수납</label>
  14292. <value>R</value>
  14293. </item>
  14294. <item>
  14295. <label>미수납</label>
  14296. <value>T</value>
  14297. </item>
  14298. <item>
  14299. <label>반환</label>
  14300. <value>X</value>
  14301. </item>
  14302. </choices>
  14303. </col>
  14304. <col disabled="true" ref="otpt_insukind" type="combo">
  14305. <choices>
  14306. <itemset nodeset="/root/init/insukind">
  14307. <label ref="nm"/>
  14308. <value ref="cd"/>
  14309. </itemset>
  14310. </choices>
  14311. </col>
  14312. <col disabled="true" ref="otpt_suppkind" type="combo">
  14313. <choices>
  14314. <itemset nodeset="/root/init/suppkind">
  14315. <label ref="nm"/>
  14316. <value ref="cd"/>
  14317. </itemset>
  14318. </choices>
  14319. </col>
  14320. <col disabled="true" ref="otpt_rsrvflag" type="combo">
  14321. <choices>
  14322. <itemset nodeset="/root/init_com/init/P0341list/P0341">
  14323. <label ref="cdnm"/>
  14324. <value ref="cdid"/>
  14325. </itemset>
  14326. </choices>
  14327. </col>
  14328. <col disabled="true" ref="otpt_rcptvipresncd" type="combo">
  14329. <choices>
  14330. <itemset nodeset="/root/init_com/init/P0477list/P0477">
  14331. <label ref="cdnm"/>
  14332. <value ref="cdid"/>
  14333. </itemset>
  14334. </choices>
  14335. </col>
  14336. <col ref="otpt_etcordflag" type="combo">
  14337. <choices>
  14338. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  14339. <label ref="cdnm"/>
  14340. <value ref="cdid"/>
  14341. </itemset>
  14342. </choices>
  14343. </col>
  14344. <col disabled="true" ref="otpt_medamtpostyn" type="combo">
  14345. <choices>
  14346. <item>
  14347. <label>선불</label>
  14348. <value>N</value>
  14349. </item>
  14350. <item>
  14351. <label>후불</label>
  14352. <value>Y</value>
  14353. </item>
  14354. <item>
  14355. <label>수납 VIP</label>
  14356. <value>V</value>
  14357. </item>
  14358. </choices>
  14359. </col>
  14360. <col ref="otpt_rcptrnm"/>
  14361. <col ref="otpt_rcptdt" format="yyyy-mm-dd hh:nn:ss"/>
  14362. <col ref="otpt_remfact"/>
  14363. <col ref="otpt_updtcnclresn"/>
  14364. <col ref="otpt_tablename" visibility="hidden"/>
  14365. <col ref="otpt_acptdd" visibility="hidden"/>
  14366. <col ref="otpt_acptno" visibility="hidden"/>
  14367. <col ref="otpt_rcptvipetcresn"/>
  14368. <col ref="otpt_prcptdayaftrcptyn"/>
  14369. <col disabled="true" ref="otpt_coopteamcd" type="combo">
  14370. <choices>
  14371. <itemset nodeset="/root/init_com/init/M0525list/M0525">
  14372. <label ref="cdnm"/>
  14373. <value ref="cdid"/>
  14374. </itemset>
  14375. </choices>
  14376. </col>
  14377. <col ref="otpt_specordtype"/>
  14378. <script type="javascript" ev:event="ondblclick">
  14379. <![CDATA[
  14380. if( btn_m_otpt.selected != true ){
  14381. return;
  14382. }
  14383. var cur_row = grd_tdayrgst.row;
  14384. var cur_col = grd_tdayrgst.col;
  14385. if( cur_row < 1 || cur_col < 1 || ! isDataCell() ){
  14386. return false;
  14387. }
  14388. //수가계산 안 한 상태로 처리
  14389. //gs_prcs = "0";
  14390. //2007-09-20 이동식 추가
  14391. //var currow = grd_outhist.row;
  14392. var orddd = model.getValue("/root/main/t_otpt/otpt[" + cur_row + "]/otpt_orddd");
  14393. var cretno = model.getValue("/root/main/t_otpt/otpt[" + cur_row + "]/otpt_cretno");
  14394. var hOtpt_cnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  14395. for(var i = 1; i <= hOtpt_cnt; i++ ){
  14396. if( orddd == model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_orddd") &&
  14397. cretno == model.getValue("/root/main/h_otpt/otpt[" + i + "]/otpt_cretno") ){
  14398. //탭변경
  14399. btn_otpt.selected = true;
  14400. btn_m_otpt.selected = false;
  14401. btn_c_otpt.selected = false;
  14402. model.toggle("case5");
  14403. grd_outhist.row = i;
  14404. grd_outhist.col = 1;
  14405. grd_outhist.dispatch("onclick");
  14406. }
  14407. }
  14408. ]]>
  14409. </script>
  14410. </datagrid>
  14411. <datagrid id="grd_rgstrsrv" nodeset="/root/main/m_otpt/otpt" backcoloralternate="transparent" caption="^진료일자^시간^진료과^진료의^진료과^진료의사^선택^초/재진^진료상태^진찰료^수납여부^보험유형^유형보조^예약구분^VIP구분^기타구분^선/후불^수납자^수납일시^참고사항^변경/취소사유^테이블명^가예약접수일^가접수일련번호^수납VIP적용사유^처방당일후수납여부^협진팀명^선택진료구분^심층진찰동의서여부^^" colsep="^" colwidth="21, 66, 40, 105, 65, 110, 75, 43, 50, 55, 65, 61, 80, 65, 70, 51, 70, 64, 60, 130, 150, 150, 100, 100, 100, 100, 120, 100, 100, 100, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:1px; width:846px; height:146px; ">
  14412. <col checkvalue="Y,N" ref="otpt_check" type="checkbox"/>
  14413. <col ref="otpt_orddd" format="yyyy-mm-dd"/>
  14414. <col ref="otpt_ordtm" format="hh:nn"/>
  14415. <col ref="otpt_orddeptnm"/>
  14416. <col ref="otpt_orddrnm"/>
  14417. <col disabled="true" ref="otpt_orddeptcd" type="combo" visibility="hidden">
  14418. <choices>
  14419. <itemset nodeset="/root/init/orddeptcd">
  14420. <label ref="nm"/>
  14421. <value ref="cd"/>
  14422. </itemset>
  14423. </choices>
  14424. </col>
  14425. <col disabled="true" ref="otpt_orddrid" type="combo" visibility="hidden">
  14426. <choices>
  14427. <itemset nodeset="/root/init/orddrid">
  14428. <label ref="nm"/>
  14429. <value ref="cd"/>
  14430. </itemset>
  14431. </choices>
  14432. </col>
  14433. <col disabled="true" ref="otpt_specordyn" type="combo">
  14434. <choices>
  14435. <item>
  14436. <label>선택</label>
  14437. <value>Y</value>
  14438. </item>
  14439. <item>
  14440. <label>선택(S)</label>
  14441. <value>S</value>
  14442. </item>
  14443. <item>
  14444. <label>비선택</label>
  14445. <value>N</value>
  14446. </item>
  14447. </choices>
  14448. </col>
  14449. <col disabled="true" ref="otpt_fsexamflag" type="combo">
  14450. <choices>
  14451. <itemset nodeset="/root/init_com/init/P0021list/P0021">
  14452. <label ref="cdnm"/>
  14453. <value ref="cdid"/>
  14454. </itemset>
  14455. </choices>
  14456. </col>
  14457. <col disabled="true" ref="otpt_ordstat" type="combo">
  14458. <choices>
  14459. <item>
  14460. <label>예약</label>
  14461. <value>1</value>
  14462. </item>
  14463. <item>
  14464. <label>접수</label>
  14465. <value>2</value>
  14466. </item>
  14467. <item>
  14468. <label>진료종료</label>
  14469. <value>3</value>
  14470. </item>
  14471. <item>
  14472. <label>수납완료</label>
  14473. <value>4</value>
  14474. </item>
  14475. <item>
  14476. <label>반환</label>
  14477. <value>5</value>
  14478. </item>
  14479. </choices>
  14480. </col>
  14481. <col ref="otpt_rcptamt" format="(-)#,###" style="text-align:right; "/>
  14482. <col disabled="true" ref="otpt_histstat" type="combo">
  14483. <choices>
  14484. <item>
  14485. <label>수납</label>
  14486. <value>R</value>
  14487. </item>
  14488. <item>
  14489. <label>미수납</label>
  14490. <value>T</value>
  14491. </item>
  14492. <item>
  14493. <label>반환</label>
  14494. <value>X</value>
  14495. </item>
  14496. </choices>
  14497. </col>
  14498. <col disabled="true" ref="otpt_insukind" type="combo">
  14499. <choices>
  14500. <itemset nodeset="/root/init/insukind">
  14501. <label ref="nm"/>
  14502. <value ref="cd"/>
  14503. </itemset>
  14504. </choices>
  14505. </col>
  14506. <col disabled="true" ref="otpt_suppkind" type="combo">
  14507. <choices>
  14508. <itemset nodeset="/root/init/suppkind">
  14509. <label ref="nm"/>
  14510. <value ref="cd"/>
  14511. </itemset>
  14512. </choices>
  14513. </col>
  14514. <col disabled="true" ref="otpt_rsrvflag" type="combo">
  14515. <choices>
  14516. <itemset nodeset="/root/init_com/init/P0341list/P0341">
  14517. <label ref="cdnm"/>
  14518. <value ref="cdid"/>
  14519. </itemset>
  14520. </choices>
  14521. </col>
  14522. <col disabled="true" ref="otpt_rcptvipresncd" type="combo">
  14523. <choices>
  14524. <itemset nodeset="/root/init_com/init/P0477list/P0477">
  14525. <label ref="cdnm"/>
  14526. <value ref="cdid"/>
  14527. </itemset>
  14528. </choices>
  14529. </col>
  14530. <col ref="otpt_etcordflag" type="combo">
  14531. <choices>
  14532. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  14533. <label ref="cdnm"/>
  14534. <value ref="cdid"/>
  14535. </itemset>
  14536. </choices>
  14537. </col>
  14538. <col disabled="true" ref="otpt_medamtpostyn" type="combo">
  14539. <choices>
  14540. <item>
  14541. <label>선불</label>
  14542. <value>N</value>
  14543. </item>
  14544. <item>
  14545. <label>후불</label>
  14546. <value>Y</value>
  14547. </item>
  14548. <item>
  14549. <label>수납 VIP</label>
  14550. <value>V</value>
  14551. </item>
  14552. </choices>
  14553. </col>
  14554. <col ref="otpt_rcptrnm"/>
  14555. <col ref="otpt_rcptdt" format="yyyy-mm-dd hh:nn:ss"/>
  14556. <col ref="otpt_remfact"/>
  14557. <col ref="otpt_updtcnclresn"/>
  14558. <col ref="otpt_tablename" visibility="hidden"/>
  14559. <col ref="otpt_acptdd" visibility="hidden"/>
  14560. <col ref="otpt_acptno" visibility="hidden"/>
  14561. <col ref="otpt_rcptvipetcresn"/>
  14562. <col ref="otpt_prcptdayaftrcptyn"/>
  14563. <col disabled="true" ref="otpt_coopteamcd" type="combo">
  14564. <choices>
  14565. <itemset nodeset="/root/init_com/init/M0525list/M0525">
  14566. <label ref="cdnm"/>
  14567. <value ref="cdid"/>
  14568. </itemset>
  14569. </choices>
  14570. </col>
  14571. <col ref="otpt_specordtype"/>
  14572. <col ref="otpt_ocr_scanyn" visibility="hidden"/>
  14573. <col ref="otpt_pid" visibility="hidden"/>
  14574. <col ref="otpt_cretno" visibility="hidden"/>
  14575. <script type="javascript" ev:event="onclick">
  14576. <![CDATA[
  14577. if( btn_m_otpt.selected != true ){
  14578. return;
  14579. }
  14580. //2007-09-20 이동식 추가
  14581. var currow = grd_rgstrsrv.row;
  14582. var curcol = grd_rgstrsrv.col;
  14583. if( currow < 1 || curcol < 0 || ! isDataCell() ){
  14584. return false;
  14585. }
  14586. //END..
  14587. //check box 선택시 리턴
  14588. if( curcol == grd_rgstrsrv.colRef("otpt_check") ){
  14589. return false;
  14590. }
  14591. //선택된 행 체크
  14592. if( model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_dracptyn") == 'Y' ){
  14593. messageBox("이미 진료를 본 내역입니다. 수납화면에서 수납하세요.", "E999", "");
  14594. // model.setValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_check", "");
  14595. // grd_rgstrsrv.rebuild();
  14596. return false;
  14597. }else{
  14598. // model.setValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_check", "Y");
  14599. }
  14600. //수가계산 안 한 상태로 처리
  14601. gs_prcs = "0";
  14602. model.copyNode("/root/main/otpt", "/root/main/m_otpt/otpt[" + currow + "]");
  14603. copyNodeWithPostfix("/root/main/otpt_old","/root/main/m_otpt/otpt["+ currow + "]","_old");
  14604. //진료과 의사 세팅.
  14605. if( CENTERYN == 'Y' ){
  14606. var otpt_centcd = model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_centcd");
  14607. model.setValue("/root/main/otpt/otpt_centcd",otpt_centcd);
  14608. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  14609. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  14610. cmb_centcd.dispatch("xforms-value-changed");
  14611. //신종플루예방접종
  14612. if (model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_etcordflag") == "Y") {
  14613. model.setValue("/root/main/otpt/otpt_etcordflag", "Y");
  14614. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  14615. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  14616. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "27");
  14617. cmb_medamtfreeresn.disabled = false;
  14618. //rdo_specordyn.refresh();
  14619. //rdo_medamtestmyn.refresh();
  14620. //cmb_medamtfreeresn.refresh();
  14621. }
  14622. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  14623. fOrddridSet(orddeptcd);
  14624. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  14625. }else{
  14626. fOrddridSet(model.getValue("/root/main/otpt/otpt_orddeptcd"));
  14627. }
  14628. //2009-12-09 이동식추가
  14629. //예약내역선택시 선택진료의사인경우 선택진료여부 수정가능하게 수정
  14630. var specordyn = model.getValue("/root/init/orddrid[cd = '" + model.getValue("/root/main/otpt/otpt_orddrid") + "' and dp = '" + model.getValue("/root/main/otpt/otpt_orddeptcd") + "']/sp");
  14631. //model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  14632. if( specordyn == 'Y' || specordyn == 'y' ){
  14633. //2015/09/03 이정택 수정
  14634. model.setValue("/root/main/otpt/otpt_specordyn", "Y");
  14635. rdo_specordyn.disabled = false;
  14636. //2015/09/03 이정택 수정
  14637. //model.setValue("/root/main/otpt/otpt_specordyn", 'Y');
  14638. //rdo_specordyn.disabled = false;
  14639. }else{
  14640. //2015/09/03 이정택 수정
  14641. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  14642. rdo_specordyn.disabled = false;
  14643. //2015/09/03 이정택 수정
  14644. //model.setValue("/root/main/otpt/otpt_specordyn", "N");
  14645. //rdo_specordyn.disabled = true;
  14646. }
  14647. rdo_specordyn.refresh();
  14648. //end..
  14649. fFsexamflagVeri();
  14650. var h_otpt_pid = model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_pid");
  14651. var h_otpt_insukind = model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_insukind");
  14652. var h_otpt_insucd = model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_insucd");
  14653. //var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  14654. var ptin_insukind = model.getValue("/root/main/ptin/ptin_insukind");
  14655. if (h_otpt_insukind != ptin_insukind) //if (h_otpt_insukind != otpt_insukind)
  14656. {
  14657. model.setValue("/root/main/ptin/ptin_insukind", h_otpt_insukind);
  14658. fInsuKindRef(h_otpt_pid, h_otpt_insukind, h_otpt_insucd);
  14659. fInsuTabChng();
  14660. fSuppKindSet(h_otpt_insukind);
  14661. }
  14662. // var h_otpt_disccd = model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_disccd");
  14663. // var ptdc_disccd = model.getValue("/root/main/ptdc/ptdc_disccd");
  14664. //
  14665. // if (h_otpt_disccd != ptdc_disccd)
  14666. // {
  14667. // fDiscCDRef(h_otpt_pid, h_otpt_disccd, "O");
  14668. // }
  14669. //2008-05-26 이동식 세팅
  14670. //신환일 경우에만 신체감정예약에 대해서 보험유형을 디폴트 세팅해준다.
  14671. var tablename = model.getValue("/root/main/m_otpt/otpt[" + currow + "]/otpt_tablename");
  14672. if( tablename == 'temp' ){
  14673. //연속처방/기타구분 콤보 이벤트 강제 발생
  14674. cmb_etcordflag.dispatch("xforms-value-changed");
  14675. }
  14676. //end..
  14677. //model.setValue("/root/main/otpt/otpt_specordyn", model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_specordyn"));
  14678. //멀티접수 변경은 수가계산, 접수, 수정, 반환이 불필요
  14679. btn_calcscorcalc.disabled = true;
  14680. button2.disabled = true;
  14681. btn_updt.disabled = true;
  14682. btn_cncl.disabled = false;
  14683. btn_save.disabled = false;
  14684. btn_stat.attribute("background-color") = "#0000ff" //멀티 수정모드!!!!
  14685. model.setFocus("ipt_ordreqformflag");
  14686. //2014/09/25 이정택 추가
  14687. var otpt_rsrvflag=grd_rgstrsrv.valueMatrix(currow, grd_rgstrsrv.colRef("otpt_rsrvflag"));
  14688. if(otpt_rsrvflag=="V"){
  14689. cap_hiepat.visible=true;
  14690. }else{
  14691. cap_hiepat.visible=false;
  14692. }
  14693. //2014/09/25 이정택 추가
  14694. model.refresh();
  14695. ]]>
  14696. </script>
  14697. <script type="javascript" ev:event="xforms-select">
  14698. <![CDATA[
  14699. var cur_row = grd_rgstrsrv.row;
  14700. var check = 'N';
  14701. if( cur_row == 0 ){
  14702. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_pid"); i++){
  14703. //선택된 행 체크
  14704. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_dracptyn") == 'Y' ){
  14705. //messageBox("이미 진료를 본 내역입니다. 수납화면에서 수납하세요.", "E999", "");
  14706. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check", "");
  14707. //return false;
  14708. }
  14709. //카드승인금액 체크
  14710. if( getNodesetCount("/root/main/m_card/card/card_pid") > 0 ){
  14711. //messageBox("카드승인금액이 있습니다. 카드승인을 취소하시고 추가 선택하세요", "E999", "");
  14712. check = 'N';
  14713. for(var inner = 0; inner <= getNodesetCount("/root/main/m_card/card/card_pid"); inner++){
  14714. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno") == model.getValue("/root/main/m_card/card[" + inner + "]/card_mseqno")){
  14715. check = 'Y';
  14716. }
  14717. }
  14718. if( check != 'Y' ){
  14719. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check", "");
  14720. }
  14721. //model.refresh();
  14722. //return false;
  14723. }
  14724. //현금영수증승인금액 체크
  14725. if( getNodesetCount("/root/main/m_cash/cash/cash_pid") > 0 ){
  14726. //messageBox("현금영수증승인금액이 있습니다. 현금영수증승인을 취소하시고 추가 선택하세요", "E999", "");
  14727. check = 'N';
  14728. for(var inner = 0; inner <= getNodesetCount("/root/main/m_card/card/card_pid"); inner++){
  14729. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno") == model.getValue("/root/main/m_card/card[" + inner + "]/card_mseqno")){
  14730. check = 'Y';
  14731. }
  14732. }
  14733. if( check != 'Y' ){
  14734. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check", "");
  14735. }
  14736. //model.refresh();
  14737. //return false;
  14738. }
  14739. }
  14740. //model.refresh();
  14741. grd_rgstrsrv.rebuild();
  14742. }else{
  14743. //선택된 행 체크
  14744. if( model.getValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_dracptyn") == 'Y' ){
  14745. messageBox("이미 진료를 본 내역입니다. 수납화면에서 수납하세요.", "E999", "");
  14746. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "");
  14747. //model.refresh();
  14748. grd_rgstrsrv.rebuild();
  14749. return false;
  14750. }else{
  14751. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "Y");
  14752. }
  14753. //카드승인금액 체크
  14754. if( getNodesetCount("/root/main/m_card/card/card_pid") > 0 ){
  14755. messageBox("카드승인금액이 있습니다. 카드승인을 취소하시고 추가 선택하세요", "E999", "");
  14756. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "");
  14757. //model.refresh();
  14758. grd_rgstrsrv.rebuild();
  14759. return false;
  14760. }
  14761. //현금영수증승인금액 체크
  14762. if( getNodesetCount("/root/main/m_cash/cash/cash_pid") > 0 ){
  14763. messageBox("현금영수증승인금액이 있습니다. 현금영수증승인을 취소하시고 추가 선택하세요", "E999", "");
  14764. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "");
  14765. //model.refresh();
  14766. grd_rgstrsrv.rebuild();
  14767. return false;
  14768. }
  14769. }
  14770. //수가계산 안 한 상태로 처리
  14771. gs_prcs = "0";
  14772. ]]>
  14773. </script>
  14774. <script type="javascript" ev:event="xforms-deselect">
  14775. <![CDATA[
  14776. var cur_row = grd_rgstrsrv.row;
  14777. var check = 'N';
  14778. if( cur_row == 0 ){
  14779. for(var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_pid"); i++){
  14780. //카드승인금액 체크
  14781. if( getNodesetCount("/root/main/m_card/card/card_pid") > 0 ){
  14782. //messageBox("카드승인금액이 있습니다. 카드승인을 취소하시고 추가 선택하세요", "E999", "");
  14783. check = 'N';
  14784. for(var inner = 0; inner <= getNodesetCount("/root/main/m_card/card/card_pid"); inner++){
  14785. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno") == model.getValue("/root/main/m_card/card[" + inner + "]/card_mseqno")){
  14786. check = 'Y';
  14787. }
  14788. }
  14789. if( check != 'Y' ){
  14790. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check", "Y");
  14791. }
  14792. //model.refresh();
  14793. //grd_rgstrsrv.rebuild();
  14794. //return false;
  14795. }
  14796. //현금영수증승인금액 체크
  14797. if( getNodesetCount("/root/main/m_cash/cash/cash_pid") > 0 ){
  14798. //messageBox("현금영수증승인금액이 있습니다. 현금영수증승인을 취소하시고 추가 선택하세요", "E999", "");
  14799. check = 'N';
  14800. for(var inner = 0; inner <= getNodesetCount("/root/main/m_card/card/card_pid"); inner++){
  14801. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno") == model.getValue("/root/main/m_card/card[" + inner + "]/card_mseqno")){
  14802. check = 'Y';
  14803. }
  14804. }
  14805. if( check != 'Y' ){
  14806. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check", "Y");
  14807. }
  14808. //model.refresh();
  14809. //return false;
  14810. }
  14811. }
  14812. grd_rgstrsrv.rebuild();
  14813. }else{
  14814. //카드승인금액 체크
  14815. if( getNodesetCount("/root/main/m_card/card/card_pid") > 0 ){
  14816. messageBox("카드승인금액이 있습니다. 카드승인을 취소하시고 선택을 해제하세요", "E999", "");
  14817. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "Y");
  14818. //model.refresh();
  14819. grd_rgstrsrv.rebuild();
  14820. return false;
  14821. }
  14822. //현금영수증승인금액 체크
  14823. if( getNodesetCount("/root/main/m_cash/cash/cash_pid") > 0 ){
  14824. messageBox("현금영수증승인금액이 있습니다. 현금영수증승인을 취소하시고 선택을 해제하세요", "E999", "");
  14825. model.setValue("/root/main/m_otpt/otpt[" + cur_row + "]/otpt_check", "Y");
  14826. //model.refresh();
  14827. grd_rgstrsrv.rebuild();
  14828. return false;
  14829. }
  14830. }
  14831. //수가계산 안 한 상태로 처리
  14832. gs_prcs = "0";
  14833. ]]>
  14834. </script>
  14835. <script type="javascript" ev:event="onmousedown">
  14836. <![CDATA[
  14837. if (event.button == 3){
  14838. if(grd_rgstrsrv.isCell(event.target) && grd_rgstrsrv.mouseRow >= grd_rgstrsrv.fixedRows){
  14839. var currow = grd_rgstrsrv.mouseRow;
  14840. model.removeNodeset("/root/hidden/rightmenu1");
  14841. model.makeNode("/root/hidden/rightmenu1");
  14842. var rowcnt = parseInt(getNodesetCount("/root/hidden/rightmenu1/menu")) + 1;
  14843. /*
  14844. var rowcnt = parseInt(getNodesetCount("/root/hidden/rghtmenu/menu")) + 1;
  14845. model.copyNode("/root/hidden/rightmenu1", "/root/hidden/rightmenu");
  14846. //주사/물리치료 -> 일반접수 변경
  14847. if( model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") == 'J' || model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") == 'M' ){
  14848. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14849. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14850. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "주사/물리치료 -> 일반접수 변경");
  14851. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fChngToNomalRgst");
  14852. rowcnt = parseInt(rowcnt) + 1;
  14853. }
  14854. //일반접수 -> 주사/물리치료 변경
  14855. if( (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rsrvflag") == 'J' || model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_rsrvflag") == 'M')
  14856. && (model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") != 'J' && model.getValue("/root/main/h_otpt/otpt["+ currow +"]/otpt_etcordflag") != 'M') ){
  14857. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14858. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14859. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "일반접수 -> 주사/물리치료 변경");
  14860. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fChngToMJ");
  14861. rowcnt = parseInt(rowcnt) + 1;
  14862. }
  14863. */
  14864. //선후불변경
  14865. if( model.getValue("/root/main/m_otpt/otpt["+ currow +"]/otpt_dracptyn") != 'Y' ){
  14866. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label");
  14867. model.makeNode("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func");
  14868. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/label", "선후불변경");
  14869. model.setValue("/root/hidden/rightmenu1/menu[" + rowcnt + "]/func", "fSetMedAmtPostYN1");
  14870. rowcnt = parseInt(rowcnt) + 1;
  14871. }
  14872. window.setPopupMenu(true, "/root/hidden/rightmenu1/menu", "label", "func", false);
  14873. }else{
  14874. window.setPopupMenu(false);
  14875. }
  14876. }
  14877. ]]>
  14878. </script>
  14879. <script type="javascript" ev:event="DOMFocusOut">
  14880. <![CDATA[
  14881. initPopupMenu();
  14882. ]]>
  14883. </script>
  14884. <!-- 이정택(2014/10/28 다학제 관련) -->
  14885. <script type="javascript" ev:event="xforms-value-changed">
  14886. <![CDATA[
  14887. if(grd_rgstrsrv.col==grd_rgstrsrv.colRef("otpt_check")){
  14888. var row = grd_rgstrsrv.row;
  14889. var chkflag = grd_rgstrsrv.valueMatrix(row, grd_rgstrsrv.colRef("otpt_check"));
  14890. var etcordflag = grd_rgstrsrv.valueMatrix(row, grd_rgstrsrv.colRef("otpt_etcordflag"));
  14891. var orddd = grd_rgstrsrv.valueMatrix(row, grd_rgstrsrv.colRef("otpt_orddd"));
  14892. var clincstdyno = model.getValue("/root/main/m_otpt/otpt["+row+"]/otpt_clincstdyno");
  14893. if(etcordflag=='3' || etcordflag=='4' || etcordflag=='5' ||
  14894. etcordflag=='6' || etcordflag=='7' || etcordflag=='8' ||
  14895. etcordflag=='9'){
  14896. messageBox("다학제 환자입니다. 관련 내역이 모두 선택 또는 해제됩니다.", "I");
  14897. //2015/12/09 이정택 추가
  14898. model.makeValue("/root/main/otpt/otpt_etcordflag", etcordflag);
  14899. model.makeValue("/root/main/otpt/otpt_clincstdyno", clincstdyno);
  14900. //2015/12/09 이정택 추가
  14901. for(var i=1; i<=grd_rgstrsrv.rows-grd_rgstrsrv.fixedRows; i++){
  14902. if(grd_rgstrsrv.valueMatrix(i, grd_rgstrsrv.colRef("otpt_etcordflag"))==etcordflag &&
  14903. grd_rgstrsrv.valueMatrix(i, grd_rgstrsrv.colRef("otpt_orddd"))==orddd &&
  14904. model.getValue("/root/main/m_otpt/otpt["+i+"]/otpt_clincstdyno") == clincstdyno){
  14905. grd_rgstrsrv.valueMatrix(i, grd_rgstrsrv.colRef("otpt_check"))=chkflag;
  14906. }
  14907. }
  14908. }
  14909. }
  14910. model.refresh();
  14911. ]]>
  14912. </script>
  14913. <!-- 이정택(2014/10/28 다학제 관련) -->
  14914. </datagrid>
  14915. </case>
  14916. <case id="case7">
  14917. <datagrid id="grd_multicncl" nodeset="/root/main/c_otpt/otpt" backcoloralternate="transparent" caption="V^진료일자^시간^진료과^진료의사^진료과^진료의사^선택^의사접수^주/부^초/재^연속/기타^유형^보조^보조사유^보험자기호^진찰료^선후불^수납" colsep="^" colwidth="23, 77, 46, 110, 75, 104, 70, 41, 52, 51, 46, 60, 81, 60, 74, 71, 51, 55, 52" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:1px; top:1px; width:846px; height:240px; ">
  14918. <col checkvalue="Y,N" ref="otpt_check" type="checkbox"/>
  14919. <col ref="otpt_orddd" format="yyyy-mm-dd"/>
  14920. <col ref="otpt_ordtm" format="hh:nn"/>
  14921. <col ref="otpt_orddeptnm"/>
  14922. <col ref="otpt_orddrnm"/>
  14923. <col disabled="true" ref="otpt_orddeptcd" type="combo" visibility="hidden">
  14924. <choices>
  14925. <itemset nodeset="/root/init/orddeptcd">
  14926. <label ref="nm"/>
  14927. <value ref="cd"/>
  14928. </itemset>
  14929. </choices>
  14930. </col>
  14931. <col disabled="true" ref="otpt_orddrid" type="combo" visibility="hidden">
  14932. <choices>
  14933. <itemset nodeset="/root/init/orddrid">
  14934. <label ref="nm"/>
  14935. <value ref="cd"/>
  14936. </itemset>
  14937. </choices>
  14938. </col>
  14939. <col disabled="true" ref="otpt_specordyn" type="combo">
  14940. <choices>
  14941. <item>
  14942. <label>선택</label>
  14943. <value>Y</value>
  14944. </item>
  14945. <item>
  14946. <label>선택(S)</label>
  14947. <value>S</value>
  14948. </item>
  14949. <item>
  14950. <label>비선택</label>
  14951. <value>N</value>
  14952. </item>
  14953. </choices>
  14954. </col>
  14955. <col ref="otpt_dracptyn"/>
  14956. <col disabled="true" ref="otpt_mskind" type="combo">
  14957. <choices>
  14958. <itemset nodeset="/root/init_com/init/P0006list/P0006">
  14959. <label ref="cdnm"/>
  14960. <value ref="cdid"/>
  14961. </itemset>
  14962. </choices>
  14963. </col>
  14964. <col disabled="true" ref="otpt_fsexamflag" type="combo">
  14965. <choices>
  14966. <itemset nodeset="/root/init_com/init/P0021list/P0021">
  14967. <label ref="cdnm"/>
  14968. <value ref="cdid"/>
  14969. </itemset>
  14970. </choices>
  14971. </col>
  14972. <col disabled="true" ref="otpt_etcordflag" type="combo">
  14973. <choices>
  14974. <itemset nodeset="/root/init_com/init/P0022list/P0022">
  14975. <label ref="cdnm"/>
  14976. <value ref="cdid"/>
  14977. </itemset>
  14978. </choices>
  14979. </col>
  14980. <col disabled="true" ref="otpt_insukind" type="combo">
  14981. <choices>
  14982. <itemset nodeset="/root/init/insukind">
  14983. <label ref="nm"/>
  14984. <value ref="cd"/>
  14985. </itemset>
  14986. </choices>
  14987. </col>
  14988. <col disabled="true" ref="otpt_suppkind" type="combo">
  14989. <choices>
  14990. <itemset nodeset="/root/init/suppkind">
  14991. <label ref="nm"/>
  14992. <value ref="cd"/>
  14993. </itemset>
  14994. </choices>
  14995. </col>
  14996. <col disabled="true" ref="otpt_suppkindresn" type="combo">
  14997. <choices>
  14998. <itemset nodeset="/root/init_com/init/P0032list/P0032">
  14999. <label ref="cdnm"/>
  15000. <value ref="cdid"/>
  15001. </itemset>
  15002. </choices>
  15003. </col>
  15004. <col ref="otpt_insucd"/>
  15005. <col disabled="true" ref="otpt_medamtestmyn" type="combo">
  15006. <choices>
  15007. <item>
  15008. <label>산정</label>
  15009. <value>Y</value>
  15010. </item>
  15011. <item>
  15012. <label>미산정</label>
  15013. <value>N</value>
  15014. </item>
  15015. </choices>
  15016. </col>
  15017. <col disabled="true" ref="otpt_medamtpostyn" type="combo">
  15018. <choices>
  15019. <item>
  15020. <label>선불</label>
  15021. <value>N</value>
  15022. </item>
  15023. <item>
  15024. <label>후불</label>
  15025. <value>Y</value>
  15026. </item>
  15027. <item>
  15028. <label>수납 VIP</label>
  15029. <value>V</value>
  15030. </item>
  15031. </choices>
  15032. </col>
  15033. <col disabled="true" ref="otpt_calcflag" type="combo">
  15034. <choices>
  15035. <item>
  15036. <label>정산</label>
  15037. <value>N</value>
  15038. </item>
  15039. <item>
  15040. <label>미수납</label>
  15041. <value>S</value>
  15042. </item>
  15043. <item>
  15044. <label>미계산</label>
  15045. <value>Y</value>
  15046. </item>
  15047. </choices>
  15048. </col>
  15049. <script type="javascript" ev:event="onclick">
  15050. <![CDATA[
  15051. var row = grd_multicncl.row;
  15052. var col = grd_multicncl.col;
  15053. if( row > 0 && col > 0 && isDataCell() ){
  15054. var check = model.getValue("/root/main/c_otpt/otpt["+ row +"]/otpt_check");
  15055. if( check == 'Y' ){
  15056. model.setValue("/root/main/c_otpt/otpt["+ row +"]/otpt_check", 'N');
  15057. }else{
  15058. model.setValue("/root/main/c_otpt/otpt["+ row +"]/otpt_check", 'Y');
  15059. }
  15060. fCalcRcpt("C");
  15061. }
  15062. ]]>
  15063. </script>
  15064. </datagrid>
  15065. <button id="button14" style="left:22px; top:3px; width:20px; height:20px; color:#ff0000; text-align:center; background-color:#99ccff; border-color:#99ccff; ">
  15066. <caption>V</caption>
  15067. <script type="javascript" ev:event="onclick">
  15068. <![CDATA[
  15069. var Rows = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  15070. if (Rows > 0){
  15071. var otpt_check;
  15072. var Cnt = 0;
  15073. for(var i = 1; i <= Rows; i++){
  15074. otpt_check = model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_check");
  15075. if (otpt_check == "Y") Cnt++;
  15076. }
  15077. if (Rows == Cnt){
  15078. for(var j = 1; j <= Rows; j++){
  15079. model.setValue("/root/main/c_otpt/otpt["+ j +"]/otpt_check","N");
  15080. }
  15081. //2007-12-17 이동식 수정 - 멀티취소내역 선택해제시 처음 선택한 내역의 금액으로 진료비를 재계산한다.
  15082. fOTPTHistRef();
  15083. // model.resetInstanceNode("/root/main/opmi");
  15084. // fBaseDataInitOpmi();
  15085. // fCalcRcpt("S");
  15086. }else{
  15087. for(var k = 1; k <= Rows; k++){
  15088. model.setValue("/root/main/c_otpt/otpt["+ k +"]/otpt_check","Y");
  15089. }
  15090. fCalcRcpt("C");
  15091. }
  15092. //grd_multicncl.rebuild();
  15093. }
  15094. ]]>
  15095. </script>
  15096. </button>
  15097. </case>
  15098. </switch>
  15099. <output id="opt_mdlrcptamt" ref="/root/main/opmi/opmi_mdlrcptamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:526px; width:216px; height:19px; text-align:right; ">
  15100. <script type="javascript" ev:event="onkeypress">
  15101. <![CDATA[
  15102. if (gs_prcs == "2"){
  15103. if(event.keyCode =="13"){
  15104. // setInputNodeCurText();
  15105. if (eval(opt_mdlrcptamt.currentText) < 0){
  15106. model.setValue("/root/main/opmi/opmi_mdlrcptamt","0");
  15107. model.refresh();
  15108. // setInputNodeCurText();
  15109. fCalcRcpt2();
  15110. messageBox("[-]중간금은 입력할 수 없습니다!","E999","");
  15111. }else{
  15112. fCalcRcpt2();
  15113. }
  15114. }
  15115. }else{
  15116. model.setValue("/root/main/opmi/opmi_mdlrcptamt","0");
  15117. model.refresh();
  15118. // setInputNodeCurText();
  15119. messageBox("수가계산 전에는 중간금을 입력할수 없습니다!","E999","");
  15120. }
  15121. ]]>
  15122. </script>
  15123. </output>
  15124. <output id="opt_totamt" ref="/root/main/opmi/opmi_totamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:285px; width:106px; height:19px; text-align:right; ">
  15125. <script type="javascript" ev:event="ondblclick">
  15126. <![CDATA[
  15127. if (output4.visible == false) {
  15128. output4.visible = true;
  15129. output10.visible = true;
  15130. output11.visible = true;
  15131. output12.visible = true;
  15132. } else {
  15133. output4.visible = false;
  15134. output10.visible = false;
  15135. output11.visible = false;
  15136. output12.visible = false;
  15137. }
  15138. ]]>
  15139. </script>
  15140. </output>
  15141. <output id="opt_payamt" ref="/root/main/opmi/opmi_payamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:285px; width:108px; height:19px; text-align:right; "/>
  15142. <output id="opt_payownbamt" ref="/root/main/opmi/opmi_payownbamt100" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:309px; width:106px; height:19px; text-align:right; "/>
  15143. <output id="opt_payinsubamt" ref="/root/main/opmi/opmi_payinsubamt100" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:309px; width:108px; height:19px; text-align:right; "/>
  15144. <output id="opt_totnopyamt" ref="/root/main/opmi/opmi_totnopyamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:333px; width:106px; height:19px; text-align:right; "/>
  15145. <output id="opt_specamt" ref="/root/main/opmi/opmi_specamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:333px; width:108px; height:19px; text-align:right; "/>
  15146. <output id="opt_totownbamt" ref="/root/main/opmi/opmi_totownbamt100" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:357px; width:106px; height:19px; text-align:right; "/>
  15147. <output id="opt_" ref="/root/main/opmi/opmi_taxamt" class="output_fix" format="(-)#,###" style="left:1085px; top:357px; width:108px; height:19px; text-align:right; "/>
  15148. <output id="opt_handcapfund" ref="/root/main/opmi/opmi_handcapfund" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:381px; width:106px; height:19px; text-align:right; "/>
  15149. <output id="opt_subtamt" ref="/root/main/opmi/opmi_subtamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:381px; width:108px; height:19px; text-align:right; "/>
  15150. <output id="opt_bloddiscamt" ref="/root/main/opmi/opmi_discamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:405px; width:108px; height:19px; text-align:right; "/>
  15151. <input id="ipt_uncoamt" ref="/root/main/opmi/opmi_uncoamt" class="input_default" navindex="43" format="(-)#,###" appearance="input" style="left:1085px; top:430px; width:108px; height:19px; text-align:right; ">
  15152. <script type="javascript" ev:event="DOMFocusOut">
  15153. <![CDATA[
  15154. var uncoAmtCnt = parseInt( getNodesetCount("/root/main/h_unco/unco") );
  15155. var uncoCD = model.getValue("/root/hidden/m_etc/uncocd");
  15156. var uncoAmt = model.getValue("/root/main/opmi/opmi_uncoamt");
  15157. //미수액이 0원일 경우 UNCO노드를 모두 삭제한다.
  15158. //2015/06/22 이정택 수정
  15159. //if( uncoAmt == '0' || uncoAmt == ''){
  15160. //2015/06/22 이정택 수정
  15161. if(uncoAmt == ''){
  15162. model.removeNodeset("/root/main/h_unco/unco");
  15163. model.setValue("/root/hidden/m_etc/uncocd", "");
  15164. model.setValue("/root/main/opmi/opmi_uncoamt", '0');
  15165. fCalcRcpt2();
  15166. return true;
  15167. }
  15168. //수정전 미수액
  15169. var bfUncoAmt = 0;
  15170. var bfUncoCD = '';
  15171. for(var i = 1; i <= uncoAmtCnt; i++){
  15172. bfUncoAmt = bfUncoAmt + parseInt( model.getValue("/root/main/h_unco/unco[" + i + "]/unco_uncoamt") );
  15173. if( i == 1 ){
  15174. bfUncoCD = model.getValue("/root/main/h_unco/unco[" + i + "]/unco_uncocd");
  15175. }else{
  15176. bfUncoCD = '';
  15177. }
  15178. ///root/main/h_unco/unco/unco_uncocd
  15179. }
  15180. //멀티 입력일 경우 감액 선택 불가
  15181. var m_opmi_cnt = parseInt( getNodesetCount("/root/main/m_opmi/opmi/opmi_pid") );
  15182. if (m_opmi_cnt > 1){
  15183. messageBox("멀티접수시는 미수 적용불가능합니다!","E999","");
  15184. model.setValue("/root/main/opmi/opmi_uncoamt", bfUncoAmt);
  15185. model.setValue("/root/hidden/m_etc/uncocd", bfUncoCD);
  15186. model.refresh();
  15187. return false;
  15188. }
  15189. //미수내역이 2건 이상 존재! 팝업창을 이용해서 수정해야 함.
  15190. if( uncoAmtCnt > 1 ){
  15191. messageBox("미수내역이 2건 이상입니다. 미수입력창을 이용해 주세요.","E999","");
  15192. model.setValue("/root/main/opmi/opmi_uncoamt", bfUncoAmt);
  15193. model.setValue("/root/hidden/m_etc/uncocd", bfUncoCD);
  15194. model.refresh();
  15195. return false;
  15196. //미수코드 선택여부 체크
  15197. }else if( uncoCD == '' || uncoCD == ' '){
  15198. messageBox("미수코드를 입력하지 않았습니다. 미수코드를 입력 후 다시 시도해 주세요.", "E999", "");
  15199. model.setValue("/root/main/opmi/opmi_uncoamt", bfUncoAmt);
  15200. model.setValue("/root/hidden/m_etc/uncocd", bfUncoCD);
  15201. model.refresh();
  15202. model.setFocus("input10");
  15203. return false;
  15204. }
  15205. //미수금액이 납부할 금액보다 큰경우
  15206. var cardAmt = 0;
  15207. var cashAmt = 0;
  15208. if( CHECKCARDCASH == 'OLD' ){
  15209. var cardCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  15210. for(var i = 0; i <= cardCnt; i ++ ){
  15211. cardAmt = parseInt(cardAmt) + parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt"));
  15212. }
  15213. var cashCnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  15214. for(var i = 0; i <= cashCnt; i ++ ){
  15215. cashAmt = parseInt(cashAmt) + parseInt(model.getValue("/root/main/h_cash/cash[" + i + "]/cash_cashamt"));
  15216. }
  15217. }else{
  15218. cardAmt = 0;
  15219. cashAmt = 0;
  15220. }
  15221. var targetAmt = model.getValue("/root/main/opmi/opmi_targetamt");
  15222. var preCardAmt = model.getValue("/root/main/opmi/opmi_precardamt");
  15223. var preCashAmt = model.getValue("/root/main/opmi/opmi_precashamt");
  15224. var totalAmt = parseInt(targetAmt) - parseInt(cardAmt) - parseInt(cashAmt) + parseInt(preCardAmt) + parseInt(preCashAmt) + parseInt(bfUncoAmt);
  15225. if( parseInt(uncoAmt) > parseInt(totalAmt) ){
  15226. if( parseInt(totalAmt) == parseInt(targetAmt) ){
  15227. messageBox("미수금액이 납부할 금액보다 큽니다. 납부금액을 확인하시고 다시하세요.","E999","");
  15228. }else{
  15229. messageBox("미수금액이 납부할 금액보다 큽니다. 납부할 금액과 카드/현금영수증 승인 금액을 확인하시고 다시하세요.","E999","");
  15230. }
  15231. model.setValue("/root/main/opmi/opmi_uncoamt", bfUncoAmt);
  15232. model.setValue("/root/hidden/m_etc/uncocd", bfUncoCD);
  15233. fCalcRcpt2();
  15234. // model.refresh();
  15235. return false;
  15236. }
  15237. if( uncoAmtCnt == 1 ){
  15238. model.setValue("/root/main/h_unco/unco/unco_uncoamt", uncoAmt);
  15239. model.setValue("/root/main/h_unco/unco/unco_uncocd", uncoCD);
  15240. }else{
  15241. uncoAmtCnt = parseInt(uncoAmtCnt) + 1;
  15242. fCreateUncoNode(uncoAmtCnt);
  15243. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncoamt", uncoAmt);
  15244. model.setValue("/root/main/h_unco/unco[" + uncoAmtCnt + "]/unco_uncocd", uncoCD);
  15245. }
  15246. fCalcRcpt2();
  15247. ]]>
  15248. </script>
  15249. <script type="javascript" ev:event="onkeypress">
  15250. <![CDATA[
  15251. if (event.keyCode == "13") {
  15252. model.setValue("/root/main/opmi/opmi_uncoamt", ipt_uncoamt.currentText);
  15253. ipt_uncoamt.refresh();
  15254. model.setFocus("radio1");
  15255. }
  15256. ]]>
  15257. </script>
  15258. </input>
  15259. <output id="opt_precashamt" ref="/root/main/opmi/opmi_precashamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:478px; width:106px; height:19px; text-align:right; "/>
  15260. <output id="opt_premdlrcptamt" ref="/root/main/opmi/opmi_premdlrcptamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:478px; width:108px; height:19px; text-align:right; "/>
  15261. <output id="opt_precardamt" ref="/root/main/opmi/opmi_precardamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:502px; width:106px; height:19px; text-align:right; "/>
  15262. <output id="opt_preonlineamt" ref="/root/main/opmi/opmi_preonlineamt" class="output_fix" format="(-)#,###" appearance="output" style="left:1085px; top:502px; width:108px; height:19px; text-align:right; "/>
  15263. <input id="ipt_cardamt" ref="/root/main/opmi/opmi_cardamt" class="input_default" navindex="49" format="(-)#,###" appearance="input" style="left:1069px; top:670px; width:124px; height:19px; text-align:right; ">
  15264. <script type="javascript" ev:event="onkeypress">
  15265. <![CDATA[
  15266. if (event.keyCode == "13") {
  15267. model.setFocus("ipt_cashamt");
  15268. }
  15269. ]]>
  15270. </script>
  15271. <script type="javascript" ev:event="xforms-value-changed">
  15272. <![CDATA[
  15273. fCardCashAmtChanged("card");
  15274. ]]>
  15275. </script>
  15276. </input>
  15277. <input id="ipt_cashamt" ref="/root/main/opmi/opmi_cashamt" class="input_default" navindex="50" format="(-)#,###" appearance="input" style="left:977px; top:694px; width:216px; height:19px; text-align:right; ">
  15278. <script type="javascript" ev:event="xforms-value-changed">
  15279. <![CDATA[
  15280. fCardCashAmtChanged("cash");
  15281. ]]>
  15282. </script>
  15283. <script type="javascript" ev:event="onkeypress">
  15284. <![CDATA[
  15285. if (event.keyCode == "13") {
  15286. if( btn_stat.attribute("background-color") == "#ff0000"){ //변경취소
  15287. model.setFocus("btn_updt");
  15288. }else{
  15289. model.setFocus("btn_save");
  15290. }
  15291. }
  15292. ]]>
  15293. </script>
  15294. </input>
  15295. <output id="opt_onlineamt" ref="/root/main/opmi/opmi_onlineamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:718px; width:216px; height:19px; text-align:right; "/>
  15296. <select1 id="cmb_paypsnflag" ref="/root/main/opmi/opmi_paypsnflag" class="combo_default" navindex="51" appearance="minimal" style="left:977px; top:742px; width:90px; height:19px; ">
  15297. <choices>
  15298. <item>
  15299. <label>본인</label>
  15300. <value>1</value>
  15301. </item>
  15302. <item>
  15303. <label>외부기관지원</label>
  15304. <value>2</value>
  15305. </item>
  15306. <item>
  15307. <label>사업자(회사)</label>
  15308. <value>3</value>
  15309. </item>
  15310. <item>
  15311. <label>보험사</label>
  15312. <value>4</value>
  15313. </item>
  15314. <item>
  15315. <label>사회사업</label>
  15316. <value>5</value>
  15317. </item>
  15318. <item>
  15319. <label>공공기관</label>
  15320. <value>6</value>
  15321. </item>
  15322. <item>
  15323. <label>기타</label>
  15324. <value>7</value>
  15325. </item>
  15326. </choices>
  15327. </select1>
  15328. <input id="ipt_paypsnrem" ref="/root/main/opmi/opmi_paypsnrem" class="input_default" navindex="53" visibility="hidden" maxlength="40" style="left:632px; top:756px; width:216px; height:19px; "/>
  15329. <button id="btn_hndc" class="btn2_letter2" style="left:1019px; top:15px; width:42px; height:19px; ">
  15330. <caption>장애</caption>
  15331. <script type="javascript" ev:event="DOMActivate">
  15332. <![CDATA[
  15333. model.setValue("/root/source/srchcond", 1);
  15334. model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  15335. modal("SMPMC01700", "1","100", "100", "SMPMC01700", "/root/source", "/root/source");
  15336. //model.setValue("/root/source/pid", pid);
  15337. fGetHandicapPatInfo("A", model.getValue("/root/main/ptbs/ptbs_pid"), model.getValue("/root/main/otpt/otpt_orddd"), model.getValue("/root/main/otpt/otpt_orddeptcd"), model.getValue("/root/main/otpt/otpt_insukind"));
  15338. model.refresh();
  15339. model.setFocus("radio3");
  15340. ]]>
  15341. </script>
  15342. </button>
  15343. <button id="btn_cnst" class="btn2_letter4" style="left:500px; top:115px; width:64px; height:19px; ">
  15344. <caption>진료의뢰</caption>
  15345. <script type="javascript" ev:event="DOMActivate">
  15346. <![CDATA[
  15347. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  15348. if (pid == "") {
  15349. messageBox("환자번호가 없습니다. 환자번호 입력 후 진행하십시오.", "I999", "");
  15350. return;
  15351. }
  15352. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  15353. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15354. var ordreqflag = model.getValue("/root/main/otpt/otpt_ordreqformflag");
  15355. var etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  15356. //var insuflag = model.getValue("");
  15357. //빈노드 삭제
  15358. // var cnstCnt = getNodesetCount("/root/main/h_cnst/cnst/cnst_orddeptcd");
  15359. // for(var i = 1; i <= cnstCnt; i++ ){
  15360. // if( model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") == '' || model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") == '-' ||
  15361. // model.getValue("/root/main/h_cnst/cnst[" + i + "]/cnst_orddeptcd") == ' ' ){
  15362. //
  15363. // model.removeNodeset("/root/main/h_cnst/cnst[" + i + "]");
  15364. // }
  15365. // }
  15366. var strSend = "";
  15367. var strRcv = "/root/main/h_cnst";
  15368. setParameter("SPPMC04100_PARM", pid + "▦" + strSend + "▦" + strRcv + "▦");
  15369. setParameter("SPPMC04100_PARM1", orddeptcd + "▦" + ordreqflag + "▦" + insukind + "▦" + etcordflag + "▦");
  15370. modal("SPPMC04200", "1","150", "150", "SPPMC04200", "/root/main/h_cnst", "/root/main/h_cnst");
  15371. // // 2007.07.23 이동식 추가 - 진료의뢰서 추가만 가능하게
  15372. // var rtnYN = getParameter("SPPMC04100_RTN");
  15373. // if( rtnYN == 'Y' ){
  15374. //
  15375. // var cnt = getNodesetCount("/root/main/h_cnst/cnst/cnst_pid");
  15376. // model.makeNode("/root/main/h_cnst/cnst[" + cnt + "]/cnst_stat");
  15377. // model.setValue("/root/main/h_cnst/cnst[" + cnt + "]/cnst_stat", "I");
  15378. // }
  15379. //END..
  15380. model.refresh();
  15381. ]]>
  15382. </script>
  15383. </button>
  15384. <button id="btn_input" accesskey="f8" class="btn2_letter6" style="left:764px; top:431px; width:81px; height:19px; ">
  15385. <caption>멀티입력추가</caption>
  15386. <script type="javascript" ev:event="DOMActivate">
  15387. <![CDATA[
  15388. fMultiRsrvAdd();
  15389. ]]>
  15390. </script>
  15391. <hint>
  15392. <![CDATA[F8]]>
  15393. </hint>
  15394. </button>
  15395. <button id="btn_c_otpt" class="btn_sw" visibility="hidden" group="tab" style="left:204px; top:433px; width:100px; height:22px; ">
  15396. <caption>멀티취소대상</caption>
  15397. <script type="javascript" ev:event="DOMActivate">
  15398. <![CDATA[//멀티 입력이 안 되어 있는 경우 리턴
  15399. if (getNodesetCount("/root/main/c_otpt/otpt/otpt_pid") < 1){
  15400. messageBox("확인! 멀티취소할 내역이 미존재합니다! 해당 탭을 임의로 선택할 수 없습니다!","E999","");
  15401. //멀티입력이 있는 경우 멀티접수탭을 선택!!!
  15402. if( getNodesetCount("/root/main/m_otpt/otpt/otpt_pid") > 1){
  15403. btn_otpt.selected = false;
  15404. btn_m_otpt.selected = true;
  15405. btn_c_otpt.selected = false;
  15406. model.toggle("case6");
  15407. return;
  15408. //외래이력탭을 선택!!!!
  15409. }else{
  15410. btn_otpt.selected = true;
  15411. btn_m_otpt.selected = false;
  15412. btn_c_otpt.selected = false;
  15413. model.toggle("case5");
  15414. return;
  15415. }
  15416. }
  15417. // //변경/취소 내역이 선택되어 있는 경우 리턴
  15418. // if (btn_stat.attribute("background-color") == "#ff0000")
  15419. // {
  15420. // messageBox("확인! 변경/취소 대상내역 선택되어있습니다! 처리후 진행하십시요!","E999","");
  15421. // btn_otpt.selected = false;
  15422. // btn_m_otpt.selected = false;
  15423. // btn_c_otpt.selected = true;
  15424. // model.toggle("case7");
  15425. // return;
  15426. // }
  15427. //
  15428. // //멀티접수할 내역 체크
  15429. model.toggle("case7");
  15430. ]]>
  15431. </script>
  15432. </button>
  15433. <!--/group-->
  15434. <!--group id="group4" style="left:0px; top:732px; width:1194px; height:52px; "-->
  15435. <button id="button17" class="btn3_letter2" visibility="hidden" style="left:616px; top:757px; width:56px; height:22px; ">
  15436. <caption>자보</caption>
  15437. <script type="javascript" ev:event="DOMActivate">
  15438. <![CDATA[
  15439. setParameter("pid", "29813");
  15440. modal("SMPMO00100", "1","100", "100", "SMPMO00100", "", "");
  15441. ]]>
  15442. </script>
  15443. </button>
  15444. <button id="button12" class="btn3_letter3" visibility="hidden" style="left:0px; top:757px; width:68px; height:22px; ">
  15445. <caption>진단서</caption>
  15446. <script type="javascript" ev:event="DOMActivate">
  15447. <![CDATA[
  15448. //modal("SMPMO00700", "1", "200", "200" ,"SMPMO00700", "/root/hidden/con/h_otpt", "/root/main/h_otpt");
  15449. ]]>
  15450. </script>
  15451. </button>
  15452. <line id="line88" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  15453. <button id="btn_calcscorcalc" accesskey="f2" class="btn4_letter4" style="left:594px; top:708px; width:80px; height:22px; ">
  15454. <caption>수가계산</caption>
  15455. <script type="javascript" ev:event="DOMActivate">
  15456. <![CDATA[
  15457. //2007-08-15 이동식 추가
  15458. //당일접수의 경우 진료시간을 현재시간으로 갱신.
  15459. //fSetOrdTime();
  15460. //END..
  15461. //2015/04/06 의사 본인이 본인에게 접수시 진찰료 미산정으로 하도록 체크(이정택)
  15462. var otpt_disccd = model.getValue("/root/main/otpt/otpt_disccd");
  15463. if(otpt_disccd=="A100"){
  15464. model.makeValue("/root/send2/reqdata/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  15465. model.makeValue("/root/send2/reqdata/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
  15466. model.makeValue("/root/send2/reqdata/orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
  15467. model.makeValue("/root/send2/reqdata/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  15468. submit("TRPMO00128");
  15469. if(model.getValue("/root/jinchalryotemp/docacptyn")=="Y"){
  15470. if(!(model.getValue("/root/main/otpt/otpt_medamtestmyn")=="N" && model.getValue("/root/main/otpt/otpt_medamtfreeresn")=="37")){
  15471. if(messageBox("의사 본인이 본인에게 접수시에는 진찰료가 미발생되어야 합니다.\n진찰료 미발생사유:[의사근무과본인접수]\n진찰료 발생으로 계속 진행하시겠습니까?", "Q999", "")!="6"){
  15472. return;
  15473. }
  15474. }
  15475. }
  15476. }
  15477. //2015/04/06 의사 본인이 본인에게 접수시 진찰료 미산정으로 하도록 체크
  15478. //2014/10/08 다학제 관련 소스 수정(이정택)
  15479. /*2015/12/09 주석처리(이정택)
  15480. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  15481. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  15482. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15483. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  15484. var etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  15485. if((orddeptcd!="" || orddeptcd!=null) && (etcordflag=="4" || etcordflag=="5")){
  15486. model.makeValue("/root/send/reqdata/pid", pid);
  15487. model.makeValue("/root/send/reqdata/orddd", orddd);
  15488. model.makeValue("/root/send/reqdata/orddeptcd", orddeptcd);
  15489. model.makeValue("/root/send/reqdata/orddrid", orddrid);
  15490. model.makeValue("/root/send/reqdata/etcordflag", etcordflag);
  15491. submit("TRPMO00126");
  15492. var rtn = model.getValue("/root/temp/dahakje/dahakjeyn");
  15493. if(rtn=="N"){
  15494. messageBox("다학제로 등록된 환자가 아닙니다.", "E");
  15495. return false;
  15496. }else{
  15497. if(getNodesetCount("/root/temp/dahakje")>1){
  15498. setParameter("SPPAO00102_PID", model.getValue("/root/send/reqdata/pid"));
  15499. setParameter("SPPAO00102_ORDDD", model.getValue("/root/send/reqdata/orddd"));
  15500. modal("SPPAO00102");
  15501. var styno = getParameter("styno");
  15502. var cnt = getParameter("cnt");
  15503. if(isNull(styno)){
  15504. messageBox("다학제 과제 선택이 되지 않았습니다.", "E");
  15505. return;
  15506. }else{
  15507. model.makeValue("/root/main/otpt/otpt_etcordflag", cnt); // 참여과수를 세팅
  15508. model.makeValue("/root/main/otpt/otpt_clincstdyno", styno); // 다학제 과제 번호를 세팅(otpt의 임상연구과제번호 칼럼에 인서트)
  15509. }
  15510. }else{
  15511. model.makeValue("/root/main/otpt/otpt_etcordflag", model.getValue("/root/temp/dahakje/cnt"));
  15512. model.makeValue("/root/main/otpt/otpt_clincstdyno", model.getValue("/root/temp/dahakje/styno"));
  15513. }
  15514. //model.setValue("/root/main/otpt/otpt_etcordflag", model.getValue("/root/temp/dahakje/cnt"));
  15515. //model.makeValue("/root/main/otpt/otpt_clincstdyno", model.getValue("/root/temp/dahakje/styno"));
  15516. }
  15517. }
  15518. */
  15519. //2014/10/08 다학제 관련 소스 수정(이정택)
  15520. //환자정보(주민등록번호) 존재여부 체크
  15521. if(!fGetPtbsInfo(model.getValue("/root/main/ptbs/ptbs_rrgstno1"), model.getValue("/root/main/ptbs/ptbs_rrgstno2"), model.getValue("/root/main/ptbs/ptbs_pid"))){
  15522. return false;
  15523. }
  15524. if( model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '5' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '6' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '7' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '8' ){
  15525. if( model.getValue("/root/main/ptbs/ptbs_nati") == '' || model.getValue("/root/main/ptbs/ptbs_nati") == '-' ){
  15526. messageBox("외국인입니다. 외국인 여부와 국적코드를 입력해 주세요", "E999", "");
  15527. return false;
  15528. }
  15529. }
  15530. //2015/01/05 이정택
  15531. var chkyn = model.getValue("/root/paminit/P6570list/P6570/cdid");
  15532. if(chkyn=='Y'){
  15533. var cnt = getNodeSetCnt("/root/main/m_otpt/otpt[otpt_check='Y' and otpt_cretno='']");
  15534. if(parseInt(cnt)>1){
  15535. messageBox("멀티 수가계산이 불가능한 환자입니다. 단일 수가계산을 해주시기\n바랍니다.", "E");
  15536. return false;
  15537. }
  15538. }
  15539. //2015/01/05 이정택
  15540. //2008-10-07 이동식 추가
  15541. if (btn_stat.attribute("background-color") == "#0000ff"){
  15542. if( fMultiRsrvAdd() == false ){
  15543. return false;
  15544. }
  15545. // messageBox("[멀티입력추가] 버튼을 누른 후 수가계산하세요!!!", "I999", "");
  15546. // return true;
  15547. }
  15548. //2007-12-21 이동식 추가 - 수급절차 체크
  15549. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") < 1 ){
  15550. if( model.getValue("/root/main/otpt/otpt_ordreqformflag") == '-' || model.getValue("/root/main/otpt/otpt_ordreqformflag") == '' ){
  15551. messageBox("수급절차는 필수 항목입니다. 알맞는 값을 입력해 주세요!", "E999", "");
  15552. model.setFocus("ipt_ordreqformflag");
  15553. return false;
  15554. }
  15555. }
  15556. //END..
  15557. //가다실 예방접종(국가지원)은 소아청소년과에서만 이루어 지도록 수정(2017/05/24 이정택)
  15558. var gadasil_centcd = model.getValue("/root/main/otpt/otpt_centcd");
  15559. var gadasil_deptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15560. var gadasil_etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  15561. //본원
  15562. if(getUserInfo("dutplceinstcd")=='031' && gadasil_etcordflag=='Q' && gadasil_deptcd!='2110000000'){
  15563. messageBox("가다실 예방접종(국가지원)은 소아청소년과로 접수되어야 합니다.", "E999", "");
  15564. return false;
  15565. }
  15566. //가다실 예방접종(국가지원)은 소아청소년과에서만 이루어 지도록 수정(2017/05/24 이정택)
  15567. //20121005
  15568. //자보한도액이 있을 경우 팝업창 표시
  15569. fCheckAutoLimitAmt();
  15570. //2007-11-30 이동식 추가
  15571. // if (getNodesetCount("/root/main/m_otpt/otpt/otpt_pid") > 0){
  15572. // messageBox("확인! 멀티접수내역이 있습니다! 단일 접수를 하시려면 멀티접수내역을 처리[접수/행삭제] 후 하세요","E999","");
  15573. // btn_m_otpt.selected = true;
  15574. // btn_otpt.selected = false;
  15575. // btn_c_otpt.selected = false;
  15576. // model.toggle("case6");
  15577. // return;
  15578. // }
  15579. //END..
  15580. //2008-09-24 이동식 추가
  15581. //임의감면/미수액 입력 후 수가계산시 금액은 사라지고 계정은 그대로 남는 오류 수정
  15582. model.resetInstanceNode("/root/hidden/m_etc");
  15583. // 대구장애인구강진료센터 관련 프로그램 수정(2015/06/22)
  15584. if(model.getValue("/root/main/otpt/otpt_orddeptcd")=="2242400000"){
  15585. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  15586. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  15587. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15588. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  15589. if(!fClinicCheck(pid, orddd, orddeptcd, insukind)){
  15590. return;
  15591. }
  15592. }
  15593. // 대구장애인구강진료센터 관련 프로그램 수정(2015/06/22)
  15594. // 대구장애인 구강진료센터 멀티입력 추가 후 수가계산시(2015/07/21)
  15595. var cnt = getNodesetCount("/root/main/m_otpt/otpt[otpt_check='Y']");
  15596. var clinic = getNodesetCount("/root/main/m_otpt/otpt[otpt_check='Y' and otpt_orddeptcd='2242400000']");
  15597. if(cnt >1 && clinic >= 1){
  15598. messageBox("대구 장애인 구강진료센터가 포함되어 있을시\n멀티 수납은 불가능합니다.", "E");
  15599. return;
  15600. }
  15601. if(clinic>=1){
  15602. var pid = model.getValue("/root/main/m_otpt/otpt[otpt_check='Y']/otpt_pid");
  15603. var orddd = model.getValue("/root/main/m_otpt/otpt[otpt_check='Y']/otpt_orddd");
  15604. var orddeptcd = model.getValue("/root/main/m_otpt/otpt[otpt_check='Y']/otpt_orddeptcd");
  15605. var insukind = model.getValue("/root/main/m_otpt/otpt[otpt_check='Y']/otpt_insukind");
  15606. if(!fClinicCheck(pid, orddd, orddeptcd, insukind)){
  15607. return;
  15608. }
  15609. }
  15610. // 대구장애인 구강진료센터 멀티입력 추가 후 수가계산시(2015/07/21)
  15611. //2007-11-30 수가계산 로직 함수처리 - 이동식 수정
  15612. var retVal = fCallCalcscorcalc();
  15613. if( retVal != false ){
  15614. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15615. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  15616. if( model.getValue("/root/main/ptbs/ptbs_pid") != '' && model.getValue("/root/main/ptbs/ptbs_pid") != '-' && model.getValue("/root/main/ptbs/ptbs_pid") != ' ' ){
  15617. //2009-07-15 이동식 추가
  15618. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  15619. if (fCheckSpecOrdApp("M") == true) {
  15620. // return;
  15621. }
  15622. }else{
  15623. if (fCheckSpecOrdApp("S") == true) {
  15624. // return;
  15625. }
  15626. }
  15627. }
  15628. }
  15629. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15630. // 가다실 예방접종(국가지원)의 경우는 미수 안내 팝업(20160630)
  15631. if(cmb_etcordflag.value=='Q'){
  15632. if(model.getValue("/root/main/opmi/opmi_targetamt")!='0'){
  15633. messageBox("가다실예방접종(국가지원)으로 미수를 생성합니다.", "I");
  15634. model.makeValue("/root/hidden/m_etc/uncocd", "A75");
  15635. model.makeValue("/root/main/opmi/opmi_uncoamt", model.getValue("/root/main/opmi/opmi_targetamt"));
  15636. ipt_uncoamt.dispatch("DOMFocusOut");
  15637. }
  15638. }
  15639. // 가다실 예방접종(국가지원)의 경우는 미수 안내 팝업(20160630)
  15640. }
  15641. //2008-01-02 이동식 추가
  15642. //radio1.dispatch("xforms-value-changed");
  15643. ]]>
  15644. </script>
  15645. <hint>
  15646. <![CDATA[F2]]>
  15647. </hint>
  15648. </button>
  15649. <button id="btn_save" accesskey="f7" class="btn4_letter2" style="left:675px; top:708px; width:56px; height:22px; ">
  15650. <caption>접수</caption>
  15651. <script type="javascript" ev:event="DOMActivate">
  15652. <![CDATA[
  15653. //수납자 마감여부 체크하여 처리
  15654. if (isMagmAprv()) {
  15655. return false; // 마감결제 완료되어있으므로 더이상 진행하지 않음
  15656. }
  15657. //2007-08-15 이동식 추가
  15658. //당일접수의 경우 진료시간을 현재시간으로 갱신.
  15659. //fSetOrdTime();
  15660. //END..
  15661. //2007-10-15 이동식 추가 - 신환 후불 접수의 경우 등록번호 채번후 접수를 진행한다.
  15662. // if(model.getValue("/root/main/ptbs/ptbs_pid") == '' && model.getValue("/root/main/otpt/otpt_medamtpostyn") == 'Y' ){
  15663. // btn_savePatInfo.dispatch("DOMActivate");
  15664. // }
  15665. //END..
  15666. //환자정보(주민등록번호) 존재여부 체크
  15667. if(!fGetPtbsInfo(model.getValue("/root/main/ptbs/ptbs_rrgstno1"), model.getValue("/root/main/ptbs/ptbs_rrgstno2"), model.getValue("/root/main/ptbs/ptbs_pid"))){
  15668. return false;
  15669. }
  15670. if( model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '5' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '6' || model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '7'|| model.getValue("/root/main/ptbs/ptbs_rrgstno2").substring(0,1) == '8' ){
  15671. if( model.getValue("/root/main/ptbs/ptbs_nati") == '' || model.getValue("/root/main/ptbs/ptbs_nati") == '-' ){
  15672. messageBox("외국인입니다. 외국인 여부와 국적코드를 입력해 주세요", "E999", "");
  15673. return false;
  15674. }
  15675. }
  15676. if(fBrthddVeri(model.getValue("/root/main/ptbs/ptbs_brthdd"),ipt_brthdd) == false) return; //2010-01-18 김주희 DUR관련 생년월일체크
  15677. if (model.getValue("/root/main/otpt/otpt_etcordflag") == "Y") {
  15678. if (model.getValue("/root/main/otpt/otpt_medamtfreeresn") != "27") {
  15679. messageBox("신종플루예방접종 환자 입니다. 진찰료 미산정사유를 확인 하십시오.", "E999", "");
  15680. return false;
  15681. }
  15682. }
  15683. //2015/01/05 이정택
  15684. var chkyn = model.getValue("/root/paminit/P6570list/P6570/cdid");
  15685. if(chkyn=='Y'){
  15686. var cnt = getNodeSetCnt("/root/main/m_otpt/otpt[otpt_check='Y' and otpt_cretno='']");
  15687. if(parseInt(cnt)>1){
  15688. messageBox("멀티 접수가 불가능한 환자입니다. 단일 접수해주시기 바랍니다.", "E");
  15689. return false;
  15690. }
  15691. }
  15692. //2015/01/05 이정택
  15693. //20100401 현금영수증 의무화
  15694. //현금수납시 자동 현금영수증 처리
  15695. if (model.getValue("/root/hidden/com/autocashyn") == "Y") {
  15696. if (model.getValue("/root/hidden/com/cardcashflag") == "C") {
  15697. //2016/04/28 이정택 추가(통장입금 가능하도록 수정에 따른 현금영수증 승인수정)
  15698. //var vRcptamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  15699. var vRcptamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt")) + parseInt(model.getValue("/root/main/opmi/opmi_onlineamt"));
  15700. //2016/04/28 이정택 추가(통장입금 가능하도록 수정에 따른 현금영수증 승인수정)
  15701. if (model.getvalue("/root/init/P0022/P0022list[cd = '161' ]/nm") != "" && model.getvalue("/root/init/P0022/P0022list[cd = '161' ]/nm") != null) {
  15702. if (vRcptamt >= parseInt(model.getvalue("/root/init/P0022/P0022list[cd = '161' ]/nm"))) {
  15703. model.setValue("/root/hidden/com/cardcashflag","N"); //Y-카드, N-현금영수증, C-현금
  15704. // model.setvalue("/root/hidden/com/cash_indinstflag" ,"00"); //소득공제
  15705. radio1.dispatch("xforms-value-changed");
  15706. }
  15707. } else {
  15708. messageBox("현금영수증 최소금액이 등록되어 있지 않습니다. 확인하여 주십시오.[P0022/161]","I999","");
  15709. }
  15710. }
  15711. }
  15712. //신용카드수납체크
  15713. // 기준자료 정보를 읽어서 IC칩 결제 기반인지 확인(2016/05/10)
  15714. var van_kind = model.getValue("/root/paminit/P0032list/P0032[cdid='200']/cdnm");
  15715. if(van_kind!="KOCES_IC"){
  15716. if (parseInt(model.getValue("/root/main/opmi/opmi_cardamt")) != 0) {
  15717. //카드 팝업에서 입력한 경우 체크 하지 않음.
  15718. if (model.getValue("/root/hidden/flag/check_card") != "Y") {
  15719. var scardno = (model.getValue("/root/hidden/com/card_cardno")).getTrim();
  15720. var svalidterm = (model.getValue("/root/hidden/com/card_valiterm")).getTrim();
  15721. var sallotmm = (model.getValue("/root/hidden/com/card_allotmm")).getTrim();
  15722. if (scardno == "" || scardno == "-" || scardno == null) {
  15723. messageBox("카드번호가 입력되지", "E007","");
  15724. model.setFocus("ipt_cardno");
  15725. return;
  15726. }
  15727. if (svalidterm == "" || svalidterm == "-" || svalidterm == null) {
  15728. messageBox("카드 유효기간이 입력되지", "E007","");
  15729. model.setFocus("ipt_valiterm");
  15730. return;
  15731. }
  15732. if (sallotmm == "" || sallotmm == "-" || sallotmm == null) {
  15733. messageBox("카드 할부개월이 입력되지", "E007","");
  15734. model.setFocus("ipt_allotmm");
  15735. return;
  15736. }
  15737. }
  15738. }
  15739. }
  15740. //의사휴진일정 및 정원체크 - 후불수납일 경우 정원체크 한다.
  15741. //가정간호, 방문간호인경우 일정체크 하지 않는다.
  15742. if(model.getValue("/root/main/otpt/otpt_medamtpostyn") != 'N' && model.getValue("/root/hidden/flag/rcpt_flag") != 'Y' && RSRVFLAG != 'H' && RSRVFLAG != 'O'){
  15743. //2009-06-24 이동식 추가 - 후불 접수시 중복과 체크
  15744. //중복과 체크로직
  15745. if( ! fCheckDuplDeptMultiInput()){
  15746. return false;
  15747. }
  15748. var centcd = model.getValue("/root/main/otpt/otpt_centcd");
  15749. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15750. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  15751. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  15752. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  15753. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  15754. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  15755. var sRsrvflag = '-';
  15756. if(model.getValue("/root/main/otpt/otpt_insukind") == "71" ){
  15757. sRsrvflag = 'Q';
  15758. }
  15759. //진료일정체크 여부
  15760. var checkOrdScheYN = 'Y'; //체크
  15761. if( btn_stat.attribute("background-color") == "#ff0000" ){
  15762. var centcd_old = model.getValue("/root/main/otpt_old/otpt_centcd_old");
  15763. var orddrid_old = model.getValue("/root/main/otpt_old/otpt_orddrid_old");
  15764. var orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  15765. var subdeptcd_old = model.getValue("/root/main/otpt_old/otpt_subdeptcd_old");
  15766. var orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  15767. if(centcd != centcd_old || orddrid != orddrid_old || orddeptcd != orddeptcd_old || subdeptcd != subdeptcd_old || orddd != orddd_old ){
  15768. checkOrdScheYN = 'Y';
  15769. }else{
  15770. checkOrdScheYN = 'N';
  15771. }
  15772. }
  15773. //일정체크여부가 'Y' 일때만 일정체크한다.
  15774. if( checkOrdScheYN == 'Y' ){
  15775. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  15776. if( retVal == false ){
  15777. return false;
  15778. }else if( retVal != true ){
  15779. if( CENTERYN != 'Y' ){
  15780. //센터접수
  15781. model.setValue("/root/main/otpt/otpt_centcd", retVal);
  15782. }
  15783. }else{
  15784. if( CENTERYN != 'Y' ){
  15785. //센터코드 초기화
  15786. model.setValue("/root/main/otpt/otpt_centcd", '-');
  15787. }
  15788. }
  15789. }
  15790. //2007-12-07 이동식 추가 - 지원 퇴직여부 체크
  15791. if(!fCheckPsnRetireInfo()){
  15792. if( messageBox("감면정보를 수정하지 않고 접수를 계속 하시겠습니까?", "Q999", "") != 6 ){
  15793. return false;
  15794. }
  15795. }
  15796. }
  15797. //영문영수증 출력시 영문명이 미존재한다면 블럭킹 수납 블럭킹 처리(2017/01/25 이정택)
  15798. var engrcptpapr = model.getValue("/root/hidden/com/engrcptpapr");
  15799. var ptbs_engnm = model.getValue("/root/main/ptbs/ptbs_engnm");
  15800. if(engrcptpapr=='Y' && (ptbs_engnm=='-' || isNull(ptbs_engnm))){
  15801. messageBox("영문영수증에 출력될 영문 이름이 없습니다.\n영문 이름 등록 후 진행 부탁드립니다.", "E");
  15802. return false;
  15803. }
  15804. //영문영수증 출력시 영문명이 미존재한다면 블럭킹 수납 블럭킹 처리(2017/01/25 이정택)
  15805. //가정간호 요청사항
  15806. //가정간호 가접수를 위해 외래등록 프로그램 열어 가정간호 가접수시 안내창 생성
  15807. if( RSRVFLAG == 'H'){
  15808. //차상위 2종일때
  15809. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  15810. var suppkind = model.getValue("/root/main/otpt/otpt_suppkind");
  15811. if( suppkind != '10' && suppkind != '11' ){
  15812. var insukindnm = model.getValue("/root/init/insukind[ cd = '" + insukind + "' ]/nm");
  15813. var suppkindnm = model.getValue("/root/init/suppkind[ up = '" + insukind + "' and cd = '" + suppkind + "' ]/nm");
  15814. if( messageBox("보험유형이 [" + insukindnm + "]으로, 유형보조가 [" + suppkindnm + "]으로 접수됩니다. 계속 진행하시겠습니까?", "Q999", "") != 6 ){
  15815. //model.setFocus("ipt_disccd");
  15816. return false;
  15817. }
  15818. }
  15819. }
  15820. //재원여부 판단 -- 가정간호 체크 제외..
  15821. if(!fInhospynCheck()){
  15822. return false;
  15823. }
  15824. //2014/10/06 다학제 환자인지 아닌지 확인(이정택)
  15825. /* 이정택 주석처리(2015/12/09)
  15826. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  15827. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  15828. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  15829. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  15830. var etcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  15831. if((orddeptcd!="" || orddeptcd!=null) && (etcordflag=="4" || etcordflag=="5")){
  15832. model.makeValue("/root/send/reqdata/pid", pid);
  15833. model.makeValue("/root/send/reqdata/orddd", orddd);
  15834. model.makeValue("/root/send/reqdata/orddeptcd", orddeptcd);
  15835. model.makeValue("/root/send/reqdata/orddrid", orddrid);
  15836. model.makeValue("/root/send/reqdata/etcordflag", etcordflag);
  15837. submit("TRPMO00126");
  15838. var rtn = model.getValue("/root/temp/dahakje/dahakjeyn");
  15839. if(rtn=="N"){
  15840. messageBox("다학제로 등록된 환자가 아닙니다.", "E");
  15841. return false;
  15842. }else{
  15843. model.setValue("/root/main/otpt/otpt_etcordflag", model.getValue("/root/temp/dahakje/cnt"));
  15844. model.makeValue("/root/main/otpt/otpt_clincstdyno", model.getValue("/root/temp/dahakje/styno"));
  15845. }
  15846. }
  15847. */
  15848. //2014/10/16 다학제 환자인지 아닌지 확인(이정택)
  15849. //단일 접수 START
  15850. var m_otpt_cnt = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]");
  15851. if (m_otpt_cnt < 1){
  15852. //접수내역 수정모드
  15853. if (btn_stat.attribute("background-color") == "#ff0000"){
  15854. messageBox("확인! 변경할 외래등록 이력이 선택되어 있습니다! 변경처리하십시요!","E999","");
  15855. return;
  15856. // }else if (btn_stat.attribute("background-color") == "#0000ff"){ //멀티내역 수정모드
  15857. // messageBox("확인! 접수예약내역 수정모드 입니다. 수정을 마무리 하신 후 다시 접수해 주세요.","E999","");
  15858. // return;
  15859. }else if (btn_stat.attribute("background-color") == "#c0c0c0" || btn_stat.attribute("background-color") == "#0000ff"){
  15860. //2007-12-21 이동식 추가 - 수급절차 체크
  15861. if( model.getValue("/root/main/otpt/otpt_ordreqformflag") == '-' || model.getValue("/root/main/otpt/otpt_ordreqformflag") == '' ){
  15862. messageBox("수급절차는 필수 항목입니다. 알맞는 값을 입력해 주세요!", "E999", "");
  15863. model.setFocus("ipt_ordreqformflag");
  15864. return false;
  15865. }
  15866. //END..
  15867. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  15868. if(!fCheckDrSche(model.getValue("/root/main/otpt/otpt_orddrid"),
  15869. model.getValue("/root/main/otpt/otpt_orddeptcd"),
  15870. model.getValue("/root/main/otpt/otpt_orddd"),
  15871. model.getValue("/root/main/otpt/otpt_ordtm"),
  15872. model.getValue("/root/main/otpt/otpt_medamtestmyn"),
  15873. model.getValue("/root/main/otpt/otpt_etcordflag"),
  15874. model.getValue("/root/main/otpt/otpt_insukind"),
  15875. model.getValue("/root/main/otpt/otpt_suppkind")
  15876. )){
  15877. return false;
  15878. }
  15879. //감면코드 체크
  15880. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  15881. //새마을금고 감면코드(E140, E150, E155) 외래등록 및 수납 되지 않도록 수정 - 20130802
  15882. if(disccd == "E140" || disccd == "E150" || disccd == "E155" || disccd == "E156"){
  15883. messageBox("새마을금고 감면코드는 접수 하실 수 없습니다.", "E999", "");
  15884. return false;
  15885. }
  15886. //의료급여 감면코드(F002) 강제설정하도록 수정 - 20131004 조중래
  15887. if ((model.getValue("/root/main/otpt/otpt_insukind") == "21" || model.getValue("/root/main/otpt/otpt_insukind") == "22") && disccd == '-') {
  15888. alert("의료급여1/2종 환자의 경우 2013년 10월 1일 이후 진료는 \r\n선택진료비 50% 감면코드를 반드시 설정해야합니다.");
  15889. return false;
  15890. //의료급여 보험유형 이외에 F002는 적용불가
  15891. } else if ((model.getValue("/root/main/otpt/otpt_insukind") != "21" && model.getValue("/root/main/otpt/otpt_insukind") != "22") && disccd == 'F002') {
  15892. alert("선택진료비 50% 감면코드는 의료급여1/2종의 경우에만 적용가능합니다.\r\n감면코드를 재설정하십시요. ");
  15893. return false;
  15894. }
  15895. // 미용목적성형의 경우 감면정보 적용여부 점검 by 조중래 20140217
  15896. if (model.getValue("/root/main/otpt/otpt_insukind") == "51" && model.getValue("/root/main/otpt/otpt_suppkind") == "85") {
  15897. //모발이식센터이외의 경우 블러킹
  15898. if (disccd != '-' && model.getValue("/root/main/otpt/otpt_orddeptcd") != "2450000000") {
  15899. alert("미용목적성형의 경우, 감면적용이 불가능합니다.");
  15900. return false;
  15901. }
  15902. //모발이식센터의 경우라도 모발관련(PK059) 코드가 아니면 블러킹
  15903. if (disccd != '-' && model.getValue("/root/main/otpt/otpt_orddeptcd") == "2450000000" && model.getValue("/root/paminit/PK059list/PK059[cdid = '" + disccd + "' ]/cdnm") != "Y") {
  15904. alert("모발이식센터의 경우 모발이식관련 감면코드만 적용가능합니다.\r\n(원무공통코드 - PK059)");
  15905. return false;
  15906. }
  15907. }
  15908. //일반미수 권한 체크
  15909. if (model.getvalue("/root/hidden/m_etc/uncocd") == "A01" && model.getValue("/root/main/opmi/opmi_uncoamt") != "0") {
  15910. getRcptuserInfo(); //수납마감 사용자관리 조회
  15911. if(model.getValue("/root/rcptuser/rcptuserinfo/uncoyn") != "Y"){
  15912. messageBox("일반미수 발생 권한이 없습니다.","E999","");
  15913. return false;
  15914. }
  15915. }
  15916. //선후불여부(N-선불, Y-후불, V-수납VIP)
  15917. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  15918. //2008-08-19 이동식 추가
  15919. if(model.getValue("/root/main/otpt/otpt_rsrvflag") == '' || model.getValue("/root/main/otpt/otpt_rsrvflag") == '-'){
  15920. model.setValue("/root/main/otpt/otpt_rsrvflag", RSRVFLAG);
  15921. if( otpt_medamtpostyn == "N"){
  15922. model.setValue("/root/cmp/otpt/otpt_rsrvflag", RSRVFLAG);
  15923. }
  15924. }
  15925. /*
  15926. * 후불 접수불가능 추가
  15927. * 2013-11-15 가정간호, 방문간호 제외
  15928. * 2013-11-20 모발이식센터(2450000000), 혈액종양내과 제외(2010900000)
  15929. */
  15930. if(otpt_medamtpostyn == 'Y'
  15931. && model.getValue("/root/main/otpt/otpt_rsrvflag") != "H"
  15932. && model.getValue("/root/main/otpt/otpt_rsrvflag") != "O"
  15933. && model.getValue("/root/main/otpt/otpt_orddeptcd") != "2450000000"
  15934. && model.getValue("/root/main/otpt/otpt_orddeptcd") != "2010900000"
  15935. ){
  15936. messageBox("후불 접수는 불가능 합니다. 원무팀으로 문의바랍니다.", "E999", "");
  15937. return false;
  15938. }
  15939. //2009-03-09 이동식 추가
  15940. var rcptvipresncd = model.getValue("/root/main/otpt/otpt_rcptvipresncd");
  15941. if( rcptvipresncd == '' || rcptvipresncd == '-' || rcptvipresncd == ' ' ){
  15942. rcptvipresncd = '-';
  15943. }
  15944. if( otpt_medamtpostyn == 'V' && rcptvipresncd == '-' ){
  15945. messageBox("수납VIP로 접수하실려면 VIP구분코드를 입력하셔야 합니다.", "E999", "");
  15946. return false;
  15947. }else if( otpt_medamtpostyn != 'V' && rcptvipresncd != '-' ){
  15948. messageBox("수납VIP로 접수하지 않을 땐 VIP구분코드를 입력하시면 안됩니다.", "E999", "");
  15949. return false;
  15950. }
  15951. //진찰료 선후불여부 - 후불
  15952. if(otpt_medamtpostyn != "N"){
  15953. //수가 계산을 하지 않기 때문에 검증 로직을 따로 거쳐야 한다.
  15954. var rtval = fCalcScorCalcBefore();
  15955. if (rtval == true){
  15956. model.setValue("/root/hidden/flag/otpt_flag", "I");
  15957. // var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  15958. // var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  15959. if( btn_stat.attribute("background-color") == "#0000ff"){
  15960. // messageBox("진찰료 후불/수납VIP을 선택하시고 수납하실 수 없습니다. 확인 후 다시 시도해 주세요", "E999", "");
  15961. // return false;
  15962. //중복과 체크로직
  15963. if( ! fCheckDuplDeptMultiInput()){
  15964. return false;
  15965. }
  15966. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15967. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  15968. if (fCheckSpecOrdApp("S") == true) {
  15969. return;
  15970. }
  15971. }
  15972. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15973. var msg = "예약/접수 내역을 수정 하시겠습니까?";
  15974. }else{
  15975. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15976. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  15977. if (fCheckSpecOrdApp("S") == true) {
  15978. return;
  15979. }
  15980. }
  15981. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  15982. var msg = "외래등록을 하시겠습니까?";
  15983. }
  15984. var result = messageBox(msg,"Q000","");
  15985. if (result == "6"){
  15986. model.setValue("/root/hidden/flag/msave_flag","N");
  15987. fSaveUpdt("I");
  15988. //금액표시기 clear
  15989. }else{
  15990. model.setValue("/root/hidden/m_etc/cardaprvflag", '');
  15991. model.setValue("/root/hidden/m_etc/cashaprvflag", '');
  15992. return;
  15993. }
  15994. }
  15995. //진찰료 선후불여부 - 선불
  15996. }else if (otpt_medamtpostyn == "N"){
  15997. if (gs_prcs != "2"){
  15998. messageBox("확인! 수가계산 후에 접수하세요","E999","");
  15999. btn_save.disabled = true;
  16000. return false;
  16001. }
  16002. if( CHECKCARDCASH == 'OLD' ){
  16003. if( fCheckCardCash("I") == false ){
  16004. return false;
  16005. }
  16006. }else{
  16007. if( fCheckCardCashNew("I") == false ){
  16008. return false;
  16009. }
  16010. }
  16011. model.setValue("/root/hidden/flag/otpt_flag" , "I");
  16012. model.setValue("/root/hidden/flag/opmi_flag" , "I");
  16013. // var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  16014. // var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  16015. if( btn_stat.attribute("background-color") == "#0000ff"){
  16016. // messageBox("진찰료 후불을 선택하시고 수납하실 수 없습니다. 확인 후 다시 시도해 주세요", "E999", "");
  16017. // return false;
  16018. var msg = "수납하시겠습니까?";
  16019. }else{
  16020. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  16021. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  16022. if (fCheckSpecOrdApp("S") == true) {
  16023. return;
  16024. }
  16025. }
  16026. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  16027. var msg = "외래등록을 하시겠습니까?";
  16028. }
  16029. var result = messageBox(msg,"Q000","");
  16030. //var result = messageBox("외래등록을 하시겠습니까?","Q000","");
  16031. if (result == "6"){
  16032. model.setValue("/root/hidden/flag/msave_flag","N");
  16033. fSaveUpdt("I");
  16034. //금액표시기 clear
  16035. }else{
  16036. model.setValue("/root/hidden/m_etc/cardaprvflag", '');
  16037. model.setValue("/root/hidden/m_etc/cashaprvflag", '');
  16038. return;
  16039. }
  16040. }
  16041. }
  16042. //단일 접수 END
  16043. //멀티 접수 START
  16044. }else{
  16045. if (btn_stat.attribute("background-color") == "#0000ff"){ //멀티내역 수정모드
  16046. messageBox("확인! 접수예약내역 수정모드 입니다. 수정을 마무리 하신 후 [멀티입력추가]하시거나 예약내역 체크를 해지하신 후 예약내역 수정하세요.","E999","");
  16047. return;
  16048. }
  16049. if (gs_prcs != "2"){
  16050. messageBox("확인! 수가계산 후에 접수하세요","E999","");
  16051. btn_save.disabled = true;
  16052. return false;
  16053. }
  16054. var disccd = "";
  16055. for(var i=1; i<getNodesetCount("/root/main/m_otpt/otpt/otpt_pid"); i++){
  16056. if(model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y'){
  16057. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordreqformflag") == '-' || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ordreqformflag") == '' ){
  16058. messageBox( "[" + i + "] 번째 예약내역에 수급절차 값이 입력되지 않았습니다. 입력 후 접수해 주세요.", "E999", "");
  16059. //model.setFocus("ipt_ordreqformflag");
  16060. return false;
  16061. }
  16062. disccd = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_disccd");
  16063. //새마을금고 감면코드(E140, E150, E155) 외래등록 및 수납 되지 않도록 수정 - 20130802
  16064. if(disccd == "E140" || disccd == "E150" || disccd == "E155"){
  16065. messageBox("[" + i + "] 번째 예약내역에 새마을금고 감면코드는 접수 하실 수 없습니다.", "E999", "");
  16066. return false;
  16067. }
  16068. // 의료급여환자 감면코드(F002) 강제설정하도록 수정 - 20131004 조중래
  16069. if ((model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == "21" || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == "22") && disccd == '-') {
  16070. alert("의료급여1/2종 환자의 경우 2013년 10월 1일 이후 진료는 \r\n선택진료비 50% 감면코드를 반드시 설정해야합니다.");
  16071. return false;
  16072. // 의료급여환자 이외에 F002는 적용불가
  16073. } else if ((model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") != "21" && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") != "22") && disccd == 'F002') {
  16074. alert("선택진료비 50% 감면코드는 의료급여1/2종의 경우에만 적용가능합니다.\r\n감면코드를 재설정하십시요. ");
  16075. return false;
  16076. }
  16077. /*
  16078. * 후불 접수불가능 추가
  16079. * 2013-11-15 가정간호, 방문간호 제외
  16080. * 2013-11-20 모발이식센터(2450000000), 혈액종양내과 제외(2010900000)
  16081. */
  16082. if(model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_medamtpostyn") == 'Y'
  16083. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rsrvflag") != "H"
  16084. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rsrvflag") != "O"
  16085. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd") != "2450000000"
  16086. && model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_orddeptcd") != "2010900000"
  16087. ){
  16088. messageBox("후불 접수는 불가능 합니다. 원무팀으로 문의바랍니다.", "E999", "");
  16089. return false;
  16090. }
  16091. }
  16092. }
  16093. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  16094. var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  16095. var cardcashflag = model.getValue("/root/hidden/com/cardcashflag");
  16096. if(cardcashflag == ''){
  16097. messageBox("확인! 수납방법이 정확히 선택되지 않았습니다. 다시 선택해 주세요.", "E999", "");
  16098. return false;
  16099. }
  16100. if( CHECKCARDCASH == 'OLD' ){
  16101. //카드
  16102. var card_cnt = getNodesetCount("/root/main/m_card/card/card_pid");
  16103. var opmi_cardamt = parseInt(model.getValue("/root/main/opmi/opmi_cardamt"));
  16104. if (card_cnt > 0){
  16105. var card_cardamt = 0;
  16106. var card_cardamt_row = 0;
  16107. for(var i = 1; i <= card_cnt; i++){
  16108. card_cardamt_row = model.getValue("/root/main/m_card/card["+ i +"]/card_cardamt");
  16109. card_cardamt = parseInt(card_cardamt) + parseInt(card_cardamt_row);
  16110. }
  16111. if (card_cardamt > 0 && opmi_cardamt == 0){
  16112. messageBox("확인! 카드승인금액이 있습니다. 확인 후 다시 접수하세요.","E999","");
  16113. return;
  16114. //2007-10-10 이동식 추가
  16115. }else if( card_cardamt != opmi_cardamt ){
  16116. messageBox("확인! 카드승인금액과 영수증 카드승인금액이 다릅니다. 확인 후 다시 접수하세요.","E999","");
  16117. return;
  16118. }
  16119. model.setValue("/root/hidden/m_etc/cardaprvflag", "N"); //카드승인완료
  16120. }else if( opmi_cardamt > 0 ){
  16121. if( cardcashflag != 'Y'){
  16122. messageBox("확인! 카드결제액을 입력하고 수납방법을 현금으로 선택하셨습니다. ", "E999", "");
  16123. return false;
  16124. }else if( parseInt( model.getValue("/root/main/opmi/opmi_cardamt") ) == 0 ){
  16125. messageBox("확인! 수납방법을 카드로 선택하시고 카드결제액을 입력하지 않았습니다.", "E999", "");
  16126. return false;
  16127. }else if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  16128. messageBox("확인! 수납방법을 카드로 선택하시고 카드번호를 입력하지 않았습니다.", "E999", "");
  16129. return false;
  16130. }else if( model.getValue("/root/hidden/com/card_valiterm").length < 1 ){
  16131. messageBox("확인! 수납방법을 카드로 선택하시고 카드유효기간을 입력하지 않았습니다.", "E999", "");
  16132. return false;
  16133. }else if( model.getValue("/root/hidden/com/card_allotmm").length < 1 ){
  16134. messageBox("확인! 수납방법을 카드로 선택하시고 카드할부기간을 입력하지 않았습니다.", "E999", "");
  16135. return false;
  16136. }
  16137. //카드승인풀래그 추가
  16138. model.setValue("/root/hidden/m_etc/cardaprvflag", "I");
  16139. }else if( opmi_cardamt == 0 && cardcashflag == 'Y'){
  16140. messageBox("확인! 수납방법을 카드로 선택하시고 카드결제액을 입력하지 않았습니다. ", "E999", "");
  16141. return false;
  16142. }
  16143. //현금영수증
  16144. var cash_cnt = getNodesetCount("/root/main/m_cash/cash/cash_pid");
  16145. var opmi_cashamt = parseInt(model.getValue("/root/main/opmi/opmi_cashamt"));
  16146. if (cash_cnt > 0){
  16147. var cash_cashamt = 0;
  16148. var cash_cashamt_row = 0;
  16149. for(var i = 1; i <= cash_cnt; i++){
  16150. cash_cashamt_row = model.getValue("/root/main/m_cash/cash["+ i +"]/cash_cashamt");
  16151. cash_cashamt = parseInt(cash_cashamt) + parseInt(cash_cashamt_row);
  16152. }
  16153. if (cash_cashamt > 0 && opmi_cashamt == 0){
  16154. messageBox("확인! 현금영수증승인금액이 있습니다. 확인 후 다시 접수하세요.","E999","");
  16155. return;
  16156. //2007-10-10 이동식 추가
  16157. }else if( cash_cashamt > 0 && cash_cashamt != opmi_cashamt ){
  16158. messageBox("확인! 현금영수증승인금액과 영수증 현금금액이 다릅니다. 확인 후 다시 접수하세요.","E999","");
  16159. return;
  16160. }
  16161. model.setValue("/root/hidden/m_etc/cashaprvflag", "N"); //현금영수증 승인 완료
  16162. }else if( opmi_cashamt > 0 && cardcashflag == 'N'){
  16163. if( model.getValue("/root/hidden/com/card_cardno").length < 1 ){
  16164. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금영수증번호를 입력하지 않았습니다.", "E999", "");
  16165. return false;
  16166. }
  16167. //현금영수증승인 풀래그 추가
  16168. model.setValue("/root/hidden/m_etc/cashaprvflag", "I");
  16169. }else if( opmi_cashamt == 0 && cardcashflag == 'N'){
  16170. messageBox("확인! 수납방법을 현금영수증으로 선택하시고 현금결제액을 입력하지 않았습니다. ", "E999", "");
  16171. return false;
  16172. }
  16173. }else{
  16174. if( fCheckCardCashNew("I") == false ){
  16175. return false;
  16176. }
  16177. }
  16178. //현금
  16179. if( model.getValue("/root/hidden/com/cardcashflag") == 'C' ){
  16180. if( parseInt( model.getValue("/root/main/opmi/opmi_cashamt") ) < 0 ){
  16181. // messageBox("확인! 수납방법을 현금으로 선택하시고 현금금액을 입력하지 않았습니다.", "E999", "");
  16182. messageBox("확인! 현금 수납금액을 확인하세요!!", "E999", "");
  16183. return false;
  16184. }
  16185. model.setValue("/root/hidden/m_etc/cardaprvflag", "N");
  16186. model.setValue("/root/hidden/m_etc/cashaprvflag", "N");
  16187. }
  16188. model.setValue("/root/hidden/flag/otpt_flag","I");
  16189. model.setValue("/root/hidden/flag/opmi_flag","I");
  16190. // var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  16191. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  16192. if(getCurrentDate()<model.getValue("/root/paminit/P0032list/P0032[cdid='150']/cdnm")){
  16193. if (fCheckSpecOrdApp("M") == true) {
  16194. return;
  16195. }
  16196. }
  16197. //2017/12/21(2018년도 선택진료 폐지에 따른 프로그램 수정(이정택))
  16198. var result = messageBox("외래등록을 하시겠습니까?","Q000","");
  16199. if(result == "6"){
  16200. // 2014/10/06 HIE관련 소스 수정(이정택)
  16201. var hiersrvflag = grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_rsrvflag"));
  16202. if (hiersrvflag == "V") {
  16203. //2018/01/17 이정택 주석처리함(HIE 환자에 대해서 접수 정보 안넘김)
  16204. /*
  16205. model.makeValue("/root/main/hiereqdata/hiersrvflag",hiersrvflag);
  16206. model.makeValue("/root/main/hiereqdata/pid",grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_pid")));
  16207. model.makeValue("/root/main/hiereqdata/orddd",grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_orddd")));
  16208. model.makeValue("/root/main/hiereqdata/cretno",grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_cretno")));
  16209. model.makeValue("/root/main/hiereqdata/orddeptcd",grd_rgstrsrv.valueMatrix(grd_rgstrsrv.row, grd_rgstrsrv.colRef("otpt_orddeptcd")));
  16210. */
  16211. }
  16212. // 2014/10/06 HIE관련 소스 수정(이정택)
  16213. model.setValue("/root/hidden/flag/msave_flag", "Y");
  16214. fMultiSave();
  16215. // 2014/10/06 HIE관련 소스 수정(이정택)
  16216. //2018/01/17 이정택 주석처리함
  16217. if (hiersrvflag == "V") {
  16218. // fHIESave();
  16219. }
  16220. // 2014/10/06 HIE관련 소스 수정(이정택)
  16221. //금액표시기 clear
  16222. }else{
  16223. model.setValue("/root/hidden/m_etc/cardaprvflag", '');
  16224. model.setValue("/root/hidden/m_etc/cashaprvflag", '');
  16225. return;
  16226. }
  16227. }
  16228. //멀티 접수 END
  16229. ]]>
  16230. </script>
  16231. <hint>
  16232. <![CDATA[F7]]>
  16233. </hint>
  16234. </button>
  16235. <button id="btn_updt" class="btn4_letter2" style="left:732px; top:708px; width:56px; height:22px; ">
  16236. <caption>변경</caption>
  16237. <script type="javascript" ev:event="DOMActivate">
  16238. <![CDATA[
  16239. // 수납자 마감여부 체크하여 처리
  16240. if (isMagmAprv()) {
  16241. return false; // 마감결제 완료되어있으므로 더이상 진행하지 않음
  16242. }
  16243. if(fBrthddVeri(model.getValue("/root/main/ptbs/ptbs_brthdd"),ipt_brthdd) == false) return false; //2010-01-18 김주희 DUR관련 생년월일체크
  16244. if (btn_stat.attribute("background-color") != "#ff0000"){
  16245. messageBox("확인! 변경할 외래등록 내역을 선택하십시요!","E999","");
  16246. return false;
  16247. }
  16248. var pid = model.getValue("/root/main/otpt/otpt_pid");
  16249. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  16250. var cretno = model.getValue("/root/main/otpt/otpt_cretno");
  16251. if(fcheckUncoRcptYN(pid, orddd, cretno) != true ){
  16252. return false;
  16253. }
  16254. //2014/10/22 다학제 관련 추가(이정택)
  16255. var row = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  16256. if (row < 1) return;
  16257. var cur_row = grd_outhist.row;
  16258. if (model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '3' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '4' ||
  16259. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '5' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '6' ||
  16260. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '7' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '8' ||
  16261. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '9'){
  16262. messageBox("다학제 환자의 변경은 해당 과에서만 가능합니다.","E999","");
  16263. return;
  16264. }
  16265. //2014/10/22 다학제 관련 추가(이정택)
  16266. //2007-12-21 이동식 추가 - 수급절차 체크
  16267. if( model.getValue("/root/main/otpt/otpt_ordreqformflag") == '-' || model.getValue("/root/main/otpt/otpt_ordreqformflag") == '' ){
  16268. messageBox("수급절차는 필수 항목입니다. 알맞는 값을 입력해 주세요!", "E999", "");
  16269. return false;
  16270. }
  16271. //END..
  16272. //멀티 카드수납 체크
  16273. //멀티카드 수납 내역이 있으면 변경 불가!!
  16274. if( getNodesetCount("/root/main/m_card/card/card_pid") > 0 ){
  16275. messageBox("멀티카드수납 내역이 있습니다. 해당 내역을 변경하실 수 없습니다. 일괄취소 후 재등록하십시요!", "E999", "");
  16276. return false;
  16277. }
  16278. //감면코드 체크
  16279. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  16280. //새마을금고 감면코드(E140, E150, E155) 외래등록 및 수납 되지 않도록 수정 - 20130802
  16281. if(disccd == "E140" || disccd == "E150" || disccd == "E155"){
  16282. messageBox("새마을금고 감면코드는 접수 하실 수 없습니다.", "E999", "");
  16283. return false;
  16284. }
  16285. //의료급여 감면코드(F002) 강제설정하도록 수정 - 20131004 조중래
  16286. if ((model.getValue("/root/main/otpt/otpt_insukind") == "21" || model.getValue("/root/main/otpt/otpt_insukind") == "22") && disccd == '-') {
  16287. alert("의료급여1/2종 환자의 경우 2013년 10월 1일 이후 진료는 \r\n선택진료비 50% 감면코드를 반드시 설정해야합니다.");
  16288. return false;
  16289. //의료급여 보험유형 이외에 F002는 적용불가
  16290. } else if ((model.getValue("/root/main/otpt/otpt_insukind") != "21" && model.getValue("/root/main/otpt/otpt_insukind") != "22") && disccd == 'F002') {
  16291. alert("선택진료비 50% 감면코드는 의료급여1/2종의 경우에만 적용가능합니다.\r\n감면코드를 재설정하십시요. ");
  16292. return false;
  16293. }
  16294. // 미용목적성형의 경우 감면정보 적용여부 점검 by 조중래 20140217
  16295. if (model.getValue("/root/main/otpt/otpt_insukind") == "51" && model.getValue("/root/main/otpt/otpt_suppkind") == "85") {
  16296. //모발이식센터이외의 경우 블러킹
  16297. if (disccd != '-' && model.getValue("/root/main/otpt/otpt_orddeptcd") != "2450000000") {
  16298. alert("미용목적성형의 경우, 감면적용이 불가능합니다.");
  16299. return false;
  16300. }
  16301. //모발이식센터의 경우라도 모발관련(PK059) 코드가 아니면 블러킹
  16302. if (disccd != '-' && model.getValue("/root/main/otpt/otpt_orddeptcd") == "2450000000" && model.getValue("/root/paminit/PK059list/PK059[cdid = '" + disccd + "' ]/cdnm") != "Y") {
  16303. alert("모발이식센터의 경우 모발이식관련 감면코드만 적용가능합니다.\r\n(원무공통코드 - PK059)");
  16304. return false;
  16305. }
  16306. }
  16307. //일반미수 권한 체크
  16308. if (model.getvalue("/root/hidden/m_etc/uncocd") == "A01" && model.getValue("/root/main/opmi/opmi_uncoamt") != "0") {
  16309. getRcptuserInfo(); //수납마감 사용자관리 조회
  16310. if(model.getValue("/root/rcptuser/rcptuserinfo/uncoyn") != "Y"){
  16311. messageBox("일반미수 발생 권한이 없습니다.","E999","");
  16312. return false;
  16313. }
  16314. }
  16315. //선후불여부 - N-선불, Y-후불, V-수납VIP
  16316. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  16317. if(otpt_medamtpostyn == "N" && gs_prcs != "2"){
  16318. messageBox("확인! 수가계산 후에 변경하십시요!","E999","");
  16319. return false;
  16320. }else{
  16321. //진료의사 휴진/당직 스케쥴 체크 - 20131031
  16322. if(!fCheckDrSche(model.getValue("/root/main/otpt/otpt_orddrid"),
  16323. model.getValue("/root/main/otpt/otpt_orddeptcd"),
  16324. model.getValue("/root/main/otpt/otpt_orddd"),
  16325. model.getValue("/root/main/otpt/otpt_ordtm"),
  16326. model.getValue("/root/main/otpt/otpt_medamtestmyn"),
  16327. model.getValue("/root/main/otpt/otpt_etcordflag"),
  16328. model.getValue("/root/main/otpt/otpt_insukind"),
  16329. model.getValue("/root/main/otpt/otpt_suppkind")
  16330. )){
  16331. return false;
  16332. }
  16333. }
  16334. if( model.getValue("/root/main/opmi/opmi_reduamt") > 0 ){
  16335. var dcgmAmt = 0;
  16336. for(var i = 1; i <= getNodesetCount("/root/main/h_dcgm2/dcgm/dcgm_discreduamt"); i++ ){
  16337. dcgmAmt = parseInt(dcgmAmt) + parseInt(model.getValue("/root/main/h_dcgm2/dcgm["+ i +"]/dcgm_discreduamt"));
  16338. }
  16339. if( dcgmAmt != model.getValue("/root/main/opmi/opmi_reduamt") ){
  16340. messageBox("임의감면 입력 팝업을 열어 임의감면 금액을 확인하세요!", "E999", "");
  16341. return false;
  16342. }
  16343. }
  16344. if( model.getValue("/root/main/opmi/opmi_uncoamt") > 0 ){
  16345. var uncoAmt = 0;
  16346. for(var i=1; i<=getNodesetCount("/root/main/h_unco/unco/unco_uncoamt"); i++){
  16347. uncoAmt = parseInt(uncoAmt) + parseInt(model.getValue("/root/main/h_unco/unco[" + i + "]/unco_uncoamt"));
  16348. }
  16349. if( uncoAmt != model.getValue("/root/main/opmi/opmi_uncoamt") ){
  16350. messageBox("미수금액 입력 팝업을 열어 미수금액을 확인하세요!", "E999", "");
  16351. return false;
  16352. }
  16353. }
  16354. //otpt_old 가 비어 있으면 변경할 내역이 선택되지 않았습니다! => function
  16355. if(fOtptOldChk() == true){
  16356. // if (fUpdateCancelReson() == true){ //변경취소 사유 체크 추후 필요에 따라 추가
  16357. var row = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  16358. if (row < 1) return;
  16359. //의사휴진일정 및 정원체크 - 후불수납일 경우 정원체크 하지 않는다..
  16360. if(model.getValue("/root/main/otpt/otpt_medamtpostyn") != 'N' && model.getValue("/root/hidden/flag/rcpt_flag") != 'Y'){
  16361. var centcd = model.getValue("/root/main/otpt/otpt_centcd");
  16362. var centcd_old = model.getValue("/root/main/otpt_old/otpt_centcd_old");
  16363. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  16364. var orddrid_old = model.getValue("/root/main/otpt_old/otpt_orddrid_old");
  16365. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  16366. var orddeptcd_old = model.getValue("/root/main/otpt_old/otpt_orddeptcd_old");
  16367. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  16368. var subdeptcd_old = model.getValue("/root/main/otpt_old/otpt_subdeptcd_old");
  16369. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  16370. var orddd_old = model.getValue("/root/main/otpt_old/otpt_orddd_old");
  16371. var ordtm = model.getValue("/root/main/otpt/otpt_ordtm");
  16372. var ordtm_old = model.getValue("/root/main/otpt_old/otpt_ordtm_old");
  16373. var fsexamflag = model.getValue("/root/main/otpt/otpt_fsexamflag");
  16374. if(centcd != centcd_old || orddrid != orddrid_old || orddeptcd != orddeptcd_old || orddd != orddd_old || (ordtm != ordtm_old && orddd > getCurrentDate()) || subdeptcd_old != subdeptcd){
  16375. var sRsrvflag = '-';
  16376. if( model.getValue("/root/main/otpt/otpt_insukind") == "71" ){
  16377. sRsrvflag = 'Q';
  16378. }
  16379. var retVal = fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, sRsrvflag, 'Y');
  16380. if( retVal == false ){
  16381. return false;
  16382. }else if( retVal != true ){
  16383. if( CENTERYN != 'Y' ){
  16384. //센터접수
  16385. model.setValue("/root/main/otpt/otpt_centcd", retVal);
  16386. }
  16387. }else{
  16388. if( CENTERYN != 'Y' ){
  16389. //센터코드 초기화
  16390. model.setValue("/root/main/otpt/otpt_centcd", '-');
  16391. }
  16392. }
  16393. }
  16394. }
  16395. //END..
  16396. //의사선택진료여부 확인
  16397. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  16398. var orddrid = model.getValue("/root/main/otpt/otpt_orddrid");
  16399. var specordyn = model.getValue("/root/main/otpt/otpt_specordyn");
  16400. if( fCheckSpecOrdYN(orddeptcd, orddrid, specordyn) == false ){
  16401. return false;
  16402. }
  16403. if( CHECKCARDCASH == 'OLD' ){
  16404. if( fCheckCardCash("U") == false ){
  16405. return false;
  16406. }
  16407. }else{
  16408. if( fCheckCardCashNew("U") == false ){
  16409. return false;
  16410. }
  16411. }
  16412. //================================================================================================================//
  16413. if (otpt_medamtpostyn != "N"){ //후불
  16414. fCalcScorCalcBefore();
  16415. model.setValue("root/hidden/flag/otpt_flag","U");
  16416. model.setValue("root/hidden/flag/opmi_flag","-");
  16417. }else if (otpt_medamtpostyn == "N"){ //선불
  16418. model.setValue("root/hidden/flag/otpt_flag","U");
  16419. model.setValue("root/hidden/flag/opmi_flag","U");
  16420. }
  16421. //================================================================================================================//
  16422. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  16423. var otpt_orddd = model.getValue("/root/main/otpt/otpt_orddd");
  16424. var result = messageBox(ptbs_hngnm + " 환자의 " + otpt_orddd + " 일자 외래내역을 변경 하시겠습니까?","Q000","");
  16425. if (result == "6"){
  16426. fSaveUpdt("U");
  16427. //금액표시기 clear
  16428. }else{
  16429. model.setValue("/root/hidden/m_etc/cardaprvflag", '');
  16430. model.setValue("/root/hidden/m_etc/cashaprvflag", '');
  16431. return;
  16432. }
  16433. // }
  16434. }
  16435. ]]>
  16436. </script>
  16437. </button>
  16438. <button id="btn_cncl" class="btn4_letter2" style="left:789px; top:708px; width:56px; height:22px; ">
  16439. <caption>반환</caption>
  16440. <script type="javascript" ev:event="DOMActivate">
  16441. <![CDATA[
  16442. // 수납자 마감여부 체크하여 처리
  16443. if (isMagmAprv()) {
  16444. return false; // 마감결제 완료되어있으므로 더이상 진행하지 않음
  16445. }
  16446. if (gs_prcs == "2"){
  16447. messageBox("수가계산을 수행 후에는 접수취소를 하실 수 없습니다.","E999","");
  16448. return false;
  16449. }
  16450. var pid = model.getValue("/root/main/otpt/otpt_pid");
  16451. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  16452. var cretno = model.getValue("/root/main/otpt/otpt_cretno");
  16453. if( fcheckUncoRcptYN(pid, orddd, cretno) != true ){
  16454. return false;
  16455. }
  16456. var otpt_check_cnt = 0;
  16457. var otpt_cnt = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  16458. for(var i=1; i<=otpt_cnt; i++){
  16459. if (model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_check") == "Y") otpt_check_cnt++;
  16460. }
  16461. //멀티수납내역이 존재합니다. 멀티취소대상창에서 취소내역을 선택해 주세요..
  16462. if( otpt_cnt > 0 && otpt_check_cnt < 1){
  16463. messageBox("멀티취소대상입니다. 멀티취소대상창에서 취소할 내역을 선택해 주세요.", "E999", "");
  16464. return false;
  16465. //단일등록 취소
  16466. }else if (otpt_cnt < 1) {
  16467. //멀티취소건이 있는지 체크( 예약내역 취소 )
  16468. var mCncl = getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]");
  16469. if( mCncl > 0 ){
  16470. fRsrvCncl();
  16471. }else{
  16472. if (btn_stat.attribute("background-color") != "#ff0000"){
  16473. messageBox("확인! 취소할 외래등록 내역을 선택하십시요!","E999","");
  16474. return;
  16475. }
  16476. //otpt_old가 비어 있으면 메세지...
  16477. if (fOtptOldChk() == true){
  16478. var opmi_precashamt = parseInt(model.getValue("/root/main/opmi/opmi_precashamt"));
  16479. if (opmi_precashamt == null){
  16480. model.setValue("/root/main/opmi/opmi_precashamt","0");
  16481. opmi_precashamt = 0;
  16482. }
  16483. // if (fUpdateCancelReson() == true){
  16484. var row = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  16485. if (row < 1) return;
  16486. var cur_row = grd_outhist.row;
  16487. if (model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_dracptyn") == 'Y'){
  16488. messageBox("확인! 이미 진료의사 접수되었습니다!","E999","");
  16489. return;
  16490. }
  16491. if (model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_histstat") == 'T' && model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_rcptno") < 1){
  16492. messageBox("확인! 수납전 재진예약 사항은 진료과에서 취소할 수 있습니다!","E999","");
  16493. return;
  16494. }
  16495. //영수증 번호만 단독으로 0 보다 작은 경우 체크
  16496. if (model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_tdayinflag") != 'N' && model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_tdayinflag") != '-'){
  16497. messageBox("확인! 입원전환 내역은 취소할 수 없습니다!","E999","");
  16498. return;
  16499. }
  16500. // 다학제 관련 취소 안내(이정택)
  16501. if (model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '3' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '4' ||
  16502. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '5' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '6' ||
  16503. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '7' || model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '8' ||
  16504. model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_etcordflag") == '9'){
  16505. messageBox("다학제 환자의 취소는 외래 수납을 이용해 주시기 바랍니다.","E999","");
  16506. return;
  16507. }
  16508. // 다학제 관련 취소 안내(이정택)
  16509. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  16510. var otpt_orddd = model.getValue("/root/main/h_otpt/otpt["+ cur_row +"]/otpt_orddd");
  16511. //예수금 처리를 할 것인지 여부? => 수납금액이 있는 경우만 선수금 처리 메세지
  16512. var opmi_precashamt = (model.getValue("/root/main/opmi/opmi_precashamt"));
  16513. var opmi_cashamt= (model.getValue("/root/main/opmi/opmi_cashamt"));
  16514. var opmi_precardamt = (model.getValue("/root/main/opmi/opmi_precardamt"));
  16515. var opmi_cardamt = (model.getValue("/root/main/opmi/opmi_cardamt"));
  16516. var opmi_preonlineamt = (model.getValue("/root/main/opmi/opmi_preonlineamt"));
  16517. var opmi_onlineamt = (model.getValue("/root/main/opmi/opmi_onlineamt"));
  16518. var opmi_mdlrcptamt = (model.getValue("/root/main/opmi/opmi_mdlrcptamt"));
  16519. var opmi_premdlrcptamt = model.getValue("/root/main/opmi/opmi_premdlrcptamt");
  16520. if (opmi_precashamt == null || opmi_precashamt == "" || opmi_precashamt == " " || opmi_precashamt == "-") opmi_precashamt = "0";
  16521. if (opmi_cashamt == null || opmi_cashamt == "" || opmi_cashamt == " " || opmi_cashamt == "-") opmi_cashamt = "0";
  16522. if (opmi_precardamt == null || opmi_precardamt == "" || opmi_precardamt == " " || opmi_precardamt == "-") opmi_precardamt = "0";
  16523. if (opmi_cardamt == null || opmi_cardamt == "" || opmi_cardamt == " " || opmi_cardamt == "-") opmi_cardamt = "0";
  16524. if (opmi_preonlineamt == null || opmi_preonlineamt == "" || opmi_preonlineamt == " " || opmi_preonlineamt == "-") opmi_preonlineamt = "0";
  16525. if (opmi_onlineamt == null || opmi_onlineamt == "" || opmi_onlineamt == " " || opmi_onlineamt == "-") opmi_onlineamt = "0";
  16526. if (opmi_mdlrcptamt == null || opmi_mdlrcptamt == "" || opmi_mdlrcptamt == " " || opmi_mdlrcptamt == "-") opmi_mdlrcptamt = "0";
  16527. if (opmi_premdlrcptamt == null || opmi_premdlrcptamt == "" || opmi_premdlrcptamt == " " || opmi_premdlrcptamt == "-") opmi_premdlrcptamt = "0";
  16528. var refund = eval(opmi_precashamt) + eval(opmi_cashamt) + eval(opmi_precardamt) + eval(opmi_cardamt) + eval(opmi_preonlineamt) + eval(opmi_onlineamt) + eval(opmi_mdlrcptamt) + eval(opmi_premdlrcptamt);
  16529. model.setValue("/root/hidden/flag/bogj_flag","");
  16530. /*
  16531. if (refund > 0){
  16532. var result = messageBox(ptbs_hngnm + " 환자의 " + otpt_orddd + " 일자 환불금을 선수금처리 하시려면 예(Yes)\n아니면 아니오(No)","Q000","");
  16533. if (result == "6"){
  16534. model.setValue("/root/hidden/flag/bogj_flag","Y");
  16535. }
  16536. }
  16537. */
  16538. if( CHECKCARDCASH == 'OLD' ){
  16539. // if( model.getValue("/root/hidden/flag/check_card") != 'Y' ){
  16540. var card_cnt = getNodesetCount("/root/main/h_card/card/card_pid");
  16541. // var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  16542. if (card_cnt > 0){
  16543. var card_cardamt = 0;
  16544. var card_cardamt_row = 0;
  16545. for(var i = 1; i <= card_cnt; i++){
  16546. card_cardamt_row = model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt");
  16547. card_cardamt = eval(card_cardamt) + eval(card_cardamt_row);
  16548. }
  16549. if (card_cardamt > 0){
  16550. var result = messageBox("카드승인내역이 존재합니다! 승인취소(YES), 현금환불(NO)","Q999","");
  16551. if (result == "6"){
  16552. //카드승인취소
  16553. model.setValue("/root/hidden/m_etc/cardaprvflag", 'D');
  16554. }else{
  16555. //현금환불
  16556. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  16557. var cashamt = parseInt( model.getValue("/root/main/opmi/opmi_cashamt"));
  16558. var cardamt = parseInt( model.getValue("/root/main/opmi/opmi_cardamt"));
  16559. model.setValue("/root/main/opmi/opmi_cardamt", '0');
  16560. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(cashamt) + parseInt(cardamt));
  16561. model.refresh();
  16562. }
  16563. }else{
  16564. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  16565. }
  16566. }else{
  16567. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  16568. }
  16569. var cash_cnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  16570. if (cash_cnt > 0){
  16571. var cash_cashamt = 0;
  16572. var cash_cashamt_row = 0;
  16573. for(var i = 1; i <= cash_cnt; i++){
  16574. cash_cashamt_row = model.getValue("/root/main/h_cash/cash["+ i +"]/cash_cashamt");
  16575. cash_cashamt = eval(cash_cashamt) + eval(cash_cashamt_row);
  16576. }
  16577. if (cash_cashamt > 0){
  16578. messageBox("현금영수증 승인 내역이 존재합니다. 현금영수증 승인을 취소합니다.", "I999", "");
  16579. //현금영수증승인취소
  16580. model.setValue("/root/hidden/m_etc/cashaprvflag", 'D');
  16581. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(cash_cashamt) * -1);
  16582. // var result = messageBox("카드승인내역이 존재합니다! 승인취소(YES), 현금환불(NO)","Q999","");
  16583. //
  16584. // if (result == "6"){
  16585. // //카드승인취소
  16586. // model.setValue("/root/hidden/m_etc/cashaprvflag", 'D');
  16587. // }else{
  16588. // //현금환불
  16589. // model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16590. // var cashamt = parseInt( model.getValue("/root/main/opmi/opmi_cashamt"));
  16591. // var cashamt = parseInt( model.getValue("/root/main/opmi/opmi_cashamt"));
  16592. // model.setValue("/root/main/opmi/opmi_cashamt", '0');
  16593. // model.setValue("/root/main/opmi/opmi_cashamt", parseInt(cashamt) + parseInt(cashamt));
  16594. // model.refresh();
  16595. // }
  16596. }else{
  16597. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16598. }
  16599. }else{
  16600. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16601. }
  16602. }else{
  16603. //산전지원금 체크
  16604. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  16605. if( parseInt( model.getValue("/root/main/opmi/opmi_prepregdmndamt") ) > 0 ){
  16606. if( messageBox("산전지원금액이 존재합니다. 산전지원금 승인 취소하셨습니까?", "Q999", "") == 6 ){
  16607. //산전지원금 반환
  16608. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  16609. }else{
  16610. if( insukind == gsInsu_BoHeom ){
  16611. if( messageBox("산전지원금을 현금으로 반환하시겠습니까?", "Q999", "") == 6 ){
  16612. //산전지원금 현금 반환
  16613. model.setValue("/root/main/opmi/opmi_pregdmndamt", parseInt( model.getValue("/root/main/opmi/opmi_prepregdmndamt") ) * -1);
  16614. }else{
  16615. return false;
  16616. }
  16617. }else{
  16618. return false;
  16619. }
  16620. }
  16621. }
  16622. //카드승인금액 체크
  16623. var totalAmt = (parseInt( model.getValue("/root/main/opmi/opmi_precashamt") )
  16624. + parseInt( model.getValue("/root/main/opmi/opmi_preonlineamt") )
  16625. + parseInt( model.getValue("/root/main/opmi/opmi_premdlrcptamt") )
  16626. + parseInt( model.getValue("/root/main/opmi/opmi_targetamt") )) * -1;
  16627. var cardAmt = parseInt( model.getValue("/root/main/opmi/opmi_precardamt") ) * -1;
  16628. if( model.getValue("/root/hidden/flag/check_card") != 'Y' ){
  16629. if( parseInt( model.getValue("/root/main/opmi/opmi_precardamt") ) > 0 ){
  16630. if( messageBox("카드수납 금액이 존재합니다. 카드반환 하시겠습니까?[단, 신용카드 자동취소는 되지 않습니다. 직접 승인취소하세요!]", "Q999", "") == 6 ){
  16631. //카드반환
  16632. model.setValue("/root/main/opmi/opmi_cardamt", cardAmt);
  16633. model.setValue("/root/main/opmi/opmi_cashamt", totalAmt);
  16634. //model.setValue("/root/hidden/m_etc/cardaprvflag", 'P');
  16635. //카드 팝업 호출
  16636. btn_cardpopup.dispatch("DOMActivate");
  16637. }else{
  16638. //현금반환
  16639. model.setValue("/root/main/opmi/opmi_cardamt", 0);
  16640. model.setValue("/root/main/opmi/opmi_cashamt", 0);
  16641. }
  16642. }
  16643. model.setValue("/root/hidden/m_etc/cardaprvflag", 'N');
  16644. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16645. }else{
  16646. if( model.getValue("/root/main/opmi/opmi_cardamt") != cardAmt && cardAmt != 0){
  16647. messageBox("기카드금액과 카드 반환 금액이 다릅니다! 금액 확인 후 다시 반환하세요!", "E999", "");
  16648. return false;
  16649. }
  16650. }
  16651. //현금영수증 자동 취소
  16652. var cash_cnt = getNodesetCount("/root/main/h_cash/cash/cash_pid");
  16653. if (cash_cnt > 0){
  16654. var cash_cashamt = 0;
  16655. var cash_cashamt_row = 0;
  16656. for(var i = 1; i <= cash_cnt; i++){
  16657. cash_cashamt_row = model.getValue("/root/main/h_cash/cash["+ i +"]/cash_cashamt");
  16658. cash_cashamt = eval(cash_cashamt) + eval(cash_cashamt_row);
  16659. }
  16660. if (cash_cashamt > 0){
  16661. messageBox("현금영수증 승인 내역이 존재합니다. 현금영수증 승인을 취소합니다.", "I999", "");
  16662. //현금영수증승인취소
  16663. model.setValue("/root/hidden/m_etc/cashaprvflag", 'D');
  16664. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(cash_cashamt) * -1);
  16665. }else{
  16666. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16667. }
  16668. }else{
  16669. model.setValue("/root/hidden/m_etc/cashaprvflag", 'N');
  16670. }
  16671. }
  16672. var result = messageBox(ptbs_hngnm + " 환자의 " + otpt_orddd + " 일자 외래내역을 취소 하시겠습니까?","Q000","");
  16673. if (result == "6"){
  16674. fCncl();
  16675. //금액표시기 clear
  16676. }else{
  16677. model.setValue("/root/hidden/m_etc/cardaprvflag", '');
  16678. model.setValue("/root/hidden/m_etc/cashaprvflag", '');
  16679. return;
  16680. }
  16681. // }
  16682. }
  16683. }
  16684. }else{ //otpt_check_cnt > 0
  16685. //opmi display 필요
  16686. var row = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  16687. for(var i = 1; i <= row; i++){
  16688. if( model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_check") == "Y" ){
  16689. if (model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_dracptyn") == 'Y' ){
  16690. messageBox("확인! 이미 진료의사 접수된 내역이 존재합니다! 멀티 취소 불가능합니다","E999","");
  16691. return;
  16692. }
  16693. //영수증 번호만 단독으로 0 보다 작은 경우 체크
  16694. if (model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_tdayinflag") != 'N' && model.getValue("/root/main/c_otpt/otpt["+ i +"]/otpt_tdayinflag") != '-'){
  16695. messageBox("확인! 입원전환 내역은 취소할 수 없습니다!","E999","");
  16696. return;
  16697. }
  16698. }
  16699. }
  16700. var card_cnt = getNodesetCount("/root/main/c_card/card/card_pid");
  16701. var cardaprvflag = model.getValue("/root/hidden/m_etc/cardaprvflag");
  16702. if (card_cnt > 0 && cardaprvflag != 'C'){
  16703. var card_cardamt = 0;
  16704. var card_cardamt_row = 0;
  16705. for(var i = 1; i <= card_cnt; i++){
  16706. card_cardamt_row = model.getValue("/root/main/c_card/card["+ i +"]/card_cardamt");
  16707. card_cardamt = eval(card_cardamt) + eval(card_cardamt_row);
  16708. }
  16709. if (card_cardamt > 0){
  16710. var result = messageBox("카드승인내역이 존재합니다! 승인취소(YES), 현금환불(NO)","Q999","");
  16711. if (result == "6"){
  16712. if( otpt_check_cnt < otpt_cnt ){
  16713. messageBox("카드로 멀티 수납한 경우 개별 취소 불가! 멀티 취소해주십시요.", "E999", "");
  16714. return false;
  16715. }
  16716. model.setValue("/root/hidden/m_etc/cardaprvflag", "D");
  16717. }else{
  16718. model.setValue("/root/hidden/m_etc/cardaprvflag", "C");
  16719. var cashamt = 0;
  16720. var cardamt = 0;
  16721. for(var i = 1; i <= getNodesetCount("/root/main/c_opmi/opmi/opmi_pid"); i++){
  16722. cashamt = parseInt( model.getValue("/root/main/c_opmi/opmi[" + i + "]/opmi_cashamt"));
  16723. cardamt = parseInt( model.getValue("/root/main/c_opmi/opmi[" + i + "]/opmi_cardamt"));
  16724. model.setValue("/root/main/c_opmi/opmi[" + i + "]/opmi_cardamt", '0');
  16725. model.setValue("/root/main/c_opmi/opmi[" + i + "]/opmi_cashamt", cashamt + cardamt);
  16726. }
  16727. model.refresh();
  16728. }
  16729. }
  16730. }
  16731. var cash_cnt = getNodesetCount("/root/main/c_cash/cash/cash_pid");
  16732. var cashaprvflag = model.getValue("/root/hidden/m_etc/cashaprvflag");
  16733. if (cash_cnt > 0){
  16734. var cash_cashamt = 0;
  16735. var cash_cashamt_row = 0;
  16736. for(var i = 1; i <= cash_cnt; i++){
  16737. cash_cashamt_row = model.getValue("/root/main/c_cash/cash["+ i +"]/cash_cashamt");
  16738. cash_cashamt = eval(cash_cashamt) + eval(cash_cashamt_row);
  16739. }
  16740. if (cash_cashamt > 0){
  16741. // messageBox("확인! 현금승인금액 존재! 승인취소하십시요!","E999","");
  16742. // return;
  16743. model.setValue("/root/hidden/m_etc/cashaprvflag", 'D');
  16744. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(cash_cashamt) * -1);
  16745. }else{
  16746. model.setValue("/root/hidden/m_etc/cashaprvflag", 'C');
  16747. }
  16748. }
  16749. var ptbs_hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
  16750. var result = messageBox(ptbs_hngnm + " 환자의 " + "외래내역들을 취소하시겠습니까?","Q000","");
  16751. if (result == "6"){
  16752. fCncl();
  16753. //금액표시기 clear
  16754. }
  16755. else return;
  16756. }
  16757. ]]>
  16758. </script>
  16759. </button>
  16760. <button id="btn_insucd" class="btn3_letter6" visibility="hidden" style="left:255px; top:757px; width:104px; height:22px; ">
  16761. <caption>보험기호관리</caption>
  16762. <script type="javascript" ev:event="DOMActivate">
  16763. <![CDATA[
  16764. modal("SMPMB00100", "1","100", "100", "SMPMB00100", "", "");
  16765. ]]>
  16766. </script>
  16767. </button>
  16768. <button id="btn_rcpt" class="btn4_letter6" style="left:288px; top:735px; width:104px; height:22px; ">
  16769. <caption>영수증재발행</caption>
  16770. <script type="javascript" ev:event="DOMActivate">
  16771. <![CDATA[
  16772. var cur_row = grd_outhist.row;
  16773. var rowcnt = getNodesetCount("/root/main/h_otpt/otpt/otpt_pid");
  16774. //var histstat = model.getValue("/root/hidden/com/histstat");
  16775. if( cur_row > 0 && rowcnt > 0 || btn_stat.attribute("background-color") == "#0000ff"){
  16776. if( btn_stat.attribute("background-color") != "#0000ff" && (model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_pid") == '' || model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_tablename") != 'otpt') ){
  16777. messageBox("영수증 재발행 할 외래이력을 선택해 주세요!", "E999", "");
  16778. return false;
  16779. }else if( btn_stat.attribute("background-color") == "#0000ff" && model.getValue("/root/main/otpt/otpt_tablename") != 'otpt' ){
  16780. messageBox("영수증 재발행 할 수 없는 외래이력입니다. 접수가 안된 이력이거나 가접수이력입니다.!", "E999", "");
  16781. return false;
  16782. }
  16783. //영수증 발행 데이터 세팅.
  16784. model.removeNodeset("/root/temp/receipt");
  16785. model.makeNode("/root/temp/receipt/pid");
  16786. model.makeNode("/root/temp/receipt/cretno");
  16787. model.makeNode("/root/temp/receipt/acptseqno");
  16788. model.makeNode("/root/temp/receipt/rcptdd");
  16789. model.makeNode("/root/temp/receipt/rcptno");
  16790. model.makeNode("/root/temp/receipt/rcptseqno");
  16791. model.makeNode("/root/temp/receipt/orddd");
  16792. model.makeNode("/root/temp/receipt/ordtype");
  16793. model.makeNode("/root/temp/receipt/instcd");
  16794. model.makeNode("/root/temp/receipt/engYN");
  16795. model.makeNode("/root/temp/receipt/reprintYN");
  16796. //2008-01-10 조영상 요청사항
  16797. model.makeValue("/root/temp/receipt/m_cnt", "1");
  16798. //END..
  16799. //2007-09-17 이동식 추가 - 조영상 요청사항
  16800. model.makeNode("/root/temp/receipt/ordrcptflag");
  16801. model.makeNode("/root/temp/receipt/orddeptcd");
  16802. model.makeNode("/root/temp/receipt/orddrid");
  16803. //END..
  16804. model.makeNode("/root/temp/receipt/rcptsite");
  16805. model.setValue("/root/temp/receipt/rcptsite", 'J');
  16806. model.setValue("/root/temp/receipt/engYN", model.getValue("/root/hidden/com/engrcptpapr"));
  16807. model.setValue("/root/temp/receipt/reprintYN", model.getValue("/root/hidden/com/orgflag")); //재발행
  16808. //model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  16809. //예약증을 발급할 것인지, 접수영수증을 발행할 것인지 체크.
  16810. //예약증 발행 로직
  16811. if( btn_stat.attribute("background-color") == "#0000ff"){
  16812. model.setValue("/root/temp/receipt/ordtype", "외래예약증");
  16813. model.setValue("/root/temp/receipt/pid", model.getValue("/root/main/otpt/otpt_pid") );
  16814. model.setValue("/root/temp/receipt/cretno", model.getValue("/root/main/otpt/otpt_cretno") );
  16815. model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/main/otpt/otpt_acptseqno") );
  16816. model.setValue("/root/temp/receipt/orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  16817. model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/otpt/otpt_instcd") );
  16818. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  16819. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd") );
  16820. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/otpt/otpt_orddrid") );
  16821. model.makeNode("/root/temp/receipt/rcptdd");
  16822. model.setValue("/root/temp/receipt/rcptdd", getCurrentDate());
  16823. model.makeNode("/root/temp/receipt/rcptno");
  16824. model.setValue("/root/temp/receipt/rcptno", '0');
  16825. model.makeNode("/root/temp/receipt/rcptseqno");
  16826. model.setValue("/root/temp/receipt/rcptseqno", '0');
  16827. }else if( btn_stat.attribute("background-color") != "#0000ff" ){
  16828. model.setValue("/root/temp/receipt/ordtype", "외래정산영수증");
  16829. model.setValue("/root/temp/receipt/pid", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_pid") );
  16830. model.setValue("/root/temp/receipt/cretno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_cretno") );
  16831. model.setValue("/root/temp/receipt/acptseqno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_acptseqno") );
  16832. model.setValue("/root/temp/receipt/rcptdd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptdd") );
  16833. model.setValue("/root/temp/receipt/rcptno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptno") );
  16834. model.setValue("/root/temp/receipt/rcptseqno", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_rcptseqno") );
  16835. model.setValue("/root/temp/receipt/orddd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddd") );
  16836. model.setValue("/root/temp/receipt/instcd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_instcd") );
  16837. model.setValue("/root/temp/receipt/ordrcptflag", 'multi');
  16838. model.setValue("/root/temp/receipt/orddeptcd", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddeptcd") );
  16839. model.setValue("/root/temp/receipt/orddrid", model.getValue("/root/main/h_otpt/otpt[" + cur_row + "]/otpt_orddrid") );
  16840. }
  16841. //영수증 팝업화면 호출
  16842. //modal("SPPAO01900", "1", "100", "100" ,"SPPAO01900", "", "");
  16843. modal("SPPAO01900");
  16844. //영수증출력 END..
  16845. }else{
  16846. messageBox("확인! 영수증 재발행할 외래이력 내역이 선택되지 않았습니다. 확인 후 다시 시도해 주세요.","E999","");
  16847. return false;
  16848. }
  16849. ]]>
  16850. </script>
  16851. </button>
  16852. <button id="btn_patcard" class="btn4_letter7" visibility="hidden" style="left:135px; top:760px; width:116px; height:22px; ">
  16853. <caption>환자카드재발행</caption>
  16854. <script type="javascript" ev:event="DOMActivate">
  16855. <![CDATA[
  16856. fIssuePatientCard('R') //재발행
  16857. ]]>
  16858. </script>
  16859. </button>
  16860. <button id="btn_detlhistref" class="btn3_letter4" style="left:138px; top:735px; width:80px; height:22px; ">
  16861. <caption>감면환자</caption>
  16862. <script type="javascript" ev:event="DOMActivate">
  16863. <![CDATA[
  16864. //model.resetInstanceNode("/root/source");
  16865. //model.setValue("/root/source/srchcond", '1');
  16866. //model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  16867. setParameter("SMPMC02300_pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  16868. modal("SMPMC02300", "1", "100", "100" ,"SMPMC02300", "", "");
  16869. ]]>
  16870. </script>
  16871. </button>
  16872. <button id="btn_privacy" class="btn3_letter3" style="left:219px; top:735px; width:68px; height:22px; ">
  16873. <caption>사생활</caption>
  16874. <script type="javascript" ev:event="DOMActivate">
  16875. <![CDATA[
  16876. //사생활보호 정보관리창 호출
  16877. fCallPatPrivacy(model.getValue("/root/main/ptbs/ptbs_pid"));
  16878. ]]>
  16879. </script>
  16880. </button>
  16881. <button id="btn_patinfoupdt" class="btn3_letter4" style="left:0px; top:735px; width:80px; height:22px; ">
  16882. <caption>인적사항</caption>
  16883. <script type="javascript" ev:event="DOMActivate">
  16884. <![CDATA[
  16885. model.resetInstanceNode("/root/source");
  16886. model.setValue("/root/source/srchcond", '1');
  16887. model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  16888. modal("SMPMC01400", "1", "100", "100" ,"SMPMC01400", "/root/source", "/root/hidden/source");
  16889. ]]>
  16890. </script>
  16891. </button>
  16892. <button id="btn_rgstupdt" class="btn3_letter7" visibility="hidden" style="left:360px; top:757px; width:116px; height:22px; ">
  16893. <caption>예약[일괄]변경</caption>
  16894. <script type="javascript" ev:event="DOMActivate">
  16895. <![CDATA[
  16896. modal("SMPMO00200", "1", "100", "100" ,"SMPMO00200", "/root/source", "/root/hidden/source");
  16897. //modal("SMPMO00900", "1", "100", "100" ,"SMPMO00900", "/root/source", "/root/hidden/source");
  16898. ]]>
  16899. </script>
  16900. </button>
  16901. <!--/group-->
  16902. <caption id="caption2" class="cell_1" style="left:855px; top:741px; width:121px; height:23px; vertical-align:middle; ">납부자/납입금</caption>
  16903. <line id="line3" class="line_3" style="x1:855px; y1:763px; x2:1194px; y2:763px; "/>
  16904. <caption id="caption3" class="cell_1" visibility="hidden" style="left:510px; top:755px; width:121px; height:23px; vertical-align:middle; ">기타사유</caption>
  16905. <select1 id="radio1" ref="/root/hidden/com/cardcashflag" navindex="44" appearance="full" cellspacing="5" cols="3" overflow="visible" style="left:977px; top:576px; width:201px; height:17px; border-style:none; ">
  16906. <choices>
  16907. <item>
  16908. <label>카드</label>
  16909. <value>Y</value>
  16910. </item>
  16911. <item>
  16912. <label>현금영수증</label>
  16913. <value>N</value>
  16914. </item>
  16915. <item>
  16916. <label>현금</label>
  16917. <value>C</value>
  16918. </item>
  16919. </choices>
  16920. <script type="javascript" ev:event="xforms-value-changed">
  16921. <![CDATA[
  16922. //결제액 계산
  16923. var cardamt = 0;
  16924. var cashamt = 0;
  16925. var onlnamt = 0;
  16926. //2016/04/18 이정택 수정(통장입금관련)
  16927. if(getParameter("SPPAO01500_RTN")=="Y"){
  16928. onlnamt = model.getValue("/root/main/opmi/opmi_onlineamt");
  16929. }
  16930. //2016/04/18 이정택 수정(통장입금관련)
  16931. var targetamt = model.getValue("/root/main/opmi/opmi_targetamt");
  16932. // var targetamt = parseInt( model.getValue("/root/main/opmi/opmi_precardamt") )
  16933. // + parseInt( model.getValue("/root/main/opmi/opmi_precashamt") )
  16934. // + parseInt( model.getValue("/root/main/opmi/opmi_preonlineamt") )
  16935. // + parseInt( model.getValue("/root/main/opmi/opmi_premdlrcptamt") )
  16936. // + parseInt( model.getValue("/root/main/opmi/opmi_targetamt") );
  16937. if( CHECKCARDCASH == 'OLD' ){
  16938. //카드금액
  16939. var cardPath = '';
  16940. //var otptPath = '';
  16941. if( getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  16942. cardPath = '/root/main/c_card/card';
  16943. if( getNodesetCount(cardPath + "/card_pid") > 0 ){
  16944. var cnt = getNodesetCount(cardPath + "/card_pid");
  16945. var cOtptCnt = getNodesetCount("/root/main/c_otpt/otpt/otpt_pid");
  16946. for(var i = 1; i <= cnt; i++ ){
  16947. for(var inner = 0; inner <= cOtptCnt; inner++ ){
  16948. if( model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_check") == 'Y' ){
  16949. //선택된 취소대상 접수내역과 rcptdd, rcptno, rcptseqno가 같은 경우에만 카드승인 금액을 합한다.
  16950. if( model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptdd") == model.getValue(cardPath + "[" + i + "]/card_rcptdd")
  16951. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptno") == model.getValue(cardPath + "[" + i + "]/card_rcptno")
  16952. && model.getValue("/root/main/c_otpt/otpt[" + inner + "]/otpt_rcptseqno") == model.getValue(cardPath + "[" + i + "]/card_rcptseqno") ){
  16953. if( model.getValue(cardPath + "[" + i + "]/card_rcptstat") == 'Y'){
  16954. cardamt = parseInt(cardamt) + parseInt( model.getValue(cardPath + "[" + i + "]/card_cardamt"));
  16955. }
  16956. }
  16957. }
  16958. }
  16959. }
  16960. }
  16961. }else{
  16962. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  16963. cardPath = '/root/main/m_card/card';
  16964. //otptPath = '/root/main/c_otpt/otpt';
  16965. }else{
  16966. cardPath = '/root/main/h_card/card';
  16967. //otptPath = '/root/main/h_otpt/otpt';
  16968. }
  16969. if( getNodesetCount(cardPath + "/card_pid") > 0 ){
  16970. var cnt = getNodesetCount(cardPath + "/card_pid");
  16971. for(var i = 1; i <= cnt; i++ ){
  16972. if( model.getValue(cardPath + "[" + i + "]/card_rcptstat") == 'Y'){
  16973. cardamt = parseInt(cardamt) + parseInt( model.getValue(cardPath + "[" + i + "]/card_cardamt"));
  16974. }
  16975. }
  16976. }
  16977. }
  16978. cardamt = parseInt(cardamt) - parseInt(model.getValue("/root/main/opmi/opmi_precardamt"));
  16979. //현금금액
  16980. var cashPath = '';
  16981. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  16982. cashPath = '/root/main/m_cash/cash';
  16983. }else if( getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  16984. cashPath = '/root/main/c_cash/cash';
  16985. }else{
  16986. cashPath = '/root/main/h_cash/cash';
  16987. }
  16988. if( getNodesetCount(cashPath + "/cash_pid") > 0 ){
  16989. var cnt = getNodesetCount(cashPath + "/cash_pid");
  16990. for(var i = 1; i <= cnt; i++ ){
  16991. if( model.getValue(cashPath + "[" + i + "]/cash_rcptstat") == 'Y'){
  16992. cashamt = parseInt(cashamt) + parseInt( model.getValue(cashPath + "[" + i + "]/cash_cashamt"));
  16993. }
  16994. }
  16995. }
  16996. cashamt = parseInt(cashamt) - parseInt(model.getValue("/root/main/opmi/opmi_precashamt"));
  16997. if( cashamt < 0 ){
  16998. cashamt = 0;
  16999. }
  17000. //온라인입금 금액
  17001. // var cashPath = '';
  17002. // if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  17003. // cashPath = '/root/main/m_cash/cash';
  17004. // }else if( getNodesetCount("/root/main/c_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  17005. // cashPath = '/root/main/c_cash/cash';
  17006. // }else{
  17007. // cashPath = '/root/main/h_cash/cash';
  17008. // }
  17009. // if( getNodesetCount(cashPath + "/cash_pid") > 0 ){
  17010. // var cnt = getNodesetCount(cashPath + "/cash_pid");
  17011. // for(var i = 1; i <= cnt; i++ ){
  17012. // if( model.getValue(cashPath + "[" + i + "]/cash_rcptstat") == 'Y'){
  17013. // cashamt = parseInt(cashamt) + parseInt( model.getValue(cashPath + "[" + i + "]/cash_cashamt"));
  17014. // }
  17015. // }
  17016. // }
  17017. // onlnamt = parseInt(onlnamt) - parseInt(model.getValue("/root/main/opmi/opmi_preonlineamt"));
  17018. if (cashamt > 0 && cardamt > 0){
  17019. messageBox("신용카드 승인 금액이 [" + cardamt + "원], 현금영수증 승인 금액이 [" + cashamt + "원] 있습니다.", "I999", "");
  17020. }else if( cashamt > 0 ){
  17021. messageBox("현금영수증 승인 금액이 [" + cashamt + "원] 있습니다.", "I999", "");
  17022. }else if( cardamt > 0 ){
  17023. messageBox("신용카드 승인 금액이 [" + cardamt + "원] 있습니다.", "I999", "");
  17024. }
  17025. }else{
  17026. if( parseInt(targetamt) == 0 ){
  17027. cardamt = model.getValue("/root/main/opmi/opmi_cardamt");
  17028. cashamt = model.getValue("/root/main/opmi/opmi_cashamt");
  17029. }else{
  17030. cardamt = 0;
  17031. cashamt = 0;
  17032. }
  17033. }
  17034. //카드
  17035. if (radio1.value == "Y" ) {
  17036. //소득공제/지출증빙 체크 비활성화
  17037. //20100401 현금영수증 의무화
  17038. //rdo_indyn.disabled = false;
  17039. model.setValue("/root/hidden/com/cash_indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  17040. // model.setValue("/root/hidden/com/card_cardno","");
  17041. // model.setValue("/root/hidden/com/card_valiterm","");
  17042. // model.setValue("/root/hidden/com/card_allotmm","");
  17043. // model.setValue("/root/hidden/com/swipedata","");
  17044. //카드금액 계산
  17045. //카드결제액이 있는 경우
  17046. // if( cardamt > 0 ){
  17047. // model.setValue("/root/main/opmi/opmi_cardamt", cardamt );
  17048. // model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) ); // parseInt(onlnamt));
  17049. // model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17050. // }else{
  17051. // model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(cashamt) ); // parseInt(onlnamt) );
  17052. // model.setValue("/root/main/opmi/opmi_cashamt", cashamt );
  17053. // model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17054. // }
  17055. // if( cashamt > 0 ){
  17056. // messageBox("현금영수증 승인 금액이 [" + cashamt + "원] 있습니다.", "I999", "");
  17057. // }
  17058. if( cardamt == 0 ){
  17059. //2016/04/18 이정택수정(통장입금 관련 수정)
  17060. model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(cashamt) -parseInt(onlnamt));
  17061. //model.setValue("/root/main/opmi/opmi_cardamt", parseInt(targetamt) - parseInt(cashamt) ); // parseInt(onlnamt) );
  17062. //2016/04/18 이정택수정(통장입금 관련 수정)
  17063. model.setValue("/root/main/opmi/opmi_cashamt", cashamt );
  17064. model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17065. }else{
  17066. //2016/04/18 이정택수정(통장입금 관련 수정)
  17067. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) - parseInt(onlnamt));
  17068. //model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) ); //- parseInt(onlnamt));
  17069. //2016/04/18 이정택수정(통장입금 관련 수정)
  17070. model.setValue("/root/main/opmi/opmi_cardamt", cardamt );
  17071. model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17072. }
  17073. }else{
  17074. //현금영수증
  17075. if (radio1.value == "N" ){
  17076. //소득공제/지출증빙 체크 활성화
  17077. //20100401 현금영수증 의무화
  17078. if(model.getValue("/root/hidden/com/cash_indinstflag") == "02"){
  17079. model.setValue("/root/hidden/com/cash_indinstflag" , "02"); //00-소득공제, 01-지출증비, 02-미승인
  17080. model.setValue("/root/hidden/com/card_cardno" , model.getValue("/root/init/P0022/P0022list[cd = '163' ]/nm"));
  17081. }else{
  17082. // rdo_indyn.disabled = false;
  17083. model.setValue("/root/hidden/com/cash_indinstflag" ,"00"); //00-소득공제, 01-지출증비, 02-미승인
  17084. //현금영수증 관련 기본세팅:주민번호 => 추후에는 현금영수증정보 기준에서 조회
  17085. model.makeValue("/root/send/cashbaseinfo/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  17086. // model.makeNode("/root/send/cashbaseinfo");
  17087. if(submit("TRPAO01801")){
  17088. if( getNodesetCount("/root/send/cashbaseinfo/cashbase/pid") > 0 ){
  17089. model.setValue("/root/hidden/com/qualcnfmflag", model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmflag"));
  17090. model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/send/cashbaseinfo/cashbase/qualcnfmno"));
  17091. fCashQualCnfmno();
  17092. }else{
  17093. model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/main/ptbs/ptbs_rrgstno1")+model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  17094. // model.setValue("/root/hidden/com/qualcnfmflag", '1');
  17095. }
  17096. }else{
  17097. model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/main/ptbs/ptbs_rrgstno1")+model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  17098. // model.setValue("/root/hidden/com/qualcnfmflag", '1');
  17099. }
  17100. }
  17101. ipt_cardno.refresh();
  17102. //20100401 현금영수증 의무화 주석
  17103. //model.removeNodeset("/root/send/cashbaseinfo");
  17104. model.setValue("/root/hidden/com/card_valiterm","");
  17105. model.setValue("/root/hidden/com/card_allotmm","");
  17106. model.setValue("/root/hidden/com/swipedata","");
  17107. // if( cardamt > 0 ){
  17108. // messageBox("신용카드 승인 금액이 [" + cardamt + "원] 있습니다.", "I999", "");
  17109. // }
  17110. //2016/04/18 이정택수정(통장입금 관련 수정)
  17111. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) - parseInt(onlnamt));
  17112. //model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) ); //- parseInt(onlnamt));
  17113. //2016/04/18 이정택수정(통장입금 관련 수정)
  17114. model.setValue("/root/main/opmi/opmi_cardamt", cardamt );
  17115. model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17116. fAfterChangeCardNo();
  17117. // model.setValue("/root/main/opmi/opmi_cardamt", "0" );
  17118. // model.setValue("/root/main/opmi/opmi_cashamt", model.getValue("/root/main/opmi/opmi_targetamt") );
  17119. // event.keyCode = "13";
  17120. // ipt_cardno.dispatch("onkeypress");//enter key 처리하여, 현금영수증관련 값 세팅(현금영수증번호구분,소득공제)
  17121. //소득공제/지출증빙 세팅
  17122. //event.keyCode ="13";
  17123. //ipt_cardno.dispatch("onkeypress");
  17124. }else{
  17125. //소득공제/지출증빙 체크 비활성화
  17126. //20100401 현금영수증 의무화
  17127. //rdo_indyn.disabled = true;
  17128. model.setValue("/root/hidden/com/cash_indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  17129. model.setValue("/root/hidden/com/card_cardno" , "");
  17130. model.setValue("/root/hidden/com/card_valiterm" , "");
  17131. model.setValue("/root/hidden/com/card_allotmm" , "");
  17132. model.setValue("/root/hidden/com/swipedata" , "");
  17133. // if( cardamt > 0 ){
  17134. // messageBox("신용카드 승인 금액이 [" + cardamt + "원] 있습니다.", "I999", "");
  17135. // }
  17136. //2016/04/18 이정택수정(통장입금 관련 수정)
  17137. model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) - parseInt(onlnamt));
  17138. //model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) ); //- parseInt(onlnamt));
  17139. //2016/04/18 이정택수정(통장입금 관련 수정)
  17140. model.setValue("/root/main/opmi/opmi_cardamt", cardamt );
  17141. model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17142. }
  17143. // if( cardamt > 0 ){
  17144. // messageBox("신용카드 승인 금액이 [" + cardamt + "원] 있습니다.", "I999", "");
  17145. // }
  17146. //
  17147. // model.setValue("/root/main/opmi/opmi_cashamt", parseInt(targetamt) - parseInt(cardamt) ); //- parseInt(onlnamt));
  17148. // model.setValue("/root/main/opmi/opmi_cardamt", cardamt );
  17149. // model.setValue("/root/main/opmi/opmi_onlineamt", onlnamt );
  17150. }
  17151. model.setValue("/root/hidden/com/cardcashflag", radio1.value);
  17152. model.setFocus("ipt_cardno");
  17153. model.refresh();
  17154. ]]>
  17155. </script>
  17156. </select1>
  17157. <select1 id="rdo_indyn" ref="/root/hidden/com/cash_indinstflag" navindex="45" appearance="full" cellspacing="5" cols="3" overflow="visible" style="left:977px; top:601px; width:198px; height:20px; border-style:none; ">
  17158. <choices>
  17159. <item>
  17160. <label>소득</label>
  17161. <value>00</value>
  17162. </item>
  17163. <item>
  17164. <label>지출</label>
  17165. <value>01</value>
  17166. </item>
  17167. <item>
  17168. <label>미승인</label>
  17169. <value>02</value>
  17170. </item>
  17171. </choices>
  17172. <script type="javascript" ev:event="xforms-select">
  17173. <![CDATA[
  17174. //20100401 현금영수증 의무화
  17175. if(model.getValue("/root/hidden/com/cash_indinstflag") == "02" && model.getvalue("/root/hidden/com/cardcashflag") == "N"){
  17176. model.setValue("/root/hidden/com/card_cardno", model.getvalue("/root/init/P0022/P0022list[cd = '163' ]/nm"));
  17177. ipt_cardno.refresh();
  17178. }else if(model.getValue("/root/hidden/com/cash_indinstflag") != "02" && model.getvalue("/root/hidden/com/cardcashflag") == "N"){
  17179. if(getNodesetCount("/root/send/cashbaseinfo/cashbase/qualcnfmno") > 0){
  17180. var cshb_qualcnfmno = model.getvalue("/root/send/cashbaseinfo/cashbase/qualcnfmno");
  17181. if(cshb_qualcnfmno != "" && cshb_qualcnfmno != null ) {
  17182. model.setValue("/root/hidden/com/card_cardno",cshb_qualcnfmno);
  17183. }else{
  17184. model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/main/ptbs/ptbs_rrgstno1") + model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  17185. }
  17186. }else{
  17187. model.setValue("/root/hidden/com/card_cardno", model.getValue("/root/main/ptbs/ptbs_rrgstno1") + model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
  17188. }
  17189. ipt_cardno.refresh();
  17190. } else if (model.getvalue("/root/hidden/com/cardcashflag") != "Y"){
  17191. model.setValue("/root/hidden/com/card_cardno", "");
  17192. ipt_cardno.refresh();
  17193. }
  17194. ]]>
  17195. </script>
  17196. </select1>
  17197. <input id="ipt_cardno" ref="/root/hidden/com/card_cardno" navindex="46" autonext="false" style="left:977px; top:622px; width:196px; height:19px; ">
  17198. <script type="javascript" ev:event="onkeypress">
  17199. <![CDATA[
  17200. if (event.keyCode == "13") {
  17201. model.setValue("/root/hidden/com/card_cardno", ipt_cardno.currentText);
  17202. fAfterChangeCardNo();
  17203. // model.setValue("/root/hidden/com/card_cardno", ipt_cardno.currentText);
  17204. //
  17205. // if( ipt_cardno.currentText.length > 9 ){
  17206. //
  17207. // if( model.getValue("/root/hidden/com/cardcashflag") != 'N' ){
  17208. // model.setValue("/root/hidden/com/cardcashflag", "Y");
  17209. // radio1.dispatch("xforms-value-changed");
  17210. // fAfterChangeCardNo();
  17211. // }
  17212. // }else{
  17213. //
  17214. // model.setValue("/root/hidden/com/cardcashflag", "C");
  17215. // radio1.dispatch("xforms-value-changed");
  17216. // model.setFocus("btn_save");
  17217. // }
  17218. }
  17219. ]]>
  17220. </script>
  17221. </input>
  17222. <input id="ipt_valiterm" ref="/root/hidden/com/card_valiterm" navindex="47" autonext="false" maxlength="4" style="left:977px; top:646px; width:58px; height:19px; ">
  17223. <script type="javascript" ev:event="onkeypress">
  17224. <![CDATA[
  17225. if (event.keyCode == "13") {
  17226. model.setValue("/root/hidden/com/card_allotmm", "00");
  17227. model.setFocus("ipt_allotmm");
  17228. }
  17229. ]]>
  17230. </script>
  17231. </input>
  17232. <caption id="caption4" style="left:1040px; top:646px; width:60px; height:20px; ">(YYMM) /</caption>
  17233. <input id="ipt_allotmm" ref="/root/hidden/com/card_allotmm" navindex="48" autonext="false" maxlength="2" style="left:1103px; top:646px; width:43px; height:19px; ">
  17234. <script type="javascript" ev:event="onkeypress">
  17235. <![CDATA[
  17236. if (event.keyCode == "13") {
  17237. model.setFocus("btn_save");
  17238. }
  17239. ]]>
  17240. </script>
  17241. </input>
  17242. <caption id="caption5" style="left:1153px; top:646px; width:31px; height:20px; ">(NN)</caption>
  17243. <input id="input4" ref="/root/main/opmi/opmi_paydepoamt" class="input_default" navindex="52" format="#,###" style="left:1069px; top:742px; width:124px; height:19px; text-align:right; "/>
  17244. <caption id="caption7" class="cell_1" style="left:425px; top:401px; width:140px; height:23px; vertical-align:middle; ">협력의뢰내역</caption>
  17245. <input id="input6" ref="/root/main/otpt/otpt_insukind" navindex="29" autonext="false" maxlength="2" style="left:977px; top:41px; width:25px; height:19px; ">
  17246. <script type="javascript" ev:event="xforms-value-changed">
  17247. <![CDATA[
  17248. model.setValue("/root/main/otpt/otpt_insukind", input6.currentText);
  17249. cmb_insukind.refresh();
  17250. cmb_insukind.dispatch("xforms-select");
  17251. cmb_insukind.dispatch("xforms-value-changed");
  17252. model.setFocus("input7");
  17253. ]]>
  17254. </script>
  17255. <script type="javascript" ev:event="onkeypress">
  17256. <![CDATA[
  17257. if (event.keyCode == "13"){
  17258. // model.setValue("/root/main/otpt/otpt_insukind", input6.currentText);
  17259. // cmb_insukind.refresh();
  17260. // cmb_insukind.dispatch("xforms-select");
  17261. // cmb_insukind.dispatch("xforms-value-changed");
  17262. model.setFocus("input7");
  17263. }
  17264. ]]>
  17265. </script>
  17266. </input>
  17267. <input id="input7" ref="/root/main/otpt/otpt_suppkind" navindex="30" autonext="false" imemode="disabled" maxlength="2" _chartype="upper" style="left:977px; top:65px; width:25px; height:19px; ">
  17268. <script type="javascript" ev:event="xforms-value-changed">
  17269. <![CDATA[
  17270. fSuppKindSelect();
  17271. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17272. // model.setValue("/root/main/otpt/otpt_suppkind", otpt_insukind);
  17273. // if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ) && HOMECARE != 'Y' ){ //가정간호 접수일때 제외
  17274. if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 || otpt_insukind == gsInsu_Noin) && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y' ){
  17275. // btn_insuno_search.dispatch("DOMActivate");
  17276. fInsuInfoSearch("I");
  17277. }
  17278. model.setFocus("btn_calcscorcalc");
  17279. ]]>
  17280. </script>
  17281. <script type="javascript" ev:event="onkeypress">
  17282. <![CDATA[
  17283. if (event.keyCode == "13"){
  17284. // fSuppKindSelect();
  17285. // var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17286. // model.setValue("/root/main/otpt/otpt_suppkind", otpt_insukind);
  17287. //// if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ) && HOMECARE != 'Y' ){ //가정간호 접수일때 제외
  17288. // if( (otpt_insukind == gsBoHeom || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ) && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y' ){
  17289. // btn_insuno_search.dispatch("DOMActivate");
  17290. // }
  17291. model.setFocus("btn_calcscorcalc");
  17292. }
  17293. ]]>
  17294. </script>
  17295. </input>
  17296. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  17297. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:93px; height:14px; ">외래등록</caption>
  17298. </group>
  17299. <button id="btn_patspcfyn" style="left:80px; top:15px; width:20px; height:20px; background-color:#c0c0c0; ">
  17300. <caption/>
  17301. <script type="javascript" ev:event="DOMActivate">
  17302. <![CDATA[
  17303. model.setValue("/root/source/srchcond", 1);
  17304. model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  17305. //model.setValue("/root/hidden/source", model.getValue("/root/hidden/source/checkfnexam"));
  17306. modal("SMPMC01300", "1", "50", "50", "SMPMC01300", "/root/source", "/root/source");
  17307. ]]>
  17308. </script>
  17309. </button>
  17310. <caption id="cpt_scanyn" style="left:103px; top:15px; width:40px; height:20px; text-align:right; "/>
  17311. <caption id="cap_privacy" visibility="hidden" style="left:148px; top:15px; width:90px; height:20px; font-size:10pt; font-weight:bold; color:#000000; text-align:center; background-color:#ff0000; border-color:#000000; border-style:solid; ">사생활보호</caption>
  17312. <input id="ipt_orddeptabbr" ref="/root/main/otpt/otpt_orddeptabbr" class="input_default" navindex="11" autonext="false" imemode="disabled" maxlength="4" _chartype="upper" style="left:568px; top:42px; width:57px; height:19px; ">
  17313. <script type="javascript" ev:event="xforms-value-changed">
  17314. <![CDATA[
  17315. //var abbr = ipt_orddeptabbr.value;
  17316. var orddeptabbr = ipt_orddeptabbr.currentText;
  17317. if( orddeptabbr == '' || orddeptabbr == '-' || orddeptabbr == ' ' ){
  17318. return false;
  17319. }
  17320. //진료과 세팅
  17321. var orddeptcd = model.getValue("/root/init/orddeptcd[ deptengabbr = '" + orddeptabbr.toUpperCase() + "']/cd");
  17322. if( orddeptcd != '' && orddeptcd != ' ' && orddeptcd != '-' ){
  17323. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd );
  17324. if( cmb_orddeptcd.visible == true ){
  17325. cmb_orddeptcd.refresh();
  17326. cmb_orddeptcd.dispatch("xforms-value-changed");
  17327. }else{
  17328. combo3.refresh();
  17329. combo3.dispatch("xforms-value-changed");
  17330. }
  17331. }else{
  17332. model.setValue("/root/main/otpt/otpt_orddrid", "");
  17333. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "" );
  17334. model.setValue("/root/main/otpt/otpt_orddeptabbr", "");
  17335. model.setValue("/root/main/otpt/otpt_orddeptcd", "" );
  17336. ipt_orddeptabbr.refresh();
  17337. if( cmb_orddeptcd.visible == true ){
  17338. cmb_orddeptcd.refresh();
  17339. }else{
  17340. combo3.refresh();
  17341. }
  17342. model.setFocus("ipt_orddeptabbr");
  17343. return false;
  17344. }
  17345. model.setFocus("cmb_orddrid");
  17346. ]]>
  17347. </script>
  17348. <script type="javascript" ev:event="onkeypress">
  17349. <![CDATA[
  17350. if (event.keyCode == "13"){
  17351. if( ipt_orddeptabbr.currentText.length >= 1 ){
  17352. //cmb_orddeptcd.dispatch("xforms-value-changed");
  17353. if( cmb_orddrid.visible == true ){
  17354. model.setFocus("cmb_orddrid");
  17355. // cmb_orddrid.dispatch("onclick");
  17356. }else{
  17357. model.setFocus("combo4");
  17358. // combo4.dispatch("onclick");
  17359. }
  17360. }else{
  17361. model.setValue("/root/main/otpt/otpt_orddeptabbr", "");
  17362. ipt_orddeptabbr.refresh();
  17363. if( cmb_orddeptcd.visible == true ){
  17364. model.setFocus("cmb_orddeptcd");
  17365. }else{
  17366. model.setFocus("combo3");
  17367. }
  17368. }
  17369. }
  17370. ]]>
  17371. </script>
  17372. </input>
  17373. <select1 id="cmb_mskind" ref="/root/main/otpt/otpt_mskind" class="combo_default" navindex="20" appearance="minimal" style="left:723px; top:378px; width:127px; height:19px; ">
  17374. <choices>
  17375. <itemset nodeset="/root/init_com/init/P0006list/P0006">
  17376. <label ref="cdnm"/>
  17377. <value ref="cdid"/>
  17378. </itemset>
  17379. </choices>
  17380. <script type="javascript" ev:event="xforms-value-changed">
  17381. <![CDATA[
  17382. //원래값과 비교필요
  17383. var otpt_clincstdyacptflag = model.getValue("/root/main/otpt/otpt_clincstdyacptflag");
  17384. var otpt_insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17385. if (btn_stat.attribute("background-color") == "#ff0000") //변경
  17386. {
  17387. var otpt_clincstdyacptflag_old = model.getValue("/root/main/otpt/otpt_clincstdyacptflag_old");
  17388. if (otpt_clincstdyacptflag_old == "N" || otpt_clincstdyacptflag_old == "P")
  17389. {
  17390. if (otpt_clincstdyacptflag == "A")
  17391. {
  17392. model.setValue("/root/main/otpt/otpt_clincstdyacptflag",otpt_clincstdyacptflag_old);
  17393. model.refresh();
  17394. messageBox("동물임상으로 변경할 수 없습니다! 신규접수하십시요!","E999","");
  17395. return;
  17396. }
  17397. }
  17398. }
  17399. else if (btn_stat.attribute("background-color") == "#c0c0c0")
  17400. {
  17401. }
  17402. if (otpt_clincstdyacptflag != "N") //임상
  17403. {
  17404. if (otpt_insukind != gsImSang)
  17405. {
  17406. model.setValue("/root/main/otpt/otpt_clincstdyacptflag","N");
  17407. model.refresh();
  17408. messageBox("임상연구인 경우 보험유형을 먼저 임상시험으로 선택해주십시요!","E999","");
  17409. return;
  17410. }
  17411. }
  17412. else if (otpt_clincstdyacptflag == "N")
  17413. {
  17414. if (otpt_insukind == gsImSang)
  17415. {
  17416. model.setValue("/root/main/otpt/otpt_clincstdyacptflag","P");
  17417. model.refresh();
  17418. messageBox("보험유형이 임상시험인 경우 임상대상이어야 합니다!","E999","");
  17419. return;
  17420. }
  17421. }
  17422. ]]>
  17423. </script>
  17424. </select1>
  17425. <select1 id="radio3" ref="/root/main/otpt/otpt_handicaprbookpossnyn" navindex="24" appearance="full" cellspacing="8" cols="2" overflow="visible" style="left:568px; top:308px; width:87px; height:18px; background-color:transparent; border-style:none; ">
  17426. <choices>
  17427. <item>
  17428. <label>Yes</label>
  17429. <value>Y</value>
  17430. </item>
  17431. <item>
  17432. <label>No</label>
  17433. <value>N</value>
  17434. </item>
  17435. </choices>
  17436. <script type="javascript" ev:event="xforms-value-changed">
  17437. <![CDATA[
  17438. if( model.getValue("/root/main/otpt/otpt_handicaprbookpossnyn") == 'Y' ){
  17439. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17440. if( pid == '' || isNaN(pid) ){
  17441. messageBox("등록번호가 입력되지 않았거나 잘못 입력되었습니다. 확인 후 다시 시도해주세요.", "E999", "");
  17442. return false;
  17443. }
  17444. model.makeNode("/root/temp/handcappat/send/pid");
  17445. model.makeNode("/root/temp/handcappat/send/checkflag");
  17446. model.setValue("/root/temp/handcappat/send/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  17447. model.setValue("/root/temp/handcappat/send/checkflag", 'Y');
  17448. //submit("TRPMC01701");
  17449. if( submit("TRPMC01701") ){
  17450. if( getNodesetCount("/root/temp/handcappat/handcappatlist") > 0 ){
  17451. return true;
  17452. }else{
  17453. model.setValue("/root/source/srchcond", 1);
  17454. model.setValue("/root/source/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  17455. modal("SMPMC01700", "1","100", "100", "SMPMC01700", "/root/source", "/root/source");
  17456. fGetHandicapPatInfo("A", model.getValue("/root/main/ptbs/ptbs_pid"), model.getValue("/root/main/otpt/otpt_orddd"), model.getValue("/root/main/otpt/otpt_orddeptcd"), model.getValue("/root/main/otpt/otpt_insukind"));
  17457. model.refresh();
  17458. model.setFocus("radio3");
  17459. }
  17460. //model.setFocus("radio3");
  17461. }else{
  17462. messageBox("전산장애로 장애등록 정보를 확인할 수 없습니다. '장애인수첩 소지자 여부'를 직접 입력해 주세요", "E999", "");
  17463. //model.setFocus("radio3");
  17464. return false;
  17465. }
  17466. }
  17467. ]]>
  17468. </script>
  17469. </select1>
  17470. <caption id="caption14" class="cell_1" style="left:660px; top:305px; width:101px; height:23px; vertical-align:middle; ">외부CD등록여부</caption>
  17471. <select1 id="radio4" ref="/root/main/otpt/otpt_outercdrgstyn" navindex="25" appearance="full" cellspacing="8" cols="2" overflow="visible" style="left:764px; top:308px; width:86px; height:19px; background-color:transparent; border-style:none; ">
  17472. <choices>
  17473. <item>
  17474. <label>Yes</label>
  17475. <value>Y</value>
  17476. </item>
  17477. <item>
  17478. <label>No</label>
  17479. <value>N</value>
  17480. </item>
  17481. </choices>
  17482. </select1>
  17483. <button id="button2" class="btn5_letter4" style="left:922px; top:259px; width:64px; height:19px; ">
  17484. <caption>수가계산</caption>
  17485. <script type="javascript" ev:event="DOMActivate">
  17486. <![CDATA[
  17487. btn_calcscorcalc.dispatch("DOMActivate");
  17488. ]]>
  17489. </script>
  17490. </button>
  17491. <input id="input10" ref="/root/hidden/m_etc/uncocd" navindex="42" imemode="disabled" maxlength="4" _chartype="upper" style="left:977px; top:430px; width:35px; height:19px; ">
  17492. <script type="javascript" ev:event="onkeypress">
  17493. <![CDATA[
  17494. if (event.keyCode == "13"){
  17495. setInputNodeCurText();
  17496. if (model.getValue("/root/hidden/m_etc/uncocd") == ""){
  17497. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17498. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17499. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17500. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17501. model.refresh();
  17502. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17503. return;
  17504. }
  17505. //2015/06/28 이정택 추가
  17506. /*
  17507. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17508. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  17509. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  17510. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17511. var uncocd = model.getValue("/root/hidden/m_etc/uncocd");
  17512. if(uncocd == "A43" || uncocd == "A44" || uncocd == "A45"){
  17513. var sRtn = fUncoCdCheck(pid, orddd, orddeptcd, insukind, uncocd);
  17514. if(!sRtn){
  17515. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17516. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17517. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17518. model.refresh();
  17519. return;
  17520. }
  17521. }
  17522. */
  17523. //2015/06/28 이정택 추가
  17524. //코드를 입력했을 때 코드명 세팅
  17525. if(getNodesetCount("/root/init/uncocd[cd = '"+ model.getValue("/root/hidden/m_etc/uncocd")+ "']/nm") < 1) {
  17526. messageBox("미수코드가 존재하지 않습니다.","E999");
  17527. model.setValue("/root/hidden/m_etc/uncocd", '');
  17528. input10.refresh();
  17529. cmb_unco.refresh();
  17530. ipt_uncoamt.refresh();
  17531. model.setFocus("input10");
  17532. return;
  17533. }
  17534. model.setValue("/root/hidden/m_etc/uncocd", input10.currentText);
  17535. cmb_unco.refresh();
  17536. cmb_unco.dispatch("xforms-value-changed");
  17537. }
  17538. ]]>
  17539. </script>
  17540. <script type="javascript" ev:event="xforms-value-changed">
  17541. <![CDATA[
  17542. //2015/06/24
  17543. if (model.getValue("/root/hidden/m_etc/uncocd") == ""){
  17544. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17545. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17546. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17547. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17548. model.refresh();
  17549. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17550. }
  17551. //2015/06/24
  17552. //2015/06/28 이정택 추가
  17553. /*
  17554. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17555. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  17556. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  17557. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17558. var uncocd = model.getValue("/root/hidden/m_etc/uncocd");
  17559. if(uncocd == "A43" || uncocd == "A44" || uncocd == "A45"){
  17560. var sRtn = fUncoCdCheck(pid, orddd, orddeptcd, insukind, uncocd);
  17561. if(!sRtn){
  17562. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17563. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17564. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17565. model.refresh();
  17566. return;
  17567. }
  17568. }
  17569. */
  17570. //2015/06/28 이정택 추가
  17571. if (model.getValue("/root/main/admi_info/ordamt/admispec/admi_uncocd") == "") {
  17572. return;
  17573. }
  17574. //코드를 입력했을 때 코드명 세팅
  17575. if(getNodesetCount("/root/init/uncocd[cd = '"+ model.getValue("/root/hidden/m_etc/uncocd")+ "']/nm") < 1) {
  17576. messageBox("미수코드가 존재하지 않습니다.","E999");
  17577. model.setValue("/root/hidden/m_etc/uncocd", '');
  17578. input10.refresh();
  17579. cmb_unco.refresh();
  17580. ipt_uncoamt.refresh();
  17581. model.setFocus("input10");
  17582. return;
  17583. }
  17584. cmb_unco.refresh();
  17585. cmb_unco.dispatch("xforms-value-changed");
  17586. ]]>
  17587. </script>
  17588. </input>
  17589. <select1 id="cmb_unco" ref="/root/hidden/m_etc/uncocd" class="combo_default" appearance="minimal" showvalue="true" style="left:1013px; top:430px; width:70px; height:19px; ">
  17590. <choices>
  17591. <itemset nodeset="/root/init/uncocd">
  17592. <label ref="nm"/>
  17593. <value ref="cd"/>
  17594. </itemset>
  17595. </choices>
  17596. <script type="javascript" ev:event="xforms-value-changed">
  17597. <![CDATA[
  17598. if(cmb_unco.value == '' || cmb_unco.value == ' ' || cmb_unco.value == '-'){
  17599. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17600. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17601. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17602. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17603. model.refresh();
  17604. // 2015/06/24 미수 코드 지웠을시 미수코드 초기화처리(이정택)
  17605. }else{
  17606. //독립유공자미수 체크
  17607. if(fCheckAutoUnco('/root/main/opmi/opmi_', cmb_unco.value, 'ipt_uncoamt', 'DOMFocusOut') == true){
  17608. }
  17609. //일반미수 권한 체크
  17610. if(cmb_unco.value == "A01"){
  17611. getRcptuserInfo(); //수납마감 사용자관리 조회
  17612. if(model.getValue("/root/rcptuser/rcptuserinfo/uncoyn") != "Y"){
  17613. cmb_unco.value = "";
  17614. messageBox("일반미수 발생 권한이 없습니다.","E999","");
  17615. return;
  17616. }
  17617. }
  17618. //2015/06/28 이정택 추가
  17619. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17620. var orddd = model.getValue("/root/main/otpt/otpt_orddd");
  17621. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  17622. var insukind = model.getValue("/root/main/otpt/otpt_insukind");
  17623. var uncocd = model.getValue("/root/hidden/m_etc/uncocd");
  17624. if(uncocd == "A43" || uncocd == "A44" || uncocd == "A45"){
  17625. var sRtn = fUncoCdCheck(pid, orddd, orddeptcd, insukind, uncocd);
  17626. if(!sRtn){
  17627. model.makeValue("/root/hidden/m_etc/uncocd", "");
  17628. model.makeValue("/root/main/otpt/otpt_uncocd", "");
  17629. model.makeValue("/root/cmp/otpt/otpt_uncocd", "");
  17630. model.refresh();
  17631. return;
  17632. }
  17633. }
  17634. model.makeValue("/root/main/otpt/otpt_uncocd", model.getValue("/root/hidden/m_etc/uncocd"));
  17635. model.makeValue("/root/cmp/otpt/otpt_uncocd", model.getValue("/root/hidden/m_etc/uncocd"));
  17636. model.refreshpart("/root/main/otpt/otpt_uncocd");
  17637. model.refreshpart("/root/cmp/otpt/otpt_uncocd");
  17638. model.setFocus("ipt_uncoamt");
  17639. }
  17640. ]]>
  17641. </script>
  17642. </select1>
  17643. <line id="line129" class="line_3" visibility="hidden" style="x1:510px; y1:776px; x2:849px; y2:776px; "/>
  17644. <input id="ipt_orddeptdrabbr" ref="/root/main/otpt/otpt_orddeptdrabbr" class="input_default" navindex="12" autonext="false" imemode="disabled" maxlength="6" _chartype="upper" style="left:568px; top:66px; width:57px; height:19px; ">
  17645. <script type="javascript" ev:event="xforms-value-changed">
  17646. <![CDATA[
  17647. //2007-12-14 최종수정 - 진료의약어 입력시 진료과 진료의 동시세팅!
  17648. var orddrabbr = ipt_orddeptdrabbr.currentText;
  17649. if( orddrabbr == '' || orddrabbr == '-' || orddrabbr == ' ' ){
  17650. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  17651. ipt_orddeptdrabbr.refresh();
  17652. model.setFocus("ipt_orddeptabbr");
  17653. return false;
  17654. }
  17655. var orddrid = model.getValue("/root/init/orddrid[ drengabbr = '" + orddrabbr.toUpperCase() + "']/cd");
  17656. var orddeptcd = model.getValue("/root/init/orddrid[ drengabbr = '" + orddrabbr.toUpperCase() + "']/dp");
  17657. //진료과 세팅
  17658. if( orddeptcd != '' && orddeptcd != ' ' && orddeptcd != '-' ){
  17659. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd );
  17660. if( cmb_orddeptcd.visible == true ){
  17661. cmb_orddeptcd.refresh();
  17662. cmb_orddeptcd.dispatch("xforms-value-changed");
  17663. }else{
  17664. combo3.refresh();
  17665. combo3.dispatch("xforms-value-changed");
  17666. }
  17667. }else{
  17668. model.setValue("/root/main/otpt/otpt_orddeptabbr", "");
  17669. model.setValue("/root/main/otpt/otpt_orddrid", "" );
  17670. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  17671. model.setValue("/root/main/otpt/otpt_orddeptcd", "" );
  17672. if( cmb_orddeptcd.visible == true ){
  17673. cmb_orddeptcd.refresh();
  17674. }else{
  17675. combo3.refresh();
  17676. }
  17677. ipt_orddeptdrabbr.refresh();
  17678. model.setFocus("ipt_orddeptabbr");
  17679. return false;
  17680. }
  17681. //진료의 세팅
  17682. if( orddrid != '' && orddrid != ' ' && orddrid != '-' ){
  17683. model.setValue("/root/main/otpt/otpt_orddrid", orddrid );
  17684. if( cmb_orddrid.visible == true ){
  17685. cmb_orddrid.refresh();
  17686. cmb_orddrid.dispatch("xforms-value-changed");
  17687. }else{
  17688. combo4.refresh();
  17689. combo4.dispatch("xforms-value-changed");
  17690. }
  17691. model.setFocus("ipt_ordreqformflag");
  17692. }else{
  17693. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  17694. model.setValue("/root/main/otpt/otpt_orddrid", "" );
  17695. ipt_orddeptdrabbr.refresh();
  17696. if( cmb_orddrid.visible == true ){
  17697. cmb_orddrid.refresh();
  17698. model.setFocus("cmb_orddrid");
  17699. // cmb_orddrid.dispatch("onclick");
  17700. }else{
  17701. combo4.refresh();
  17702. model.setFocus("combo4");
  17703. // combo4.dispatch("onclick");
  17704. }
  17705. return false;
  17706. }
  17707. ]]>
  17708. </script>
  17709. <script type="javascript" ev:event="onkeypress">
  17710. <![CDATA[
  17711. if (event.keyCode == "13"){
  17712. if( ipt_orddeptdrabbr.currentText.length >= 4 ){
  17713. model.setFocus("ipt_ordreqformflag");
  17714. //ipt_orddeptdrabbr.dispatch("xforms-value-changed");
  17715. }else if( ipt_orddeptdrabbr.currentText.length == 0 ){
  17716. model.setFocus("ipt_orddeptabbr");
  17717. }else{
  17718. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  17719. model.setValue("/root/main/otpt/otpt_orddeptcd", "" );
  17720. ipt_orddeptdrabbr.refresh();
  17721. model.setFocus("ipt_orddeptdrabbr");
  17722. }
  17723. }
  17724. ]]>
  17725. </script>
  17726. </input>
  17727. <select1 id="cmb_rqstflag" ref="/root/main/otpt/otpt_rqstflag" class="combo_default" appearance="minimal" style="left:568px; top:402px; width:75px; height:19px; ">
  17728. <choices>
  17729. <itemset nodeset="/root/init_com/init/P0329list/P0329">
  17730. <label ref="cdnm"/>
  17731. <value ref="cdid"/>
  17732. </itemset>
  17733. </choices>
  17734. </select1>
  17735. <caption id="caption12" visibility="hidden" style="left:643px; top:735px; width:67px; height:15px; ">가예약내역</caption>
  17736. <caption id="caption16" visibility="hidden" style="left:625px; top:734px; width:15px; height:15px; background-color:#b9e5fb; "/>
  17737. <caption id="caption17" class="cell_2" visibility="hidden" style="left:580px; top:732px; width:42px; height:20px; ">범 례</caption>
  17738. <shape id="roundrect1" class="roundrect_example" visibility="hidden" appearance="roundrect" style="left:580px; top:725px; width:135px; height:25px; "/>
  17739. <caption id="caption33" class="cell_1" visibility="hidden" style="left:660px; top:377px; width:55px; height:23px; vertical-align:middle; ">원스탑</caption>
  17740. <input id="ipt_rqstdrid" ref="/root/main/otpt/otpt_rqstdrid" class="input_default" disabled="true" style="left:772px; top:402px; width:78px; height:19px; "/>
  17741. <input id="ipt_rqsthospcd" ref="/root/main/otpt/otpt_rqsthospcd" class="input_default" disabled="true" style="left:646px; top:402px; width:123px; height:19px; "/>
  17742. <button id="button3" class="icon_search" navindex="-1" style="left:1177px; top:625px; width:16px; height:16px; ">
  17743. <caption/>
  17744. <hint>
  17745. <![CDATA[현금영수증기준정보]]>
  17746. </hint>
  17747. <script type="javascript" ev:event="DOMActivate">
  17748. <![CDATA[
  17749. setParameter("SPPAO01800_PID", model.getValue("/root/main/ptbs/ptbs_pid") );
  17750. modal("SPPAO01800", "1","400", "400", "SPPAO01800", "", "");
  17751. //20100401 현금영수증 의무화
  17752. if (getParameter("SPPAO01800_RTN") == "N" || getParameter("SPPAO01800_RTN") == "") {
  17753. model.setValue("/root/hidden/com/card_cardno" , "");
  17754. model.setValue("/root/hidden/com/qualcnfmflag" , "");
  17755. model.makeValue("/root/send/cashbaseinfo/cashbase/qualcnfmno" , "");
  17756. model.makeValue("/root/send/cashbaseinfo/cashbase/qualcnfmflag" , "" );
  17757. model.setValue("/root/hidden/com/cardcashflag" , "C"); //Y-카드, N-현금영수증, C-현금
  17758. model.setValue("/root/hidden/com/cash_indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  17759. fCashQualCnfmno()
  17760. model.refresh();
  17761. return;
  17762. }
  17763. if( model.getValue("/root/hidden/com/cardcashflag") != 'N' ){
  17764. model.setValue("/root/hidden/com/cardcashflag", "N" );
  17765. radio1.dispatch("xforms-value-changed");
  17766. }
  17767. model.setValue("/root/hidden/com/qualcnfmflag", getParameter("SPPAO01800_qualcnfmflag") );
  17768. model.setValue("/root/hidden/com/card_cardno", getParameter("SPPAO01800_qualcnfmno") );
  17769. //20100401 현금영수증 의무화
  17770. model.makeValue("/root/send/cashbaseinfo/cashbase/qualcnfmflag", getParameter("SPPAO01800_qualcnfmflag") );
  17771. model.makeValue("/root/send/cashbaseinfo/cashbase/qualcnfmno", getParameter("SPPAO01800_qualcnfmno") );
  17772. fCashQualCnfmno();
  17773. ipt_cardno.refresh();
  17774. fAfterChangeCardNo();
  17775. ]]>
  17776. </script>
  17777. </button>
  17778. <input id="ipt_swipedata" ref="/root/hidden/com/swipedata" class="input_default" visibility="hidden" maxlength="25" style="left:685px; top:740px; width:170px; height:19px; "/>
  17779. <button id="button1" class="btn2_letter7" style="left:323px; top:16px; width:97px; height:19px; ">
  17780. <caption>전화/인터넷조회</caption>
  17781. <script type="javascript" ev:event="DOMActivate">
  17782. <![CDATA[
  17783. setParameter("SPPMO00800_NODEPATH", "/root/main/ptbs/ptbs_");
  17784. modal("SPPMO00800", "1","150", "150", "SPPMO00800", "", "");
  17785. //20080703 이동식 추가
  17786. //환자정보 조회 중 상태 표시
  17787. if( model.getValue("/root/main/ptbs/ptbs_hngnm") != '' && model.getValue("/root/main/ptbs/ptbs_rrgstno1") != '' && model.getValue("/root/main/ptbs/ptbs_rrgstno2") != '' ){
  17788. callLoadingWindow("");
  17789. //end,
  17790. fSearchOutRgstInfo();
  17791. //20080703 이동식 추가
  17792. //환자정보 조회 중 상태 표시 지우기
  17793. removeLoadingWindow() ;
  17794. //end,
  17795. }
  17796. ]]>
  17797. </script>
  17798. </button>
  17799. <bool id="bool5" checkvalue="Y,N" ref="/root/main/otpt/otpt_pmflag" style="left:771px; top:90px; width:20px; height:20px; ">
  17800. <script type="javascript" ev:event="xforms-value-changed">
  17801. <![CDATA[
  17802. if( model.getValue("/root/main/otpt/otpt_pmflag") == 'Y' ){
  17803. var ordtm = getCurrentTime().substr( 0, 4);
  17804. if( ordtm < '1330' ){
  17805. ordtm = '1330';
  17806. }
  17807. model.setValue("/root/main/otpt/otpt_ordtm", ordtm);
  17808. }else{
  17809. var ordtm = getCurrentTime().substr( 0, 4);
  17810. if( ordtm < '0830' ){
  17811. ordtm = '0830';
  17812. }else if( ordtm > '1200' && ordtm < '1330' ){
  17813. ordtm = '1330';
  17814. }
  17815. model.setValue("/root/main/otpt/otpt_ordtm", ordtm);
  17816. }
  17817. model.refresh();
  17818. ]]>
  17819. </script>
  17820. </bool>
  17821. <caption id="caption18" style="left:791px; top:90px; width:30px; height:20px; ">오후</caption>
  17822. <input id="ipt_ordreqformflag" ref="/root/main/otpt/otpt_ordreqformflag" class="input_default" navindex="22" imemode="disabled" maxlength="1" _chartype="upper" style="left:568px; top:114px; width:80px; height:19px; ">
  17823. <script type="javascript" ev:event="onkeypress">
  17824. <![CDATA[
  17825. if (event.keyCode == "13"){
  17826. model.setFocus("ipt_disccd");
  17827. }
  17828. ]]>
  17829. </script>
  17830. <script type="javascript" ev:event="xforms-value-changed">
  17831. <![CDATA[
  17832. cmb_ordreqformflag.refresh();
  17833. fCheckOrdReqForm();
  17834. model.setFocus("ipt_disccd");
  17835. ]]>
  17836. </script>
  17837. </input>
  17838. <button id="btn_stat" style="left:215px; top:433px; width:20px; height:20px; background-color:#c0c0c0; ">
  17839. <caption/>
  17840. <script type="javascript" ev:event="DOMActivate">
  17841. <![CDATA[
  17842. //2007-09-18 이동식 추가
  17843. //수정사항을 선택한 후 버튼을 클릭하면 선택해제 상태가 된다.
  17844. if (btn_stat.attribute("background-color") == "#ff0000" || btn_stat.attribute("background-color") == "#0000ff"){
  17845. fInitUpdtMultiData();
  17846. //end..
  17847. //messageBox("확인! 변경/취소 대상내역해제! 접수할 과/의사/일자 정확히 선택하십시요!","E999","");
  17848. }
  17849. ]]>
  17850. </script>
  17851. </button>
  17852. <bool id="bool6" checkvalue="Y,N" ref="/root/hidden/com/rectoneyear" style="left:405px; top:434px; width:20px; height:20px; ">
  17853. <script type="javascript" ev:event="xforms-value-changed">
  17854. <![CDATA[
  17855. if( model.getValue("/root/hidden/com/rectoneyear") == 'Y' || model.getValue("/root/hidden/com/rectoneyear") == 'y'){
  17856. var curDate = getCurrentDate();
  17857. curDate = curDate.toDate().getAddDate(-1,"Y");
  17858. var aYearAgo = curDate.getFullYear();
  17859. aYearAgo = aYearAgo.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  17860. aYearAgo = aYearAgo.toString() + (( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
  17861. grd_outhist.attribute("nodeset") = "/root/main/h_otpt/otpt[ otpt_orddd >= " + aYearAgo + "]";
  17862. //grd_outhist.rebuild();
  17863. }else{
  17864. grd_outhist.attribute("nodeset") = "/root/main/h_otpt/otpt";
  17865. //grd_outhist.rebuild();
  17866. }
  17867. // model.refresh();
  17868. grd_outhist.rebuild();
  17869. ]]>
  17870. </script>
  17871. </bool>
  17872. <caption id="caption15" style="left:425px; top:434px; width:100px; height:20px; ">최근 1년 외래이력</caption>
  17873. <select1 id="rdo_histstat" ref="/root/hidden/com/histstat" appearance="full" cellspacing="8" cols="2" overflow="visible" style="left:249px; top:435px; width:146px; height:18px; background-color:transparent; border-style:none; ">
  17874. <choices>
  17875. <item>
  17876. <label>접수이력</label>
  17877. <value>R</value>
  17878. </item>
  17879. <item>
  17880. <label>취소이력</label>
  17881. <value>X</value>
  17882. </item>
  17883. </choices>
  17884. <script type="javascript" ev:event="xforms-select">
  17885. <![CDATA[
  17886. var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17887. var acptdd = model.getValue("/root/main/ptbs/ptbs_acptdd");
  17888. if( (pid == '' || pid ==' ' || pid == '-') && (acptdd == '' || acptdd == ' ' || acptdd == '-')){
  17889. messageBox("환자정보가 조회되지 않았습니다. 환자조회 후 하십시요!!", "E999", "");
  17890. model.setValue("/root/hidden/com/histstat", "R");
  17891. model.refresh();
  17892. return false;
  17893. }
  17894. if (btn_stat.attribute("background-color") == "#ff0000"){
  17895. btn_stat.dispatch("DOMActivate");
  17896. }
  17897. // if (getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0){
  17898. // messageBox("확인! 멀티접수내역이 존재! 조회하려면 멀티접수내역 처리[접수/행삭제] 후 하세요","E999","");
  17899. // model.setValue("/root/hidden/com/histstat","R");
  17900. // model.refresh();
  17901. // return;
  17902. // }
  17903. if( model.getValue("/root/hidden/com/histstat") == 'X'){
  17904. grd_outhist.colHidden( grd_outhist.colRef("otpt_cnclrnm")) = true;
  17905. grd_outhist.colHidden( grd_outhist.colRef("otpt_cncldt")) = true;
  17906. //이미 조회되어 있는 외래이력 노드들을 삭제한다.
  17907. model.removeNodeset("/root/main/c_otpt/otpt");
  17908. model.removeNodeset("/root/main/m_otpt/otpt");
  17909. model.removeNodeset("/root/main/t_otpt/otpt");
  17910. model.removeNodeset("/root/main/h_otpt/otpt");
  17911. fAcptCnclRef();
  17912. }else{
  17913. grd_outhist.colHidden( grd_outhist.colRef("otpt_cnclrnm")) = false;
  17914. grd_outhist.colHidden( grd_outhist.colRef("otpt_cncldt")) = false;
  17915. if( pid == '' || pid ==' ' || pid == '-'){
  17916. fPatInfoRef("2");
  17917. }else{
  17918. fPatInfoRef("1");
  17919. }
  17920. model.refresh();
  17921. }
  17922. ]]>
  17923. </script>
  17924. </select1>
  17925. <select1 id="cmb_subdeptcd" ref="/root/main/otpt/otpt_subdeptcd" class="combo_default" disabled="true" appearance="minimal" style="left:763px; top:42px; width:87px; height:19px; ">
  17926. <choices>
  17927. <itemset nodeset="/root/init/subdeptcd/subdeptcdlist">
  17928. <label ref="nm"/>
  17929. <value ref="cd"/>
  17930. </itemset>
  17931. </choices>
  17932. <script type="javascript" ev:event="xforms-value-changed">
  17933. <![CDATA[
  17934. var orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  17935. var subdeptcd = model.getValue("/root/main/otpt/otpt_subdeptcd");
  17936. /*
  17937. if( subdeptcd != '' && subdeptcd != '-' ){
  17938. if( cmb_orddrid.visible == true ){
  17939. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + subdeptcd + "']";
  17940. }else{
  17941. combo4.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + subdeptcd + "']";
  17942. }
  17943. }else{
  17944. if( cmb_orddrid.visible == true ){
  17945. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + orddeptcd + "']";
  17946. }else{
  17947. combo4.choices.itemset.attribute("nodeset") = "/root/init/orddrid[dp = '" + orddeptcd + "']";
  17948. }
  17949. }
  17950. */
  17951. model.setValue("/root/main/otpt/otpt_orddrid", "");
  17952. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", "");
  17953. cmb_orddrid.refresh();
  17954. combo4.refresh();
  17955. ]]>
  17956. </script>
  17957. </select1>
  17958. <button id="button4" class="btn4_letter6" style="left:393px; top:735px; width:104px; height:22px; ">
  17959. <caption>카드전표출력</caption>
  17960. <script type="javascript" ev:event="DOMActivate">
  17961. <![CDATA[
  17962. setParameter("SPPAO00401_PID_PARM", model.getValue("/root/main/ptbs/ptbs_pid"));
  17963. modal("SPPAO00401", "1", "150", "150" ,"SPPAO00401", "", "");
  17964. ]]>
  17965. </script>
  17966. </button>
  17967. <button id="button5" class="btn5_letter4" visibility="hidden" style="left:256px; top:16px; width:64px; height:19px; ">
  17968. <caption>가상계좌</caption>
  17969. <script type="javascript" ev:event="DOMActivate">
  17970. <![CDATA[
  17971. // var ptbs_pid = model.getValue("/root/main/ptbs/ptbs_pid");
  17972. // if (ptbs_pid == "" || ptbs_pid == " " || ptbs_pid == null || ptbs_pid == "-"){
  17973. // messageBox("환자 조회후에 인적사항변경하십시요!","E999","");
  17974. // return;
  17975. // }
  17976. fCreateVirtualAccount();
  17977. ]]>
  17978. </script>
  17979. </button>
  17980. <caption id="caption21" class="cell_1" style="left:0px; top:377px; width:135px; height:23px; vertical-align:middle; ">가상계좌번호</caption>
  17981. <line id="line158" class="line_3" style="x1:0px; y1:424px; x2:420px; y2:424px; "/>
  17982. <select id="checkbox1" ref="/root/hidden/com/searchInsuInfoYN" overflow="visible" appearance="full" style="left:444px; top:711px; width:67px; height:20px; border-style:none; ">
  17983. <choices>
  17984. <item>
  17985. <label>자격조회</label>
  17986. <value>Y</value>
  17987. </item>
  17988. </choices>
  17989. </select>
  17990. <bool id="bool7" checkvalue="Y,N" ref="/root/hidden/flag/check_card" style="left:977px; top:671px; width:20px; height:20px; "/>
  17991. <bool id="bool8" visibility="hidden" checkvalue="Y,N" ref="/root/hidden/flag/check_cash" style="left:956px; top:695px; width:20px; height:20px; "/>
  17992. <output id="output2" ref="/root/main/opmi/opmi_prepregdmndamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:454px; width:106px; height:19px; text-align:right; "/>
  17993. <caption id="caption22" class="cell_1" style="left:855px; top:453px; width:121px; height:23px; vertical-align:middle; ">기산전액/</caption>
  17994. <input id="input1" ref="/root/main/opmi/opmi_pregdmndamt" class="input_default" navindex="43" format="(-)#,###" appearance="input" style="left:1085px; top:454px; width:108px; height:19px; text-align:right; ">
  17995. <script type="javascript" ev:event="DOMFocusOut">
  17996. <![CDATA[
  17997. var pregdmndamt = model.getValue("/root/main/opmi/opmi_pregdmndamt");
  17998. //산전지원금이 수치형이 아닐경우.
  17999. if( pregdmndamt == '' || pregdmndamt == null || isNaN(pregdmndamt) ){
  18000. messageBox("산전지원금을 정확히 입력하세요! 잘못된 금액을 입력하셨습니다!", "E999", "");
  18001. model.setValue("/root/main/opmi/opmi_pregdmndamt", '0');
  18002. input1.refresh();
  18003. fCalcRcpt2();
  18004. return false;
  18005. }
  18006. //멀티 입력일 경우 감액 선택 불가
  18007. var m_opmi_cnt = parseInt( getNodesetCount("/root/main/m_opmi/opmi/opmi_pid") );
  18008. if (m_opmi_cnt > 1){
  18009. messageBox("멀티접수시는 산전지원금 적용불가능합니다!!","E999","");
  18010. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18011. input1.refresh();
  18012. fCalcRcpt2();
  18013. return false;
  18014. }
  18015. var orddeptcd = '';
  18016. if(m_opmi_cnt == 1){
  18017. orddeptcd = model.getValue("/root/main/m_otpt/otpt[otpt_check = 'Y']/otpt_orddeptcd");
  18018. }else{
  18019. orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  18020. }
  18021. if( model.getValue("/root/init/orddeptcd[cd = '" + orddeptcd + "']/reqdeptno") != '10' ){
  18022. messageBox("산부인과만 산전지원비 청구가능합니다.", "E999", "");
  18023. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18024. input1.refresh();
  18025. fCalcRcpt2();
  18026. return false;
  18027. }
  18028. // var m_opmi_cnt = parseInt( getNodesetCount("/root/main/m_opmi/opmi/opmi_pid") );
  18029. // if (m_opmi_cnt > 0){
  18030. // if( model.getValue("") == ){
  18031. //
  18032. // }
  18033. // messageBox("멀티접수시는 산전지원금 적용불가능합니다!!","E999","");
  18034. // model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18035. // input1.refresh();
  18036. // }
  18037. /*
  18038. * 산전비 일일 사용한도 폐지에 따른 수정 - 2013.04.18
  18039. * 2013.04.22 부터 의료급여 환자의 임신출산진료비 1일 사용한도가 폐지
  18040. */
  18041. if(model.getValue("/root/main/otpt/otpt_orddd") < '20130422'){
  18042. //2011.04.01 부터 산전비 일일한도 6만원으로 상승
  18043. if(model.getValue("/root/main/otpt/otpt_orddd") < '20110401'){
  18044. if( parseInt(pregdmndamt) > 40000 ){
  18045. messageBox("산전지원금은 1일 최대 4만원까지 적용가능합니다. 금액을 확인해 주세요!!","E999","");
  18046. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18047. input1.refresh();
  18048. fCalcRcpt2();
  18049. return false;
  18050. }
  18051. }else{
  18052. if( parseInt(pregdmndamt) > 60000 ){
  18053. messageBox("산전지원금은 1일 최대 6만원까지 적용가능합니다. 금액을 확인해 주세요!!","E999","");
  18054. model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18055. input1.refresh();
  18056. fCalcRcpt2();
  18057. return false;
  18058. }
  18059. }
  18060. }
  18061. // else if( parseInt(pregdmndamt) > parseInt(model.getValue("/root/main/opmi/opmi_targetamt"))){
  18062. // messageBox("산전지원금이 납부할 금액보다 큽니다!! 확인 후 다시 시도해주세요!!","E999","");
  18063. // model.setValue("/root/main/opmi/opmi_pregdmndamt", 0);
  18064. // input1.refresh();
  18065. // }
  18066. fCalcRcpt2();
  18067. ]]>
  18068. </script>
  18069. <script type="javascript" ev:event="onkeypress">
  18070. <![CDATA[
  18071. if (event.keyCode == "13") {
  18072. model.setValue("/root/main/opmi/opmi_pregdmndamt", input1.currentText);
  18073. input1.refresh();
  18074. model.setFocus("radio1");
  18075. }
  18076. ]]>
  18077. </script>
  18078. </input>
  18079. <output id="output3" ref="/root/main/opmi/opmi_suppamt" class="output_fix" format="(-)#,###" appearance="output" style="left:977px; top:405px; width:106px; height:19px; text-align:right; "/>
  18080. <caption id="caption23" style="left:999px; top:671px; width:77px; height:20px; font-weight:bold; ">승인완료</caption>
  18081. <button id="button7" class="btn2_letter4" style="left:2px; top:93px; width:64px; height:19px; ">
  18082. <caption>주민번호</caption>
  18083. <script type="javascript" ev:event="DOMActivate">
  18084. <![CDATA[
  18085. fEasyPadNoInsert("rrgstno");
  18086. ]]>
  18087. </script>
  18088. </button>
  18089. <button id="button9" class="btn2_letter7" style="left:857px; top:623px; width:92px; height:19px; ">
  18090. <caption>현금영수증번호</caption>
  18091. <script type="javascript" ev:event="DOMActivate">
  18092. <![CDATA[
  18093. fEasyPadNoInsert("phone");
  18094. ]]>
  18095. </script>
  18096. </button>
  18097. <button id="button10" class="btn4_letter6" style="left:498px; top:735px; width:104px; height:22px; ">
  18098. <caption>환불내역조회</caption>
  18099. <script type="javascript" ev:event="DOMActivate">
  18100. <![CDATA[
  18101. fRtnRcpt("1");
  18102. ]]>
  18103. </script>
  18104. </button>
  18105. <button id="button6" class="btn2_letter3" style="left:916px; top:455px; width:53px; height:19px; ">
  18106. <caption>산전비</caption>
  18107. <script type="javascript" ev:event="DOMActivate">
  18108. <![CDATA[
  18109. if (gs_prcs != "2"){
  18110. messageBox("수가계산 후 산전지원금 적용 가능합니다.","E999","");
  18111. return;
  18112. }
  18113. //멀티 입력일 경우 감액 선택 불가
  18114. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  18115. if (m_opmi_cnt > 1){
  18116. messageBox("멀티접수시는 산전지원금 적용 불가능합니다!","E999","");
  18117. return;
  18118. }
  18119. if (model.getValue("/root/main/otpt/otpt_orddd") > getCurrentDate()) {
  18120. messageBox("미래일자는 산전지원비 입력이 불가능합니다.","E999","");
  18121. return;
  18122. }
  18123. var orddeptcd = '';
  18124. if(m_opmi_cnt == 1){
  18125. orddeptcd = model.getValue("/root/main/m_otpt/otpt[otpt_check = 'Y']/otpt_orddeptcd");
  18126. }else{
  18127. orddeptcd = model.getValue("/root/main/otpt/otpt_orddeptcd");
  18128. }
  18129. if( model.getValue("/root/init/orddeptcd[cd = '" + orddeptcd + "']/reqdeptno") != '10' ){
  18130. messageBox("산부인과만 산전지원비 청구가능합니다.", "E999", "");
  18131. return false;
  18132. }
  18133. if(model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1 || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2){
  18134. //보험증번호 조회(보험자격조회)
  18135. var parm = model.getValue("/root/main/ptbs/ptbs_rrgstno1") +
  18136. model.getValue("/root/main/ptbs/ptbs_rrgstno2") + "▦" + //주민번호
  18137. model.getValue("/root/main/ptbs/ptbs_hngnm") + "▦" + //이름
  18138. model.getValue("/root/main/otpt/otpt_orddd") + "▦" + //외래진료일자
  18139. model.getValue("/root/main/otpt/otpt_cretno") + "▦" + //생성번호
  18140. "O" + "▦" + //진료형태
  18141. "" + "▦" + //퇴원일자
  18142. "0" + "▦" + //본인일부부담금
  18143. "" + "▦" + //기관부담금
  18144. model.getValue("/root/main/ptbs/ptbs_pid") + "▦" + //등록번호
  18145. cmb_orddeptcd.value + "▦" + //진료과
  18146. "" + "▦" + //본인부담구분
  18147. "0" + "▦" + //비급여총금액
  18148. model.getValue("/root/main/opmi/opmi_pregdmndamt") + "▦"; //산전지원금
  18149. setParameter("SPPMC03900_PARM",parm);
  18150. setParameter("SPPMC03900_RTN","");
  18151. modal("SPPMC03900", "1","400", "400", "SPPMC03900", "", "");
  18152. // model.setValue("/root/send/pid" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_pid"));
  18153. // model.setValue("/root/send/orddd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  18154. // model.setValue("/root/send/cretno" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno"));
  18155. // model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  18156. // submit("TRPAO00127");
  18157. //
  18158. // model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  18159. // model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  18160. //
  18161. // //납부할 금액 세팅
  18162. // fCalcRcptexptAmt();
  18163. }else{
  18164. // setParameter("SPPAO00400_PREGDMNDYN", 'Y');
  18165. // fOpenCardPopUp();
  18166. // clearParameter("SPPAO00400_PREGDMNDYN");
  18167. messageBox("의료급여의 대상자만 산전지원비 청구가능합니다.", "E999", "");
  18168. return false;
  18169. }
  18170. ]]>
  18171. </script>
  18172. </button>
  18173. <select1 id="cmb_centcd" ref="/root/main/otpt/otpt_centcd" class="combo_default" visibility="hidden" appearance="minimal" style="left:469px; top:42px; width:95px; height:19px; ">
  18174. <choices>
  18175. <itemset nodeset="/root/init/centcd/centcdlist">
  18176. <label ref="nm"/>
  18177. <value ref="cd"/>
  18178. </itemset>
  18179. </choices>
  18180. <script type="javascript" ev:event="xforms-value-changed">
  18181. <![CDATA[
  18182. var centcd = model.getValue("/root/main/otpt/otpt_centcd");
  18183. var specordyn = model.getValue("/root/main/otpt/otpt_specordyn");
  18184. if (specordyn == "" || specordyn =="-" || specordyn == null) {
  18185. specordyn = "Y";
  18186. }
  18187. var medamtestmyn = model.getValue("/root/main/otpt/otpt_medamtestmyn");
  18188. if (medamtestmyn == "" || medamtestmyn =="-" || medamtestmyn == null){
  18189. medamtestmyn = "Y";
  18190. }
  18191. if( centcd == '' || centcd == '-' ){
  18192. combo3.visible = false;
  18193. // combo4.visible = false;
  18194. cmb_orddeptcd.visible = true;
  18195. // cmb_orddrid.visible = true;
  18196. model.setValue("/root/main/otpt/otpt_orddeptcd", '');
  18197. model.setValue("/root/main/otpt/otpt_orddrid", '');
  18198. model.setValue("/root/main/otpt/otpt_orddeptabbr", '');
  18199. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", '');
  18200. /* 외래이력 조회 시 진찰료 산정 여부 설정 오류 수정 - 2013.11.19
  18201. //신종플루
  18202. //신종플루예방접종
  18203. var setcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  18204. if(setcordflag == "" || setcordflag == "-" || setcordflag == "W" || setcordflag == "Y"){
  18205. if (setcordflag == "Y") {
  18206. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  18207. } else {
  18208. model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  18209. }
  18210. model.setValue("/root/main/otpt/otpt_etcordflag", "-");
  18211. model.setValue("/root/main/otpt/otpt_medamtestmyn", "Y");
  18212. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "");
  18213. cmb_medamtfreeresn.disabled = true;
  18214. rdo_specordyn.refresh();
  18215. rdo_medamtestmyn.refresh();
  18216. cmb_medamtfreeresn.refresh();
  18217. } else {
  18218. model.setValue("/root/main/otpt/otpt_etcordflag", setcordflag);
  18219. }
  18220. */
  18221. cmb_etcordflag.refresh();
  18222. cmb_orddeptcd.refresh();
  18223. cmb_orddrid.refresh();
  18224. ipt_orddeptabbr.refresh();
  18225. ipt_orddeptdrabbr.refresh();
  18226. }else{
  18227. var instcd = model.getValue("/root/hidden/session/sess_dutplceinstcd");
  18228. var deptcd = centcd;
  18229. var base_dd = new Date().getDateFormat("YYYYMMDD");
  18230. var sort_field = "dispseq"; //정렬필드(출력순서:'dispseq')
  18231. var sort_method = "asc"; //정렬방법(오름차순:'asc')
  18232. zsufGetCntrSubOrdDepartmentList(instcd, deptcd, 'out', "/root/hidden2/init/cntrsuborddeptlist", base_dd);
  18233. // zsufGetCntrSubOrdDepartmentList(instcd, deptcd, 'O', "/root/hidden2/init/cntrsuborddeptlist", base_dd);
  18234. // zsufGetCntrOrdDeptDoctorList(instcd, deptcd, 'O', "/root/hidden2/init/cntrorddeptdoctorlist",sort_field, sort_method, base_dd);
  18235. combo3.visible = true;
  18236. // combo4.visible = true;
  18237. cmb_orddeptcd.visible = false;
  18238. // cmb_orddrid.visible = false;
  18239. model.setValue("/root/main/otpt/otpt_orddeptcd", '');
  18240. model.setValue("/root/main/otpt/otpt_orddrid", '');
  18241. model.setValue("/root/main/otpt/otpt_orddeptabbr", '');
  18242. model.setValue("/root/main/otpt/otpt_orddeptdrabbr", '');
  18243. /* 외래이력 조회 시 진찰료 산정 여부 설정 오류 수정 - 2013.11.19
  18244. //서울성모 신종플루 센터 적용으로 임시 적용
  18245. //if (centcd == "2430000000") {
  18246. if (centcd == FluCent) {
  18247. model.setValue("/root/main/otpt/otpt_etcordflag", "W");
  18248. } else if (centcd == FluPrevenCent) { //신종플루예방접종센터
  18249. model.setValue("/root/main/otpt/otpt_etcordflag", "Y");
  18250. model.setValue("/root/main/otpt/otpt_medamtestmyn", "N");
  18251. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  18252. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "27");
  18253. cmb_medamtfreeresn.disabled = false;
  18254. rdo_specordyn.refresh();
  18255. rdo_medamtestmyn.refresh();
  18256. cmb_medamtfreeresn.refresh();
  18257. } else {
  18258. var setcordflag = model.getValue("/root/main/otpt/otpt_etcordflag");
  18259. if(setcordflag == "" || setcordflag == "-" || setcordflag == "W" || setcordflag == "Y"){
  18260. if (setcordflag == "Y") {
  18261. model.setValue("/root/main/otpt/otpt_specordyn", "N");
  18262. } else {
  18263. model.setValue("/root/main/otpt/otpt_specordyn", specordyn);
  18264. }
  18265. model.setValue("/root/main/otpt/otpt_etcordflag", "-");
  18266. model.setValue("/root/main/otpt/otpt_medamtestmyn", "Y");
  18267. model.setValue("/root/main/otpt/otpt_medamtfreeresn", "");
  18268. cmb_medamtfreeresn.disabled = true;
  18269. rdo_specordyn.refresh();
  18270. rdo_medamtestmyn.refresh();
  18271. cmb_medamtfreeresn.refresh();
  18272. } else {
  18273. model.setValue("/root/main/otpt/otpt_etcordflag", setcordflag);
  18274. }
  18275. }
  18276. cmb_etcordflag.refresh();
  18277. //서울성모 신종플루 센터 적용으로 임시 적용 END
  18278. */
  18279. cmb_orddeptcd.refresh();
  18280. cmb_orddrid.refresh();
  18281. ipt_orddeptabbr.refresh();
  18282. ipt_orddeptdrabbr.refresh();
  18283. }
  18284. model.refresh();
  18285. ]]>
  18286. </script>
  18287. </select1>
  18288. <caption id="caption8" class="cell_1" style="left:660px; top:377px; width:60px; height:23px; vertical-align:middle; ">주부유형</caption>
  18289. <line id="line127" class="line_3" style="x1:425px; y1:424px; x2:850px; y2:424px; "/>
  18290. <select1 id="rdo_medamtpostyn" ref="/root/main/otpt/otpt_medamtpostyn" navindex="19" appearance="full" cellspacing="6" cols="3" overflow="visible" style="left:568px; top:235px; width:172px; height:18px; background-color:transparent; border-style:none; ">
  18291. <choices>
  18292. <item>
  18293. <label>선불</label>
  18294. <value>N</value>
  18295. </item>
  18296. <item>
  18297. <label>후불</label>
  18298. <value>Y</value>
  18299. </item>
  18300. <item>
  18301. <label>수납 VIP</label>
  18302. <value>V</value>
  18303. </item>
  18304. </choices>
  18305. <script type="javascript" ev:event="xforms-select">
  18306. <![CDATA[
  18307. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  18308. if( RCPTVIPYN != 'Y' ){
  18309. if(otpt_medamtpostyn == 'V'){
  18310. if(getUserInfo("dutplceinstcd")!="033"){
  18311. messageBox("현재 수납VIP로 접수하실 수 없습니다.", "E999", "");
  18312. }
  18313. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N');
  18314. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  18315. model.refresh();
  18316. return;
  18317. }
  18318. }
  18319. //2009-03-09 이동식 추가
  18320. if( otpt_medamtpostyn != 'V' ){
  18321. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  18322. combo2.refresh();
  18323. }
  18324. //신화후불접수의 경우 자동 채번
  18325. // if( otpt_medamtpostyn == 'Y' ){
  18326. //
  18327. // var pid = model.getValue("/root/main/ptbs/ptbs_pid");
  18328. // if( pid == '' || pid == '-' || pid == ' ' || pid == null ){
  18329. // messageBox("신환환자 후불 접수 시, '수가계산'을 먼저 하셔서 환자번호 채번 후 계속 진행하세요.", "E000", "");
  18330. // model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N');
  18331. // rdo_medamtpostyn.refresh();
  18332. // return false;
  18333. // }
  18334. //
  18335. // }
  18336. //2007-12-21 이동식 수정 - 멀티접수시 '후불' 선택 불가!!!!
  18337. if( getNodesetCount("/root/main/m_otpt/otpt[ otpt_check = 'Y' ]") > 0 ){
  18338. //후불일 경우
  18339. if( otpt_medamtpostyn != 'N' ){
  18340. messageBox("멀티접수 할 내역이 입력되어 있습니다. 후불/수납VIP 접수 하실려면 입력된 멀티접수 내역을 체크해지한 후 진행하세요!", "E999", "");
  18341. model.setValue("/root/main/otpt/otpt_medamtpostyn", "N");
  18342. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  18343. model.refresh();
  18344. return false;
  18345. }
  18346. }
  18347. if (btn_stat.attribute("background-color") == "#ff0000") //변경
  18348. {
  18349. btn_save.disabled = true;
  18350. var otpt_medamtpostyn_old = model.getValue("/root/main/otpt_old/otpt_medamtpostyn_old");
  18351. var otpt_medamtpostyn = model.getValue("/root/main/otpt/otpt_medamtpostyn");
  18352. if (otpt_medamtpostyn_old != otpt_medamtpostyn)
  18353. {
  18354. messageBox("확인! 진찰료 선후불 내역은 변경불가합니다! 외래수납하시거나 취소 후 재접수하십시요!","E999","");
  18355. model.setValue("/root/main/otpt/otpt_medamtpostyn",otpt_medamtpostyn_old);
  18356. model.refresh();
  18357. return;
  18358. }
  18359. }else
  18360. {
  18361. //2007-10-12 이동식 추가
  18362. if (gs_prcs == "2"){
  18363. if( otpt_medamtpostyn == 'N' ){
  18364. gs_prcs = "1"
  18365. //2007-11-30 이동식 수정 - 수가계산로직 함수처리
  18366. //btn_calcscorcalc.dispatch("DOMActivate");
  18367. fCallCalcscorcalc();
  18368. //fCalcRcpt2();
  18369. }else{
  18370. // gs_prcs = '2'
  18371. fBaseDataInitOpmi();
  18372. model.resetInstanceNode("/root/main/oscl");
  18373. fCalcRcpt2();
  18374. }
  18375. }else{
  18376. if (otpt_medamtpostyn == "N"){
  18377. btn_save.disabled = true;
  18378. gs_prcs = "1";
  18379. }else{
  18380. btn_save.disabled = false;
  18381. // gs_prcs = "2";
  18382. }
  18383. }
  18384. }
  18385. model.refresh();
  18386. ]]>
  18387. </script>
  18388. </select1>
  18389. <caption id="caption11" style="left:671px; top:209px; width:50px; height:20px; ">수동부여</caption>
  18390. <bool id="bool4" checkvalue="Y,N" ref="/root/main/otpt/otpt_fsexammanlyn" style="left:651px; top:209px; width:20px; height:20px; ">
  18391. <script type="javascript" ev:event="xforms-value-changed">
  18392. <![CDATA[
  18393. //var otpt_fsexammanlyn = model.getValue("/root/main/otpt/otpt_fsexammanlyn");
  18394. var otpt_fsexammanlyn = bool4.value;
  18395. if (otpt_fsexammanlyn == "Y"){
  18396. cmb_fsexamflag.disabled = false;
  18397. }else{
  18398. //초재진 함수
  18399. cmb_fsexamflag.disabled = true;
  18400. fFsexamflagVeri();
  18401. }
  18402. ]]>
  18403. </script>
  18404. </bool>
  18405. <select1 id="combo2" ref="/root/main/otpt/otpt_rcptvipresncd" class="combo_default" navindex="23" appearance="minimal" itemcount="20" style="left:750px; top:233px; width:99px; height:19px; ">
  18406. <choices>
  18407. <itemset nodeset="/root/init_com/init/P0477list/P0477">
  18408. <label ref="cdnm"/>
  18409. <value ref="cdid"/>
  18410. </itemset>
  18411. </choices>
  18412. <script type="javascript" ev:event="xforms-select">
  18413. <![CDATA[
  18414. // fDiscCDSelect();
  18415. //2007-12-07 이동식 추가
  18416. if(model.getValue("/root/main/otpt/otpt_rcptvipresncd") == '-'
  18417. || model.getValue("/root/main/otpt/otpt_rcptvipresncd") == ''){
  18418. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N');
  18419. rdo_medamtpostyn.dispatch("xforms-select");
  18420. }else{
  18421. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'V');
  18422. rdo_medamtpostyn.dispatch("xforms-select");
  18423. }
  18424. ]]>
  18425. </script>
  18426. </select1>
  18427. <select1 id="cmb_fsexamflag" ref="/root/main/otpt/otpt_fsexamflag" class="combo_default" disabled="true" navindex="21" appearance="minimal" style="left:568px; top:209px; width:80px; height:19px; ">
  18428. <choices>
  18429. <itemset nodeset="/root/init_com/init/P0021list/P0021">
  18430. <label ref="cdnm"/>
  18431. <value ref="cdid"/>
  18432. </itemset>
  18433. </choices>
  18434. </select1>
  18435. <caption id="caption19" class="cell_1" style="left:425px; top:208px; width:140px; height:23px; vertical-align:middle; ">초/재진</caption>
  18436. <caption id="caption100" class="cell_1" style="left:425px; top:232px; width:140px; height:23px; vertical-align:middle; ">진찰료 선후불/VIP구분</caption>
  18437. <caption id="caption102" class="cell_1" style="left:425px; top:184px; width:140px; height:23px; vertical-align:middle; ">가접수 적용사유</caption>
  18438. <caption id="caption104" class="cell_1" style="left:425px; top:256px; width:140px; height:23px; vertical-align:middle; ">계정감면</caption>
  18439. <caption id="caption105" class="cell_1" style="left:425px; top:280px; width:140px; height:23px; vertical-align:middle; ">직원성명</caption>
  18440. <select1 id="cmb_disccd" ref="/root/main/otpt/otpt_disccd" class="combo_default" disabled="true" navindex="23" appearance="minimal" editmode="search" itemcount="20" showvalue="true" style="left:651px; top:257px; width:199px; height:19px; ">
  18441. <choices>
  18442. <itemset nodeset="/root/init/disccd">
  18443. <label ref="nm"/>
  18444. <value ref="cd"/>
  18445. </itemset>
  18446. </choices>
  18447. <script type="javascript" ev:event="xforms-select">
  18448. <![CDATA[
  18449. // fDiscCDSelect();
  18450. //2007-12-07 이동식 추가
  18451. if(! fCheckPsnRetireInfo()){
  18452. model.setFocus("input6");
  18453. }
  18454. ]]>
  18455. </script>
  18456. </select1>
  18457. <input id="ipt_emplnm" ref="/root/main/otpt/otpt_emplnm" class="input_default" appearance="input" style="left:671px; top:281px; width:180px; height:19px; "/>
  18458. <button id="button41" class="btn2_letter4" style="left:500px; top:258px; width:64px; height:19px; ">
  18459. <caption>직원가족</caption>
  18460. <script type="javascript" ev:event="DOMActivate">
  18461. <![CDATA[
  18462. fGetEmplInfo();
  18463. ]]>
  18464. </script>
  18465. </button>
  18466. <input id="ipt_emplno" ref="/root/main/otpt/otpt_emplno" class="input_default" maxlength="10" appearance="input" style="left:568px; top:281px; width:80px; height:19px; "/>
  18467. <input id="ipt_disccd" ref="/root/main/otpt/otpt_disccd" class="input_default" disabled="true" navindex="22" imemode="disabled" maxlength="4" _chartype="upper" style="left:568px; top:257px; width:80px; height:19px; ">
  18468. <script type="javascript" ev:event="onkeypress">
  18469. <![CDATA[
  18470. if (event.keyCode == "13"){
  18471. if( ( model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHeom
  18472. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_Noin
  18473. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo1
  18474. || model.getValue("/root/main/otpt/otpt_insukind") == gsInsu_BoHo2
  18475. || model.getValue("/root/main/otpt/otpt_insukind") == ''
  18476. || model.getValue("/root/main/otpt/otpt_insukind") == '-' )
  18477. //&& model.getValue("/root/main/otpt/otpt_suppkind") != gsSupp_100
  18478. ){
  18479. if( model.getValue("/root/hidden/flag/check_insuinfo_flag") != 'Y' && model.getValue("/root/hidden/com/searchInsuInfoYN") == 'Y'){
  18480. fInsuInfoSearch("I");
  18481. return
  18482. }
  18483. }
  18484. model.setFocus("input6");
  18485. }
  18486. ]]>
  18487. </script>
  18488. <script type="javascript" ev:event="xforms-value-changed">
  18489. <![CDATA[
  18490. // fDiscCDSelect();
  18491. var disccd = model.getValue("/root/main/otpt/otpt_disccd");
  18492. if( getNodesetCount("/root/init/disccd[ cd = '" + disccd + "' ]/nm") < 1 ){
  18493. messageBox("할인코드를 잘못 입력하셨습니다. 확인 후 다시 입력하세요!", "E999", "");
  18494. model.setValue("/root/main/otpt/otpt_disccd", '-');
  18495. //2009-02-18 이동식 추가 감면코드 잘못들어오면 선불로 변경
  18496. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N');
  18497. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  18498. rdo_medamtpostyn.dispatch("xforms-select");
  18499. ipt_disccd.refresh();
  18500. cmb_disccd.refresh();
  18501. }else{
  18502. var vipYN = model.getValue("/root/init/disccd[ cd = '" + disccd + "' ]/aftrcptyn");
  18503. if( vipYN == 'Y' ){
  18504. //2009-02-18 이동식 추가 감면코드 후수납대상 코드 이면 vip 후수납 체크
  18505. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'V');
  18506. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '01');
  18507. rdo_medamtpostyn.dispatch("xforms-select");
  18508. }else{
  18509. //2009-02-18 이동식 추가 감면코드 잘못들어오면 선불로 변경
  18510. model.setValue("/root/main/otpt/otpt_medamtpostyn", 'N');
  18511. model.setValue("/root/main/otpt/otpt_rcptvipresncd", '-');
  18512. rdo_medamtpostyn.dispatch("xforms-select");
  18513. }
  18514. }
  18515. //2007-12-07 이동식 추가
  18516. if(! fCheckPsnRetireInfo()){
  18517. model.setFocus("input6");
  18518. }
  18519. ]]>
  18520. </script>
  18521. </input>
  18522. <input id="input3" ref="/root/main/otpt/otpt_rcptvipetcresn" class="input_default" maxlength="50" style="left:568px; top:185px; width:282px; height:19px; "/>
  18523. <button id="btn_emp_search2" class="icon_search" style="left:652px; top:282px; width:16px; height:16px; ">
  18524. <caption/>
  18525. <script type="javascript" ev:event="DOMActivate">
  18526. <![CDATA[
  18527. setParameter("SPPMC03800_emplid", model.getValue("/root/main/otpt/otpt_emplno"));
  18528. setParameter("SPPMC03800_emplnm", model.getValue("/root/main/otpt/otpt_emplnm"));
  18529. setParameter("SPPMC03800_rrgstno1", '');
  18530. setParameter("SPPMC03800_rrgstno2", '');
  18531. modal("SPPMC03800", "1","150", "150", "SPPMC03800", "", "");
  18532. var emplID = getParameter("SPPMC03800_emplid");
  18533. var emplNM = getParameter("SPPMC03800_emplnm");
  18534. clearParameter("SPPMC03800_emplid");
  18535. clearParameter("SPPMC03800_emplnm");
  18536. clearParameter("SPPMC03800_discuncoflag");
  18537. clearParameter("SPPMC03800_discuncocd");
  18538. clearParameter("SPPMC03800_aftrcptyn");
  18539. if( emplID != '' && emplID != ' ' ){
  18540. model.setValue("/root/main/otpt/otpt_emplno", emplID);
  18541. model.setValue("/root/main/otpt/otpt_emplnm", emplNM);
  18542. }
  18543. model.refresh();
  18544. ]]>
  18545. </script>
  18546. </button>
  18547. <button id="button11" class="btn4_letter4" style="left:603px; top:735px; width:80px; height:22px; ">
  18548. <caption>선택진료</caption>
  18549. <script type="javascript" ev:event="DOMActivate">
  18550. <![CDATA[
  18551. fCheckSpecOrdApp("E");
  18552. ]]>
  18553. </script>
  18554. </button>
  18555. <output id="output4" ref="/root/main/opmi/opmi_payownbamt" class="output_fix" visibility="hidden" format="(-)#,###" appearance="output" style="left:855px; top:308px; width:53px; height:19px; text-align:right; "/>
  18556. <output id="output10" ref="/root/main/opmi/opmi_payinsubamt" class="output_fix" visibility="hidden" format="(-)#,###" appearance="output" style="left:920px; top:308px; width:55px; height:19px; text-align:right; "/>
  18557. <output id="output11" ref="/root/main/opmi/opmi_payinsurestamt" class="output_fix" visibility="hidden" format="(-)#,###" appearance="output" style="left:920px; top:333px; width:55px; height:19px; text-align:right; "/>
  18558. <output id="output12" ref="/root/main/opmi/opmi_totownbamt" class="output_fix" visibility="hidden" format="(-)#,###" appearance="output" style="left:895px; top:358px; width:81px; height:19px; text-align:right; "/>
  18559. <bool id="chk_autocashrcptyn" checkvalue="Y,N" ref="/root/hidden/com/autocashyn" style="left:263px; top:709px; width:20px; height:20px; ">
  18560. <hint>
  18561. <![CDATA[수납시 자동 현금영수증 수납]]>
  18562. </hint>
  18563. </bool>
  18564. <caption id="cpt_autocashrcptyn" style="left:282px; top:711px; width:66px; height:15px; ">
  18565. <![CDATA[현금영수증]]>
  18566. <hint>
  18567. <![CDATA[수납시 자동 현금영수증 수납]]>
  18568. </hint>
  18569. </caption>
  18570. <button id="btn_m_otpt" class="btn_sw" group="tab" style="left:0px; top:433px; width:100px; height:22px; ">
  18571. <caption>접수예약</caption>
  18572. <script type="javascript" ev:event="DOMActivate">
  18573. <![CDATA[
  18574. //변경/취소 내역이 선택되어 있는 경우 리턴
  18575. if (btn_stat.attribute("background-color") == "#ff0000"){
  18576. messageBox("확인! 변경/취소 대상내역이 선택되어있습니다! 처리후 진행하십시오!","E999","");
  18577. btn_otpt.selected = true;
  18578. btn_m_otpt.selected = false;
  18579. btn_c_otpt.selected = false;
  18580. model.toggle("case5");
  18581. return;
  18582. }
  18583. model.toggle("case6");
  18584. ]]>
  18585. </script>
  18586. </button>
  18587. <button id="btn_otpt" class="btn_sw" group="tab" selected="true" style="left:100px; top:433px; width:100px; height:22px; ">
  18588. <caption>외래이력</caption>
  18589. <script type="javascript" ev:event="DOMActivate">
  18590. <![CDATA[
  18591. model.toggle("case5");
  18592. ]]>
  18593. </script>
  18594. </button>
  18595. <button id="button13" class="btn2_letter6" style="left:429px; top:403px; width:81px; height:19px; ">
  18596. <caption>협진의뢰내역</caption>
  18597. <script type="javascript" ev:event="DOMActivate">
  18598. <![CDATA[
  18599. setParameter("fstyn", "P");
  18600. setParameter("pid", model.getValue("/root/main/ptbs/ptbs_pid"));
  18601. setParameter("orddd", model.getValue("/root/main/otpt/otpt_orddd"));
  18602. setParameter("orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
  18603. setParameter("orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
  18604. modal("SPARC00100", "1","", "", "SPARC00100", "", "");
  18605. clearParameter("fstyn");
  18606. clearParameter("pid");
  18607. clearParameter("orddd");
  18608. clearParameter("orddeptcd");
  18609. clearParameter("orddrid");
  18610. // 2018/03/23 이정택 수정(협진의뢰 내역 등록후 환자 개인정보 이용동의서 날짜 체크하도록 수정)
  18611. if (getUserInfo("dutplceinstcd") == "031") { // 본원만 해당
  18612. var ocrtag = model.getValue("/root/main/ptbs/hieocrtag");
  18613. if(parseInt(ocrtag.substring(0,8)) < parseInt('20170101')){
  18614. model.setValue("/root/main/ptbs/ptbs_scanyn", "X");
  18615. cpt_scanyn.text = '[동:X]';
  18616. }
  18617. }
  18618. // 2018/03/23 이정택 수정(협진의뢰 내역 등록후 환자 개인정보 이용동의서 날짜 체크하도록 수정)
  18619. ]]>
  18620. </script>
  18621. </button>
  18622. <button id="button16" class="btn4_letter5" style="left:684px; top:735px; width:92px; height:22px; ">
  18623. <caption>일반동의서</caption>
  18624. <script type="javascript" ev:event="DOMActivate">
  18625. <![CDATA[
  18626. if (btn_stat.attribute("background-color") == "#ff0000" || btn_stat.attribute("background-color") == "#0000ff"){
  18627. fIssGnrConsent();
  18628. }else{
  18629. messageBox("일반동의서를 출력하시려면 외래이력에서 접수건을 먼저 선택해주세요!!", "E999", "");
  18630. return false;
  18631. }
  18632. ]]>
  18633. </script>
  18634. </button>
  18635. <button id="btn_init" accesskey="f9" class="btn4_letter3" style="left:777px; top:735px; width:68px; height:22px; ">
  18636. <caption>초기화</caption>
  18637. <script type="javascript" ev:event="DOMActivate">
  18638. <![CDATA[
  18639. fClear("N");
  18640. ]]>
  18641. </script>
  18642. <hint>
  18643. <![CDATA[F9]]>
  18644. </hint>
  18645. </button>
  18646. <bool id="bool9" checkvalue="Y,N" ref="/root/hidden/com/personprntyn" style="left:516px; top:709px; width:20px; height:20px; "/>
  18647. <caption id="caption26" style="left:535px; top:711px; width:50px; height:15px; ">정보이용</caption>
  18648. <img id="img_isolb" src="../../../com/hismainweb/images/btn_top_infection0_d.gif" style="left:68px; top:42px; width:20px; height:20px; background-stretch:stretch; ">
  18649. <hint>
  18650. <![CDATA[혈액]]>
  18651. </hint>
  18652. </img>
  18653. <img id="img_isolc" src="../../../com/hismainweb/images/btn_top_infection1_d.gif" style="left:90px; top:42px; width:20px; height:20px; background-stretch:stretch; ">
  18654. <hint>
  18655. <![CDATA[접촉]]>
  18656. </hint>
  18657. </img>
  18658. <img id="img_isola" src="../../../com/hismainweb/images/btn_top_infection2_d.gif" style="left:112px; top:42px; width:20px; height:20px; background-stretch:stretch; ">
  18659. <hint>
  18660. <![CDATA[공기]]>
  18661. </hint>
  18662. </img>
  18663. <caption id="cap_hiepat" visibility="hidden" style="left:505px; top:15px; width:80px; height:20px; font-size:10pt; font-weight:bold; color:#ff0000; ">[진료교류]</caption>
  18664. <button id="btn_mfrcpt" class="btn2_letter8" style="left:742px; top:16px; width:108px; height:19px; ">
  18665. <caption>진찰료미수납명단</caption>
  18666. <script type="javascript" ev:event="DOMActivate">
  18667. <![CDATA[
  18668. modal("SPPAO00101", "1");
  18669. var pid = getParameter("SPPAO00101_pid");
  18670. if (pid != "") {
  18671. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  18672. ipt_pid.refresh();
  18673. //글로벌변수 선언 환자번호
  18674. setGlobalVariable("g_pid",pid,"p");
  18675. btn_init.dispatch("DOMActivate");
  18676. model.setValue("/root/main/ptbs/ptbs_pid", pid);
  18677. ipt_pid.refresh();
  18678. callLoadingWindow("");
  18679. fSearchOutRgstInfo();
  18680. //미수안내 메세지
  18681. fGetPtunyn();
  18682. removeLoadingWindow();
  18683. model.setFocus("ipt_orddeptabbr");
  18684. }
  18685. ]]>
  18686. </script>
  18687. </button>
  18688. <button id="btn_estm" class="btn2_letter7" visibility="hidden" style="left:644px; top:16px; width:97px; height:19px; ">
  18689. <caption>진찰료산정관리</caption>
  18690. <script type="javascript" ev:event="onclick">
  18691. <![CDATA[
  18692. setParameter("SPPAO00103_PID", model.getValue("/root/main/ptbs/ptbs_pid"));
  18693. open("SPPAO00103");
  18694. ]]>
  18695. </script>
  18696. </button>
  18697. </xhtml:body>
  18698. </xhtml:html>