SMPAO00100.xjs 482 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. * 화면 : SMPAO00100_외래수납.xrw
  4. * 설명 : 외래수납
  5. * 작성자 : 조영상
  6. * 작성일 : 2007/03/28
  7. */
  8. //계산된내역(미수납상태) 클릭시마다 선택한 내역에 대한 금액 SUM을 위한 변수 선언
  9. var SUM_opmi_totamt = 0;
  10. var SUM_opmi_payamt = 0;
  11. var SUM_opmi_nopyamt = 0;
  12. var SUM_opmi_allownbamt = 0;
  13. var SUM_opmi_totnopyamt = 0;
  14. var SUM_opmi_totnopyownbamt = 0;
  15. var SUM_opmi_totnopyinsubamt = 0;
  16. var SUM_opmi_payownbamt = 0;
  17. var SUM_opmi_payinsubamt = 0;
  18. var SUM_opmi_nopyownbamt = 0;
  19. var SUM_opmi_nopyinsubamt = 0;
  20. var SUM_opmi_allownownbamt = 0;
  21. var SUM_opmi_allowninsubamt = 0;
  22. var SUM_opmi_specownbamt = 0;
  23. var SUM_opmi_specinsubamt = 0;
  24. var SUM_opmi_handcapfund = 0;
  25. var SUM_opmi_ersubtamt = 0;
  26. var SUM_opmi_procsubtamt = 0;
  27. var SUM_opmi_subtamt = 0;
  28. var SUM_opmi_specamt = 0;
  29. var SUM_opmi_discreduamt = 0;
  30. var SUM_opmi_discamt = 0;
  31. var SUM_opmi_reduamt = 0;
  32. var SUM_opmi_bloddiscamt = 0;
  33. var SUM_opmi_totownbamt = 0;
  34. var SUM_opmi_totownbamt2 = 0; //총본인부담금에서 잔전처리한 금액
  35. var SUM_opmi_precashamt = 0;
  36. var SUM_opmi_premdlrcptamt = 0;
  37. var SUM_opmi_precardamt = 0;
  38. var SUM_opmi_preonlineamt = 0;
  39. var SUM_opmi_mdlrcptamt = 0;
  40. var SUM_opmi_uncoamt = 0;
  41. var SUM_opmi_cardamt = 0;
  42. var SUM_opmi_cashamt = 0;
  43. var SUM_opmi_onlineamt = 0;
  44. var SUM_opmi_rcptexptamt = 0;
  45. var SUM_opmi_restamt = 0;
  46. var SUM_opmi_paydepoamt = 0;
  47. //2011-07-01 미용성형 부가세 고시 작업
  48. var SUM_opmi_taxamt = 0;
  49. //----------------------------------------변수선언 종료
  50. //----------------------------------------외래정산용 변수
  51. var J_OtptGrid_deptcd = "";
  52. var J_OtptGrid_pid = "";
  53. var J_OtptGrid_orddd = "";
  54. var J_OtptGrid_cretno = 0;
  55. var J_OtptGrid_acptseqno = 0;
  56. //----------------------------------------외래정산용 변수끝
  57. var click_otpt_node = "";
  58. //1.보험유형
  59. var gsBoHeom = "11"; //건강보험
  60. var gsBoHo1 = "21"; //의료급여1
  61. var gsBoHo2 = "22"; //의료급여2
  62. var gsHangYeo = "24"; //행여
  63. var gsJaboKind = "31"; //자보
  64. var gsSanJae = "41"; //산재
  65. var gsGongSang = "42"; //공상
  66. var gsIlBan = "51"; //일반
  67. var gsForIn = "61"; //외국인
  68. var gsImSang = "71"; //임상시험
  69. //var union_msg = ""; //통합메세지
  70. var PersonPrntYN = "Y"; // 개인정보이용 동의서 출력 제어용
  71. var EXCU_FLAG = false; // 통합 검사 예약 연동 여부
  72. //공통코드 및 원무사용 기초코드 세팅(진료과,의사,감면,미수 등)
  73. function fSetCodeList(){
  74. //공통코드
  75. zbcfGetCodeList( new Array("P0016","P0021","P0311","P0329","P0022","P0328","P0030","P0327","P0104","M0009","P0380","P0032","P0341","P0342","P0307","P0308","P0457"),
  76. new Array("/root/init/comncdlist/P0016list" //관계
  77. ,"/root/init/comncdlist/P0021list" //초재진구분
  78. ,"/root/init/comncdlist/P0311list" //납부자정보
  79. ,"/root/init/comncdlist/P0329list" //의료협력구분
  80. ,"/root/init/comncdlist/P0022list" //기타진료구분
  81. ,"/root/init/comncdlist/P0328list" //임상구분
  82. ,"/root/init/comncdlist/P0030list" //계산상태
  83. ,"/root/init/comncdlist/P0327list" //추천인과의 관계
  84. ,"/root/init/comncdlist/P0104list" //급여구분
  85. ,"/root/init/comncdlist/M0009list" //처방이력구분
  86. ,"/root/init/comncdlist/P0380list" //진료의뢰서제출구분
  87. ,"/root/init/comncdlist/P0032list" //유형보조사유
  88. ,"/root/init/comncdlist/P0341list" //예약구분
  89. ,"/root/init/comncdlist/P0342list" //진찰료산정사유
  90. ,"/root/init/comncdlist/P0307list" //장애구분
  91. ,"/root/init/comncdlist/P0308list" //장애등급
  92. ,"/root/init/comncdlist/P0457list" ),//접수정보상태
  93. new Array("","","","","","","","","","","","","","","","",""),
  94. new Array("cdid","cdid","cdid","cdid","cdid",
  95. "cdid","cdid","cdid","cdid","cdid",
  96. "cdid","cdid","cdid","dispseq","cdid",
  97. "cdid","cdid")
  98. );
  99. addComboItem("cmb_etcordflag","-","-","above");
  100. //2014/12/29 이정택 추가
  101. pamfGetCodeList(new Array("P6571", "P6573", "P6579"), new Array("/root/init/comncdlist/P6571list", "/root/init/comncdlist/P6573list", "/root/init/comncdlist/P6579list"));
  102. //2014/12/29 이정택 추가
  103. //원무사용 기초코드 조회 cache기능 추가
  104. /*
  105. if ( copyFromCache("TRPAO00102_depttree","/root/init/basecdlist") ) {
  106. //
  107. } else {
  108. if ( submit("TRPAO00102") ) {
  109. storeIntoCache("TRPAO00102_depttree","/root/init/basecdlist","540");
  110. }
  111. }
  112. */
  113. submit("TRPAO00102"); //CYS 20090729 js오류건
  114. model.setValue("/root/init/option/autocashrcptyn", model.getvalue("/root/init/basecdlist/P0022[cdid='160']/cdnm")); //현금영수증
  115. model.setValue("/root/init/option/hosoprnyn", model.getvalue("/root/init/basecdlist/P0032[cdid='220']/cdnm")); //원외처방전발행여부
  116. model.setValue("/root/init/option/personprntyn", "Y"); //개인정보이용 동의서 자동출력 여부(기본값 : Y)
  117. var userid = model.getValue("/root/hidden/session/userid");
  118. //원외처방전 강제프린트 ID
  119. var P0097_id = "";
  120. for(var a=1; a<= getNodesetCount("/root/init/basecdlist/P0097[cdnm='1']/detldesc"); a++){
  121. P0097_id = model.getValue("/root/init/basecdlist/P0097[cdnm='1'][" + a + "]/detldesc");
  122. if(userid == P0097_id) {
  123. model.setValue("/root/init/option/hosoprnyn" , "Y"); //원외처방전발행여부
  124. model.setValue("/root/init/option/personprntyn", "N"); //개인정보이용 동의서 자동출력 여부(치과/모발센터 자동출력 : N)
  125. PersonPrntYN = "N";
  126. break;
  127. }
  128. }
  129. //원외처방전 강제프린트 ID 끝
  130. chk_autocashrcptyn.refresh();
  131. chk_HosoOutPrintYN.refresh();
  132. //금액표시기 초기화
  133. AmtDispKind = model.getValue("/root/init/basecdlist/amtdispkind/cdnm");
  134. fInit_Display();
  135. //금액표시기 포트열기
  136. //fOpenCom();
  137. }
  138. function fipt_hngnm() {
  139. model.copynode("/root/main" , "/root/node_bk/main");
  140. model.copynode("/root/send" , "/root/node_bk/send");
  141. model.copynode("/root/hidden" , "/root/node_bk/hidden");
  142. model.resetInstanceNode("/root/source");
  143. /*
  144. var vcheck_hngnm = ipt_hngnm.currentText;
  145. if (vcheck_hngnm == null || vcheck_hngnm == "" || vcheck_hngnm == " " || vcheck_hngnm == "-") {
  146. model.setFocus("ipt_rrgstno1");
  147. return;
  148. }
  149. model.setValue("/root/source/srchcond", "2");
  150. //model.setValue("/root/source/checkfnexam", "3");
  151. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  152. btn_pid.dispatch("DOMActivate");
  153. fpid_check();
  154. */
  155. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  156. model.setFocus("ipt_rrgstno1");
  157. }
  158. function fipt_pid(){
  159. var vcheck_pid = model.getvalue("/root/main/patinfo/patinfolist/pid");
  160. //QC프로그램 호출결과를 먼저 참조하도록 설정 추가 by 조중래 20130528
  161. if (vcheck_pid == null || vcheck_pid == '') {
  162. vcheck_pid = getQCInfo();
  163. }
  164. //환자번호 null체크
  165. if (vcheck_pid == null || vcheck_pid == "" || vcheck_pid == " " || vcheck_pid == "-") {
  166. model.setFocus("ipt_hngnm");
  167. return;
  168. }
  169. //이동재20071220 환자번호를 그대로 두고, 포커스만 두고 엔터 치는경우 초기화안되는 현상때문에 수정함.
  170. fClear("C");
  171. //환자번호 조건으로 인적정보 조회
  172. model.setValue("/root/source/srchcond", "1");
  173. //model.setValue("/root/source/checkfnexam", "3");
  174. //이동재20071220 환자번호르 그대로 두고, 포커스만 두고 엔터 치는경우 초기화안되는 현상때문에 수정함.
  175. model.setValue("/root/source/pid", vcheck_pid);
  176. //환자기본정보 node clear
  177. model.copynode("/root/main" , "/root/node_bk/main");
  178. model.copynode("/root/send" , "/root/node_bk/send");
  179. model.copynode("/root/hidden" , "/root/node_bk/hidden");
  180. //환자등록번호 체크
  181. if(submit("TRPMC02500")){
  182. vcheck_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  183. if (vcheck_pid == null || vcheck_pid == "" || vcheck_pid == " " || vcheck_pid == "-") {
  184. //조회내역 체크
  185. messageBox("존재하지 않는 등록번호","E008");//E008=입니다
  186. fClear("C");
  187. return;
  188. }
  189. }else{
  190. messageBox("존재하지 않는 등록번호","E008");
  191. fClear("C");
  192. gcheck_pid = null;
  193. model.setFocus("ipt_pid");
  194. return;
  195. }
  196. // 메르스 환자 조회
  197. fMersPatChk("PAM", vcheck_pid);
  198. // 환자정보 조회
  199. fpid_check();
  200. }
  201. // 환자정보 조회
  202. function fpid_check() {
  203. fSetDefault();
  204. var vcheck_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  205. if (vcheck_pid == null || vcheck_pid == "" || vcheck_pid == " " || vcheck_pid == "-") {
  206. return;
  207. }
  208. //글로벌변수 선언 환자번호
  209. setGlobalVariable("g_pid",vcheck_pid,"p");
  210. //동의서 출력여부
  211. var scanyn = model.getValue("/root/main/patinfo/patinfolist/scanyn");
  212. cpt_scanyn.text = '[동:' + scanyn + ']';
  213. /* 동의서 자동출력으로 수정 by 조중래 20120329
  214. if (scanyn != 'S') {
  215. //messageBox("개인정보이용동의서가 작성되지 않았거나 스캔되지 않았습니다.\r\n확인하시기 바랍니다.", "C000");
  216. if(messageBox("개인정보이용동의서가 작성되지 않았거나 스캔되지 않았습니다.\r\n개인정보이용동의서를 확인", "S001") == "6") {
  217. model.makeValue("/root/temp/para9/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  218. model.makeValue("/root/temp/para9/ordtype", "O");
  219. model.makeValue("/root/temp/para9/patnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  220. model.makeValue("/root/temp/para9/rrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  221. model.makeValue("/root/temp/para9/rrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  222. model.refresh();
  223. // 동의서 및 기타출력서식화면 호출
  224. modal("SMMRF02300", "", "", "", "SMMRF02300","/root/temp/para9","/root/temp/para9");
  225. }
  226. }
  227. */
  228. // 선택진료 스캔여부 2011/10/01 고시
  229. var spifScanYn = model.getValue("/root/main/patinfo/patinfolist/spifscanyn");
  230. // 스캔되지 않은 경우, 선택진료조회화면 연동
  231. if (spifScanYn != 'Y') {
  232. if (messageBox("선택진료신청서 중 스캔되지 않은 건이 존재합니다."
  233. + "\r\n선택진료신청서를 조회", "S001") == "6") {
  234. setParameter("SMPMC06503_PARM_PID", model.getValue("/root/main/patinfo/patinfolist/pid"));
  235. modal("SMPMC06503");
  236. }
  237. }
  238. /*
  239. * 인적사항 입력안한 건이 있을경우(필수항목은 추후 수납에서 결정) [확인]버튼 빨간색 표시
  240. */
  241. var vcheck_hometel = model.getValue("/root/main/patinfo/patinfolist/hometel");
  242. var vcheck_mpphontel = model.getValue("/root/main/patinfo/patinfolist/mpphontel");
  243. var vcheck_zipcd1 = model.getValue("/root/main/patinfo/patinfolist/zipcd1");
  244. /*
  245. * 집전화번호(기본전화번호), 휴대폰번호가 정상적이지 않은 경우
  246. * 휴대폰번호 ◆(SMS발송 후 발송오류) 있는 경우
  247. */
  248. if(vcheck_hometel == "" || vcheck_hometel == " " || vcheck_hometel == null || vcheck_hometel == '-' || isSearchString(vcheck_mpphontel, "◆")){
  249. if(vcheck_mpphontel == "" || vcheck_mpphontel == " " || vcheck_mpphontel == null || vcheck_mpphontel == '-' || isSearchString(vcheck_mpphontel, "◆")){
  250. btn_nullbaseinfo.attribute("background-color") = "#ff0000";
  251. }
  252. }
  253. //우편번호가 입력되지 않으면 색 표시
  254. if(vcheck_zipcd1 == "" || vcheck_zipcd1 == " " || vcheck_zipcd1 == null || vcheck_zipcd1 == '___' || vcheck_zipcd1 == '-' || vcheck_zipcd1 == '000'){
  255. btn_nullbaseinfo.attribute("background-color") = "#ff0000";
  256. }
  257. //특이내역이 있으면, 빨간색버튼 표시
  258. var vcheck_patspcfyn = model.getValue("/root/main/patinfo/patinfolist/patspcfyn");
  259. if (vcheck_patspcfyn == "Y" ) {
  260. btn_patspcfyn.attribute("background-color") = "#ff0000";
  261. }
  262. else {
  263. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  264. }
  265. if (fRrgstNo3Veri(model.getValue("/root/main/patinfo/patinfolist/rrgstno1"), model.getValue("/root/main/patinfo/patinfolist/rrgstno2"), "ipt_rrgstno1", "ipt_rrgstno2" ) == false) return;
  266. //성모병원에서 전환된 환자입니다.
  267. fCheckMigPatMsg(model.getValue("/root/main/patinfo/patinfolist/pidflag"));
  268. //사망유무 체크
  269. fCheckDethYN(model.getValue("/root/main/patinfo/patinfolist/dethyn") , model.getValue("/root/main/patinfo/patinfolist/dethdt"));
  270. model.makeNode("/root/send/pidinfo/emplnm");
  271. model.setValue("/root/send/pidinfo/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  272. model.setValue("/root/send/pidinfo/emplnm" , model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  273. model.setValue("/root/send/pidinfo/orddd" , getCurrentDate());
  274. model.setValue("/root/send/pidinfo/workgubn" , model.getValue("/root/temp3/workgubn"));
  275. model.setValue("/root/send/pidinfo/flag" , "0");
  276. model.setValue("/root/send/pidinfo/checkcount", "1");
  277. model.setValue("/root/send/pidinfo/rrgstno" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1")+model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  278. model.setValue("/root/send/pidinfo/rrgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  279. model.setValue("/root/send/pidinfo/rrgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  280. //감면정보체크
  281. fGetDcucInfo(model.getValue("/root/main/patinfo/patinfolist/pid"));
  282. submit("TRPAO00120"); //환자 기본정보조회(현금영수증, 인공신장, 컨설트, 협진)
  283. /* 직원감면코드 확인창 뜨지 않도록(20120918 wify)
  284. if(getNodesetCount("/root/hidden/item1/pidinfo/h_famylist/famylist/emplname") > 0){
  285. modal("SPPMC03800", "1","150", "150", "SPPMC03800", "/root/hidden/item1/pidinfo/h_famylist", "/root/main/result");
  286. }
  287. */
  288. fGetOrdCnstInfo(); //컨설트정보조회
  289. fGetInptInfo(); //재원여부
  290. fGetInptInfo_c(); //가퇴원여부
  291. if(!fGetDupOtpt()){ //접수비중복체크
  292. return;
  293. }
  294. fCheckAutoInduInsu_O(); //자보,산재 등록내역 시작일자,종료일자 조회
  295. fCheckERInfo(); //일주일 이내 응급실 내원 체크
  296. //사생활보호 요청여부체크
  297. fGetPatPrivacyInfo(model.getValue("/root/main/patinfo/patinfolist/pid"));
  298. // 격리대상정보 표시
  299. fSetIsolInfo(model.getValue("/root/main/patinfo/patinfolist/isolinfo"));
  300. //20100629 smpark 검진 메세지 병원별 적용
  301. if(model.getValue("/root/init/basecdlist/P0022[cdid='190']/cdnm") == "Y"){
  302. fCheckMediExamInfo(); //일년 이내 건강검진 체크
  303. }
  304. fCheckCert(); //당일 수납할 재증명 유무체크
  305. //20121227 보류 요청
  306. //fCheckRefund(vcheck_pid); // 미진료 예약 환불금 여부 확인
  307. //현금영수증 디폴트번호 체크
  308. if(getNodesetCount("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_pid") == 0) {
  309. model.setvalue("/root/etc/union_msg" ,"현금영수증 기본번호가 없습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  310. }
  311. model.setValue("/root/option/opt_procyn" , model.getValue("/root/hidden/item1/pidinfo/h_proc/proc/opt_procyn")); //당일자격조회여부
  312. if(model.getValue("/root/temp3/workgubn") == "Y") {
  313. fClickHDUpdate(); //인공신장투석 환자 체크
  314. fSearch(); //조회(외래등록,미수)
  315. }else{
  316. fCalcflagNSearch(); //조회(외래등록,미수)
  317. }
  318. fCheckCharityYN_outordjs(); //자선진료비내역조회
  319. //2013-01-07 연속처방 수납대상건 체크는 잠시 막음. 해독 불가!!
  320. //fCheckMJqu(); //연속처방 수납대상건 조회
  321. fCheckActrList(); //실시정산 대상환자 조회
  322. fLItemRefresh();
  323. //2015/02/04 이정택
  324. fBogjinfoChk(); // 선수납금 존재 여부 체크
  325. //2015/02/04 이정택
  326. // 통합 검사 예약 여부 확인
  327. if (getUserInfo("dutplceinstcd") == "031") {
  328. EXCU_FLAG = model.getValue("/root/hidden/item1/pidinfo/h_excu/excu/excuflag") == "Y" ? true : false;
  329. cap_excumsg.visible = EXCU_FLAG;
  330. }
  331. // 선택진료비제도 개선에 따른 정산여부 조회 추가 by 조중래 20140730
  332. // workType, pid, orddd, cretno, prcpdd, execPrcpUniqno, openType
  333. getPrcpRcptCheck("PAM", model.getValue("/root/main/patinfo/patinfolist/pid"), "", "", "", "", "open");
  334. }
  335. // 외래 수진이력 조회
  336. function fOtpt_Search(){
  337. model.copynode("/root/main/baseinfo" ,"/root/node_bk/main/baseinfo");
  338. model.copynode("/root/main/outrgst" ,"/root/node_bk/main/outrgst");
  339. model.copynode("/root/send/s_otpt" ,"/root/node_bk/send/s_otpt");
  340. //환자번호 세팅
  341. model.setValue("/root/send/pid" ,model.getValue("/root/main/patinfo/patinfolist/pid"));
  342. model.setValue("/root/send/orddd" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  343. model.setValue("/root/send/cretno" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno"));
  344. model.setValue("/root/send/workgubn" ,model.getValue("/root/temp3/workgubn"));
  345. model.setValue("/root/send/allpast" ,bl_allpast.value);
  346. model.setValue("/root/send/opt_regis" ,model.getvalue("/root/option/opt_regis"));
  347. model.removenode("/root/hidden/rcv/h_holddd/holddd");
  348. model.removenode("/root/hidden/rcv/h_hold/prcp");
  349. // 실시정산 조회기능 추가 by 조중래 20140806
  350. if (model.getValue("/root/temp3/workgubn") == 'E') {
  351. model.setValue("/root/send/jsfromdd" ,model.getValue("/root/temp3/jsfromdd"));
  352. model.setValue("/root/send/jstodd" ,model.getValue("/root/temp3/jstodd"));
  353. model.setValue("/root/send/jssrchcond" ,model.getValue("/root/temp3/jssrchcond"));
  354. model.setValue("/root/send/jsorddeptcd" ,model.getValue("/root/temp3/jsorddeptcd"));
  355. model.setValue("/root/send/jsorddrid" ,model.getValue("/root/temp3/jsorddrid"));
  356. model.setValue("/root/send/jsinsukind" ,model.getValue("/root/temp3/jsinsukind"));
  357. }
  358. //1. 수납대기 상태의 외래등록내역(당일,예약,과거) 조회 2.미수 조회
  359. // 2015/09/18 이정택(사본발급 창구에서 수납 하도록 프로그램 수정)
  360. var cnt = getNodesetCount("/root/init/comncdlist/P6579list/P6579[cdid='"+ getUserInfo("dutplcecd") + "' and cdnm='Y']");
  361. if(cnt>0){
  362. model.makeValue("/root/send/copydeptyn", "Y");
  363. }else{
  364. model.makeValue("/root/send/copydeptyn", "N");
  365. }
  366. submit("TRPAO00101");
  367. //#ff0000 붉은색 #3366ff 푸른색 #993300 갈색
  368. //기존 바탕색 clear
  369. for(var i=1; i <= grd_tday.rows ; i++){
  370. var votpt_estmspclappyn = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_estmspclappyn");
  371. var votpt_rcptvipresncd = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_rcptvipresncd");
  372. var votpt_dracptyn = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_dracptyn");
  373. var votpt_pmflag = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_pmflag");
  374. var votpt_holdflag = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_holdflag");
  375. var votpt_specordyn = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_specordyn");
  376. var votpt_specsign_cnt = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_specsign_cnt");
  377. var votpt_allrcptyn = model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + i + "]/otpt_allrcptyn");
  378. if (votpt_holdflag == "Y") {
  379. //grd_tday.rowStyle(i,"all","background-color") = "#99ff33"; // hold 처리 제거 by 당일수납 조중래 20140423
  380. grd_tday.rowStyle(i,"all","background-color") = "#ffffff";
  381. } else {
  382. grd_tday.rowStyle(i,"all","background-color") = "#ffffff";
  383. }
  384. //산정특례적용여부
  385. if (votpt_estmspclappyn == "Y") {
  386. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_suppkind")) = '#ff0000';
  387. }
  388. //수납VIP기타사유
  389. if (votpt_rcptvipresncd == "01") {
  390. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_orddd")) = '#ff0000';
  391. }
  392. if (votpt_rcptvipresncd == "02") {
  393. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_orddd")) = '#3366ff';
  394. }
  395. if (votpt_rcptvipresncd == "03") {
  396. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_orddd")) = '#993300';
  397. }
  398. //의사접수여부,오후진료여부
  399. if(votpt_dracptyn == "N" && votpt_pmflag == "R") {
  400. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_calcflag")) = '#3366ff';
  401. }
  402. //선택진료여부 , 선택진료팝업조회여부(0보다크면 true)
  403. if(votpt_specordyn == "Y" && votpt_specsign_cnt == "0") {
  404. grd_tday.cellStyle("color", i, grd_tday.colref("otpt_specordyn")) = '#ff0000';
  405. }
  406. //미수납자료 존재 시 (당일수납)
  407. if (votpt_allrcptyn == "N") {
  408. grd_tday.rowStyle(i,"all","background-color") = "#e5ccfe";
  409. }
  410. }
  411. for(var i=1; i <= grd_rsrv.rows ; i++){
  412. var votpt_estmspclappyn = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_estmspclappyn");
  413. var votpt_rcptvipresncd = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_rcptvipresncd");
  414. var votpt_dracptyn = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_dracptyn");
  415. var votpt_pmflag = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_pmflag");
  416. var votpt_holdflag = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_holdflag");
  417. var votpt_specordyn = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_specordyn");
  418. var votpt_specsign_cnt = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_specsign_cnt");
  419. var votpt_allrcptyn = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_allrcptyn");
  420. if (votpt_holdflag == "Y") {
  421. //grd_rsrv.rowStyle(i,"all","background-color") = "#99ff33"; // hold 처리 제거 by 당일수납 조중래 20140423
  422. grd_rsrv.rowStyle(i,"all","background-color") = "#ffffff";
  423. } else {
  424. grd_rsrv.rowStyle(i,"all","background-color") = "#ffffff";
  425. }
  426. if (votpt_estmspclappyn == "Y") {
  427. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_suppkind")) = '#ff0000';
  428. }
  429. if (votpt_rcptvipresncd == "01") {
  430. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_orddd")) = '#ff0000';
  431. }
  432. if (votpt_rcptvipresncd == "02") {
  433. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_orddd")) = '#3366ff';
  434. }
  435. if (votpt_rcptvipresncd == "03") {
  436. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_orddd")) = '#993300';
  437. }
  438. if(votpt_dracptyn == "N" && votpt_pmflag == "R") {
  439. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_calcflag")) = '#3366ff';
  440. }
  441. if(votpt_specordyn == "Y" && votpt_specsign_cnt == "0") {
  442. grd_rsrv.cellStyle("color", i, grd_rsrv.colref("otpt_specordyn")) = '#ff0000';
  443. }
  444. //미수납자료 존재 시 (당일수납)
  445. if (votpt_allrcptyn == "N") {
  446. grd_rsrv.rowStyle(i,"all","background-color") = "#e5ccfe";
  447. }
  448. }
  449. for(var i=1; i <= grd_past.rows ; i++){
  450. var votpt_estmspclappyn = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_estmspclappyn");
  451. var votpt_rcptvipresncd = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_rcptvipresncd");
  452. var votpt_dracptyn = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_dracptyn");
  453. var votpt_pmflag = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_pmflag");
  454. var votpt_holdflag = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_holdflag");
  455. var votpt_specordyn = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_specordyn");
  456. var votpt_specsign_cnt = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_specsign_cnt");
  457. var votpt_allrcptyn = model.getValue("/root/main/baseinfo/otpt_past/otpt[" + i + "]/otpt_allrcptyn");
  458. if (votpt_holdflag == "Y") {
  459. //grd_past.rowStyle(i,"all","background-color") = "#99ff33"; // hold 처리 제거 by 당일수납 조중래 20140423
  460. grd_past.rowStyle(i,"all","background-color") = "#ffffff";
  461. } else {
  462. grd_past.rowStyle(i,"all","background-color") = "#ffffff";
  463. }
  464. if (votpt_estmspclappyn == "Y") {
  465. grd_past.cellStyle("color", i, grd_past.colref("otpt_suppkind")) = '#ff0000';
  466. }
  467. if (votpt_rcptvipresncd == "01") {
  468. grd_past.cellStyle("color", i, grd_past.colref("otpt_orddd")) = '#ff0000';
  469. }
  470. if (votpt_rcptvipresncd == "02") {
  471. grd_past.cellStyle("color", i, grd_past.colref("otpt_orddd")) = '#3366ff';
  472. }
  473. if (votpt_rcptvipresncd == "03") {
  474. grd_past.cellStyle("color", i, grd_past.colref("otpt_orddd")) = '#993300';
  475. }
  476. if(votpt_dracptyn == "N" && votpt_pmflag == "R") {
  477. grd_past.cellStyle("color", i, grd_past.colref("otpt_calcflag")) = '#3366ff';
  478. }
  479. if(votpt_specordyn == "Y" && votpt_specsign_cnt == "0") {
  480. grd_past.cellStyle("color", i, grd_past.colref("otpt_specordyn")) = '#ff0000';
  481. }
  482. //미수납자료 존재 시 (당일수납)
  483. if (votpt_allrcptyn == "N") {
  484. grd_past.rowStyle(i,"all","background-color") = "#e5ccfe";
  485. }
  486. }
  487. //수납대기 탭 오픈
  488. btn_otptlist.dispatch("onclick");
  489. }
  490. //2012-10-05
  491. //자보 지불한도액 표시 팝업 호출
  492. function fCheckAutoLimitAmt(){
  493. var nodeList = getNodesetCount("/root/main/outrgst/aipm/aipm_pid");
  494. if (nodeList > 0 && parseInt(model.getValue("/root/main/outrgst/aipm/aipm_paylimamt")) >= 0) {
  495. button15.attribute("class") = "btn5_letter2";
  496. button15.attribute("color") = "#ff0066";
  497. model.removeNodeset("/root/hidden/source");
  498. model.makeValue("/root/hidden/source/pid", model.getValue("/root/main/outrgst/aipm/aipm_pid"));
  499. model.makeValue("/root/hidden/source/orddd", model.getValue("/root/main/outrgst/aipm/aipm_aprvfromdd"));
  500. model.makeValue("/root/hidden/source/instcd", model.getValue("/root/main/outrgst/aipm/aipm_instcd"));
  501. modal("SPPAI02600", "1","200", "200", "SPPAI02600", "/root/hidden/source", "/root/send", "align:center");
  502. model.removeNodeset("/root/hidden/source");
  503. } else {
  504. button15.attribute("class") = "btn2_letter2";
  505. }
  506. }
  507. //수납대기 중인 외래등록 조회
  508. function fSearch(){
  509. // 수진이력 조회
  510. fOtpt_Search();
  511. //=============================================================================================
  512. //당일접수내역에 내역이 있을 경우, 디폴트로 한건 체크한다.
  513. //체크한 내역이 [미계산] 상태일 경우 계산처리한다.([미수납] 상태일 경우, 수납할 금액을 조회한다.)
  514. //멀티계산 반영 후, 당일접수와 같은 과 예약내역에 대해서 체크하는 기능 추가
  515. //=============================================================================================
  516. var otpt_cnt = 1;
  517. var vcheck_orddd = model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_orddd");
  518. var vcheck_cretno = model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_cretno");
  519. // 다학제 관련 추가(2014/10/28 이정택)
  520. // 다학제는 사용자가 직접 체크하도록 수정
  521. var etcordflag = model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_etcordflag");
  522. if(etcordflag=='4' || etcordflag=='5'){
  523. return;
  524. }
  525. //다학제 관련 추가(2014/10/28 이정택)
  526. if ( vcheck_orddd != "" && vcheck_orddd != " " && vcheck_orddd != null && vcheck_orddd != "-" ) {
  527. model.setValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_checkflag","true");
  528. grd_tday.row = 1; //첫번째 Row 값 세팅
  529. //2013-01-08
  530. //당일 수납 건이 의료급여 1종이면 자동 멀티수납 기능 제거
  531. //건유비 의무 선차감 고시로 의료급여 1종은 무조건 1건씩만 수납하도록 수정.
  532. var tday_insukind = model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_insukind");
  533. //체크된 당일접수에 대한 예약도 체크한다.
  534. for(var i=1; i<=grd_rsrv.rows; i++) {
  535. //2012-10-16
  536. //원무팀 요청으로 당일 선수납 시행.
  537. //예약내역은 자동 선택이 안되도록 수정.
  538. if(model.getvalue("/root/init/basecdlist/P0032[cdid='101']/cdnm") == "Y"){
  539. continue;
  540. }
  541. //2013-01-08
  542. //당일 수납 건이 의료급여 1종이면 자동 멀티수납 기능 제거
  543. //건유비 의무 선차감 고시로 의료급여 1종은 무조건 1건씩만 수납하도록 수정.
  544. if(tday_insukind == '21'){
  545. continue;
  546. }
  547. /////////////////물리치료,주사,방종,투석은 멀티체크 제외//////////////////////////////////////////
  548. if(model.getvalue("/root/init/basecdlist/P0032[cdid='100']/cdnm") == "Y"){
  549. var etcordflag = model.getValue("root/main/baseinfo/otpt_rsrv/otpt["+ i +"]/otpt_etcordflag");
  550. var rsrvflag = model.getValue("root/main/baseinfo/otpt_rsrv/otpt["+ i +"]/otpt_rsrvflag");
  551. if(etcordflag == "M" || etcordflag == "J" || rsrvflag == "E") { //rsrvflag == "T" ||
  552. continue;
  553. }
  554. } else if (model.getvalue("/root/init/basecdlist/P0032[cdid='100']/cdnm") == "E") { //투석만 제외
  555. var rsrvflag = model.getValue("root/main/baseinfo/otpt_rsrv/otpt["+ i +"]/otpt_rsrvflag");
  556. if (rsrvflag == "E") {
  557. continue;
  558. }
  559. }
  560. /////////////////물리치료,주사,방종,투석은 멀티체크 제외 끝//////////////////////////////////////////
  561. // 당일 수진이력과 동시에 수납가능한 미래 예약건 처리
  562. // 진찰료 당일선수납관련 처리 추가 by 조중래 20150406
  563. if ( model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_orddeptcd") == model.getValue("root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_orddeptcd")
  564. && model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_orddrid") == model.getValue("root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_orddrid")
  565. && model.getValue("root/main/baseinfo/otpt_tday/otpt["+ otpt_cnt +"]/otpt_calcflag") == model.getValue("root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_calcflag")
  566. && model.getValue("root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_checkyn") == "Y" // 진찰료 당일 선수납 시 자동체크 제외
  567. ) {
  568. model.setValue("root/main/baseinfo/otpt_rsrv/otpt[" + i + "]/otpt_checkflag","true");
  569. grd_rsrv.row = i;
  570. }
  571. }
  572. if (grd_tday.rows > 0 || grd_rsrv.rows > 0) {
  573. var click_flag = true;
  574. if (grd_tday.rows > 0) {
  575. click_flag = fClickGrid("grd_tday");
  576. }else{
  577. click_flag = fClickGrid("grd_rsrv");
  578. }
  579. if(click_flag == false) {
  580. fbtn_chk_all_cncl();
  581. }
  582. }
  583. //2012-10-05
  584. //자보한도액 표시
  585. fCheckAutoLimitAmt();
  586. }
  587. model.setValue("/root/send/orddd", vcheck_orddd);
  588. model.setValue("/root/send/cretno", vcheck_cretno);
  589. //이동재20071123 미수,선수금에 대한 정보 연계
  590. var outuncoamt = model.getValue("/root/main/baseinfo/uncoinfo/unco/outuncoamt");
  591. var dschuncoamt = model.getValue("/root/main/baseinfo/uncoinfo/unco/dschuncoamt");
  592. var unconm = "";
  593. var inunconm = "";
  594. if (outuncoamt != "0" || dschuncoamt != "0") {
  595. if( outuncoamt != "0"){
  596. unconm = "[" + model.getValue("/root/main/baseinfo/uncoinfo/unco/unconm") + "]";
  597. }
  598. if( dschuncoamt != "0"){
  599. inunconm = "[" + model.getValue("/root/main/baseinfo/uncoinfo/unco/inunconm") + "]";
  600. }
  601. var result = messageBox("미수금이 존재합니다. 미수입금을 하시겠습니까? \n\n"+ unconm + "[외래미수금 : "+outuncoamt+"]"+ " " + inunconm + "[퇴원미수금 : "+dschuncoamt +"]","Q999","");
  602. if (result == "6") {
  603. var vpid = model.getValue("/root/main/patinfo/patinfolist/pid");
  604. setParameter("SMPAM00100_PID_PARM", vpid);
  605. modal("SMPAM00100", "1", "200", "200", "SMPAM00100", "", "");
  606. fbtn_chk_all_cncl();
  607. }
  608. }
  609. //조영상20080212 보관퇴원금에 대한 정보 연계
  610. var keepamt = model.getValue("/root/main/baseinfo/keepinfo/keep/keepamt");
  611. if (keepamt != 0) {
  612. var totkeepdata = "";
  613. //상세 보관금을 재조회함. -- 이성인 , 20090821 //요청자 : 김흥준
  614. submit("TRPAO00130",false);
  615. for(i=1; i<=getNodesetCount("/root/temp7/item") ; i++){
  616. var keepdata = model.getValue("/root/temp7/item['"+i+"']/keepdata");
  617. totkeepdata = totkeepdata + " " + keepdata;
  618. }
  619. //messageBox( totkeepdata + "이 있습니다." , "I999");
  620. totkeepdata = totkeepdata + "이 있습니다." + '\n' + model.getValue("/root/etc/union_msg");
  621. // 가퇴원금 있을 경우 퇴원창구로 안내문구 추가 by 조중래 20120712
  622. if (totkeepdata.indexOf("가퇴원금") != "-1") {
  623. totkeepdata += "\r\n\r\n가퇴원금이 있으므로 퇴원창구로 안내해주시기 바랍니다."
  624. }
  625. //model.setvalue("/root/etc/union_msg", totkeepdata);
  626. messageBox(totkeepdata, "I999");
  627. }
  628. //선수금,vip선수금
  629. var bogjamt = model.getValue("/root/main/baseinfo/bogjinfo/bogj/bogjamt");
  630. var bogjvipamt = model.getValue("/root/main/baseinfo/bogjinfo/bogj/bogjvipamt");
  631. if( parseInt(bogjamt) != 0 || parseInt(bogjvipamt) != 0){
  632. var bogjMsg = '';
  633. if( parseInt(bogjamt) != 0 ){
  634. bogjMsg = bogjMsg + "[선수금 : " + bogjamt + " 원] ";
  635. }
  636. if( parseInt(bogjvipamt) != 0 ){
  637. bogjMsg = bogjMsg + "[수납VIP선수금 : " + bogjvipamt + " 원]";
  638. }
  639. //messageBox("선수금이 존재합니다. " + bogjMsg, "I999", "");
  640. model.setvalue("/root/etc/union_msg" ,"선수금이 존재합니다. " + bogjMsg + '\n' + model.getValue("/root/etc/union_msg"));
  641. }
  642. }
  643. //이동재20080110 외래정산용 추가
  644. function fCalcflagNSearch() {
  645. model.copynode("/root/main/baseinfo" ,"/root/node_bk/main/baseinfo");
  646. model.copynode("/root/main/outrgst" ,"/root/node_bk/main/outrgst");
  647. model.copynode("/root/send/s_otpt" ,"/root/node_bk/send/s_otpt");
  648. model.copynode("/root/hidden/rcvj" ,"/root/node_bk/hidden/rcvj");
  649. //환자번호 세팅
  650. model.setValue("/root/send/pid" ,model.getValue("/root/main/patinfo/patinfolist/pid"));
  651. model.setValue("/root/send/orddd" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  652. model.setValue("/root/send/cretno" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno"));
  653. //이동재20080110 외래수납/정산 구분값
  654. model.setValue("/root/send/workgubn" , model.getValue("/root/temp3/workgubn"));
  655. model.setValue("/root/send/jsfromdd" , model.getValue("/root/temp3/jsfromdd"));
  656. model.setValue("/root/send/jstodd" , model.getValue("/root/temp3/jstodd"));
  657. model.setValue("/root/send/jssrchcond" , model.getValue("/root/temp3/jssrchcond"));
  658. model.setValue("/root/send/jsorddeptcd", model.getValue("/root/temp3/jsorddeptcd"));
  659. model.setValue("/root/send/jsorddrid" , model.getValue("/root/temp3/jsorddrid"));
  660. model.setValue("/root/send/jsinsukind" , model.getValue("/root/temp3/jsinsukind"));
  661. model.removenode("/root/hidden/rcv/h_holddd/holddd");
  662. model.removenode("/root/hidden/rcv/h_hold/prcp");
  663. if (fRrgstNo3Veri(model.getValue("/root/main/patinfo/patinfolist/rrgstno1"), model.getValue("/root/main/patinfo/patinfolist/rrgstno2"), "ipt_rrgstno1", "ipt_rrgstno2" ) == false) return;
  664. //1. 수납대기 상태의 외래등록내역(당일,예약,과거) 조회 2.미수 조회
  665. submit("TRPAO00101")
  666. grd_calcflagn.rebuild();
  667. grd_rcptlist.rebuild();
  668. //기존 바탕색 clear
  669. for(var i=1; i <= grd_calcflagn.rows ; i++){
  670. var votpt_estmspclappyn = model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt[" + i + "]/otpt_estmspclappyn");
  671. if (votpt_estmspclappyn == "Y") {
  672. grd_calcflagn.cellStyle("color", i, grd_calcflagn.colref("otpt_suppkind")) = '#ff0000';
  673. }
  674. }
  675. //이동재20071112 -- 장기이식환자 조회
  676. //cys 보완예정 fTransSearch();
  677. fLItemRefresh();
  678. fCItemRefresh();
  679. fRItemRefresh();
  680. //이동재20071123 미수,선수금에 대한 정보 연계
  681. var outuncoamt = model.getValue("/root/main/baseinfo/uncoinfo/unco/outuncoamt");
  682. var dschuncoamt = model.getValue("/root/main/baseinfo/uncoinfo/unco/dschuncoamt");
  683. if (outuncoamt > 0 || dschuncoamt > 0) {
  684. var result = messageBox("미수금이 존재합니다. 미수입금을 하시겠습니까? \n\n"+"[외래미수금 : "+outuncoamt+"]"+" [퇴원미수금 : "+dschuncoamt +"]","Q999","");
  685. if (result == "6") {
  686. var vpid = model.getValue("/root/main/patinfo/patinfolist/pid");
  687. setParameter("SMPAM00100_PID_PARM", vpid);
  688. modal("SMPAM00100", "1", "200", "200", "SMPAM00100", "", "");
  689. //modal("../../../pam/uncoamtmngtweb/xrw/SMPAM00100", "1","50", "70", "SMPAM00100", "", "");
  690. }
  691. }
  692. }
  693. //컨설트정보조회
  694. function fGetOrdCnstInfo(){
  695. //컨설트 의뢰정보가 1건일때 와 2건 이상일때 구분하여 메세지 처리
  696. var cnstCnt = getNodesetCount("/root/hidden/item1/pidinfo/h_emrcnst/emrcnst/pid");
  697. if( cnstCnt > 1 ){
  698. //messageBox("컨설트 의뢰정보가 있습니다!", "Q999", "");
  699. model.setvalue("/root/etc/union_msg" ,"컨설트 의뢰정보가 있습니다!" + '\n' + model.getValue("/root/etc/union_msg"));
  700. retValue = true;
  701. }else if( cnstCnt == 1 ){
  702. var reqorddeptnm = model.getValue("/root/hidden/item1/pidinfo/h_emrcnst/emrcnst/reqdeptnm");
  703. var reqorddrnm = model.getValue("/root/hidden/item1/pidinfo/h_emrcnst/emrcnst/requsernm");
  704. var recvorddeptnm = model.getValue("/root/hidden/item1/pidinfo/h_emrcnst/emrcnst/recvdeptnm");
  705. var recvorddrnm = model.getValue("/root/hidden/item1/pidinfo/h_emrcnst/emrcnst/recvusernm");
  706. //messageBox(reqorddeptnm + " " + reqorddrnm + " 교수님께서 " +
  707. // recvorddeptnm + " " + recvorddrnm + " 교수님께 의뢰한 내역이 있습니다!", "Q999", "");
  708. model.setvalue("/root/etc/union_msg" ,reqorddeptnm + " " + reqorddrnm + " 교수님께서 "
  709. + recvorddeptnm + " " + recvorddrnm + " 교수님께 의뢰한 내역이 있습니다!" + '\n' + model.getValue("/root/etc/union_msg"));
  710. }
  711. }
  712. //인공신장 요율변경내역 조회
  713. function fClickHDUpdate(){
  714. //submit("TRPAO02201");
  715. if (getNodesetCount("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist/pid") > 0) {
  716. if (model.getValue("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist/pid") != "") {
  717. var send_updtratelist = "/root/hidden/item1/pidinfo/h_updtratelist/updtratelist" ;
  718. var send_dtratelist = "/root/hidden/item1/pidinfo/h_dtratelist/dtratelist" ;
  719. var parm = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  720. getCurrentDate() + "▦" +
  721. send_updtratelist + "▦" +
  722. send_dtratelist + "▦" ;
  723. setParameter("SPPAO02200_PARM",parm);
  724. modal("SPPAO02200", "1","400", "400", "SPPAO02200", "", "");
  725. if (getParameter("SPPAO02200_RTN") == "N" || getParameter("SPPAO02200_RTN") == "") {
  726. //조회되는 항목들 clear
  727. return false;
  728. }else{
  729. messageBox("요율이 변경되었습니다..","E999","");
  730. model.resetInstanceNode("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist");
  731. model.resetInstanceNode("/root/hidden/item1/pidinfo/h_dtratelist/dtratelist");
  732. return true;
  733. }
  734. }
  735. /*
  736. var parm = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  737. getCurrentDate() + "▦" ;
  738. setParameter("SPPAO02200_PARM",parm);
  739. modal("SPPAO02200", "1","400", "400", "SPPAO02200", "", "");
  740. if (getParameter("SPPAO02200_RTN") == "N" || getParameter("SPPAO02200_RTN") == "") {
  741. //조회되는 항목들 clear
  742. return false;
  743. }else{
  744. messageBox("요율이 변경되었습니다..","E999","");
  745. return true;
  746. }
  747. */
  748. }
  749. }
  750. /*
  751. * 외래수납 그리드클릭 이벤트
  752. */
  753. function fClickGrid(gridID){
  754. var workgubn = model.getvalue("/root/temp3/workgubn");
  755. var gridObj = document.controls.item(gridID);
  756. var gridObj_row = gridObj.row;
  757. var instanceId = "";
  758. if(gridID == "grd_tday"){
  759. instanceId = "otpt_tday";
  760. }
  761. if(gridID == "grd_rsrv"){
  762. instanceId = "otpt_rsrv";
  763. }
  764. if(gridID == "grd_past"){
  765. instanceId = "otpt_past";
  766. }
  767. //정산
  768. if(gridID == "grd_calcflagn"){
  769. instanceId = "otpt_calcflagn";
  770. }
  771. //실시정산
  772. if(gridID == "grd_eactotpt"){
  773. instanceId = "otpt_eactotpt";
  774. }
  775. click_otpt_node = "/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]";
  776. //보험선별심사 체크
  777. if(model.getvalue("/root/init/basecdlist/P0032[cdid='190']/cdnm") == "Y"){
  778. if(model.getValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_orddd") <= getCurrentDate()){
  779. if(model.getValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_checkflag") == "true"){
  780. if(model.getValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_probjudgflag") == "M"){
  781. if(model.getValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_dschjudgprcsstat") != "E"){
  782. var sDate = model.getValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_orddd");
  783. var sValue = (sDate.toDate("YYYYMMDD")).getDayOfWeek("K");
  784. var bDayFlag = "false";
  785. var sTM = getCurrentTime().substr(0, 4);
  786. var sFromTM, sToTM;
  787. if (sValue == "토") { //토요일
  788. sFromTM = model.getvalue("/root/init/basecdlist/P0032[cdid='193']/cdnm");
  789. sToTM = model.getvalue("/root/init/basecdlist/P0032[cdid='194']/cdnm");
  790. if (sFromTM == "" || sToTM == "") {
  791. messageBox("보험선별심사 사용여부가 사용이나 심사 시간이 존재하지 않습니다. 확인하십시오. P0032 191-194", "I999");
  792. } else {
  793. if ((sTM >= sFromTM) && (sTM <= sToTM)) {
  794. bDayFlag = "true";
  795. }
  796. }
  797. } else if (sValue != "토" && sValue != "일") { //평일
  798. sFromTM = model.getvalue("/root/init/basecdlist/P0032[cdid='191']/cdnm");
  799. sToTM = model.getvalue("/root/init/basecdlist/P0032[cdid='192']/cdnm");
  800. if (sFromTM == "" || sToTM == "") {
  801. messageBox("보험선별심사 사용여부가 사용이나 심사 시간이 존재하지 않습니다. 확인하십시오. P0032 191-194", "I999");
  802. } else {
  803. if ((sTM >= sFromTM) && (sTM <= sToTM)) {
  804. bDayFlag = "true";
  805. }
  806. }
  807. }
  808. if (bDayFlag == "true") {
  809. messageBox("보험 미심사 내역이 존재합니다. 보험팀 확인 후 진행하십시오.", "I999");
  810. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_checkflag", "false");
  811. return false;
  812. }
  813. }
  814. }
  815. }
  816. }
  817. }
  818. //20120405 가접수 건 중 진찰료 산정해야 할 대상 메세지 표시
  819. if( model.getValue(click_otpt_node + "/otpt_extrmedamtrcptyn") == 'Y' && model.getValue(click_otpt_node + "/otpt_checkflag") == "true"){
  820. messageBox("선택하신 접수건의 진찰료 산정여부를 확인하세요!!\n"
  821. + "진찰료 미산정 가접수에 검사/처치/마취 등의 처방이 있습니다.\n"
  822. + "진료유무를 판별하여 진찰료 산정으로 변경 수납하세요!", "I999", "");
  823. }
  824. //2015/12/02 이정택
  825. /*
  826. 차상위 2종 장애인환자 중 환자의 보조유형이 임플란트(97) 및 틀니(89)의 경우는 장애인대불 금액이 발생되지 않도록 수정
  827. 의료급여 2종 장애인화자 중 환자의 보조유형이 임플란트(95) 및 레진상 틀니(87)의 경우는 장애인대불 금액이 발생되지 않도록 수정
  828. */
  829. var hndc_insukind = model.getValue(click_otpt_node+"/otpt_insukind");
  830. var hndc_suppkind = model.getValue(click_otpt_node+"/otpt_suppkind");
  831. var hndc_checkflag = model.getValue(click_otpt_node+"/otpt_checkflag");
  832. if(hndc_insukind=="11" && (hndc_suppkind=="89" || hndc_suppkind=="97") && hndc_checkflag=="true"){ //틀니(89), 임플란트(97)
  833. model.makeValue(click_otpt_node+"/otpt_handicaprbookpossnyn", "N");
  834. model.makeValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn", "N");
  835. messageBox("해당 보조 유형으로는 장애인 대불금이 발생되지 않습니다.", "I");
  836. rdo_handicaprbookpossnyn.refresh();
  837. rdo_handicaprbookpossnyn.disabled=true;
  838. }else if(hndc_insukind=="22" && (hndc_suppkind=="87" || hndc_suppkind=="95") && hndc_checkflag=="true"){ //틀니(87), 임플란트(95)
  839. model.makeValue(click_otpt_node+"/otpt_handicaprbookpossnyn", "N");
  840. model.makeValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn", "N");
  841. messageBox("해당 보조 유형으로는 장애인 대불금이 발생되지 않습니다.", "I");
  842. rdo_handicaprbookpossnyn.refresh();
  843. rdo_handicaprbookpossnyn.disabled=true;
  844. }else{
  845. rdo_handicaprbookpossnyn.disabled=false;
  846. }
  847. //2015/12/02 이정택
  848. //Y-수납, N-정산, E-실시정산
  849. if(workgubn == "Y"){
  850. model.setValue("/root/send/ClickGrid/otpt_tday" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/otpt_tday/otpt[otpt_checkflag='true']")));
  851. model.setValue("/root/send/ClickGrid/otpt_rsrv" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/otpt_rsrv/otpt[otpt_checkflag='true']")));
  852. model.setValue("/root/send/ClickGrid/otpt_past" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/otpt_past/otpt[otpt_checkflag='true']")));
  853. }
  854. if(workgubn == "N"){
  855. model.setValue("/root/send/ClickGrid/otpt_calcflagn" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/otpt_calcflagn/otpt[otpt_checkflag='true']")));
  856. }
  857. if(workgubn == "E"){
  858. model.setValue("/root/send/ClickGrid/otpt_eactotpt" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/otpt_eactotpt/otpt[otpt_checkflag='true']")));
  859. }
  860. model.setValue("/root/send/ClickGrid/click_otpt" , getNodeListCSV(instance1.selectNodes("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]")));
  861. model.setValue("/root/send/ClickGrid/patinfolist" , getNodeListCSV(instance1.selectNodes("/root/main/patinfo/patinfolist")));
  862. model.setValue("/root/send/ClickGrid/req/pid" , model.getvalue("/root/main/patinfo/patinfolist/pid"));
  863. model.setValue("/root/send/ClickGrid/req/workgubn" , model.getvalue("/root/temp3/workgubn"));
  864. model.setValue("/root/send/ClickGrid/req/rgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  865. model.setValue("/root/send/ClickGrid/req/rgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  866. model.setValue("/root/send/ClickGrid/req/name" , model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  867. if(submit("TRPAO00113")){
  868. //선택한 수납내역 없을시
  869. if(model.getvalue("/root/hidden/rcv2/m_otpt/otpt/otpt_pid") == ""){
  870. model.copynode("/root/main/outrgst" , "/root/node_bk/main/outrgst");
  871. model.copynode("/root/hidden/rcv1" , "/root/node_bk/hidden/rcv1");
  872. fEtcCheck("");
  873. fCloseCom();
  874. return;
  875. }
  876. /*
  877. * 장애인 등록여부 확인
  878. * 건강보험(11), 의료급여1종(21), 의료급여2종(22)
  879. */
  880. var otpt_insukind = model.getValue(click_otpt_node + "/otpt_insukind");
  881. var otpt_suppkind = model.getValue(click_otpt_node+"/otpt_suppkind");
  882. if((otpt_insukind == "11" && (otpt_suppkind!="89" && otpt_suppkind!="97"))|| otpt_insukind == "21" || (otpt_insukind == "22" && (otpt_suppkind!="87" && otpt_suppkind!="95"))){
  883. if(getHandcapInfo(model.getValue(click_otpt_node + "/otpt_orddd"), model.getvalue("/root/main/patinfo/patinfolist/pid"), model.getValue(click_otpt_node + "/otpt_handicaprbookpossnyn"))){
  884. //return; 블럭킹 하지 않음
  885. }
  886. }
  887. model.copynode("/root/main/outrgst/m_otpt" , "/root/hidden/rcv2/m_otpt");
  888. model.copynode("/root/main/outrgst/m_opmi" , "/root/hidden/rcv2/m_opmi");
  889. model.copynode("/root/main/outrgst/m_oscl" , "/root/hidden/rcv2/h_oscl");
  890. model.copyNode("/root/main/outrgst/m_remamt" , "/root/hidden/rcv2/h_remamt");
  891. model.copynode("/root/hidden/rcv1" , "/root/hidden/rcv2");
  892. model.removenode("/root/hidden/rcv2");
  893. if(getNodesetCount("/root/hidden/item1/pidinfo/h_famylist/famylist/emplname") > 0){
  894. //직원/가족 감면정보일때만 체크
  895. //model.setValue("/root/send/ClickGrid/req/orddd", grd_tday.valueMatrix(grd_tday.row, grd_tday.colRef("otpt_orddd")));
  896. if(gridID == "grd_tday" || gridID == "grd_rsrv" || gridID == "grd_past"){
  897. if(gridID == "grd_tday"){
  898. model.setValue("/root/send/ClickGrid/req/orddd", grd_tday.valueMatrix(grd_tday.row, grd_tday.colRef("otpt_orddd")) );
  899. }else if(gridID == "grd_rsrv"){
  900. model.setValue("/root/send/ClickGrid/req/orddd", grd_rsrv.valueMatrix(grd_rsrv.row, grd_rsrv.colRef("otpt_orddd")) );
  901. }else if(gridID == "grd_past"){
  902. model.setValue("/root/send/ClickGrid/req/orddd", grd_past.valueMatrix(grd_past.row, grd_past.colRef("otpt_orddd")) );
  903. }
  904. if(submit("TRPAO00118")){
  905. var gr_disccd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd");
  906. var disccd = model.getValue("/root/temp10/disclist/disccd");
  907. if(gr_disccd != disccd ){
  908. messageBox("감면코드가 감면정보에 등록된 정보와 다릅니다. 확인하십시오.", "E999");
  909. }
  910. }
  911. }
  912. }
  913. //조회된 경우, 화면의 중증정보에 세팅
  914. var srdg_pid = model.getValue("/root/hidden/rcv1/h_srdg/srdg/srdg_pid");
  915. if (srdg_pid.length != 0) {
  916. model.resetInstanceNode("/root/main/outrgst/srdg");
  917. model.copyNode("/root/main/outrgst/srdg","/root/hidden/rcv1/h_srdg/srdg"); //중증번호,중증적용 시작일자 세팅
  918. }
  919. //20090701 2.희귀난치성산정특례 고시적용
  920. var rooa_pid = model.getValue("/root/hidden/rcv1/h_rooa/rooa/rooa_pid");
  921. if (rooa_pid.length != 0) {
  922. model.resetInstanceNode("/root/main/outrgst/rooa");
  923. model.copyNode("/root/main/outrgst/rooa","/root/hidden/rcv1/h_rooa/rooa");
  924. }
  925. //조회된 경우, 화면의 자보정보 세팅
  926. var aipm_pid = model.getValue("/root/hidden/rcv1/h_aipm/aipm/aipm_pid");
  927. if (aipm_pid.length != 0) {
  928. model.resetInstanceNode("/root/main/outrgst/aipm");
  929. model.copyNode("/root/main/outrgst/aipm","/root/hidden/rcv1/h_aipm/aipm"); //자보정보 세팅
  930. }
  931. //조회된 경우, 화면의 산재정보 세팅
  932. var icpm_pid = model.getValue("/root/hidden/rcv1/h_icpm/icpm/icpm_pid");
  933. if (icpm_pid.length != 0) {
  934. model.resetInstanceNode("/root/main/outrgst/icpm");
  935. model.copyNode("/root/main/outrgst/icpm","/root/hidden/rcv1/h_icpm/icpm"); //산재정보 세팅
  936. }
  937. //조회된 경우, 화면의 장애정보 세팅
  938. var hndc_pid = model.getValue("/root/hidden/rcv1/h_hndc/hndc/hndc_pid");
  939. if (hndc_pid.length != 0) {
  940. model.resetInstanceNode("/root/main/outrgst/hndc");
  941. model.copyNode("/root/main/outrgst/hndc","/root/hidden/rcv1/h_hndc/hndc"); //장애정보 세팅
  942. }
  943. var diag_diagcd = model.getValue("/root/hidden/rcv1/h_diag/diag/diag_diagcd");
  944. if (diag_diagcd.length!=0) {
  945. model.resetInstanceNode("/root/main/outrgst/diag");
  946. model.copyNode("/root/main/outrgst/diag","/root/hidden/rcv1/h_diag/diag");
  947. }
  948. var bldc_pid = model.getValue("/root/hidden/rcv1/h_bldc/bldc/bldc_pid");
  949. if (bldc_pid.length!=0) {
  950. model.resetInstanceNode("/root/main/outrgst/bldc");
  951. model.copyNode("/root/main/outrgst/bldc","/root/hidden/rcv1/h_bldc/bldc");
  952. }
  953. //요율변경내역 조회
  954. var updtratelist_pid = model.getValue("/root/hidden/rcv1/h_updtratelist/updtratelist/pid");
  955. var brateupdtflag = false;
  956. if (updtratelist_pid.length != 0) {
  957. //model.resetInstanceNode("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist");
  958. //model.copyNode("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist", "/root/hidden/rcv1/h_updtratelist/updtratelist");
  959. model.removenode("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist");
  960. model.makeNode("/root/hidden/item1/pidinfo/h_updtratelist/updtratelist");
  961. model.copyNode("/root/hidden/item1/pidinfo/h_updtratelist", "/root/hidden/rcv1/h_updtratelist");
  962. var dtratelist_pid = model.getValue("/root/hidden/rcv1/h_dtratelist/dtratelist/pid");
  963. if (dtratelist_pid.length != 0) {
  964. //model.resetInstanceNode("/root/hidden/item1/pidinfo/h_dtratelist/dtratelist");
  965. //model.copyNode("/root/hidden/item1/pidinfo/h_dtratelist/dtratelist", "/root/hidden/rcv1/h_dtratelist/dtratelist");
  966. model.removenode("/root/hidden/item1/pidinfo/h_dtratelist/dtratelist");
  967. model.makeNode("/root/hidden/item1/pidinfo/h_dtratelist/dtratelist");
  968. model.copyNode("/root/hidden/item1/pidinfo/h_dtratelist", "/root/hidden/rcv1/h_dtratelist");
  969. }
  970. brateupdtflag = true;
  971. }
  972. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_estmspclappyn") != "-" ){
  973. ipt_suppkind.attribute("color") = '#ff0000'; //red
  974. }else{
  975. ipt_suppkind.attribute("color") = '#000000'; //black
  976. }
  977. //외래등록정보 copy 시 일반의사면,특진여부 수정못하게/특진의사이면 수정가능
  978. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_specordyn") == "Y"){
  979. rdo_specordyn.disabled = false;
  980. }else{
  981. rdo_specordyn.disabled = true;
  982. }
  983. if(model.getValue("/root/main/outrgst/hndc/hndc_handcapgrde") == "01" || model.getValue("/root/main/outrgst/hndc/hndc_handcapgrde") == "02"){
  984. cmb_hndc_handcapgrde.attribute("disable.background-color") = "#ff9900";
  985. }else{
  986. cmb_hndc_handcapgrde.attribute("disable.background-color") = "";
  987. }
  988. //초재진수동부여
  989. if(model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_fsexammanlyn") == "Y"){
  990. cmb_fsexamflag.disabled = false;
  991. }
  992. //////////////////////////////////////////////////보험/////////////////////////////////////////////////////////
  993. model.setValue("/root/main/outrgst/ptin/ptin_insukind",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind")); //보험유형
  994. model.setValue("/root/main/outrgst/ptin/ptin_insucd" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insucd")); //보험자코드
  995. //보조유형 세팅하기
  996. //보험정조회해오기때문에 필요없음.
  997. fSuppKindSet(model.getValue("/root/main/outrgst/ptin/ptin_insukind"));
  998. model.setValue("/root/main/outrgst/ptin/ptin_suppkind" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_suppkind")); //보조유형
  999. model.setValue("/root/main/outrgst/ptin/ptin_suppkindresn" ,model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_suppkindresn")); //보조유형사유
  1000. //조회된 경우, 화면의 보험정보에 세팅
  1001. var ptin_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1002. if (ptin_insukind == "11") {
  1003. model.toggle("case_base");
  1004. }
  1005. //자보
  1006. if (ptin_insukind == "31") {
  1007. model.setValue("/root/main/outrgst/ptin/ptin_insucd" ,model.getValue("/root/main/outrgst/aipm/aipm_insucmpycd")); //보험회사코드
  1008. model.toggle("case_ta");
  1009. }
  1010. //산재
  1011. if (ptin_insukind == "41"){
  1012. model.toggle("case_inducs");
  1013. }
  1014. //공상
  1015. if (ptin_insukind == "42"){
  1016. model.toggle("case_dutywund");
  1017. }
  1018. if (model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insukind") != "") {
  1019. model.setValue("/root/main/outrgst/ptin/ptin_insucd" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insucd"));
  1020. model.setValue("/root/main/outrgst/ptin/ptin_insucdnm" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insucdnm"));
  1021. model.setValue("/root/main/outrgst/ptin/ptin_insuno" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insuno"));
  1022. model.setValue("/root/main/outrgst/ptin/ptin_insdrela" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insdrela"));
  1023. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insdnm"));
  1024. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insdrrgstno1"));
  1025. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2" , model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_insdrrgstno2"));
  1026. if (ptin_insukind != "31" && ptin_insukind != "41") {
  1027. model.setValue("/root/main/outrgst/ptin/ptin_fromdd", model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_fromdd") );
  1028. }else {
  1029. model.setValue("/root/main/outrgst/ptin/ptin_fromdd", getCurrentDate());
  1030. }
  1031. model.setValue("/root/main/outrgst/ptin/ptin_todd", model.getValue("/root/hidden/rcv1/h_ptin/ptin/ptin_todd") );
  1032. }else{
  1033. if (ptin_insukind != "31" && ptin_insukind != "41" && ptin_insukind != "51") {
  1034. messageBox("해당 보험정보가 조회되지", "E007");
  1035. }
  1036. model.setValue("/root/main/outrgst/ptin/ptin_fromdd",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  1037. model.setValue("/root/main/outrgst/ptin/ptin_todd" ,"99991231");
  1038. }
  1039. fptinBackUp(); //보험정보 _org 에 백업
  1040. //////////////////////////////////////////////////보험 끝/////////////////////////////////////////////////////////
  1041. grd_oscllist.refresh();
  1042. grd_oscllist.initStyle("background-color");
  1043. setRowStyle("grd_oscllist", "9", "000", "oscl_execprcpstatcd"); //추가
  1044. //부가세 관련 추가 20110628 nc
  1045. var rowcnt = grd_oscllist.rows;
  1046. var vatappcnt = 0;
  1047. for(var i=0; i<=rowcnt; i++){
  1048. if(model.getValue("/root/main/outrgst/m_oscl/oscl["+i+"]/vatappyn") == "Y"){
  1049. vatappcnt++;
  1050. }
  1051. }
  1052. if(vatappcnt > 0){
  1053. messageBox("부가세 부여대상 처방이 존재합니다\n보조유형을 확인하세요","E999","");
  1054. }
  1055. //부가세 관련 추가
  1056. //멀티카드취소시 정보조회
  1057. //fMultiSaveHistRef();
  1058. model.setValue("/root/init/option/cardyn" , "C"); //Y-카드, N-현금영수증, C-현금
  1059. model.setValue("/root/main/outrgst/m_etc/indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  1060. model.setValue("/root/main/outrgst/m_etc/cardno" , "");
  1061. model.setValue("/root/main/outrgst/m_etc/valiterm" , "");
  1062. model.setValue("/root/main/outrgst/m_etc/allotmm" , "");
  1063. model.setValue("/root/main/outrgst/m_etc/swipedata" , "");
  1064. model.copynode("/root/send", "/root/node_bk/send");
  1065. fEtcCheck("클릭정상");
  1066. fServerCheckMsg("클릭");
  1067. //요율변경내역 체크
  1068. if(workgubn == "Y" && brateupdtflag == true){
  1069. if(fClickHDUpdate() == true){
  1070. fSearch();
  1071. }
  1072. }
  1073. model.setFocus("ipt_cardno");
  1074. //Y-수납, N-정산, E-실시정산
  1075. if(workgubn == "Y"){
  1076. //금액표시기
  1077. fDisplayAmt_pamjs();
  1078. }
  1079. //Y-수납, N-정산, E-실시정산
  1080. if(workgubn == "N"){
  1081. fGetJOpmiList();
  1082. var openday = model.getValue("/root/init/basecdlist/hospopenday/cdnm");
  1083. var otpt_orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  1084. if(otpt_orddd < openday){
  1085. // 기존처방에 대해서만 계산
  1086. fCalculation('N');
  1087. }
  1088. }
  1089. //Y-수납, N-정산, E-실시정산
  1090. if(workgubn == "E"){
  1091. model.copyNode("/root/main/outrgst/m_oscl", "/root/hidden/rcv1/h_oscl");
  1092. grd_Eoscllist.rebuild();
  1093. setTree(grd_Eoscllist, 0, 0, true);
  1094. fDisplayAmt_pamjs(); //금액표시기
  1095. }
  1096. return true;
  1097. }else{
  1098. model.copynode("/root/main/outrgst/m_otpt/otpt", click_otpt_node);
  1099. fEtcCheck("클릭오류");
  1100. fServerCheckMsg("클릭");
  1101. if(getNodesetCount("/root/hidden/rcv1/m_otpt/otpt/otpt_pid") > 0){
  1102. model.copynode("/root/main/outrgst/m_otpt" , "/root/hidden/rcv1/m_otpt");
  1103. }else{
  1104. model.copynode("/root/main/outrgst/m_otpt" , "/root/hidden/rcv1/sum_otpt");
  1105. }
  1106. fLItemRefresh();
  1107. if(gridObj_row > 0){
  1108. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt["+gridObj_row+"]/otpt_checkflag", "false");
  1109. }
  1110. return false;
  1111. }
  1112. return;
  1113. }
  1114. function fIsValueofArray(vArray, vValue){
  1115. for(var i=0; i<vArray.length; i++){
  1116. if(vValue == vArray[i]) return true;
  1117. }
  1118. }
  1119. function fClearInsu() {
  1120. //보험정보 선택시, 기존 내용 clear
  1121. model.setValue("/root/main/outrgst/ptin/ptin_suppkind","");
  1122. model.setValue("/root/main/outrgst/ptin/ptin_suppkindresn","");
  1123. model.setValue("/root/main/outrgst/ptin/ptin_insucd","");
  1124. model.setValue("/root/main/outrgst/ptin/ptin_insucdnm","");
  1125. model.setValue("/root/main/outrgst/ptin/ptin_insuno","");
  1126. model.setValue("/root/main/outrgst/ptin/ptin_insdnm","");
  1127. model.setValue("/root/main/outrgst/ptin/ptin_insdnm","");
  1128. model.setValue("/root/main/outrgst/ptin/ptin_insdrela","");
  1129. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1","");
  1130. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2","");
  1131. model.setValue("/root/main/outrgst/ptin/ptin_fromdd","");
  1132. model.setValue("/root/main/outrgst/ptin/ptin_todd","");
  1133. }
  1134. //화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  1135. //flag N 디폴트 , C 계산취소 , P 환자번호 남기고 클리어
  1136. function fClear(flag) {
  1137. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1138. if (flag == "C") {
  1139. fCalcCancel("auto"); //정산화면에서 화면이동시 계산취소
  1140. }
  1141. model.copynode("/root/main" , "/root/node_bk/main");
  1142. model.copynode("/root/send" , "/root/node_bk/send");
  1143. model.copynode("/root/hidden" , "/root/node_bk/hidden");
  1144. model.copynode("/root/properties" , "/root/node_bk/properties");
  1145. model.resetInstanceNode("/root/source");
  1146. model.resetInstanceNode("/root/temp");
  1147. model.resetInstanceNode("/root/temp1");
  1148. model.resetInstanceNode("/root/temp2");
  1149. model.resetInstanceNode("/root/temp/psnworkinfo");
  1150. model.resetInstanceNode("/root/temp/receipt");
  1151. //인적정보 누락체크 버튼 초기화(회색)
  1152. btn_nullbaseinfo.attribute("background-color")="#c0c0c0";
  1153. //화면 디폴트 세팅
  1154. fSetDefault();
  1155. btn_otptlist.dispatch("onclick");
  1156. swt_insu.selectedIndex = 0;
  1157. chk_fsexammanlyn.disabled = false; //초재진수동부여 초기화
  1158. cmb_medamtfreeresn.disabled = true; //진찰료미산정사유 초기화
  1159. //이동재20080111 추가
  1160. model.setValue("/root/temp3/jsfromdd" , getCurrentDate().toDate().getAddDate(-1,"Y").getDateFormat());
  1161. model.setValue("/root/temp3/jstodd" , getCurrentDate());
  1162. model.setValue("/root/temp3/jssrchcond" , "1"); //수납선택(조회조건)
  1163. model.setValue("/root/temp3/jsorddeptcd" , "");
  1164. model.setValue("/root/temp3/jsorddrid" , "");
  1165. model.setValue("/root/temp3/jsinsukind" , "");
  1166. model.setValue("/root/option/opt_regis" , "N");
  1167. model.setValue("/root/option/opt_cardck" , "N");
  1168. model.setValue("/root/option/opt_procyn" , "N");
  1169. model.setValue("/root/option/opt_srchoff" , "N");
  1170. // 동의서 출력여부 초기화
  1171. cpt_scanyn.text = '';
  1172. // 사생활보호 초기화
  1173. cap_privacy.visible = false;
  1174. // 격리표식 초기화
  1175. img_isolb.src = "../../../com/hismainweb/images/btn_top_infection0_d.gif";
  1176. img_isolb.refresh();
  1177. img_isolc.src = "../../../com/hismainweb/images/btn_top_infection1_d.gif";
  1178. img_isolc.refresh();
  1179. img_isola.src = "../../../com/hismainweb/images/btn_top_infection2_d.gif";
  1180. img_isola.refresh();
  1181. rdo_medamtestmyn.disabled ="true";
  1182. cmb_hosoutexptresncd.disabled ="true";
  1183. btn_calc.disabled = false;
  1184. btn_rcpt.disabled = true;
  1185. if (flag == "P") {
  1186. model.setValue("/root/main/patinfo/patinfolist/pid" , pid);
  1187. }
  1188. //2011-11-30 장기이식 기증자 체크여부 초기화
  1189. model.setValue("/root/option/otp_dnoryn", "N");
  1190. bool1.refresh();
  1191. //2012-01-11 신생아 자격체크 여부 초기화
  1192. model.setValue("/root/option/otp_newbornyn", "N");
  1193. bool2.refresh();
  1194. model.setValue("/root/init/option/personprntyn", PersonPrntYN); //개인정보이용 동의서 자동출력 여부(기본값 : Y)
  1195. bool3.refresh();
  1196. // 2015/02/06 이정택 수정(진료시 세부내역서 오동작으로 소스변경)
  1197. model.makeValue("/root/init/option/specbillyn", "");
  1198. checkbox1.refresh();
  1199. model.makeValue("/root/init/option/printcnt", "1");
  1200. combo2.refresh();
  1201. /*
  1202. model.setValue("/root/init/option/specbillyn", "N"); // 진료비세부내역서 출력여부(기본값 : N)
  1203. checkbox1.refresh();
  1204. */
  1205. // 2015/02/06 이정택 수정
  1206. fLItemRefresh();
  1207. fCItemRefresh();
  1208. fRItemRefresh();
  1209. model.setFocus("ipt_pid");
  1210. }
  1211. //디폴트 세팅
  1212. function fSetDefault(){
  1213. //보험정보
  1214. model.makeValue("/root/main/outrgst/ptin/ptin_insukind","-");
  1215. model.makeValue("/root/main/outrgst/ptin/ptin_suppkind","-");
  1216. model.makeValue("/root/main/outrgst/ptin/ptin_suppkindresn","-");
  1217. model.makeValue("/root/main/outrgst/ptin/ptin_insucd","-");
  1218. model.makeValue("/root/main/outrgst/ptin/ptin_insucdnm","-");
  1219. model.makeValue("/root/main/outrgst/ptin/ptin_insuno","-");
  1220. model.makeValue("/root/main/outrgst/ptin/ptin_insdnm","-");
  1221. model.makeValue("/root/main/outrgst/ptin/ptin_insdrela","-");
  1222. model.makeValue("/root/main/outrgst/ptin/ptin_insdrrgstno1","-");
  1223. model.makeValue("/root/main/outrgst/ptin/ptin_insdrrgstno2","-");
  1224. model.makeValue("/root/main/outrgst/ptin/ptin_fromdd",getCurrentDate());
  1225. model.makeValue("/root/main/outrgst/ptin/ptin_todd","");
  1226. model.makeValue("/root/main/outrgst/srdg/srdg_seridiagno","-");
  1227. //model.makeValue("/root/main/outrgst/srdg/srdg_fromdd","-");
  1228. model.makeValue("/root/main/outrgst/rooa/rooa_rareobstno","-");
  1229. //model.makeValue("/root/main/outrgst/rooa/rooa_fromdd","-");
  1230. //model.makeValue("/root/main/outrgst/rooa/rooa_todd","-");
  1231. //출력옵션 디폴트 세팅
  1232. model.setValue("/root/init/option/receipt" ,"Y"); //영수증발행
  1233. model.setValue("/root/init/option/engreceipt" ,"N"); //영문영수증
  1234. model.setValue("/root/init/option/cardyn" ,"C"); //Y-카드, N-현금영수증, C-현금
  1235. model.setValue("/root/main/outrgst/m_etc/indinstflag" ,"00"); //00-소득공제, 01-지출증비, 02-미승인
  1236. model.setValue("/root/init/option/personprntyn", PersonPrntYN); //개인정보이용 동의서 자동출력 여부(기본값 : Y)
  1237. model.setValue("/root/main/outrgst/m_etc/uncocd","");
  1238. model.setValue("/root/main/outrgst/m_etc/discreducd","");
  1239. //보험유형 옆에 희귀난치 표시
  1240. model.setValue("/root/etc/opt_otptetc","");
  1241. model.setvalue("/root/etc/cardvanamt" ,"");
  1242. model.setvalue("/root/etc/cashvanamt" ,"");
  1243. model.setvalue("/root/etc/heallifeamtval" ,"");
  1244. model.setvalue("/root/etc/pregremamtval" ,"");
  1245. model.setvalue("/root/etc/union_msg" ,""); //통합메세지
  1246. //파라미터 초기화
  1247. setParameter("SPPMC03900_PARM","");
  1248. setParameter("SPPMC03900_RTN","");
  1249. setParameter("SPPMC03900_RTN_osunap","");
  1250. setParameter("SPPMC03900_RTN_osunap_msg4","");
  1251. setParameter("SPPMC03900_heallifeamtval","");
  1252. setParameter("SPPMC03900_pregremamtval","");
  1253. setParameter("SPPMC03900_heallifeamtclamamt","");
  1254. setParameter("SPPMC03900_pregdmndamt","");
  1255. //신종플루
  1256. setParameter("SPPMC03900_ETCORD","");
  1257. grd_past.rebuildStyle();
  1258. grd_rsrv.rebuildStyle();
  1259. grd_tday.rebuildStyle();
  1260. grd_calcflagn.rebuildStyle();
  1261. //grd_eactotpt.rebuildStyle();
  1262. }
  1263. //세션정보 추출하기
  1264. function fGetUserInfosSampling2(){
  1265. var sUserInfosS = getUserInfos();
  1266. sUserInfosS = sUserInfosS + "|";
  1267. var UserInfosS_Array = sUserInfosS.split("|");
  1268. var userid = UserInfosS_Array[0]; //사용자번호
  1269. var usernm = UserInfosS_Array[1]; //사용자이름
  1270. var posinstcd = UserInfosS_Array[2]; //소속기관코드
  1271. var posinstnm = UserInfosS_Array[3]; //소속기관명
  1272. var posdeptcd = UserInfosS_Array[4]; //소속부서코드
  1273. var posdeptnm = UserInfosS_Array[5]; //소속부서명
  1274. var dutplceinstcd = UserInfosS_Array[6]; //소속부서명
  1275. model.makeNode("/root/hidden/session/" + "userid");
  1276. model.makeNode("/root/hidden/session/" + "usernm");
  1277. model.makeNode("/root/hidden/session/" + "posinstcd");
  1278. model.makeNode("/root/hidden/session/" + "posinstnm");
  1279. model.makeNode("/root/hidden/session/" + "posdeptcd");
  1280. model.makeNode("/root/hidden/session/" + "posdeptnm");
  1281. model.makeNode("/root/hidden/session/" + "dutplceinstcd");
  1282. if (userid == null || userid == "" || userid == " " || userid == "-") userid = "pam";
  1283. if (posinstcd == null || posinstcd == "" || posinstcd == " " || posinstcd == "-" || dutplceinstcd == "-") posinstcd = "012";
  1284. model.setValue("/root/hidden/session/userid",userid);
  1285. model.setValue("/root/hidden/session/usernm",usernm);
  1286. model.setValue("/root/hidden/session/posinstcd",posinstcd);
  1287. model.setValue("/root/hidden/session/posinstnm",posinstnm);
  1288. model.setValue("/root/hidden/session/posdeptcd",posdeptcd);
  1289. model.setValue("/root/hidden/session/posdeptnm",posdeptnm);
  1290. model.setValue("/root/hidden/session/dutplceinstcd",dutplceinstcd);
  1291. }
  1292. //보조유형 세팅하기
  1293. function fSuppKindSet(otpt_insukind) {
  1294. cmb_suppkind.choices.itemset.attribute("nodeset") = "/root/init/basecdlist/suppkind[insukind = '"+otpt_insukind+"' and (ioflag = 'A' or ioflag = 'O')]";
  1295. cmb_suppkind.refresh();
  1296. }
  1297. function fOrddridSet(orddeptcd) {
  1298. cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/basecdlist/orddrid[dutplcecd = '"+orddeptcd+"']";
  1299. cmb_orddrid.refresh();
  1300. }
  1301. // 실시정산 진료과 선택 시 의사재설정
  1302. function fOrddridSetE(orddeptcd) {
  1303. combo5.choices.itemset.attribute("nodeset") = "/root/init/basecdlist/orddrid[dutplcecd = '"+orddeptcd+"']";
  1304. combo5.refresh();
  1305. }
  1306. //환자의 보험정보 조회(환자별 보험정보 테이블에서)
  1307. function fGetPTIN(vpid,vinsukind,vsuppkind,vinsucd,vappdd) {
  1308. //등록번호,보험유형,보험자코드 세팅
  1309. model.setValue("/root/send/pid",vpid);
  1310. model.setValue("/root/send/insukind",vinsukind);
  1311. //이동재20071231 기관기호는 일단막음
  1312. //model.setValue("/root/send/insucd",vinsucd);
  1313. model.setValue("/root/send/appdd",vappdd);
  1314. model.setValue("/root/send/orddd",vappdd); //좌측에서 선택시는 현재정보를 가져오게 한다.
  1315. model.setValue("/root/send/instcd",model.getValue("/root/hidden/session/dutplceinstcd") );
  1316. // /root/hidden/rcv/h_ptin/ptin 해당 노드에 결과값 받음
  1317. submit("TRPAO00103");
  1318. //조회하기전에 clear
  1319. //model.resetInstanceNode("/root/main/outrgst/ptin");
  1320. //model.setValue("/root/main/outrgst/ptin/ptin_insukind",vinsukind);
  1321. //조회된 경우, 화면의 보험정보에 세팅s
  1322. //var ptin_insukind = model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insukind");
  1323. var ptin_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1324. if (ptin_insukind.length != 0) {
  1325. //model.setValue("/root/hidden/rcv/h_ptin/ptin/ptin_suppkind",vsuppkind);
  1326. //model.setValue("/root/hidden/rcv/h_ptin/ptin/ptin_insucd",vinsucd);
  1327. //model.copyNode("/root/main/outrgst/ptin","/root/hidden/rcv/h_ptin/ptin");
  1328. model.setValue("/root/main/outrgst/ptin/ptin_insucd", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insucd") );
  1329. model.setValue("/root/main/outrgst/ptin/ptin_insucdnm", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insucdnm") );
  1330. model.setValue("/root/main/outrgst/ptin/ptin_insuno", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insuno") );
  1331. model.setValue("/root/main/outrgst/ptin/ptin_insdrela", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrela") );
  1332. model.setValue("/root/main/outrgst/ptin/ptin_insdnm", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdnm") );
  1333. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrrgstno1") );
  1334. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrrgstno2") );
  1335. model.setValue("/root/main/outrgst/ptin/ptin_fromdd", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_fromdd") );
  1336. model.setValue("/root/main/outrgst/ptin/ptin_todd", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_todd") );
  1337. }
  1338. else {
  1339. if (ptin_insukind != "31" && ptin_insukind != "41" && ptin_insukind != "51" && ptin_insukind != "61" && ptin_insukind != "71") {
  1340. messageBox("해당 보험정보가 조회 되지", "E007");
  1341. }
  1342. model.setValue("/root/main/outrgst/ptin/ptin_fromdd",getCurrentDate());
  1343. //model.setValue("/root/main/outrgst/ptin/ptin_suppkindresn","-");
  1344. //model.setValue("/root/main/outrgst/ptin/ptin_suppkind","-");
  1345. //model.setValue("/root/main/outrgst/ptin/ptin_insucd","-");
  1346. //model.setValue("/root/main/outrgst/ptin/ptin_insucdnm","-");
  1347. //model.setValue("/root/main/outrgst/ptin/ptin_insuno","-");
  1348. //model.setValue("/root/main/outrgst/ptin/ptin_insdrela","-");
  1349. //model.setValue("/root/main/outrgst/ptin/ptin_insdnm","-");
  1350. //model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1","-");
  1351. //model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2","-");
  1352. }
  1353. //조회된 경우, 화면의 중증정보에 세팅
  1354. var srdg_pid = model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_pid");
  1355. if (srdg_pid.length != 0) {
  1356. //조회하기전에 clear
  1357. model.resetInstanceNode("/root/main/outrgst/srdg");
  1358. //중증번호,중증적용 시작일자 세팅
  1359. model.copyNode("/root/main/outrgst/srdg","/root/hidden/rcv/h_srdg/srdg");
  1360. //model.setValue("/root/main/outrgst/srdg/srdg_seridiagno",model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_seridiagno"));
  1361. //model.setValue("/root/main/outrgst/srdg/srdg_fromdd",model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_seridiagno"));
  1362. }
  1363. //20090701 2.희귀난치성산정특례 고시적용
  1364. var rooa_pid = model.getValue("/root/hidden/rcv/h_rooa/rooa/rooa_pid");
  1365. if (rooa_pid.length != 0) {
  1366. //조회하기전에 clear
  1367. model.resetInstanceNode("/root/main/outrgst/rooa");
  1368. model.copyNode("/root/main/outrgst/rooa","/root/hidden/rcv/h_rooa/rooa");
  1369. }
  1370. //조회된 경우, 화면의 자보정보 세팅
  1371. var aipm_pid = model.getValue("/root/hidden/rcv/h_aipm/aipm/aipm_pid");
  1372. if (aipm_pid.length != 0) {
  1373. //조회하기전에 clear
  1374. model.resetInstanceNode("/root/main/outrgst/aipm");
  1375. //자보정보 세팅
  1376. model.copyNode("/root/main/outrgst/aipm","/root/hidden/rcv/h_aipm/aipm");
  1377. }
  1378. //조회된 경우, 화면의 산재정보 세팅
  1379. var icpm_pid = model.getValue("/root/hidden/rcv/h_icpm/icpm/icpm_pid");
  1380. if (icpm_pid.length != 0) {
  1381. //조회하기전에 clear
  1382. model.resetInstanceNode("/root/main/outrgst/icpm");
  1383. //산재정보 세팅
  1384. model.copyNode("/root/main/outrgst/icpm","/root/hidden/rcv/h_icpm/icpm");
  1385. }
  1386. //조회된 경우, 화면의 장애정보 세팅
  1387. var hndc_pid = model.getValue("/root/hidden/rcv/h_hndc/hndc/hndc_pid");
  1388. if (hndc_pid.length != 0) {
  1389. //조회하기전에 clear
  1390. model.resetInstanceNode("/root/main/outrgst/hndc");
  1391. //산재정보 세팅
  1392. model.copyNode("/root/main/outrgst/hndc","/root/hidden/rcv/h_hndc/hndc");
  1393. }
  1394. }
  1395. //환자의 중증정보 조회(환자별 중증정보 테이블에서) ??? 사용안함??
  1396. function fGetSRDG(vpid,vinsukind,vappdd) {
  1397. if ((vinsukind != "11")&&(vinsukind != "21")&&(vinsukind != "22")) return;
  1398. //등록번호,보험유형,적용일자 세팅
  1399. model.setValue("/root/send/pid",vpid);
  1400. model.setValue("/root/send/insukind",vinsukind);
  1401. model.setValue("/root/send/appdd",vappdd);
  1402. // /root/hidden/rcv/h_srdg/srdg 해당 노드에 결과값 받음
  1403. submit("TRPAO00104");
  1404. //조회된 경우, 화면의 보험정보에 세팅
  1405. var srdg_pid = model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_pid");
  1406. if (srdg_pid.length != 0) {
  1407. //조회하기전에 clear
  1408. model.resetInstanceNode("/root/main/outrgst/srdg");
  1409. //중증번호,중증적용 시작일자 세팅
  1410. model.copyNode("/root/main/outrgst/srdg","/root/hidden/rcv/h_srd/srdg");
  1411. //model.setValue("/root/main/outrgst/srdg/srdg_seridiagno",model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_seridiagno"));
  1412. //model.setValue("/root/main/outrgst/srdg/srdg_fromdd",model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_seridiagno"));
  1413. }
  1414. else {
  1415. //messageBox("해당 중증정보가 조회되지", "E007");
  1416. }
  1417. }
  1418. //환자의 보험정보 조회(환자별 보험정보 테이블에서) ???? 사용안함????
  1419. function fGetSunapInfo(vinsuno) {
  1420. //등록번호,보험유형,보험자코드 세팅
  1421. model.setValue("/root/send/pid" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_pid"));
  1422. model.setValue("/root/send/insukind" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_insukind"));
  1423. model.setValue("/root/send/suppkind" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_suppkind"));
  1424. model.setValue("/root/send/appdd" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_orddd"));
  1425. model.setValue("/root/send/instcd" , model.getValue("/root/hidden/session/dutplceinstcd") );
  1426. model.setValue("/root/send/disccd" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_disccd"));
  1427. model.setValue("/root/send/orddd" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_orddd"));
  1428. model.setValue("/root/send/cretno" , model.getValue("/root/main/outrgst/m_otpt/otpt["+ vinsuno + "]/otpt_cretno"));
  1429. model.setValue("/root/send/ordtype" ,"O" );
  1430. //초기화
  1431. model.resetInstanceNode("/root/hidden/rcv");
  1432. // /root/hidden/rcv/h_ptin/ptin 해당 노드에 결과값 받음
  1433. submit("TRPAO00112");
  1434. //조회된 경우, 화면의 보험정보에 세팅
  1435. var ptin_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1436. //자보
  1437. if (ptin_insukind == "31")
  1438. model.toggle("case_ta");
  1439. //산재
  1440. if (ptin_insukind == "41")
  1441. model.toggle("case_inducs");
  1442. //공상
  1443. if (ptin_insukind == "42")
  1444. model.toggle("case_dutywund");
  1445. if (getNodesetCount("/root/hidden/rcv/h_ptin/ptin/ptin_insukind") > 0) {
  1446. model.setValue("/root/main/outrgst/ptin/ptin_insucd" , model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insucd") );
  1447. model.setValue("/root/main/outrgst/ptin/ptin_insucdnm" , model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insucdnm") );
  1448. model.setValue("/root/main/outrgst/ptin/ptin_insuno" , model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insuno") );
  1449. model.setValue("/root/main/outrgst/ptin/ptin_insdrela" , model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrela") );
  1450. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" , model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdnm") );
  1451. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrrgstno1") );
  1452. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_insdrrgstno2") );
  1453. if (ptin_insukind != "31" && ptin_insukind != "41") {
  1454. model.setValue("/root/main/outrgst/ptin/ptin_fromdd", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_fromdd") );
  1455. }else {
  1456. model.setValue("/root/main/outrgst/ptin/ptin_fromdd", getCurrentDate());
  1457. }
  1458. model.setValue("/root/main/outrgst/ptin/ptin_todd", model.getValue("/root/hidden/rcv/h_ptin/ptin/ptin_todd") );
  1459. }else {
  1460. if (ptin_insukind != "31" && ptin_insukind != "41") {
  1461. messageBox("해당 보험정보가 조회되지", "E007");
  1462. }
  1463. model.setValue("/root/main/outrgst/ptin/ptin_fromdd",getCurrentDate());
  1464. }
  1465. //조회된 경우, 화면의 중증정보에 세팅
  1466. var srdg_pid = model.getValue("/root/hidden/rcv/h_srdg/srdg/srdg_pid");
  1467. if (srdg_pid.length != 0) {
  1468. model.resetInstanceNode("/root/main/outrgst/srdg");
  1469. model.copyNode("/root/main/outrgst/srdg","/root/hidden/rcv/h_srdg/srdg"); //중증번호,중증적용 시작일자 세팅
  1470. }
  1471. //조회된 경우, 화면의 자보정보 세팅
  1472. var aipm_pid = model.getValue("/root/hidden/rcv/h_aipm/aipm/aipm_pid");
  1473. if (aipm_pid.length != 0) {
  1474. model.resetInstanceNode("/root/main/outrgst/aipm");
  1475. model.copyNode("/root/main/outrgst/aipm","/root/hidden/rcv/h_aipm/aipm"); //자보정보 세팅
  1476. }
  1477. //조회된 경우, 화면의 산재정보 세팅
  1478. var icpm_pid = model.getValue("/root/hidden/rcv/h_icpm/icpm/icpm_pid");
  1479. if (icpm_pid.length != 0) {
  1480. model.resetInstanceNode("/root/main/outrgst/icpm");
  1481. model.copyNode("/root/main/outrgst/icpm","/root/hidden/rcv/h_icpm/icpm"); //산재정보 세팅
  1482. }
  1483. //조회된 경우, 화면의 장애정보 세팅
  1484. var hndc_pid = model.getValue("/root/hidden/rcv/h_hndc/hndc/hndc_pid");
  1485. if (hndc_pid.length != 0) {
  1486. model.resetInstanceNode("/root/main/outrgst/hndc");
  1487. model.copyNode("/root/main/outrgst/hndc","/root/hidden/rcv/h_hndc/hndc"); //장애정보 세팅
  1488. }
  1489. var diag_diagcd = model.getValue("/root/hidden/rcv/h_diag/diag/diag_diagcd");
  1490. if (diag_diagcd.length!=0) {
  1491. model.resetInstanceNode("/root/main/outrgst/diag");
  1492. model.copyNode("/root/main/outrgst/diag","/root/hidden/rcv/h_diag/diag");
  1493. }
  1494. var bldc_pid = model.getValue("/root/hidden/rcv/h_bldc/bldc/bldc_pid");
  1495. if (bldc_pid.length!=0) {
  1496. model.resetInstanceNode("/root/main/outrgst/bldc");
  1497. model.copyNode("/root/main/outrgst/bldc","/root/hidden/rcv/h_bldc/bldc");
  1498. }
  1499. }
  1500. //계산
  1501. function fCalculate(param){
  1502. //기존내역 clear
  1503. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  1504. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  1505. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  1506. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  1507. model.copynode("/root/main/outrgst/m_oscl" , "/root/node_bk/main/outrgst/m_oscl");
  1508. model.removeNodeset("/root/send/s_otpt/otpt");
  1509. //타 진료과인 경우도 계산(예약), 같은 보험유형 및 같은 감면으로 계산되며,
  1510. //접수내역의 선택진료여부,진찰료산정여부,초재진 등의 금액변경을 야기시키는 정보를 변경시킬 수 없음.
  1511. //체크된 내역 계산
  1512. //체크된 외래등록내역 copy
  1513. var iSelRow = 0;
  1514. for (var iRow = 1; iRow<= grd_tday.rows ; iRow++) {
  1515. if (model.getValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_checkflag")=="true") {
  1516. model.setValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_calcactflag","2");//계산수행구분(1:접수, 2:진료후수납)
  1517. model.setValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_calcgubn",model.getValue("/root/hidden/calcgubn"));// 계산구분(Y: 계산, N:가계산)
  1518. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_tday/otpt["+iRow+"]","after");
  1519. iSelRow++;
  1520. }
  1521. }//End for grd_tday
  1522. for (var iRow = 1; iRow<= grd_rsrv.rows ; iRow++) {
  1523. if (model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_checkflag")=="true") {
  1524. model.setValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_calcactflag","2");//계산수행구분(1:접수, 2:진료후수납)
  1525. model.setValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_calcgubn",model.getValue("/root/hidden/calcgubn"));// 계산구분(Y: 계산, N:가계산)
  1526. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]","after");
  1527. iSelRow++;
  1528. }
  1529. }//End for grd_rsrv
  1530. for (var iRow = 1; iRow<= grd_past.rows ; iRow++) {
  1531. if (model.getValue("root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_checkflag") == "true") {
  1532. model.setValue("/root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_calcactflag","2");//계산수행구분(1:접수, 2:진료후수납)
  1533. model.setValue("/root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_calcgubn",model.getValue("/root/hidden/calcgubn"));// 계산구분(Y: 계산, N:가계산)
  1534. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_past/otpt["+iRow+"]","after");
  1535. iSelRow++;
  1536. }
  1537. }//End for grd_past
  1538. if (iSelRow == 0) {
  1539. messageBox("선택된 내역이","I004");//I004=없습니다
  1540. return;
  1541. }
  1542. //-------------------------------------------------------------------------------------------------
  1543. //보험정보 체크
  1544. //자보/산재/공상인 경우와 아닌경우 분리
  1545. var ptin_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind"); //보험유형
  1546. var ptin_suppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind"); //보조유형
  1547. var ptin_suppkindresn = model.getValue("/root/main/outrgst/ptin/ptin_suppkindresn"); //보조유형사유
  1548. var ptin_fromdd = model.getValue("/root/main/outrgst/ptin/ptin_fromdd"); //시작일자
  1549. var ptin_todd = model.getValue("/root/main/outrgst/ptin/ptin_todd"); //종료일자
  1550. if (ptin_insukind == gsInsu_JaboKind || ptin_insukind == gsInsu_SanJae || ptin_insukind == gsInsu_GongSang) {
  1551. //자보
  1552. if (ptin_insukind == gsInsu_JaboKind) {
  1553. model.setValue("/root/main/outrgst/ptin/ptin_insucd" ,model.getValue("/root/main/outrgst/aipm/aipm_insucmpycd")); //보험회사코드
  1554. }
  1555. }else {
  1556. var vArrayInsu = new Array(model.getValue("/root/main/outrgst/ptin/ptin_insukind")
  1557. ,model.getValue("/root/main/outrgst/ptin/ptin_suppkind")
  1558. ,model.getValue("/root/main/outrgst/ptin/ptin_suppkindresn")
  1559. ,model.getValue("/root/main/outrgst/ptin/ptin_insucd")
  1560. ,model.getValue("/root/main/outrgst/ptin/ptin_insuno")
  1561. ,model.getValue("/root/main/outrgst/ptin/ptin_insdnm")
  1562. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrela")
  1563. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno1")
  1564. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno2")
  1565. ,model.getValue("/root/main/outrgst/ptin/ptin_fromdd")
  1566. ,model.getValue("/root/main/outrgst/ptin/ptin_todd")
  1567. );
  1568. var vArrayCtrl = new Array("cmb_insukind"
  1569. ,"cmb_suppkind"
  1570. ,"cmb_suppkindresn"
  1571. ,"ipt_insucd"
  1572. ,"ipt_insuno"
  1573. ,"ipt_insdnm"
  1574. ,"cmb_insdrela"
  1575. ,"ipt_insdrrgstno1"
  1576. ,"ipt_insdrrgstno2"
  1577. ,"ipt_fromdd"
  1578. ,"ipt_todd"
  1579. );
  1580. if (fInsuInfoVeri(vArrayInsu, vArrayCtrl) == false) { return; }
  1581. //보험정보 체크에 의해 재설정된 정보 세팅
  1582. model.setValue("/root/main/outrgst/ptin/ptin_insukind" , vArrayInsu[0]);
  1583. model.setValue("/root/main/outrgst/ptin/ptin_suppkind" , vArrayInsu[1]);
  1584. model.setValue("/root/main/outrgst/ptin/ptin_suppkindresn" , vArrayInsu[2]);
  1585. model.setValue("/root/main/outrgst/ptin/ptin_insucd" , vArrayInsu[3]);
  1586. model.setValue("/root/main/outrgst/ptin/ptin_insuno" , vArrayInsu[4]);
  1587. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" , vArrayInsu[5]);
  1588. model.setValue("/root/main/outrgst/ptin/ptin_insdrela" , vArrayInsu[6]);
  1589. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1" , vArrayInsu[7]);
  1590. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2" , vArrayInsu[8]);
  1591. model.setValue("/root/main/outrgst/ptin/ptin_fromdd" , vArrayInsu[9]);
  1592. model.setValue("/root/main/outrgst/ptin/ptin_todd" , vArrayInsu[10]);
  1593. }
  1594. //정액/인공신장 세팅 추가
  1595. //보호정신과,보호인공신장+장애,인공신장에 따라 수가계산방법 세팅(P/N) => 없앰
  1596. var insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1597. var suppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind");
  1598. for(var i=1; i<= iSelRow; i++) {
  1599. var reqdeptno = model.getValue("/root/init/basecdlist/orddeptcd[ cdid = '" + model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_orddeptcd") + "' ]/reqdeptno");
  1600. if( insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 ){
  1601. //if( suppkind == gsSupp_INGONG || suppkind == gsSupp_BOKMAK ){
  1602. if( suppkind == gsSupp_INGONG ){ //복막관류술은 제외 2007.10.18 //복막관류술도 포함 20080128
  1603. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","O"); //인공신장 세팅
  1604. }else if( reqdeptno == "03" && suppkind == gsSupp_JSJA && (insukind == gsInsu_BoHo2 || insukind == gsInsu_BoHo1)){
  1605. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","P"); //정신과 정액 세팅
  1606. }else{
  1607. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","N"); //개별수가 세팅
  1608. }
  1609. }else{
  1610. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","N"); //개별수가 세팅
  1611. }
  1612. }
  1613. //이동재20071119 산정특례로직 체크-----------------------
  1614. //이동재20071219 재계산시에는 산정특례로직 체크안하게 수정
  1615. /*
  1616. for(var i=1; i<= iSelRow; i++) {
  1617. var vinsukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1618. var vsuppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind");
  1619. var vsuppkindsubyn = model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_suppkindsubyn");
  1620. if((vinsukind == "11" || vinsukind == "21" || vinsukind == "22") && vsuppkind != "01" && vsuppkindsubyn == "N"){
  1621. if (fEsscSearch( model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_pid"),
  1622. model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_orddd"),
  1623. model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_orddeptcd"),
  1624. model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_mskind"),
  1625. model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_cretno"),
  1626. model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_insukind")) == false){
  1627. return;
  1628. }
  1629. }
  1630. }
  1631. */
  1632. //보험정보 copy
  1633. fptinBackUp(); //보험정보 _org 에 백업44
  1634. model.copyNode("/root/send/ptin","/root/main/outrgst/ptin");
  1635. //환자기본정보 세팅
  1636. model.setValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  1637. model.setValue("/root/send/brthdd" , model.getValue("/root/main/patinfo/patinfolist/brthdd"));
  1638. model.setValue("/root/send/rrgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  1639. model.setValue("/root/send/rrgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  1640. model.setValue("/root/send/sessuserid", model.getValue("/root/hidden/session/userid"));
  1641. model.setValue("/root/send/workgubn" , model.getValue("/root/temp3/workgubn"));
  1642. model.setValue("/root/send/gubun" , param);
  1643. var otptCnt = getNodesetCount("/root/send/s_otpt/otpt/otpt_pid");
  1644. //계산할 내역이 1건이면, 접수상세정보의 변경건을 반영한다.
  1645. if (parseInt(otptCnt) == 1) {
  1646. model.setValue("/root/send/s_otpt/otpt/otpt_ordreqformflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordreqformflag")); //진료의뢰 수급절차
  1647. model.setValue("/root/send/s_otpt/otpt/otpt_specordyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_specordyn")); //선택진료
  1648. model.setValue("/root/send/s_otpt/otpt/otpt_medamtestmyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn")); //진찰료산정여부
  1649. model.setValue("/root/send/s_otpt/otpt/otpt_medamtfreeresn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn")); //진찰료산정사유
  1650. model.setValue("/root/send/s_otpt/otpt/otpt_fsexamflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_fsexamflag")); //초재진구분
  1651. model.setValue("/root/send/s_otpt/otpt/otpt_fsexammanlyn" , chk_fsexammanlyn.value); //초재진수동부여여부
  1652. model.setValue("/root/send/s_otpt/otpt/otpt_handicaprbookpossnyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn")); //장애인수첩소지여부
  1653. model.setValue("/root/send/s_otpt/otpt/otpt_disccd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd")); //계정감면
  1654. model.setValue("/root/send/s_otpt/otpt/otpt_hosoutexptresncd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_hosoutexptresncd")); //의약분업예외코드
  1655. model.setValue("/root/send/s_otpt/otpt/otpt_rsrvflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rsrvflag")); //예약구분
  1656. model.setValue("/root/send/s_otpt/otpt/otpt_etcordflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag")); //기타진료구분
  1657. model.setValue("/root/send/s_otpt/otpt/otpt_clincstdyacptflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_clincstdyacptflag")); //임상미수구분
  1658. //model.setValue("/root/send/s_otpt/otpt/otpt_rareobstflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag")); //희귀난치
  1659. model.setValue("/root/send/s_otpt/otpt/otpt_ownbflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag")); //본인부담구분
  1660. //2015/06/19 이정택 수정(수가계산을 위해 미수코드 입력)
  1661. model.setValue("/root/send/s_otpt/otpt/otpt_uncocd" , model.getValue("/root/main/outrgst/m_etc/uncocd")); //미수코드
  1662. }
  1663. for(var a=1; a <=otptCnt; a++) {
  1664. //model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_ordreqformflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordreqformflag")); //진료의뢰 수급절차
  1665. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_handicaprbookpossnyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn")); //장애인수첩소지여부
  1666. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_disccd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd")); //계정감면
  1667. //model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_rareobstflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag")); //희귀난치
  1668. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_ownbflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag")); //본인부담구분
  1669. }
  1670. //================================================================
  1671. //멀티계산 시작
  1672. //================================================================
  1673. //계산호출
  1674. //계산 성공시, 수납할 금액 조회
  1675. if (submit("TXPAO00101") == true) {
  1676. for (var iCount = 1; iCount<= grd_past.rows ; iCount++) {
  1677. if(model.getValue("/root/main/baseinfo/otpt_past/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1678. model.copynode("/root/main/baseinfo/otpt_past/otpt["+iCount+"]" , "/root/hidden/rcv1/otpt_past/otpt");
  1679. model.removenode("/root/hidden/rcv1/otpt_past/otpt");
  1680. }
  1681. }
  1682. for (var iCount = 1; iCount<= grd_tday.rows ; iCount++) {
  1683. if(model.getValue("/root/main/baseinfo/otpt_tday/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1684. model.copynode("/root/main/baseinfo/otpt_tday/otpt["+iCount+"]" , "/root/hidden/rcv1/otpt_tday/otpt");
  1685. model.removenode("/root/hidden/rcv1/otpt_tday/otpt");
  1686. }
  1687. }
  1688. for (var iCount = 1; iCount<= grd_rsrv.rows ; iCount++) {
  1689. if(model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1690. model.copynode("/root/main/baseinfo/otpt_rsrv/otpt["+iCount+"]" , "/root/hidden/rcv1/otpt_rsrv/otpt");
  1691. model.removenode("/root/hidden/rcv1/otpt_rsrv/otpt");
  1692. }
  1693. }
  1694. for (var iCount = 1; iCount<= getNodesetCount("/root/main/outrgst/m_otpt/otpt/otpt_pid") ; iCount++) {
  1695. if (model.getValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1696. model.setValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_calcflag" ,"S");
  1697. model.setValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_rollbackyn","Y");
  1698. }
  1699. }
  1700. //받아온 계산내역을 세팅
  1701. var oscl_pid = model.getValue("/root/hidden/rcv1/h_oscl/oscl/oscl_pid");
  1702. var vexecprcphistcd = "Y";
  1703. var vexecbldc2 = "N";
  1704. if(oscl_pid.length !=0){
  1705. //조회하기전에 clear
  1706. model.copynode("/root/main/outrgst/m_oscl", "/root/node_bk/main/outrgst/m_oscl");
  1707. model.copyNode("/root/main/outrgst/m_oscl", "/root/hidden/rcv1/h_oscl");
  1708. //기존 바탕색 clear
  1709. for(var i=0; i <= grd_oscllist.rows ; i++){
  1710. grd_oscllist.rowStyle(i,"data","background-color") = "#ffffff";
  1711. }
  1712. setRowStyle("grd_oscllist" , "9" , "000" , "oscl_execprcpstatcd"); //추가
  1713. //setRowStyle("grd_oscllist" , "2" , "230" , "oscl_execprcpstatcd"); //수납
  1714. //setRowStyle("grd_oscllist" , "3" , "210" , "oscl_execprcpstatcd"); //홀드
  1715. //setRowStyle("grd_oscllist" , "6" , "E" , "oscl_execprcphistcd"); //반납
  1716. //setRowStyle("grd_oscllist" , "5" , "060601" , "oscl_snglearncls"); //수혈
  1717. }
  1718. fSetOrdAmt();
  1719. }
  1720. fEtcCheck("계산");
  1721. fServerCheckMsg("계산");
  1722. }
  1723. //화면우측에 진료비 보여주기
  1724. function fSetOrdAmt(){
  1725. model.copynode("/root/main/outrgst/m_opmi" ,"/root/hidden/rcv1/m_opmi");
  1726. //받아온 선수금 잔액 세팅
  1727. var opmi_mdlremamt = model.getValue("/root/hidden/rcv1/h_remamt/remamt/remamt_remamt");
  1728. if (parseInt(opmi_mdlremamt) >=0) {
  1729. //조회하기전에 clear
  1730. model.resetInstanceNode("/root/main/outrgst/m_remamt/remamt");
  1731. model.copyNode("/root/main/outrgst/m_remamt","/root/hidden/rcv1/h_remamt");
  1732. }
  1733. model.setValue("/root/init/option/cardyn" ,"C"); //Y-카드, N-현금영수증, C-현금
  1734. model.setValue("/root/main/outrgst/m_etc/indinstflag" ,"00"); //00-소득공제, 01-지출증비, 02-미승인
  1735. model.setValue("/root/main/outrgst/m_etc/cardno" ,"");
  1736. model.setValue("/root/main/outrgst/m_etc/valiterm" ,"");
  1737. model.setValue("/root/main/outrgst/m_etc/allotmm" ,"");
  1738. model.setValue("/root/main/outrgst/m_etc/swipedata" ,"");
  1739. model.setFocus("ipt_cardno");
  1740. //금액표시기
  1741. fDisplayAmt_pamjs();
  1742. }
  1743. //정산용 계산(수납에 계산과 동일하나 루틴 정리)
  1744. function fCalcflagNCalculate(param){
  1745. //기존내역 clear
  1746. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  1747. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  1748. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  1749. model.copynode("/root/send/s_actr" , "/root/node_bk/send/s_actr");
  1750. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  1751. removeChildren("/root/send/s_otpt/otpt");
  1752. removeChildren("/root/send/s_actr/actr");
  1753. //체크된 외래등록내역 copy
  1754. var iSelRow = 0;
  1755. for (var iRow = 1; iRow<= grd_calcflagn.rows ; iRow++) {
  1756. if (model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_checkflag")=="true") {
  1757. model.setValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_calcactflag","2");//계산수행구분(1:접수, 2:진료후수납)
  1758. model.setValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_calcgubn",model.getValue("/root/hidden/calcgubn"));// 계산구분(Y: 계산, N:가계산)
  1759. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]","before");
  1760. iSelRow++;
  1761. }
  1762. }//End for grd_calcflagn
  1763. for (var iRow = 1; iRow<= grd_eactotpt.rows ; iRow++) {
  1764. if (model.getValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]/otpt_checkflag")=="true") {
  1765. model.setValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]/otpt_calcactflag","2");//계산수행구분(1:접수, 2:진료후수납)
  1766. model.setValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]/otpt_calcgubn",model.getValue("/root/hidden/calcgubn"));// 계산구분(Y: 계산, N:가계산)
  1767. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]","before");
  1768. iSelRow++;
  1769. }
  1770. }//End for grd_eactotpt
  1771. //실시정산에 실시내역
  1772. for (var cnt = 1; cnt<= getNodesetCount("/root/main/baseinfo/actlist/actr/actr_pid") ; cnt++) {
  1773. copyNodeListType("/root/send/s_actr","/root/main/baseinfo/actlist/actr["+cnt+"]","before");
  1774. }//End for grd_Eactlist
  1775. if (iSelRow == 0) {
  1776. messageBox("선택된 내역이","I004");//I004=없습니다
  1777. return;
  1778. }
  1779. var ptin_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind"); //보험유형
  1780. var ptin_suppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind"); //보조유형
  1781. var ptin_suppkindresn = model.getValue("/root/main/outrgst/ptin/ptin_suppkindresn"); //보조유형사유
  1782. var ptin_fromdd = model.getValue("/root/main/outrgst/ptin/ptin_fromdd"); //시작일자
  1783. var ptin_todd = model.getValue("/root/main/outrgst/ptin/ptin_todd"); //종료일자
  1784. if (ptin_insukind == gsInsu_JaboKind || ptin_insukind == gsInsu_SanJae || ptin_insukind == gsInsu_GongSang) {
  1785. //자보
  1786. if (ptin_insukind == gsInsu_JaboKind) {
  1787. model.setValue("/root/main/outrgst/ptin/ptin_insucd" ,model.getValue("/root/main/outrgst/aipm/aipm_insucmpycd")); //보험회사코드
  1788. }
  1789. }else{
  1790. var vArrayInsu = new Array(model.getValue("/root/main/outrgst/ptin/ptin_insukind")
  1791. ,model.getValue("/root/main/outrgst/ptin/ptin_suppkind")
  1792. ,model.getValue("/root/main/outrgst/ptin/ptin_suppkindresn")
  1793. ,model.getValue("/root/main/outrgst/ptin/ptin_insucd")
  1794. ,model.getValue("/root/main/outrgst/ptin/ptin_insuno")
  1795. ,model.getValue("/root/main/outrgst/ptin/ptin_insdnm")
  1796. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrela")
  1797. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno1")
  1798. ,model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno2")
  1799. ,model.getValue("/root/main/outrgst/ptin/ptin_fromdd")
  1800. ,model.getValue("/root/main/outrgst/ptin/ptin_todd")
  1801. );
  1802. var vArrayCtrl = new Array("cmb_insukind"
  1803. ,"cmb_suppkind"
  1804. ,"cmb_suppkindresn"
  1805. ,"ipt_insucd"
  1806. ,"ipt_insuno"
  1807. ,"ipt_insdnm"
  1808. ,"cmb_insdrela"
  1809. ,"ipt_insdrrgstno1"
  1810. ,"ipt_insdrrgstno2"
  1811. ,"ipt_fromdd"
  1812. ,"ipt_todd"
  1813. );
  1814. if(fInsuInfoVeri(vArrayInsu, vArrayCtrl) == false){
  1815. return;
  1816. }
  1817. //보험정보 체크에 의해 재설정된 정보 세팅
  1818. model.setValue("/root/main/outrgst/ptin/ptin_insukind" , vArrayInsu[0]);
  1819. model.setValue("/root/main/outrgst/ptin/ptin_suppkind" , vArrayInsu[1]);
  1820. model.setValue("/root/main/outrgst/ptin/ptin_suppkindresn" , vArrayInsu[2]);
  1821. model.setValue("/root/main/outrgst/ptin/ptin_insucd" , vArrayInsu[3]);
  1822. model.setValue("/root/main/outrgst/ptin/ptin_insuno" , vArrayInsu[4]);
  1823. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" , vArrayInsu[5]);
  1824. model.setValue("/root/main/outrgst/ptin/ptin_insdrela" , vArrayInsu[6]);
  1825. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1" , vArrayInsu[7]);
  1826. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2" , vArrayInsu[8]);
  1827. model.setValue("/root/main/outrgst/ptin/ptin_fromdd" , vArrayInsu[9]);
  1828. model.setValue("/root/main/outrgst/ptin/ptin_todd" , vArrayInsu[10]);
  1829. }
  1830. //정액/인공신장 세팅 추가..
  1831. //보호정신과,보호인공신장+장애,인공신장에 따라 수가계산방법 세팅(P/N) => 없앰
  1832. var insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  1833. var suppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind");
  1834. for(var i=1; i<=iSelRow; i++){
  1835. var reqdeptno = model.getValue("/root/init/basecdlist/orddeptcd[ cdid = '" + model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_orddeptcd") + "' ]/reqdeptno");
  1836. if( insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 ){
  1837. //if( suppkind == gsSupp_INGONG || suppkind == gsSupp_BOKMAK ){
  1838. if( suppkind == gsSupp_INGONG ){ //복막관류술은 제외 2007.10.18
  1839. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","O"); //인공신장 세팅
  1840. }else if( reqdeptno == "03" && insukind == gsInsu_BoHo2 ){
  1841. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","P"); //정신과 정액 세팅
  1842. }else{
  1843. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","N"); //개별수가 세팅
  1844. }
  1845. }else{
  1846. model.setValue("/root/send/s_otpt/otpt[" + i + "]/otpt_calcmthdflag","N"); //개별수가 세팅
  1847. }
  1848. }//for
  1849. //보험정보 copy
  1850. fptinBackUp(); //보험정보 _org 에 백업44
  1851. model.copyNode("/root/send/ptin","/root/main/outrgst/ptin");
  1852. //환자기본정보 세팅
  1853. model.setValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1854. model.setValue("/root/send/brthdd", model.getValue("/root/main/patinfo/patinfolist/brthdd"));
  1855. model.setValue("/root/send/rrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  1856. model.setValue("/root/send/rrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  1857. model.setValue("/root/send/sessuserid", model.getValue("/root/hidden/session/userid"));
  1858. model.setValue("/root/send/workgubn", model.getValue("/root/temp3/workgubn"));
  1859. model.setValue("/root/send/gubun", param);
  1860. var otptCnt = getNodesetCount("/root/send/s_otpt/otpt/otpt_pid");
  1861. //계산할 내역이 1건이면, 접수상세정보의 변경건을 반영한다.
  1862. if (parseInt(otptCnt) == 1) {
  1863. model.setValue("/root/send/s_otpt/otpt/otpt_ordreqformflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordreqformflag")); //진료의뢰제출구분
  1864. model.setValue("/root/send/s_otpt/otpt/otpt_specordyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_specordyn")); //선택진료
  1865. model.setValue("/root/send/s_otpt/otpt/otpt_medamtestmyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn")); //진찰료산정여부
  1866. model.setValue("/root/send/s_otpt/otpt/otpt_medamtfreeresn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn")); //진찰료산정사유
  1867. model.setValue("/root/send/s_otpt/otpt/otpt_fsexamflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_fsexamflag")); //초재진구분
  1868. model.setValue("/root/send/s_otpt/otpt/otpt_fsexammanlyn" , chk_fsexammanlyn.value); //초재진수동부여여부
  1869. model.setValue("/root/send/s_otpt/otpt/otpt_handicaprbookpossnyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn")); //장애인수첩소지여부
  1870. model.setValue("/root/send/s_otpt/otpt/otpt_disccd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd")); //계정감면
  1871. model.setValue("/root/send/s_otpt/otpt/otpt_hosoutexptresncd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_hosoutexptresncd")); //의약분업예외코드
  1872. model.setValue("/root/send/s_otpt/otpt/otpt_etcordflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag")); //기타진료구분
  1873. model.setValue("/root/send/s_otpt/otpt/otpt_clincstdyacptflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_clincstdyacptflag")); //임상미수구분
  1874. //model.setValue("/root/send/s_otpt/otpt/otpt_rareobstflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag")); //희귀난치
  1875. model.setValue("/root/send/s_otpt/otpt/otpt_ownbflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag")); //본인부담구분
  1876. }
  1877. for(var a=1; a <=otptCnt; a++) {
  1878. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_ordreqformflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordreqformflag")); //진료의뢰 수급절차
  1879. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_handicaprbookpossnyn" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn")); //장애인수첩소지여부
  1880. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_disccd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd")); //계정감면
  1881. //model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_rareobstflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag")); //희귀난치
  1882. model.setValue("/root/send/s_otpt/otpt["+a+"]/otpt_ownbflag" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag")); //본인부담구분
  1883. }
  1884. //================================================================
  1885. //멀티계산 시작
  1886. //================================================================
  1887. //messageBox("계산할 내역은"+getNodesetCount("/root/send/s_otpt/otpt/otpt_pid")+ "건 입니다" ,"I999");//E008=입니다
  1888. //계산호출
  1889. //계산 성공시, 수납할 금액 조회
  1890. if(submit("TXPAO00101")){
  1891. //성공하여 oscl에 변화가 있을시 상태변경 => 미수납으로 세팅
  1892. if(getNodesetCount("/root/hidden/rcv1/h_oscl/oscl/oscl_pid") > 0 ) {
  1893. for (var iCount = 1; iCount<= grd_calcflagn.rows ; iCount++) {
  1894. if(model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1895. model.copynode("/root/main/baseinfo/otpt_calcflagn/otpt["+iCount+"]" , "/root/hidden/rcv1/otpt_calcflagn/otpt");
  1896. model.removenode("/root/hidden/rcv1/otpt_calcflagn/otpt");
  1897. }
  1898. }
  1899. for (var iCount = 1; iCount<= grd_eactotpt.rows ; iCount++) {
  1900. if(model.getValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1901. model.copynode("/root/main/baseinfo/otpt_eactotpt/otpt["+iCount+"]" , "/root/hidden/rcv1/otpt_eactotpt/otpt");
  1902. model.removenode("/root/hidden/rcv1/otpt_eactotpt/otpt");
  1903. }
  1904. }
  1905. for (var iCount = 1; iCount<= getNodesetCount("/root/main/outrgst/m_otpt/otpt/otpt_pid") ; iCount++) {
  1906. if (model.getValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_checkflag")=="true") {
  1907. model.setValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_calcflag" ,"S");
  1908. model.setValue("/root/main/outrgst/m_otpt/otpt["+iCount+"]/otpt_rollbackyn","Y");
  1909. }
  1910. }
  1911. if (model.getValue("/root/temp3/workgubn") == "E"){
  1912. model.copyNode("/root/main/outrgst/m_oscl" , "/root/hidden/rcv1/h_oscl");
  1913. grd_Eoscllist.refresh();
  1914. setTree(grd_Eoscllist, 0, 0, true);
  1915. }
  1916. }
  1917. grd_calcflagn.rebuild();
  1918. grd_eactotpt.rebuild();
  1919. fSetOrdAmt();
  1920. }
  1921. fEtcCheck("계산");
  1922. fServerCheckMsg("계산");
  1923. }//End function fCalcflagNCalculate()
  1924. //수납
  1925. function fReceipt(){
  1926. if(fBrthddVeri(model.getValue("/root/main/patinfo/patinfolist/brthdd"),ipt_brthdd) == false) return; //DUR관련 생년월일체크
  1927. model.setFocus("ipt_paypsnamt");
  1928. fopmi_removemask();
  1929. /*
  1930. * 자보환자 보험사코드 필수입력 체크
  1931. */
  1932. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  1933. for(var i=1; i<=vOpmi_count; i++){
  1934. //자보 - 전액본인부담 이외의 경우, 보험사코드가 없으면 수납처리 불가능하도록 제어 추가 by 조중래 20130705
  1935. if(model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_insukind") == "31" && model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_suppkind") != "01"){
  1936. //해당 접수건에 보험사코드가 없는 경우
  1937. if((model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_insucd") == "" || model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_insucd") == "-")){
  1938. messageBox("해당 접수건에 보험사코드가 설정되지 않았습니다. " + model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_insucd") + "\r\n자보정보를 확인하십시오.", "C000");
  1939. return false;
  1940. }
  1941. //해당 접수건에 지불보증번호가 없는 경우
  1942. if(model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_paygrntnocnt") == 0){
  1943. messageBox("해당 접수일자에 지불보증번호가 등록되어있지 않습니다. " + model.getValue("/root/send/s_otpt/otpt[" + i + "]/otpt_orddd") + "\r\n자보정보를 확인하십시오.", "C000");
  1944. return false;
  1945. }
  1946. }
  1947. }
  1948. /*
  1949. * 감면코드(새마을금고) 체크
  1950. */
  1951. var vOtpt_count = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  1952. var vOtptGrid = "/root/hidden/rcv1/sum_otpt/otpt[";
  1953. /*
  1954. if(getNodesetCount("/root/hidden/rcv1/m_otpt/otpt/otpt_pid") > 0){
  1955. vOtpt_count = getNodesetCount("/root/hidden/rcv1/m_otpt/otpt/otpt_pid");
  1956. vOtptGrid = "/root/hidden/rcv1/m_otpt/otpt[";
  1957. }else{
  1958. vOtpt_count = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  1959. vOtptGrid = "/root/hidden/rcv1/sum_otpt/otpt[";
  1960. }
  1961. */
  1962. var disccd = "";
  1963. var medfeeyn = ""; //진찰료지원여부
  1964. /*
  1965. 체크 순서 변경(과거일자부터 미래일자로 체크)
  1966. for(var i=1; i<=vOtpt_count; i++){
  1967. */
  1968. for(var i=vOtpt_count; i>=1; i--){
  1969. disccd = model.getValue(vOtptGrid + i + "]/otpt_disccd");
  1970. if(disccd == "E140" || disccd == "E150" || disccd == "E155" || disccd == "E156"){
  1971. messageBox("새마을금고 감면코드는 수납 하실 수 없습니다.", "E999", "");
  1972. return;
  1973. }
  1974. /*
  1975. * 임상시험정보 등록여부 확인
  1976. * 보험유형(71 임상시험), 보조유형(01 전액본인부담)
  1977. */
  1978. if(model.getValue(vOtptGrid + i + "]/otpt_insukind") == "71" && model.getValue(vOtptGrid + i + "]/otpt_suppkind")!= "01"){
  1979. fGetStdyPatInfo(model.getvalue("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid"), model.getValue(vOtptGrid + i + "]/otpt_orddd"));
  1980. //임상연구대상이 아닌경우
  1981. if(getNodesetCount("/root/hidden/temp/stdy/medfeeyn") < 1 ){
  1982. messageBox(model.getValue(vOtptGrid + i + "]/otpt_orddd") + " 임상연구 대상환자가 아닙니다. \n임상 대상환자 인지 확인하세요. 임상 수납할 수 없습니다.", "E999", "");
  1983. return;
  1984. }
  1985. }
  1986. //실시정산이 아닌 경우 체크하도록 수정 - 20131115
  1987. if(model.getValue("/root/temp3/workgubn") != "E"){
  1988. //의료급여환자 감면코드(F002) 강제설정하도록 수정 - 20131004 조중래
  1989. if(model.getValue(vOtptGrid + i + "]/otpt_orddd") >= '20131001'
  1990. && (model.getValue(vOtptGrid + i + "]/otpt_insukind") == "21" || model.getValue(vOtptGrid + i + "]/otpt_insukind") == "22")
  1991. && disccd == '-'){
  1992. alert("의료급여1/2종 환자의 경우 2013년 10월 1일 이후 진료는 \r\n선택진료비 50% 감면코드를 반드시 설정해야합니다.");
  1993. return;
  1994. //의료급여환자 이외에 F002는 적용불가
  1995. }else if((model.getValue(vOtptGrid + i + "]/otpt_insukind") != "21" && model.getValue(vOtptGrid + i + "]/otpt_insukind") != "22")
  1996. && disccd == 'F002'){
  1997. alert("선택진료비 50% 감면코드는 의료급여1/2종의 경우에만 적용가능합니다.\r\n감면코드를 재설정하십시요. ");
  1998. return;
  1999. }
  2000. //미용목적성형의 경우 감면정보 적용여부 점검 by 조중래 20140217
  2001. if(model.getValue(vOtptGrid + i + "]/otpt_insukind") == "51" && model.getValue(vOtptGrid + i + "]/otpt_suppkind") == "85"){
  2002. //모발이식센터이외의 경우 블러킹
  2003. if(disccd != '-' && model.getValue(vOtptGrid + i + "]/otpt_orddeptcd") != "2450000000"){
  2004. alert("미용목적성형의 경우, 감면적용이 불가능합니다.");
  2005. return false;
  2006. }
  2007. //모발이식센터의 경우라도 모발관련(PK059) 코드가 아니면 블러킹
  2008. if(disccd != '-' && model.getValue(vOtptGrid + i + "]/otpt_orddeptcd") == "2450000000" && model.getValue("/root/init/basecdlist/PK059[cdid='" + disccd + "']/cdnm") != "Y"){
  2009. alert("모발이식센터의 경우 모발이식관련 감면코드만 적용가능합니다.\r\n(원무공통코드 - PK059)");
  2010. return false;
  2011. }
  2012. }
  2013. }
  2014. }
  2015. // //특이환자조회 (실사용)
  2016. // model.makeValue("/root/hidden/rcv/patinfo/checkyn", "");
  2017. // if(submit("TRPMC06514")){
  2018. // //특이환자여부 (Y:특이환자)
  2019. // if(model.getValue("/root/hidden/rcv/patinfo/checkyn") == "Y"){
  2020. // messageBox("\r\n업무처리시 오류가 발생하였습니다!!!\r\n\r\n해당 내용의 처리는 원무팀(6178)으로 문의 및 안내하시기 바랍니다.", "C000");
  2021. // return;
  2022. // }
  2023. // }
  2024. if (vOpmi_count <=0) {
  2025. messageBox("수납할 내역이 존재하지 않습니다.","E999","");
  2026. return;
  2027. }
  2028. if (ipt_ordreqformflag.value == "" || ipt_ordreqformflag.value == "-") {
  2029. messageBox("수급절차가 존재하지않습니다. 수급절차 입력하시고 재계산후 진행하시기 바랍니다.","E999","");
  2030. return;
  2031. }
  2032. if (model.getvalue("/root/main/outrgst/m_etc/discreducd") == "" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt") != "0") {
  2033. messageBox("임의감면 코드가 없습니다.","E999","");
  2034. return;
  2035. }
  2036. if (model.getvalue("/root/main/outrgst/m_etc/uncocd") == "" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt") != "0") {
  2037. messageBox("미수코드가 없습니다.","E999","");
  2038. return;
  2039. }
  2040. if (model.getvalue("/root/main/outrgst/m_etc/uncocd") == "A01" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt") != "0") {
  2041. //일반미수 권한 체크
  2042. getRcptuserInfo(); //수납마감 사용자관리 조회
  2043. if(model.getValue("/root/rcptuser/rcptuserinfo/uncoyn") != "Y"){
  2044. messageBox("일반미수 발생 권한이 없습니다.","E999","");
  2045. return;
  2046. }
  2047. }
  2048. if (model.getvalue("/root/main/outrgst/m_etc/uncocls") == "" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt") != "0") {
  2049. messageBox("미수코드(분류)가 없습니다.","E999","");
  2050. return;
  2051. }
  2052. if (model.getValue("/root/init/option/autocashrcptyn") == "Y") {
  2053. if (model.getvalue("/root/init/basecdlist/P0022[cdid='161']/cdnm") == "" || model.getvalue("/root/init/basecdlist/P0022[cdid='161']/cdnm") == null) {
  2054. messageBox("현금영수증 최소금액이 등록되어 있지 않습니다. 전산팀에 문의주십시오. 공통코드[P0022/161]","I999","");
  2055. return;
  2056. }
  2057. }
  2058. if (model.getvalue("/root/option/opt_cardck") != "Y") {
  2059. model.setvalue("/root/option/opt_cardck", "N");
  2060. }
  2061. //필수사항과 입력타입을 체크한다.
  2062. if(!isRequiredControls("cmb_paypsnflag")) return;
  2063. model.copynode("/root/send/s_opmi", "/root/node_bk/send/s_opmi");
  2064. model.removeNodeset("/root/send/s_opmi/opmi");
  2065. //납부자 납입금 체크
  2066. var vRcptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) +
  2067. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")) +
  2068. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  2069. if ( vRcptamt != parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) ) {
  2070. messageBox("납부할 금액과 수납금(카드+현금+통장입금)이 일치하지 않습니다.","E999","");
  2071. return;
  2072. }
  2073. if(model.getvalue("/root/init/option/cardyn") == "Y" && model.getvalue("/root/option/opt_cardck") == "Y" && model.getvalue("/root/main/outrgst/m_etc/cardno") != ""){
  2074. messageBox("승인완료가 체크되어 있으면서 카드번호가 있습니다.","E999","");
  2075. return;
  2076. }
  2077. var van_kind = model.getvalue("/root/init/basecdlist/P0032[cdid='200']/cdnm");
  2078. if(van_kind!='KOCES_IC'){
  2079. if(model.getvalue("/root/init/option/cardyn") == "Y" && model.getvalue("/root/option/opt_cardck") != "Y" && model.getvalue("/root/main/outrgst/m_etc/cardno") == ""){
  2080. messageBox("카드승인번호가 비어있습니다.","E999","");
  2081. return;
  2082. }
  2083. }
  2084. //실제승인한 카드금액과 화면 카드금액이 맞는지 비교
  2085. // if(model.getvalue("/root/option/opt_cardck") != "Y") {
  2086. // var card_innrtretyn = getNodesetCount("/root/send/s_card/card[card_innrtretyn='N']");
  2087. // if( card_innrtretyn > 0) {
  2088. // var s_card_amt = 0;
  2089. // var opmi_cardamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  2090. // var opmi_precardamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_precardamt"));
  2091. // var s_card_cnt = getNodesetCount("/root/send/s_card/card/card_pid");
  2092. //
  2093. // for (var a=1; a <= s_card_cnt ; a++) {
  2094. // if(model.getvalue("/root/send/s_card/card["+a+"]/card_innrtretyn") == "N") {
  2095. // s_card_amt = parseInt(model.getvalue("/root/send/s_card/card["+a+"]/card_cardamt")) + s_card_amt;
  2096. // }
  2097. // }
  2098. // //s_card_amt = s_card_amt - opmi_precardamt;
  2099. // if(s_card_amt != opmi_cardamt){
  2100. // messageBox("실제카드승인하신 금액("+s_card_amt+")과 화면에 카드결제액("+opmi_cardamt+")이 일치하지않습니다.\n카드결제팝업에서 승인하신금액을 확인하십시요.","E999","");
  2101. // return;
  2102. // }
  2103. // }
  2104. // }
  2105. //실제승인 카드비교 끝
  2106. //실제승인한 현금승인금액보다 화면 현금액이 더큰지 비교
  2107. if(getNodesetCount("/root/send/s_cash/cash[cash_innrtretyn='N']") > 0) {
  2108. var s_cash_amt = 0;
  2109. var opmi_cashamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt"));
  2110. var opmi_precashamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_precashamt"));
  2111. var s_cash_cnt = getNodesetCount("/root/send/s_cash/cash/cash_pid");
  2112. for (var a=1; a <= s_cash_cnt ; a++) {
  2113. if(model.getvalue("/root/send/s_cash/cash["+a+"]/cash_innrtretyn") == "N") {
  2114. s_cash_amt = parseInt(model.getvalue("/root/send/s_cash/cash["+a+"]/cash_cashamt")) + s_cash_amt;
  2115. }
  2116. }
  2117. if(s_cash_amt > opmi_cashamt) {
  2118. if( messageBox("실제 현금승인하신 금액("+s_cash_amt+")이 화면에 현금액("+opmi_cashamt+")보다 큽니다.\n\n현금승인팝업에서 승인하신금액을 확인하십시요. \n\n수납진행 계속하시겠습니까?","Q999","") != 6 ){
  2119. return;
  2120. }
  2121. }
  2122. }
  2123. //실제승인 현금비교 끝
  2124. /*
  2125. * card_innrtretyn 설정에 문제 있는걸로 판단 체크문 수정 - 20130722
  2126. if(model.getValue("/root/init/option/cardyn") == "Y" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") == "0" && card_innrtretyn == 0){
  2127. */
  2128. if(model.getValue("/root/init/option/cardyn") == "Y" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") == "0"){
  2129. messageBox("수납방법이 카드인데 카드결제액이 0원입니다.","E999");
  2130. return;
  2131. }
  2132. if(model.getValue("/root/init/option/cardyn") == "N" && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt") == "0"){
  2133. messageBox("수납방법이 현금영수증인데 현금금액이 0원입니다.","E999");
  2134. return;
  2135. }
  2136. //카드금액이 (-)여서 재승인해야 할 경우, 팝업으로 카드정보 입력한 상태 - 카드내역 노드가 있는지 체크 필요
  2137. if (parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) < 0 && model.getvalue("/root/option/opt_cardck") != "Y") {
  2138. //20121228 신규추가
  2139. //카드승인 프로그램 자동 오픈
  2140. messageBox("카드 환불입니다. \n카드승인 취소하시고, [승인완료]를 체크하신 후 수납해 주세요!!","E999","");
  2141. fOpenCardPopUp2();
  2142. return;
  2143. // if(model.getValue("/root/etc/cardvanamt") == "" || model.getValue("/root/etc/cardvanamt") == "승인:0") {
  2144. // messageBox("카드금액이 (-)입니다. 현금수납하시거나 금액을 다시한번 확인하여 주십시요","E999","");
  2145. // return;
  2146. // }
  2147. }
  2148. if (parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) < 0 && model.getvalue("/root/option/opt_cardck") == "Y") {
  2149. if( messageBox("카드환불입니다. 계속 진행하시겠습니까?", "Q999", "") != 6 ){
  2150. return;
  2151. }
  2152. }
  2153. //현금승인금액 체크
  2154. if ( model.getValue("/root/init/option/cardyn") == 'N' ) {
  2155. var vcardno_length = (model.getValue("/root/main/outrgst/m_etc/cardno")).length;
  2156. if (vcardno_length == 0) {
  2157. messageBox("현금영수증 승인정보를 입력하십시오.","E999","");
  2158. model.setFocus("ipt_cardno");
  2159. return;
  2160. }
  2161. }
  2162. //멀티수납은 단일수납만 가능
  2163. if (vOpmi_count != 1) {
  2164. //카드
  2165. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) >0 ) &&
  2166. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) !=
  2167. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) )
  2168. ){
  2169. messageBox("멀티수납시에는 부분카드 수납을 하실수 없습니다.","E999");
  2170. return;
  2171. }
  2172. //통장입금
  2173. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt")) >0 ) &&
  2174. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) !=
  2175. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt")) )
  2176. ){
  2177. messageBox("멀티수납시에는 부분통장입금 수납을 하실수 없습니다.","E999");
  2178. return;
  2179. }
  2180. //현금승인
  2181. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")) >0 ) &&
  2182. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) !=
  2183. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")) )
  2184. ){
  2185. messageBox("멀티수납시에는 부분현금영수증 수납을 하실수 없습니다.","E999");
  2186. return;
  2187. }
  2188. //미수
  2189. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt")) >0 ) &&
  2190. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) != 0
  2191. )
  2192. ){
  2193. messageBox("멀티수납시에는 부분미수 발생을 하실수 없습니다.","E999");
  2194. return;
  2195. }
  2196. //임의감액
  2197. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt")) >0 ) &&
  2198. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) != 0
  2199. )
  2200. ){
  2201. messageBox("멀티수납시에는 부분 임의감액 발생을 하실수 없습니다.","E999");
  2202. return;
  2203. }
  2204. //납입금
  2205. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_paydepoamt")) >0 ) &&
  2206. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) !=
  2207. parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_paydepoamt")) )
  2208. ){
  2209. messageBox("멀티수납시에는 부분금액으로 납입금 입력을 하실수 없습니다.","E999");
  2210. return;
  2211. }
  2212. //선수금대체
  2213. if ( ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt")) >0 ) &&
  2214. ( parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) != 0
  2215. )
  2216. ){
  2217. messageBox("멀티수납시에는 부분 선수금대체 발생을 하실수 없습니다.","E999");
  2218. return;
  2219. }
  2220. //계정할인과 임의감면 동시에 불가
  2221. if ((parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_discamt")) != 0) &&
  2222. (parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt")) != 0)
  2223. ) {
  2224. messageBox("멀티수납시에는 할인적용 후 금액을 임의감액으로 처리할 수 없습니다. 할인과 임의감액은 단일수납시 적용하십시요","E999","");
  2225. return;
  2226. }
  2227. }
  2228. //2011-11-30 장기이식환자 기증자의 경우 수여자 보험유형으로 수납하기 위해 기증자 체크박스 추가
  2229. //기증자 체크되면 중증, 산정특례등을 체크하지 않는다.
  2230. if( model.getValue("/root/option/otp_dnoryn") == 'Y' ){ //기증자 체크
  2231. var retDnorYN = messageBox("기증자로 체크되어 있습니다. 기증자가 맞습니까?", "Q999", "");
  2232. if( retDnorYN != '6' ){
  2233. return;
  2234. }
  2235. }
  2236. // 본인 일부 부담액보다 건유비가 더 클 경우 수납 제한
  2237. if (parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt")) > parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt"))) {
  2238. messageBox("본인 일부 부담액보다 건유비 금액이 더 큽니다.\n건유비를 다시 청구한 후 수납해 주십시오.", "E999", "");
  2239. return;
  2240. }
  2241. //======================================================================================
  2242. // hidden 에 있는 내역 send 로 copy
  2243. copyNodesetType("/root/send/s_opmi", "/root/hidden/rcv1/h_opmi","replace");
  2244. //======================================================================================
  2245. var vCurrentTime = getCurrentTime(); //수납시간:현재시간
  2246. var mopmi_cardamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  2247. var mopmi_cashamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt"));
  2248. var mopmi_onlineamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  2249. var mopmi_rcptexptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  2250. var mopmi_rcptexptamt_org = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org"));
  2251. var mopmi_reduamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt"));
  2252. var mopmi_uncoamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt"));
  2253. var mopmi_mdlrcptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt"));
  2254. var mopmi_pregdmndamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt"));
  2255. var mopmi_server_rcptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_server_rcptamt"));
  2256. var sopmi_rcptexptamt = 0;
  2257. /////////////////////////////opmi 생성에 직접 관여! 주의요망!/////////////////////////////////////////
  2258. for(var i=1; i <= vOpmi_count; i++){
  2259. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptdd" ,getCurrentDate()); //영수일자:현재날짜
  2260. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptexecdd" ,getCurrentDate()); //수납일자:현재날짜
  2261. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcpttm" ,vCurrentTime); //수납시간:현재시간
  2262. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptrid" ,model.getValue("/root/hidden/session/userid")); //수납자
  2263. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptstat" ,"Y");
  2264. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_uncorcptflag" ,"1"); //미수정산구분 1:일반(미수생성), 2:미수입금 3: 대손처리
  2265. //2011-11-30 기증자 체크로 수납된 내역 기록
  2266. if( model.getValue("/root/option/otp_dnoryn") == 'Y' ){ //기증자 체크
  2267. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_remfact" ,"기증자수납");
  2268. }
  2269. //납부자정보
  2270. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_paypsnflag", model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_paypsnflag"));
  2271. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_paypsnrem" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_paypsnrem"));
  2272. sopmi_rcptexptamt = model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_server_rcptamt");
  2273. if(vOpmi_count > 1 && mopmi_rcptexptamt_org != 0) {
  2274. //멀티수납은 카드,현금,온라인중 한가지 수납임
  2275. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cardamt" , "0");
  2276. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cashamt" , "0");
  2277. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_onlineamt" , "0");
  2278. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_paydepoamt" , "0");
  2279. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_reduamt" , "0");
  2280. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_uncoamt" , "0");
  2281. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_mdlrcptamt" , "0");
  2282. if(mopmi_cashamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cashamt" , sopmi_rcptexptamt);
  2283. }else if(mopmi_cardamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cardamt" , sopmi_rcptexptamt);
  2284. }else if(mopmi_onlineamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_onlineamt" , sopmi_rcptexptamt);
  2285. }else if(mopmi_reduamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_reduamt" , sopmi_rcptexptamt);
  2286. }else if(mopmi_uncoamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_uncoamt" , sopmi_rcptexptamt);
  2287. }else if(mopmi_mdlrcptamt == mopmi_server_rcptamt) { model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_mdlrcptamt", sopmi_rcptexptamt);
  2288. };
  2289. if(mopmi_rcptexptamt == mopmi_server_rcptamt) model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_paydepoamt", sopmi_rcptexptamt);
  2290. if( ((mopmi_cardamt != mopmi_server_rcptamt) && (mopmi_cardamt != 0)) ||
  2291. ((mopmi_cashamt != mopmi_server_rcptamt) && (mopmi_cashamt != 0)) ||
  2292. ((mopmi_onlineamt != mopmi_server_rcptamt) && (mopmi_onlineamt != 0)) ||
  2293. ((mopmi_reduamt != mopmi_server_rcptamt) && (mopmi_reduamt != 0)) ||
  2294. ((mopmi_uncoamt != mopmi_server_rcptamt) && (mopmi_uncoamt != 0)) ||
  2295. ((mopmi_mdlrcptamt != mopmi_server_rcptamt) && (mopmi_mdlrcptamt != 0))
  2296. ) {
  2297. messageBox("멀티수납인데 부분수납입니다. \n멀티수납은 카드,현금,온라인,전액미수,전액감면,전액선수금중\n 1가지만 가능합니다.수납금 확인을 해주십시요.","E999");
  2298. return;
  2299. }
  2300. }
  2301. //멀티시 +,- 된 0원수납일경우 현금으로 수납처리 ex) -20000원 ,+20000원 동시수납
  2302. if(vOpmi_count > 1 && mopmi_rcptexptamt_org == 0) {
  2303. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cardamt" ,"0");
  2304. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cashamt" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptexptamt"));
  2305. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_onlineamt" ,"0");
  2306. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_paydepoamt" ,"0");
  2307. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_reduamt" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_reduamt"));
  2308. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_uncoamt" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_uncoamt"));
  2309. model.setValue("/root/send/s_opmi/opmi["+ i +"]/opmi_mdlrcptamt" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_mdlrcptamt"));
  2310. }
  2311. }
  2312. /////////////////////////////opmi 생성에 직접 관여! 주의요망! 끝/////////////////////////////////////////
  2313. if(vOpmi_count == 1) {
  2314. model.setValue("/root/send/s_opmi/opmi/opmi_cardamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  2315. model.setValue("/root/send/s_opmi/opmi/opmi_cashamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt"));
  2316. model.setValue("/root/send/s_opmi/opmi/opmi_onlineamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  2317. model.setValue("/root/send/s_opmi/opmi/opmi_paydepoamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  2318. model.setValue("/root/send/s_opmi/opmi/opmi_reduamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt"));
  2319. model.setValue("/root/send/s_opmi/opmi/opmi_uncoamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt"));
  2320. model.setValue("/root/send/s_opmi/opmi/opmi_mdlrcptamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt"));
  2321. model.setValue("/root/send/s_opmi/opmi/opmi_bloddiscamt", model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt"));
  2322. }
  2323. for(var i=1; i <= getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid"); i++){
  2324. if(model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_refundyn") == "환불" && mopmi_uncoamt != 0) {
  2325. messageBox("환불 취소건에 미수금을 적용할수 없습니다.","E999");
  2326. return;
  2327. }
  2328. }
  2329. //////////////////////////////////중증체크, 당일자격조회 , 차상위 유무체크/////////////////////////////////////////////
  2330. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  2331. model.makevalue("/root/send/s_opmi/opmi/opmi_cardchk", model.getValue("/root/option/opt_cardck"));
  2332. //실시정산일때는 체크안함 차상위환자일경우 수납못하는경우 발생하므로.
  2333. if(model.getValue("/root/temp3/workgubn") != "E"){
  2334. if(!submit("TRPAO00128")){
  2335. return;
  2336. }
  2337. model.copynode("/root/hidden/rcv1/h_msg", "/root/hidden/rcv2/h_msg");
  2338. }
  2339. if(fToday_ProdCheck() == false){ return; } //YES가 false임. 자격조회하고 나서 일단 한번 멈춘다.
  2340. if(fServerCheckMsg("수납") == false){ return; }
  2341. //////////////////////////////////중증체크, 당일자격조회 , 차상위 유무체크 끝/////////////////////////////////////////////
  2342. //수납테스트 용
  2343. /*
  2344. if(messageBox("[수납테스트] 수납을 계속 진행하시겠습니까?", "Q999", "") != 6){
  2345. return;
  2346. }
  2347. */
  2348. //////////////////////////////////건유비 자동승인/////////////////////////////////////////////
  2349. if((model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt") != "0" || model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") != "0")
  2350. && (model.getvalue("/root/init/basecdlist/P0032[cdid='20']/cdnm") == "Y")
  2351. && (vOpmi_count ==1)){
  2352. var bl_proc = fbtn_proc_4();
  2353. if(bl_proc == false || bl_proc == null){
  2354. //if( messageBox("수납을 계속 진행하시겠습니까?", "Q999", "") != 6 ){
  2355. return;
  2356. //}
  2357. }
  2358. }
  2359. //////////////////////////////////건유비 자동승인 끝/////////////////////////////////////////////
  2360. //////////////////////////////////카드팝업 추가/////////////////////////////////////////////
  2361. var cardvan_flag = false;
  2362. if(getNodesetCount("/root/send/s_card/card[card_innrtretyn='N']") == 0 && model.getvalue("/root/option/opt_cardck") != "Y") {
  2363. var vCardamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  2364. if(vCardamt > 0){
  2365. if(fOpenCardPopUp2("I") == false) { return; };
  2366. cardvan_flag = true;
  2367. }
  2368. for (var i=1; i <= getNodesetCount("/root/hidden/rcv1/h_card/card/card_pid") ; i++) {
  2369. copyNodeListType("/root/send/s_card","/root/hidden/rcv1/h_card/card["+ i +"]","after"); //현금결제할시 기카드를 카피해오기위해 추가
  2370. }
  2371. }
  2372. if( model.getvalue("/root/init/option/cardyn") == "Y" && model.getvalue("/root/main/outrgst/m_etc/cardno") != "" && cardvan_flag == false) {
  2373. messageBox("카드 van승인이 제대로 이루어지지 않았습니다. 승인여부를 다시 확인하여 주십시요.","E999","");
  2374. return;
  2375. }
  2376. //////////////////////////////////카드팝업 추가end/////////////////////////////////////////////
  2377. //////////////////////////////////현금승인 추가start/////////////////////////////////////////////
  2378. if(getNodesetCount("/root/send/s_cash/cash[cash_innrtretyn='N']") == 0) {
  2379. var cardyn = model.getValue("/root/init/option/cardyn");
  2380. var autocashrcptyn = model.getValue("/root/init/option/autocashrcptyn")
  2381. var vCashamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt"));
  2382. var indinstflag = model.getvalue("/root/main/outrgst/m_etc/indinstflag");
  2383. var van_baseamt = model.getvalue("/root/init/basecdlist/P0022[cdid='161']/cdnm");
  2384. //현금수납시 자동 현금영수증 처리
  2385. if(autocashrcptyn == "Y" && vCashamt >= van_baseamt){
  2386. model.setValue("/root/init/option/cardyn", "N");
  2387. if(indinstflag == "02") model.setValue("/root/main/outrgst/m_etc/indinstflag" , "00");
  2388. frdo_cardyn();
  2389. }
  2390. //30만원 이상 현금영수증 미승인 수납시 국세청 디폴트번호로 승인
  2391. if(autocashrcptyn == "N" && indinstflag == "02" && mopmi_rcptexptamt >= 300000){
  2392. model.setValue("/root/init/option/cardyn" , "N");
  2393. model.setValue("/root/main/outrgst/m_etc/cardno" , model.getvalue("/root/init/basecdlist/P0022[cdid='163']/cdnm"));
  2394. model.setValue("/root/main/outrgst/m_etc/indinstflag" , "00");
  2395. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag" , "2");
  2396. frdo_cardyn();
  2397. }
  2398. indinstflag = model.getvalue("/root/main/outrgst/m_etc/indinstflag");
  2399. if((model.getValue("/root/init/option/cardyn") == "Y" && indinstflag != "02" && vCashamt > 0) ||
  2400. (model.getValue("/root/init/option/cardyn") == "N" && indinstflag != "02" && vCashamt > 0)){
  2401. if(fOpenCashPopUp("I") == false) { return; };
  2402. }
  2403. }
  2404. if(getNodesetCount("/root/send/s_cash/cash/cash_pid") == 0 ){ //즉 이번에 현금영수증결제안한다하더라도 기현금영수증은복사한다는 의미
  2405. copyNodesetType("/root/send/s_cash", "/root/hidden/rcv1/h_cash", "replace"); //현금결제할시 기현금을 카피해오기위해 추가
  2406. }
  2407. //////////////////////////////////현금승인 추가end/////////////////////////////////////////////
  2408. //////////////////////////////////통장금액 추가start/////////////////////////////////////////////
  2409. var vOnlineamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  2410. var onln_cnt = getNodesetCount("/root/send/s_onln/onln/onln_onlineamt");
  2411. if (vOnlineamt != 0) {
  2412. if (onln_cnt <=1) {
  2413. //수납내역 별로 통장입금내역을 쪼갬
  2414. for (var i=1; i <= vOpmi_count ; i++) {
  2415. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_pid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_pid"));
  2416. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd"));
  2417. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_cretno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno"));
  2418. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd"));
  2419. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno"));
  2420. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptseqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno"));
  2421. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_seqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_seqno"));
  2422. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_instcd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_instcd"));
  2423. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptstat" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptstat"));
  2424. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_ordtype" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_ordtype"));
  2425. if(vOpmi_count > 1) {
  2426. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_onlineamt" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_onlineamt"));
  2427. }else{
  2428. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_onlineamt" , vOnlineamt);
  2429. }
  2430. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_bankcd" , model.getValue("/root/send/s_onln/onln/onln_bankcd"));
  2431. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_acntno" , model.getValue("/root/send/s_onln/onln/onln_acntno"));
  2432. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_paydd" , model.getValue("/root/send/s_onln/onln/onln_paydd"));
  2433. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_paypsnnm" , model.getValue("/root/send/s_onln/onln/onln_paypsnnm"));
  2434. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptexecdd"));
  2435. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcpttm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcpttm"));
  2436. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptrid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptrid"));
  2437. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_preamtyn" , "N");
  2438. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_innrtretyn" , "N");
  2439. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_remfact" , "");
  2440. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_fstrgstrid" , "");
  2441. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_fstrgstdt" , "");
  2442. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_lastupdtrid" , "");
  2443. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_lastupdtdt" , "");
  2444. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd_org"));
  2445. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_cretno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno_org"));
  2446. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddeptcd_org"));
  2447. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddrid_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddrid_org"));
  2448. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd_org"));
  2449. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno_org"));
  2450. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno_org"));
  2451. }
  2452. }
  2453. if (onln_cnt >1) {
  2454. //수납내역 별로 통장입금내역을 쪼갬
  2455. for (var i=1; i <= onln_cnt ; i++) {
  2456. if(model.getvalue("/root/send/s_onln/onln["+i+"]/onln_innrtretyn") == "Y") continue;
  2457. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_pid" , model.getValue("/root/send/s_opmi/opmi/opmi_pid"));
  2458. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd"));
  2459. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_cretno" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno"));
  2460. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd"));
  2461. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno"));
  2462. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptseqno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno"));
  2463. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_seqno" , model.getValue("/root/send/s_opmi/opmi/opmi_seqno"));
  2464. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_instcd" , model.getValue("/root/send/s_opmi/opmi/opmi_instcd"));
  2465. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptstat" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptstat"));
  2466. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_ordtype" , model.getValue("/root/send/s_opmi/opmi/opmi_ordtype"));
  2467. //if(vOpmi_count > 1) {
  2468. // model.makevalue("/root/send/s_onln/onln["+i+"]/onln_onlineamt" , model.getValue("/root/send/s_opmi/opmi/opmi_onlineamt"));
  2469. //}else{
  2470. // model.makevalue("/root/send/s_onln/onln["+i+"]/onln_onlineamt" , vOnlineamt);
  2471. //}
  2472. //model.makevalue("/root/send/s_onln/onln["+i+"]/onln_bankcd" , "01");
  2473. //model.makevalue("/root/send/s_onln/onln["+i+"]/onln_acntno" , "010-1234555");
  2474. //model.makevalue("/root/send/s_onln/onln["+i+"]/onln_paydd" , getCurrentDate());
  2475. //model.makevalue("/root/send/s_onln/onln["+i+"]/onln_paypsnnm" , "홍길동");
  2476. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptexecdd"));
  2477. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcpttm" , model.getValue("/root/send/s_opmi/opmi/opmi_rcpttm"));
  2478. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptrid" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptrid"));
  2479. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_preamtyn" , "N");
  2480. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_innrtretyn" , "N");
  2481. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_remfact" , "");
  2482. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_fstrgstrid" , "");
  2483. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_fstrgstdt" , "");
  2484. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_lastupdtrid" , "");
  2485. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_lastupdtdt" , "");
  2486. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd_org"));
  2487. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_cretno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno_org"));
  2488. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd_org"));
  2489. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_orddrid_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid_org"));
  2490. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd_org"));
  2491. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno_org"));
  2492. model.makevalue("/root/send/s_onln/onln["+i+"]/onln_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno_org"));
  2493. }
  2494. }
  2495. // 현금영수증 승인 추가
  2496. model.setValue("/root/init/option/cardyn", "N");
  2497. frdo_cardyn();
  2498. if (!fOpenOnlinePopUp("I")) return;
  2499. }else{
  2500. copyNodesetType("/root/send/s_onln", "/root/hidden/rcv1/h_onln", "replace");
  2501. }
  2502. //////////////////////////////////통장금액 추가end/////////////////////////////////////////////
  2503. //수혈대체액
  2504. var vBloddiscamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt");
  2505. if (vBloddiscamt != 0) {
  2506. var bldc_cnt = getNodesetCount("/root/send/s_bldc/bldc/bldc_pid");
  2507. if (bldc_cnt > 0) {
  2508. for(var i = 1 ; i <= bldc_cnt; i++) {
  2509. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_pid" , model.getValue("/root/send/s_opmi/opmi/opmi_pid"));
  2510. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd"));
  2511. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno"));
  2512. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptseqno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno"));
  2513. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_seqno" , "0");
  2514. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_instcd" , model.getValue("/root/send/s_opmi/opmi/opmi_instcd"));
  2515. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptstat" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptstat"));
  2516. //값 받아옴
  2517. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_ordtype" , model.getValue("/root/send/s_opmi/opmi/opmi_ordtype"));
  2518. //값 받아옴
  2519. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_orddd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd"));
  2520. //값 받아옴
  2521. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_orddeptcd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd"));
  2522. //값 받아옴
  2523. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_orddrid" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid"));
  2524. //그룹,싱글코드-값 받아옴
  2525. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_grupcalcscorcd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid"));
  2526. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_snglcalcscorcd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid"));
  2527. //적용일자
  2528. //model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_appdd" ,getCurrentDate());
  2529. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptexecdd" ,model.getValue("/root/send/s_opmi/opmi/opmi_rcptexecdd"));
  2530. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcpttm" ,model.getValue("/root/send/s_opmi/opmi/opmi_rcpttm"));
  2531. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_rcptrid" ,model.getValue("/root/send/s_opmi/opmi/opmi_rcptrid"));
  2532. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_remfact" ,"");
  2533. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_fstrgstrid" ,"");
  2534. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_fstrgstdt" ,"");
  2535. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_lastupdtrid" ,"");
  2536. model.setValue("/root/send/s_bldc/bldc[" + i + "]/bldc_lastupdtdt" ,"");
  2537. }//end for
  2538. }else{
  2539. copyNodesetType("/root/send/s_bldc", "/root/hidden/rcv1/h_bldc", "replace");
  2540. }
  2541. }
  2542. //임의감면
  2543. var vReduamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt"));
  2544. var redu_cnt = getNodesetCount("/root/send/s_dcgm/dcgm/dcgm_pid");
  2545. if (vReduamt != 0) {
  2546. if (redu_cnt <=1) {
  2547. for (var i = 1 ; i <= vOpmi_count ; i++) {
  2548. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_pid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_pid"));
  2549. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_hngnm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_hngnm"));
  2550. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd"));
  2551. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_cretno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno"));
  2552. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd"));
  2553. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno"));
  2554. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_seqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_seqno"));
  2555. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptseqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno"));
  2556. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_instcd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_instcd"));
  2557. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptstat" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptstat"));
  2558. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_ordtype" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_ordtype"));
  2559. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreduflag" , "G");
  2560. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreducd" , model.getValue("/root/main/outrgst/m_etc/discreducd"));
  2561. if(vOpmi_count > 1) {
  2562. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreduamt" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_reduamt"));
  2563. }else{
  2564. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreduamt" , vReduamt);
  2565. }
  2566. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_apprsn" , "");
  2567. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptexecdd"));
  2568. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcpttm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcpttm"));
  2569. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptrid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptrid"));
  2570. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_remfact" , "");
  2571. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_fstrgstrid" , "");
  2572. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_fstrgstdt" , "");
  2573. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_lastupdtrid" , "");
  2574. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_lastupdtdt" , "");
  2575. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd_org"));
  2576. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_cretno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno_org"));
  2577. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddeptcd_org"));
  2578. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddrid_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddrid_org"));
  2579. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd_org"));
  2580. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno_org"));
  2581. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno_org"));
  2582. }
  2583. }
  2584. if (redu_cnt > 1) {
  2585. for(var i = 1 ; i <= redu_cnt; i++) {
  2586. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_pid" , model.getValue("/root/send/s_opmi/opmi/opmi_pid"));
  2587. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_hngnm" , model.getValue("/root/send/s_opmi/opmi/opmi_hngnm"));
  2588. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd"));
  2589. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_cretno" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno"));
  2590. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd"));
  2591. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno"));
  2592. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_seqno" , model.getValue("/root/send/s_opmi/opmi/opmi_seqno"));
  2593. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptseqno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno"));
  2594. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_instcd" , model.getValue("/root/send/s_opmi/opmi/opmi_instcd"));
  2595. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptstat" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptstat"));
  2596. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_ordtype" , model.getValue("/root/send/s_opmi/opmi/opmi_ordtype"));
  2597. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreduflag" , "G");
  2598. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreducd" , model.getValue("/root/main/outrgst/m_etc/discreducd"));
  2599. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_discreduamt" , vReduamt);
  2600. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_apprsn" , "");
  2601. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptexecdd"));
  2602. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcpttm" , model.getValue("/root/send/s_opmi/opmi/opmi_rcpttm"));
  2603. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptrid" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptrid"));
  2604. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_remfact" , "");
  2605. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_fstrgstrid" , "");
  2606. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_fstrgstdt" , "");
  2607. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_lastupdtrid" , "");
  2608. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_lastupdtdt" , "");
  2609. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd_org"));
  2610. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_cretno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno_org"));
  2611. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd_org"));
  2612. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddrid_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid_org"));
  2613. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd_org"));
  2614. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno_org"));
  2615. //model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno_org"));
  2616. }
  2617. }
  2618. }
  2619. //할인금액 있을 경우
  2620. var vDiscamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_discamt"));
  2621. var disc_cnt = parseInt(getNodesetCount("/root/send/s_dcgm/dcgm/dcgm_pid"));
  2622. if (vDiscamt != 0) {
  2623. for (var i = 1 ; i <= vOpmi_count ; i++) {
  2624. k = i + disc_cnt;
  2625. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_pid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_pid"));
  2626. //model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_hngnm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_hngnm"));
  2627. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_orddd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd"));
  2628. model.makevalue("/root/send/s_dcgm/dcgm["+i+"]/dcgm_cretno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno"));
  2629. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd"));
  2630. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno"));
  2631. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_seqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_seqno"));
  2632. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptseqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno"));
  2633. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_instcd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_instcd"));
  2634. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptstat" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptstat"));
  2635. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_ordtype" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_ordtype"));
  2636. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_discreduflag" , "D");
  2637. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_discreducd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd"));
  2638. //model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_discreduamt" , vDiscamt);
  2639. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_discreduamt" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_discamt"));
  2640. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_apprsn" , "");
  2641. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptexecdd"));
  2642. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcpttm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcpttm"));
  2643. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptrid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptrid"));
  2644. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_remfact" , "");
  2645. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_fstrgstrid" , "");
  2646. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_fstrgstdt" , "");
  2647. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_lastupdtrid" , "");
  2648. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_lastupdtdt" , "");
  2649. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_orddd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd_org"));
  2650. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_cretno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno_org"));
  2651. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddeptcd_org"));
  2652. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_orddrid_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddrid_org"));
  2653. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd_org"));
  2654. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno_org"));
  2655. model.makevalue("/root/send/s_dcgm/dcgm["+k+"]/dcgm_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno_org"));
  2656. }
  2657. }
  2658. //미수금액
  2659. var vUncoamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt");
  2660. var unco_cnt = getNodesetCount("/root/send/s_unco/unco/unco_pid");
  2661. if (vUncoamt != 0) {
  2662. if (unco_cnt <=1) {
  2663. //2013-04-12 이동식
  2664. //기존 노드가 1개 이하이면 지우고 새로 생성한다. 미수금액과 수납금액이 항상 같도록 하기 위함.
  2665. //기존 노드를 삭제한다.
  2666. model.removeNodeset("/root/send/s_unco/unco");
  2667. for (var i = 1 ; i <= vOpmi_count ; i++) {
  2668. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_pid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_pid"));
  2669. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd"));
  2670. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno"));
  2671. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptseqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno"));
  2672. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_seqno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_seqno"));
  2673. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_instcd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_instcd"));
  2674. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptstat" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptstat"));
  2675. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_ordtype" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_ordtype"));
  2676. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd"));
  2677. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_cretno" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno"));
  2678. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddeptcd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddeptcd"));
  2679. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddrid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddrid"));
  2680. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_dschdd" , "");
  2681. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_insukind" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_insukind"));
  2682. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_suppkind" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_suppkind"));
  2683. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_uncorcptflag" , "1");
  2684. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_uncocls" , model.getValue("/root/main/outrgst/m_etc/uncocls"));
  2685. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_uncocd" , model.getValue("/root/main/outrgst/m_etc/uncocd"));
  2686. if(vOpmi_count > 1) {
  2687. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_uncoamt" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_uncoamt"));
  2688. }else{
  2689. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_uncoamt" , vUncoamt);
  2690. }
  2691. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptamt" , "0");
  2692. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_debtamt" , "0");
  2693. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_endyn" , "N");
  2694. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_clincstdyno" , "");
  2695. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_empid" , "");
  2696. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptexecdd"));
  2697. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcpttm" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcpttm"));
  2698. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptrid" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptrid"));
  2699. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_apprsn" , "");
  2700. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_mig" , "");
  2701. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddd_org"));
  2702. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_cretno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_cretno_org"));
  2703. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddeptcd_org"));
  2704. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_orddrid_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_orddrid_org"));
  2705. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptdd_org"));
  2706. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptno_org"));
  2707. model.makevalue("/root/send/s_unco/unco["+i+"]/unco_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi["+i+"]/opmi_rcptseqno_org"));
  2708. }
  2709. }
  2710. if (unco_cnt >1 ) {
  2711. //2013-04-12 이동식
  2712. //노드가 2개 이상이면 미수금액이 같은지 비교한다.
  2713. var unco_uncoamtsum = 0;
  2714. for(var unco = 1; unco <= unco_cnt; unco++){
  2715. unco_uncoamtsum = parseInt(unco_uncoamtsum) + parseInt(model.getValue("/root/send/s_unco/unco[" + unco + "]/unco_uncoamt"));
  2716. }
  2717. //미수금액 비교
  2718. if( unco_uncoamtsum != vUncoamt){
  2719. messageBox("미수금액이 잘못 입력되었습니다. \n[미수액] 버튼을 클릭하셔서 미수내역의 금액을 확인하세요!!","E999","");
  2720. return;
  2721. }
  2722. for (var i = 1 ; i <= unco_cnt ; i++) {
  2723. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_pid" , model.getValue("/root/send/s_opmi/opmi/opmi_pid"));
  2724. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd"));
  2725. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno"));
  2726. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptseqno" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno"));
  2727. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_seqno" , model.getValue("/root/send/s_opmi/opmi/opmi_seqno"));
  2728. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_instcd" , model.getValue("/root/send/s_opmi/opmi/opmi_instcd"));
  2729. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptstat" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptstat"));
  2730. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_ordtype" , model.getValue("/root/send/s_opmi/opmi/opmi_ordtype"));
  2731. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd"));
  2732. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_cretno" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno"));
  2733. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddeptcd" , model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd"));
  2734. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddrid" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid"));
  2735. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_dschdd" , "");
  2736. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_insukind" , model.getValue("/root/send/s_opmi/opmi/opmi_insukind"));
  2737. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_suppkind" , model.getValue("/root/send/s_opmi/opmi/opmi_suppkind"));
  2738. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_uncorcptflag" , "1");
  2739. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_uncocls" , model.getValue("/root/main/outrgst/m_etc/uncocls"));
  2740. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_uncocd" , model.getValue("/root/main/outrgst/m_etc/uncocd"));
  2741. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_uncoamt" , vUncoamt);
  2742. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptamt" , "0");
  2743. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_debtamt" , "0");
  2744. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_endyn" , "N");
  2745. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_clincstdyno" , "");
  2746. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_empid" , "");
  2747. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptexecdd" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptexecdd"));
  2748. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcpttm" , model.getValue("/root/send/s_opmi/opmi/opmi_rcpttm"));
  2749. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptrid" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptrid"));
  2750. model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_apprsn" , "");
  2751. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_mig" , "");
  2752. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddd_org"));
  2753. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_cretno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_cretno_org"));
  2754. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd_org"));
  2755. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_orddrid_org" , model.getValue("/root/send/s_opmi/opmi/opmi_orddrid_org"));
  2756. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptdd_org"));
  2757. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptno_org"));
  2758. //model.makevalue("/root/send/s_unco/unco[" + i + "]/unco_rcptseqno_org" , model.getValue("/root/send/s_opmi/opmi/opmi_rcptseqno_org"));
  2759. }
  2760. }
  2761. }
  2762. var vMdlRcptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt"));
  2763. if (vMdlRcptamt != 0) {
  2764. for (var i=1; i <= vOpmi_count ; i++) {
  2765. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_pid" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_pid"));
  2766. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptdd" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptdd"));
  2767. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptno" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptno"));
  2768. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptseqno" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptseqno"));
  2769. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_seqno" , "0");
  2770. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_instcd" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_instcd"));
  2771. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptstat" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptstat"));
  2772. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_ordtype" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_ordtype"));
  2773. if (model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag")=="N") {
  2774. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptflag" , "A12");//가정간호 외래선수금대체
  2775. }else {
  2776. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptflag" , "A02");//외래선수금대체
  2777. }
  2778. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_cashamt" , model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_mdlrcptamt") );
  2779. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_cardamt" , "0");
  2780. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_onlineamt" , "0");
  2781. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptexecdd" ,model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptexecdd"));
  2782. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcpttm" ,model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcpttm"));
  2783. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptrid" ,model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_rcptrid"));
  2784. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_orddeptcd" ,model.getValue("/root/send/s_opmi/opmi[" + i + "]/opmi_orddeptcd"));
  2785. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_remfact" ,"[대체]");
  2786. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_fstrgstrid" ,"");
  2787. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_fstrgstdt" ,"");
  2788. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_lastupdtrid" ,"");
  2789. model.makeValue("/root/send/s_bogj/bogj[" + i + "]/bogj_lastupdtdt" ,"");
  2790. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_orddd_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_orddd_org"));
  2791. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_cretno_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_cretno_org"));
  2792. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_orddeptcd_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_orddeptcd_org"));
  2793. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_orddrid_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_orddrid_org"));
  2794. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptdd_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptdd_org"));
  2795. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_rcptno_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptno_org"));
  2796. model.makevalue("/root/send/s_bogj/bogj[" + i + "]/bogj_cptseqno_org" , model.getValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptseqno_org"));
  2797. }
  2798. }
  2799. //건강생활유지비
  2800. var vHeallifeamtclamamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt"));
  2801. if (vHeallifeamtclamamt != 0) {
  2802. if (vOpmi_count >1 ) {
  2803. messageBox("멀티수납시에는 건강생활유지비 적용을 할 수 없습니다.","E999","");
  2804. return;
  2805. }
  2806. model.makeValue("/root/send/s_opmi/opmi/opmi_heallifeamtclamamt",model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt"));
  2807. }
  2808. //산전지원비
  2809. var vPregdmndamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt"));
  2810. if (vPregdmndamt != 0) {
  2811. if (vOpmi_count >1 ) {
  2812. messageBox("멀티수납시에는 산전지원비 적용을 할 수 없습니다.","E999","");
  2813. return;
  2814. }
  2815. model.makeValue("/root/send/s_opmi/opmi/opmi_pregdmndamt",model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt"));
  2816. }
  2817. //환자기본정보 세팅
  2818. model.setValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  2819. model.setValue("/root/send/brthdd" , model.getValue("/root/main/patinfo/patinfolist/brthdd"));
  2820. model.setValue("/root/send/rrgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  2821. model.setValue("/root/send/rrgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  2822. model.setValue("/root/send/sessuserid" , model.getValue("/root/hidden/session/userid"));
  2823. model.setValue("/root/send/workgubn" , model.getValue("/root/temp3/workgubn"));
  2824. model.setValue("/root/send/opt_cardck" , model.getValue("/root/option/opt_cardck"));
  2825. //-------------------------------
  2826. //return;
  2827. //-------------------------------
  2828. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  2829. //수납처리 호출
  2830. if (submit("TXPAO00102") == true) {
  2831. if(model.getValue("/root/tempp/msg/outdrugnomsg") != ""){
  2832. messageBox(model.getValue("/root/tempp/msg/outdrugnomsg"), "I999","");
  2833. }
  2834. //영수증출력 Y 이면, 출력
  2835. if ( model.getValue("/root/init/option/receipt") == "Y" || model.getValue("/root/init/option/specbillyn") == "Y" ) {
  2836. var InitDept = "";
  2837. var PrintDept = new Array( getNodesetCount("/root/tempp/receipt") );
  2838. var DeptCnt = 1;
  2839. PrintDept[0] = model.getValue("/root/tempp/receipt[1]/orddeptcd");
  2840. DeptCnt = 1;
  2841. for(var i=1; i<=getNodesetCount("/root/tempp/receipt"); i++){
  2842. for(var j=1; j<=DeptCnt; j++){
  2843. if(fIsValueofArray( PrintDept , model.getValue("/root/tempp/receipt["+ i +"]/orddeptcd"))){
  2844. break;
  2845. }else{
  2846. PrintDept[DeptCnt] = model.getValue("/root/tempp/receipt["+ i +"]/orddeptcd");
  2847. DeptCnt++;
  2848. break;
  2849. }
  2850. }// for j
  2851. }//for i
  2852. //2015/02/06 이정택(원하는 매수만큼 영수증 및 세부내역서 출력하도록 로직 추가)
  2853. var printcnt = model.getValue("/root/init/option/printcnt");
  2854. if(printcnt=="" || printcnt==null){
  2855. printcnt="1";
  2856. }
  2857. for(var m=1; m<=parseInt(printcnt); m++){
  2858. // 영수증 출력의 경우
  2859. if ( model.getValue("/root/init/option/receipt") == "Y" ) {
  2860. //진료과 건수 만큼 loop 영수증호출
  2861. for (var j = 0; j< DeptCnt ; j++) {
  2862. model.removeNodeset("/root/temp/receipt");
  2863. for(var i=1; i<=getNodesetCount("/root/tempp/receipt"); i++){
  2864. if (model.getValue("/root/tempp/receipt["+ i +"]/orddeptcd") == PrintDept[j] ) {
  2865. model.setValue("/root/tempp/receipt["+ i +"]/ordtype", "외래멀티수납영수증");
  2866. model.makeValue("/root/tempp/receipt["+ i +"]/engYN", model.getValue("/root/init/option/engreceipt") );
  2867. model.makeValue("/root/tempp/receipt["+ i +"]/reprintYN", "N");
  2868. if(model.getvalue("/root/temp3/workgubn") == "Y") {
  2869. model.makeValue("/root/tempp/receipt["+ i +"]/rcptsite", "S" );
  2870. }
  2871. if(model.getvalue("/root/temp3/workgubn") == "N") { //외래정산시에는 접수증 발행안한다!
  2872. model.makeValue("/root/tempp/receipt["+ i +"]/rcptsite", "jungsan" );
  2873. }
  2874. model.makeValue("/root/tempp/receipt["+ i +"]/ordrcptflag", "multi");
  2875. model.makeValue("/root/tempp/receipt["+ i +"]/m_cnt", i);
  2876. copyNodeListType("root/temp","/root/tempp/receipt[" + i + "]","after");
  2877. }
  2878. }
  2879. modal("SPPAO01900");
  2880. }
  2881. }
  2882. // 진료비세부내역서의 경우
  2883. if (model.getValue("/root/init/option/specbillyn") == "Y") {
  2884. var receitpCnt = getNodesetCount("/root/tempp/receipt")
  2885. //진료과 건수 만큼 loop 영수증호출
  2886. for (var k = 1; k <= receitpCnt ; k++) {
  2887. // 초기화
  2888. model.removeNodeset("/root/temp/receipt");
  2889. model.makeValue("/root/temp/receipt/ordtype" , "환자용외래진료비세부내역서" ); //ordtype : 외래영수증 / 외래중간금영수증 / 외래합산영수증 /외래진료비세부내역서
  2890. model.makeValue("/root/temp/receipt/pid" , model.getValue("/root/tempp/receipt["+ k +"]/pid") );
  2891. model.makeValue("/root/temp/receipt/rcptdd" , model.getValue("/root/tempp/receipt["+ k +"]/rcptdd") );
  2892. model.makeValue("/root/temp/receipt/rcptno" , model.getValue("/root/tempp/receipt["+ k +"]/rcptno") );
  2893. model.makeValue("/root/temp/receipt/rcptseqno" , model.getValue("/root/tempp/receipt["+ k +"]/rcptseqno") );
  2894. model.makeValue("/root/temp/receipt/orddd" , model.getValue("/root/tempp/receipt["+ k +"]/orddd") );
  2895. model.makeValue("/root/temp/receipt/cretno" , model.getValue("/root/tempp/receipt["+ k +"]/cretno") );
  2896. model.makeValue("/root/temp/receipt/orddeptcd" , model.getValue("/root/tempp/receipt["+ k +"]/orddeptcd") );
  2897. model.makeValue("/root/temp/receipt/orddrid" , model.getValue("/root/tempp/receipt["+ k +"]/orddrid") );
  2898. model.makeValue("/root/temp/receipt/instcd" , model.getValue("/root/tempp/receipt["+ k +"]/instcd") );
  2899. model.makeValue("/root/temp/receipt/calcpayflag" , "-" + "','0" + "','2" + "','1" + "','5"); // pay1-급여, pay2-비급, pay4-본인100, pay5-선택진료
  2900. model.makeValue("/root/temp/receipt/specflag" , "1"); // 1:전체, 2:선택진료
  2901. model.makeValue("/root/temp/receipt/calcsum" , "Y"); // Y:수가별합산
  2902. model.makeValue("/root/temp/receipt/useflag" , "2"); // 1:보험회사, 2:기타
  2903. model.makeValue("/root/temp/receipt/mig_oscl2yn" , false); // 세부내역서가 oscl2읽음 여부
  2904. //영수증 팝업화면 호출
  2905. modal("SPPAO01900");
  2906. }
  2907. }
  2908. }
  2909. }
  2910. //원외처방전 자동출력 Y 이면, 출력
  2911. if(model.getValue("/root/init/option/hosoprnyn") == "Y"){
  2912. fPrintDrug1();
  2913. }
  2914. // 2015/07/30 장애인 구강센터 동의서 출력관련
  2915. var gugang_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt[otpt_orddeptcd='2242400000']");
  2916. var gugang_ptbs_scanyn = model.getValue("/root/main/patinfo/patinfolist/gugang_ptbs_scanyn");
  2917. var gugang_ocryn="Y";
  2918. if(parseInt(gugang_cnt)>0 && gugang_ptbs_scanyn=="N"){
  2919. gugang_ocryn = "N";
  2920. }
  2921. // 2015/07/30 장애인 구강센터 동의서 출력관련
  2922. // 개인정보이용동의서가 출력되지 않았을 경우 동의서 자동출력 by 조중래 20120328
  2923. // 자동출력 안되는 케이스
  2924. // 1. P0097 등록 사용자 (치과, 모발센터, 건진, 은행 등)
  2925. // 2. 진찰료미산정
  2926. // 3. 제출 / 스캔완료 건
  2927. // 가접수에 대해서도 개인정보 이용동의서 출력되도록 수정(2016/05/17 이정택)
  2928. if((model.getValue("/root/init/option/personprntyn") == "Y"
  2929. //&& model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn") != "N"
  2930. && model.getValue("/root/main/patinfo/patinfolist/scanyn") == "X")
  2931. || gugang_ocryn =="N") {
  2932. var nodeCnt = getNodesetCount("/root/init/prncd/hardcd");
  2933. var formcd;
  2934. //구분에 맞춰 폼코드 처리(1:일반약정서 / 2:기간약정서 / 3:개인정보이용동의서) / 11: 대구장애인구강진료센터
  2935. if(gugang_ocryn =="N"){
  2936. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='11']/hardcd");
  2937. }else{
  2938. formcd = model.getValue("/root/init/prncd/hardcd[cdseqno='3']/hardcd");
  2939. }
  2940. /*
  2941. for(var i=1; i<= nodeCnt; i++){
  2942. if(3 == model.getValue("/root/init/prncd/hardcd[" + i + "]/cdseqno")){
  2943. formcd = model.getValue("/root/init/prncd/hardcd[" + i + "]/hardcd");
  2944. break;
  2945. }
  2946. }
  2947. */
  2948. //개인정보이용 동의서 전자동의서를 위한 처리로직 추가 by 조중래 20130305
  2949. var ocrtype = "O";
  2950. if(model.getValue("/root/init/basecdlist/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y"){
  2951. ocrtype = "S";
  2952. }
  2953. fPerPrintOCR(formcd,
  2954. model.getValue("/root/send/s_opmi/opmi[" + 1 + "]/opmi_pid"),
  2955. model.getValue("/root/send/s_opmi/opmi[" + 1 + "]/opmi_orddd"),
  2956. model.getValue("/root/send/s_opmi/opmi[" + 1 + "]/opmi_cretno"),
  2957. "O",
  2958. ocrtype);
  2959. }
  2960. //초기화
  2961. model.copynode("/root/tempp", "/root/node_bk/temp");
  2962. model.copynode("/root/temp" , "/root/node_bk/temp");
  2963. //외래정산시 -영수증을 발행해준다.
  2964. if(model.getvalue("/root/temp3/workgubn") == "N" && model.getvalue("/root/init/basecdlist/P0032[cdid='80']/cdnm") == "Y") {
  2965. for(var i=1; i<=vOpmi_count; i++){
  2966. model.setvalue("/root/send/s_opmi/opmi["+ i +"]/opmi_ordtype" , "외래멀티수납영수증");
  2967. model.setvalue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptseqno", "101");
  2968. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_engYN" , model.getValue("/root/init/option/engreceipt"));
  2969. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_reprintYN" , "N");
  2970. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_rcptsite" , "S");
  2971. model.makeValue("/root/send/s_opmi/opmi["+ i +"]/opmi_ordrcptflag" , "multi");
  2972. copyNodesetType("/root/temp/receipt", "/root/send/s_opmi/opmi["+ i +"]" ,"before");
  2973. }
  2974. chgNodeNm("/root/temp/receipt" );
  2975. modal("SPPAO01900");
  2976. }
  2977. //외래정산시 -영수증 발행끝
  2978. //환불수납건은
  2979. if (parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) < 0 ){
  2980. fRtnRcpt(2);
  2981. }
  2982. fClear("P");
  2983. model.setFocus("ipt_pid");
  2984. // 수납 후 통합 검사 예약 자동 연계
  2985. if (EXCU_FLAG) {
  2986. setParameter("opener_parameter_id", model.getValue("/root/main/patinfo/patinfolist/pid") + "▦T");
  2987. open("../../../pam/pamexcuweb/xrw/SMPEA00100_검사예약.xrw", "", "", "" ,"", "", "");
  2988. cap_excumsg.visible = false;
  2989. }
  2990. }else{
  2991. fServerCheckMsg("수납실패");
  2992. }
  2993. }
  2994. //원외처방전 출력
  2995. function fPrintDrug1() {
  2996. var drug_cnt = getNodesetCount("/root/tempp/drug/drugdd");
  2997. for (var iRow = 1; iRow<= drug_cnt; iRow++) {
  2998. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd", model.getValue("/root/tempp/drug["+iRow+"]/drugdd"));
  2999. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugno", model.getValue("/root/tempp/drug["+iRow+"]/drugno"));
  3000. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinyn", "");
  3001. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinmpsflag", "");
  3002. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3003. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutmpsflag", "1|2");
  3004. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblyn", "");
  3005. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblflag", "");
  3006. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "");
  3007. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoinprntyn", "");
  3008. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autooutprntyn", "");
  3009. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoprcp", "");
  3010. if (model.getValue("/root/tempp/drug["+iRow+"]/prntdt") != "-") {
  3011. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn", "Y");
  3012. }else{
  3013. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn", "");
  3014. }
  3015. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoatcyn", "");
  3016. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/printer", "2");
  3017. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3018. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "Y");
  3019. if (model.getValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn") == "") {
  3020. modal("SMADT01101", "0","0", "10", "SMADT01101", "/root/hidden/h_prcpsrch/prcpsrch", "/root/hidden/prcpsrch");
  3021. }
  3022. model.copynode("/root/hidden/h_prcpsrch", "/root/node_bk/hidden/h_prcpsrch");
  3023. }
  3024. }
  3025. //원외처방전 출력
  3026. function fPrintDrug2() {
  3027. var drug_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  3028. for (var iRow = 1; iRow <= drug_cnt; iRow++) {
  3029. if (model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+iRow+"]/otpt_checkflag") =="true") {
  3030. model.setValue("/root/send/pid" ,model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+iRow+"]/otpt_pid"));
  3031. model.setValue("/root/send/orddd" ,model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+iRow+"]/otpt_orddd"));
  3032. model.setValue("/root/send/cretno" ,model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+iRow+"]/otpt_cretno"));
  3033. model.setValue("/root/send/instcd" ,model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+iRow+"]/otpt_instcd"));
  3034. if (submit("TRPAO10103") == true && model.getValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd") != "") {
  3035. if (model.getValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd") == "") {
  3036. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd", "");
  3037. }
  3038. if (model.getValue("/root/hidden/h_prcpsrch/prcpsrch/drugno") == "") {
  3039. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugno", "");
  3040. }
  3041. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinyn", "");
  3042. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinmpsflag", "");
  3043. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3044. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutmpsflag", "1|2");
  3045. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblyn", "");
  3046. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblflag", "");
  3047. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "");
  3048. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoinprntyn", "");
  3049. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autooutprntyn", "");
  3050. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoprcp", "");
  3051. if (model.getValue("/root/hidden/h_prcpsrch/prcpsrch/prntdt") != "-") {
  3052. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn", "Y");
  3053. }else{
  3054. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn", "");
  3055. }
  3056. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoatcyn", "");
  3057. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/printer", "2");
  3058. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3059. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "Y");
  3060. //if (model.getValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn") == "") {
  3061. modal("SMADT01101", "0","0", "10", "SMADT01101", "/root/hidden/h_prcpsrch/prcpsrch", "/root/hidden/prcpsrch");
  3062. //}
  3063. }
  3064. if(model.getValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd") ==""){
  3065. model.setvalue("/root/etc/union_msg" ,"원외처방전이 없습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  3066. }
  3067. model.copynode("/root/hidden/h_prcpsrch", "/root/node_bk/hidden/h_prcpsrch");
  3068. fLItemRefresh();
  3069. }
  3070. }
  3071. if(drug_cnt == 0) {
  3072. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugdd", "");
  3073. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/drugno", "");
  3074. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinyn", "");
  3075. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosinmpsflag", "");
  3076. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3077. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutmpsflag", "1|2");
  3078. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblyn", "");
  3079. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/lblflag", "");
  3080. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "");
  3081. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoinprntyn", "");
  3082. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autooutprntyn", "");
  3083. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoprcp", "");
  3084. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/reprintyn", "Y");
  3085. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/autoatcyn", "");
  3086. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/printer", "2");
  3087. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/hosoutyn", "Y");
  3088. model.makeValue("/root/hidden/h_prcpsrch/prcpsrch/prntflag", "Y");
  3089. open("SMADT01101", "0","0", "10", "SMADT01101", "/root/hidden/h_prcpsrch/prcpsrch", "/root/hidden/prcpsrch");
  3090. model.copynode("/root/hidden/h_prcpsrch", "/root/node_bk/hidden/h_prcpsrch");
  3091. }
  3092. }
  3093. //영수증 출력을 위한 용도
  3094. function chgNodeNm(desnode ) {
  3095. var nodes = instance1.root.selectNodes(desnode + "/*");
  3096. var tNode = null;
  3097. for(var i=0; i<nodes.length; i++) {
  3098. tNode = nodes.item(i);
  3099. nodename = tNode.nodeName;
  3100. tNode.nodeName = nodename.substring(5, nodename.length);
  3101. }
  3102. /*
  3103. model.makeValue("/root/temp/receipt/ordtype" , "외래멀티수납영수증");
  3104. model.makeValue("/root/temp/receipt/rcptseqno", "101");
  3105. model.makeValue("/root/temp/receipt/engYN" , model.getValue("/root/init/option/engreceipt") );
  3106. model.makeValue("/root/temp/receipt/reprintYN", "N");
  3107. model.makeValue("/root/temp/receipt/rcptsite" , "S" );
  3108. model.makeValue(desnode + "/ordtype" , "외래멀티수납영수증");
  3109. model.makeValue(desnode + "/rcptseqno", "101");
  3110. model.makeValue(desnode + "/engYN" , model.getValue("/root/init/option/engreceipt") );
  3111. model.makeValue(desnode + "/reprintYN", "N");
  3112. model.makeValue(desnode + "/rcptsite" , "S" );
  3113. */
  3114. //modal("SPPAO01900");
  3115. }
  3116. //장기이식환자 조회
  3117. function fTransSearch() {
  3118. model.setValue("/root/send/pid",model.getValue("/root/main/patinfo/patinfolist/pid"));
  3119. //해당조건에 의한장기이식환자 조회
  3120. submit("TRPAO00212");
  3121. if (model.getValue("root/temp/trans/transgubn")=="1" || model.getValue("root/temp/trans/transgubn")=="2") {
  3122. if (model.getValue("root/temp/trans/transgubn")=="1") {
  3123. var transmessage = '공여자 입니다. ' + ' * 수혜자 : ' + model.getValue("root/temp/trans/phngnm") + '[' +model.getValue("root/temp/trans/ppid") + ']' + ' 에게 ' +
  3124. model.getValue("root/temp/trans/trnptkindnm") + ' 공여 하였습니다.';
  3125. }
  3126. if (model.getValue("root/temp/trans/transgubn")=="2") {
  3127. var transmessage = '수혜자 입니다. ' + ' * 공여자 : ' + model.getValue("root/temp/trans/phngnm") + '[' +model.getValue("root/temp/trans/ppid") + ']' + '에게서 ' +
  3128. model.getValue("root/temp/trans/trnptkindnm") + ' 수혜 받았습니다.';
  3129. }
  3130. messageBox(transmessage, "I004","");
  3131. return;
  3132. }
  3133. }
  3134. //산정특례로직 체크----------------------- ???? 사용안함 ???
  3135. function fEsscSearch(vpid, vorddd, vorddeptcd, vmskind, vcretno, vinsukind) {
  3136. model.setValue("/root/send/pid",vpid);
  3137. model.setValue("/root/send/orddd",vorddd);
  3138. model.setValue("/root/send/orddeptcd",vorddeptcd);
  3139. model.setValue("/root/send/mskind",vmskind);
  3140. model.setValue("/root/send/cretno",vcretno);
  3141. model.setValue("/root/send/insukind",vinsukind);
  3142. //해당조건에 산정특례처방 체크
  3143. submit("TRPAO00213");
  3144. }
  3145. function fClickHoldBtn() {
  3146. model.removeNodeset("/root/send/s_hold/prcp");
  3147. //계산리스트에서 선택 후, 버튼 클릭시에는 [Hold]처리
  3148. //홀드리스트에서 선택 후, 버튼 클릭시에는 [Release]처리
  3149. //[Hold]처리
  3150. for (var iRow = 1; iRow< grd_prcplist.rows ; iRow++) {
  3151. if (
  3152. (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ iRow +"]/prcp_holdyn")=="true") ||
  3153. (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ iRow +"]/prcp_releyn")=="true") ||
  3154. (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ iRow +"]/prcp_calcstat")=="true") ||
  3155. (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ iRow +"]/prcp_calcstat")=="false")
  3156. ) {
  3157. copyNodeListType("/root/send/s_hold","/root/hidden/rcv/h_prcp/prcp["+iRow+"]","after");
  3158. }
  3159. }
  3160. //prcpstatcd :210 으로 세팅
  3161. var vHold_count = getNodesetCount("/root/send/s_hold/prcp/prcp_pid");
  3162. for (var iRow = 0; iRow< (vHold_count) ; iRow++) {
  3163. if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_holdyn")=="true") {
  3164. model.setValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_prcpstatcd","210");
  3165. }
  3166. if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_releyn")=="true") {
  3167. if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_rcptdd") == "") {
  3168. model.setValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_prcpstatcd","000");
  3169. }
  3170. if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_rcptdd") != "") {
  3171. model.setValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_prcpstatcd","230");
  3172. }
  3173. }
  3174. // 수납대상여부 재설정 : exop.calcstat = 'X' or 'O' 설정처리
  3175. // 'Y'처리는 홀드기능 없애는 경우 같이 삭제처리해야함
  3176. if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_calcstat")=="false") {
  3177. model.setValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_calcstat","N");
  3178. } else if (model.getValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_calcstat")=="true") {
  3179. model.setValue("/root/send/s_hold/prcp[" + (iRow+1) + "]/prcp_calcstat","Y");
  3180. }
  3181. }
  3182. if (vHold_count == 0) {
  3183. var result = messageBox(" [Hold] 또는 [Release] 할 처방이 선택되지 않았습니다.","I999","");
  3184. return false;
  3185. }
  3186. if (submit("TXPAO00103")) {
  3187. model.setValue("/root/hidden/calcgubn","Y");
  3188. if (fCalculate("N") != false) {
  3189. //2015/01/29 이정택 주석처리(부분수납에서 재계산시 수납대기로 돌아가는 현상 방지)
  3190. //요청 없어서 원상태로 돌림
  3191. btn_otptlist.dispatch("onclick");
  3192. //2015/01/29 이정택 주석처리
  3193. }
  3194. }
  3195. }
  3196. //외래 의사처방 급비변경(이동재 20071212)
  3197. function fClickPayFlagBtn() {
  3198. model.removeNodeset("/root/send/s_hold/prcp");
  3199. if (swt_outrcpt.selectedIndex == 2 ) { //처방리스트 선택
  3200. //급비변경처리
  3201. copyNodeListType("/root/hidden/rcv/h_prcp/prcp",grd_prcplist.getUpdateData("update"));
  3202. for (var iRow = 1; iRow< grd_prcplist.rows ; iRow++) {
  3203. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ iRow +"]/prcp_holdyn")=="true") {
  3204. copyNodeListType("/root/send/s_hold","/root/hidden/rcv/h_prcp/prcp["+iRow+"]","after");
  3205. }
  3206. }
  3207. }
  3208. if (submit("TXPAO00104")) {
  3209. btn_calc.disabled = false;
  3210. btn_rcpt.disabled = true;
  3211. }
  3212. if (swt_outrcpt.selectedIndex == 2 ) { //처방리스트 선택
  3213. btn_prcplist.dispatch("onclick");
  3214. }
  3215. }
  3216. //이동재20080108 수급절차 이벤트
  3217. function fCheckOrdReqForm(){
  3218. //2007-12-12 이동식 추가 - 수급절차 본인부담 100% 일때 보험유형보조 전액본인부담으로 세팅!!
  3219. //건강보험, 자보, 산재일 경우에만 세팅.
  3220. var otpt_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  3221. //보험, 급여 일때
  3222. if( otpt_insukind == gsBoHo2 || otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHeom ){
  3223. if(cmb_ordreqformflag.value == '1' || //보험 100%(의뢰서미지참)
  3224. cmb_ordreqformflag.value == '2' || //본인희망 100%
  3225. cmb_ordreqformflag.value == '4' ) //기타 100%
  3226. {
  3227. //전액본인부담 '01'
  3228. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '01');
  3229. }else if( cmb_ordreqformflag.value == '3'){
  3230. //정상
  3231. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '00');
  3232. }else if( cmb_ordreqformflag.value == '5' || cmb_ordreqformflag.value == '6'){
  3233. model.setValue("/root/main/outrgst/ptin/ptin_insukind", "51");
  3234. cmb_insukind.dispatch("xforms-select");
  3235. }else{
  3236. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '00');
  3237. }
  3238. }
  3239. //2007-09-17 이동식 추가 - 이동재 대리 요청 - 정신과, 의료급여1,2종일 경우 보조유형을 정신과 정액으로 세팅..
  3240. if( otpt_insukind == gsBoHo1 || otpt_insukind == gsBoHo2 ){
  3241. var reqdeptno = model.getValue("/root/init/orddeptcd[ cd = '" + model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "' ]/reqdeptno");
  3242. if( reqdeptno == "03"){
  3243. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '14');
  3244. fSuppKindSelect_outord();
  3245. }
  3246. }
  3247. //신체감정 접수 체크
  3248. var otpt_etcordflag = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag");
  3249. if( otpt_etcordflag == 'B' ){ //기타구분이 신체감정일 경우
  3250. if( otpt_insukind != gsIlBan ){
  3251. model.setValue("/root/main/outrgst/ptin/ptin_insukind", '51'); //일반
  3252. cmb_insukind.dispatch("xforms-select");
  3253. }
  3254. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '28'); //신체감정
  3255. fSuppKindSelect_outord();
  3256. }
  3257. fLItemRefresh();
  3258. }
  3259. function fSuppKindSelect_outord()
  3260. {
  3261. var otpt_insukind = model.getValue("/root/main/outrgst/ptin/ptin_insukind");
  3262. var otpt_suppkind = model.getValue("/root/main/outrgst/ptin/ptin_suppkind");
  3263. if (otpt_suppkind != supp_BASE) cmb_suppkindresn.disabled = false;
  3264. else cmb_suppkindresn.disabled = true;
  3265. if (otpt_suppkind == supp_JABH && (otpt_insukind != gsSanJae && otpt_insukind != gsJaboKind))
  3266. {
  3267. messageBox("전액 보험자부담은 산재/자보인 경우에만 해당합니다!","E999","");
  3268. model.setValue("/root/main/outrgst/ptin/ptin_suppkind",supp_BASE);
  3269. }
  3270. if (otpt_insukind == supp_HANDI && otpt_insukind != gsBoHo2)
  3271. {
  3272. messageBox("장애인은 의료급여2종인 경우에만 해당합니다!","E999","");
  3273. model.setValue("/root/main/outrgst/ptin/ptin_suppkind",supp_BASE);
  3274. }
  3275. }
  3276. function fEtcordflag(){
  3277. //원래값과 비교필요
  3278. var otpt_etcordflag = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag");
  3279. if( otpt_etcordflag == 'B' ){
  3280. model.setValue("/root/main/outrgst/ptin/ptin_insukind", '51'); //일반
  3281. cmb_insukind.dispatch("xforms-select");
  3282. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", '28'); //신체감정
  3283. fLItemRefresh();
  3284. }
  3285. //기타진료구분 변경시, 계산버튼 활성화, 수납버튼 비활성화
  3286. btn_calc.disabled = false;
  3287. btn_rcpt.disabled = true;
  3288. }
  3289. //2007-12-27 이동식 추가 - 협진조회팝업 호출
  3290. function fGetEMRCnstInfo(){
  3291. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3292. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  3293. setParameter("SPPMO01300_PID", pid);
  3294. setParameter("SPPMO01300_HNGNM", hngnm);
  3295. setParameter("SPPMO01300_FLAG", 'O'); //외래 플래그
  3296. modal("SPPMO01300", "1", "200", "200", "SPPMO01300", "", "");
  3297. var rtnMsg = getParameter("SPPMO01300_RTN");
  3298. if( rtnMsg == 'OK' ){
  3299. //변경/취소 내역이 선택되어 있는 경우 리턴
  3300. if (btn_stat.attribute("background-color") == "#ff0000")
  3301. {
  3302. messageBox("확인! 변경/취소 대상내역 선택되어있습니다! 변경/취소 또는 해제 후 진행하십시요!","E999","");
  3303. //model.toggle("case5");
  3304. return;
  3305. }else{
  3306. btn_stat.dispatch("DOMActivate");
  3307. }
  3308. var orddd = getParameter("SPPMO01300_ORDDD");
  3309. var orddeptcd = getParameter("SPPMO01300_ORDDEPTCD");
  3310. var orddrid = getParameter("SPPMO01300_ORDDRID");
  3311. //var formrecseq = getParameter("SPPMO01300_FORMRECSEQ");
  3312. model.setValue("/root/main/otpt/otpt_orddeptcd", orddeptcd);
  3313. cmb_orddeptcd.dispatch("xforms-value-changed");
  3314. model.setValue("/root/main/otpt/otpt_orddrid", orddrid);
  3315. cmb_orddrid.dispatch("xforms-value-changed");
  3316. model.setValue("/root/main/otpt/otpt_orddd", orddd);
  3317. ipt_orddd.dispatch("xforms-value-changed");
  3318. //model.makeNode("/root/main/otpt/otpt_formrecseq");
  3319. //model.setValue("/root/main/otpt/otpt_formrecseq", formrecseq);
  3320. //기초정보 세팅
  3321. model.setValue("/root/main/otpt/otpt_ordreqformflag", "0"); //진료의뢰서 수급절차 - 해당없음
  3322. model.setValue("/root/main/otpt/otpt_etcordflag", "H"); //기타구분 - 의뢰
  3323. model.setValue("/root/main/otpt/otpt_rsrvflag", "C"); //예약구분 - 협진
  3324. //model.refresh();
  3325. messageBox("선택하신 컨설트내역를 접수정보에 입력했습니다. 보험정보 확인 후 접수하십시요.", "I999", "");
  3326. return true;
  3327. }else{
  3328. return false;
  3329. }
  3330. }
  3331. function fbtn_cardamt() {
  3332. /*
  3333. if(model.getValue("/root/init/option/cardyn") != "Y") {
  3334. messageBox("수납방법이 카드가 아닙니다.","E999","");
  3335. return;
  3336. }
  3337. */
  3338. if(model.getvalue("/root/main/patinfo/patinfolist/pid") == "") {
  3339. messageBox("환자가 조회되어있지 않습니다.","I999","");
  3340. return;
  3341. }
  3342. if(model.getValue("/root/temp3/workgubn") == "N"){
  3343. if(btn_rcpt.disabled) {
  3344. messageBox("계산상태가 아닙니다. 재계산하십시요.","I999","");
  3345. return;
  3346. }
  3347. }
  3348. if(model.getvalue("/root/init/option/cardyn") != "Y") {
  3349. model.setvalue("/root/init/option/cardyn" , "Y");
  3350. frdo_cardyn();
  3351. frdo_cardyn_setamt();
  3352. }
  3353. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  3354. var opmi_precardamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_precardamt");
  3355. var opmi_cardamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt");
  3356. var opmi_rcptexptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt");
  3357. if( opmi_cardamt != opmi_rcptexptamt && vOpmi_count > 1) {
  3358. messageBox("멀티수납시에는 부분카드수납은 불가능합니다.","E999","");
  3359. return;
  3360. }
  3361. if(!fOpenCardPopUp()){return false;}
  3362. /*
  3363. if(model.getvalue("/root/option/opt_cardck") != "Y"){
  3364. ////////실카드승인금액 표시
  3365. var s_card_amt = 0;
  3366. var s_card_cnt = getNodesetCount("/root/send/s_card/card/card_pid");
  3367. for (var a=1; a <= s_card_cnt ; a++) {
  3368. if(model.getvalue("/root/send/s_card/card["+a+"]/card_innrtretyn") == "N") {
  3369. s_card_amt = parseInt(model.getvalue("/root/send/s_card/card["+a+"]/card_cardamt")) + s_card_amt;
  3370. }
  3371. }
  3372. model.setvalue("/root/etc/cardvanamt" , "승인:" + s_card_amt);
  3373. opt_cardvanamt.refresh();
  3374. ////////실카드승인금액 표시 끝
  3375. //var TotCardAmt = getParameter("SPPAO00400_TotCardAmt");
  3376. //var temp = parseInt(TotCardAmt) - parseInt(opmi_precardamt);
  3377. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt",s_card_amt );
  3378. }
  3379. fipt_cashamt();
  3380. */
  3381. }
  3382. function fbl_cardck_select(){
  3383. model.setvalue("/root/etc/cardvanamt" , "");
  3384. opt_cardvanamt.refresh();
  3385. }
  3386. function fbl_cardck_deselect(){
  3387. ////////실카드승인금액 표시
  3388. var s_card_amt = 0;
  3389. var s_card_cnt = getNodesetCount("/root/send/s_card/card/card_pid");
  3390. for (var a=1; a <= s_card_cnt ; a++) {
  3391. if(model.getvalue("/root/send/s_card/card["+a+"]/card_innrtretyn") == "N") {
  3392. s_card_amt = parseInt(model.getvalue("/root/send/s_card/card["+a+"]/card_cardamt")) + s_card_amt;
  3393. }
  3394. }
  3395. if(s_card_amt != "0") {
  3396. model.setvalue("/root/etc/cardvanamt" , "승인:" + s_card_amt);
  3397. opt_cardvanamt.refresh();
  3398. }
  3399. ////////실카드승인금액 표시 끝
  3400. //var TotCardAmt = getParameter("SPPAO00400_TotCardAmt");
  3401. //var temp = parseInt(TotCardAmt) - parseInt(opmi_precardamt);
  3402. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt",s_card_amt );
  3403. }
  3404. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3405. // 카드승인 Function
  3406. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  3407. function fOpenCardPopUp(flag){
  3408. /*
  3409. if(getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") == 0) {
  3410. messageBox("선택된 수납내역이 없습니다.","E999","");
  3411. return;
  3412. }
  3413. */
  3414. //등록/수정,취소
  3415. //일반등록,멀티등록
  3416. var parm;
  3417. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3418. var orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3419. var orddeptcd; // = model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd");
  3420. var cretno = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_cretno");
  3421. var strRcvVan = '';
  3422. var ordtype = 'O';
  3423. var fromdd = ''; //필요없는 ???
  3424. var todd = ''; //필요없는 ???
  3425. var cardAmt = parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_precardamt"))
  3426. + parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  3427. if ( getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") > 0){
  3428. //멀티접수 카드 승인시 필요한 진료과/진료의 정보
  3429. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddeptcd");
  3430. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddd");
  3431. }else{
  3432. //카드 승인시 필요한 진료과/진료의 정보
  3433. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddeptcd");
  3434. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3435. }
  3436. //단일건 카드정보
  3437. var cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  3438. var valiterm = model.getValue("/root/main/outrgst/m_etc/valiterm");
  3439. var allotmm = model.getValue("/root/main/outrgst/m_etc/allotmm");
  3440. var keyinptflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  3441. var swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  3442. //처음에는 기카드노드를 보내고 그다음에는 send에서 주고받음
  3443. var send_card = "";
  3444. if(getNodesetCount("/root/send/s_card/card/card_pid") == 0){
  3445. send_card = "/root/hidden/rcv1/h_card";
  3446. }else{
  3447. send_card = "/root/send/s_card" ;
  3448. }
  3449. if (getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") < 2){
  3450. parm = "0" + "▦" + //멀티건수
  3451. "" + "▦" + //멀티opmi
  3452. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3453. "" + "▦" + //rcptno
  3454. "" + "▦" + //rcptseqno
  3455. cardAmt + "▦" + //totalamt
  3456. send_card + "▦" + //send
  3457. "/root/send/s_card" + "▦" + //receive
  3458. pid + "▦" + //pid
  3459. orddd + "▦" + //orddd
  3460. cretno + "▦" + //cretno
  3461. strRcvVan + "▦" + //strRcvVan
  3462. ordtype + "▦" + //ordtype
  3463. fromdd + "▦" + //fromdd
  3464. todd + "▦" + //todd
  3465. orddeptcd + "▦" + //orddeptcd
  3466. //단일건 접수 승인일때만 필요
  3467. cardno + "▦" + //cardno
  3468. valiterm + "▦" + //valiterm
  3469. allotmm + "▦" + //allotmm
  3470. keyinptflag + "▦" + //KeyInptFlag
  3471. swipedata + "▦" ; //swipedata
  3472. }else{ //멀티접수
  3473. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" + //멀티건수
  3474. "/root/hidden/rcv1/h_opmi" + "▦" + //멀티opmi
  3475. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3476. "" + "▦" + //rcptno
  3477. "" + "▦" + //rcptseqno
  3478. cardAmt + "▦" + //totalamt
  3479. send_card + "▦" + //send
  3480. "/root/send/s_card" + "▦" + //receive
  3481. pid + "▦" + //pid
  3482. orddd + "▦" + //orddd
  3483. cretno + "▦" + //cretno
  3484. strRcvVan + "▦" + //strRcvVan
  3485. ordtype + "▦" + //ordtype
  3486. fromdd + "▦" + //fromdd
  3487. todd + "▦" + //todd
  3488. orddeptcd + "▦" + //orddeptcd
  3489. //단일건 접수 승인일때만 필요
  3490. cardno + "▦" + //cardno
  3491. valiterm + "▦" + //valiterm
  3492. allotmm + "▦" + //allotmm
  3493. keyinptflag + "▦" + //KeyInptFlag
  3494. swipedata + "▦" ; //swipedata
  3495. }
  3496. setParameter("SPPAO00400_PARM",parm);
  3497. setParameter("SPPAO00400_FLAG", flag);
  3498. setParameter("SPPAO00400_RTNTYPE", "A");
  3499. //팝업 오픈 방식 체크
  3500. if( flag == 'I' || flag == 'D'){
  3501. var ivrObjt = document.all("ivr_cardpopup");
  3502. if( ivrObjt == null ){
  3503. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  3504. ivrObjt = document.all("ivr_cardpopup");
  3505. }
  3506. //setParameter("SPPAO00400_PARM",parm);
  3507. if( flag == 'I' ){
  3508. ivrObjt.window.javascript.fInit();
  3509. var retMsg = ivrObjt.window.javascript.fAutoGetCardAprv(); //실제 카드승인
  3510. }else{
  3511. ivrObjt.window.javascript.fInit();
  3512. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv();
  3513. }
  3514. body.removeChild("ivr_cardpopup");
  3515. //결과값 리턴
  3516. if(retMsg == false) {
  3517. return false;
  3518. }
  3519. }else{
  3520. modal("SPPAO00400", "1","400", "400", "SPPAO00400", "", "");
  3521. //팝업 정상종료 여부!
  3522. if (getParameter("SPPAO00400_RTN") == "N" || getParameter("SPPAO00400_RTN") == ""){
  3523. return false;
  3524. }
  3525. }
  3526. for (var i = 1; i <= getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") ; i++) {
  3527. for (var k = 1; k <= getNodesetCount("/root/send/s_card/card/card_pid") ; k++) {
  3528. if (model.getValue( "/root/send/s_card/card["+ k +"]/card_mseqno") != model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_mseqno")) continue;
  3529. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddd" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd"));
  3530. model.makeValue("/root/send/s_card/card["+ k +"]/card_cretno" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno"));
  3531. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd_org"));
  3532. model.makeValue("/root/send/s_card/card["+ k +"]/card_cretno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno_org"));
  3533. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddeptcd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddeptcd_org"));
  3534. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddrid_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddrid_org"));
  3535. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptdd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptdd_org"));
  3536. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptno_org"));
  3537. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptseqno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptseqno_org"));
  3538. }
  3539. }
  3540. return true;
  3541. }
  3542. function fOpenCardPopUp2(flag){
  3543. //등록/수정,취소
  3544. //일반등록,멀티등록
  3545. var parm;
  3546. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3547. var orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3548. var orddeptcd; // = model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd");
  3549. var cretno = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_cretno");
  3550. var strRcvVan = '';
  3551. var ordtype = 'O';
  3552. var fromdd = ''; //필요없는 ???
  3553. var todd = ''; //필요없는 ???
  3554. var cardAmt = parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  3555. if ( getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") > 0){
  3556. //멀티접수 카드 승인시 필요한 진료과/진료의 정보
  3557. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddeptcd");
  3558. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddd");
  3559. }else{
  3560. //카드 승인시 필요한 진료과/진료의 정보
  3561. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddeptcd");
  3562. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3563. }
  3564. //단일건 카드정보
  3565. var cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  3566. var valiterm = model.getValue("/root/main/outrgst/m_etc/valiterm");
  3567. var allotmm = model.getValue("/root/main/outrgst/m_etc/allotmm");
  3568. var keyinptflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  3569. var swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  3570. // 치과 신용카드 IC칩 결제관련 프로그램 수정 (2016/05/11)
  3571. if(isNull(allotmm)){
  3572. allotmm='00';
  3573. }
  3574. // 치과 신용카드 IC칩 결제관련 프로그램 수정
  3575. //처음에는 기카드노드를 보내고 그다음에는 send에서 주고받음
  3576. var send_card = "";
  3577. if(getNodesetCount("/root/send/s_card/card/card_pid") == 0){
  3578. send_card = "/root/hidden/rcv1/h_card";
  3579. }else{
  3580. send_card = "/root/send/s_card" ;
  3581. }
  3582. if(getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") < 2){
  3583. parm = "0" + "▦" + //멀티건수
  3584. "" + "▦" + //멀티opmi
  3585. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3586. "" + "▦" + //rcptno
  3587. "" + "▦" + //rcptseqno
  3588. cardAmt + "▦" + //totalamt
  3589. "" + "▦" + //send
  3590. "/root/send/s_card" + "▦" + //receive
  3591. pid + "▦" + //pid
  3592. orddd + "▦" + //orddd
  3593. cretno + "▦" + //cretno
  3594. strRcvVan + "▦" + //strRcvVan
  3595. ordtype + "▦" + //ordtype
  3596. fromdd + "▦" + //fromdd
  3597. todd + "▦" + //todd
  3598. orddeptcd + "▦" + //orddeptcd
  3599. //단일건 접수 승인일때만 필요
  3600. cardno + "▦" + //cardno
  3601. valiterm + "▦" + //valiterm
  3602. allotmm + "▦" + //allotmm
  3603. keyinptflag + "▦" + //KeyInptFlag
  3604. swipedata + "▦" ; //swipedata
  3605. setParameter("SPPAO00400_PARM",parm);
  3606. setParameter("SPPAO00400_FLAG",flag);
  3607. if(fCall_SPPAO00400(flag) == false) {return false;}
  3608. }else{
  3609. //멀티접수
  3610. var divide_flag = true;
  3611. //승인금액중 (-)금액이 있으면 기존방식으로 승인
  3612. for(var a =1; a <= getNodesetCount("/root/send/s_opmi/opmi/opmi_cardamt") ; a++){
  3613. if(parseInt(model.getValue("/root/send/s_opmi/opmi["+ a +"]/opmi_cardamt")) < 0) {divide_flag = false; break;}
  3614. }
  3615. //분할승인 사용유무
  3616. if(model.getvalue("/root/init/basecdlist/P0032[cdid='210']/cdnm") != "Y") {divide_flag = false;}
  3617. if(divide_flag == true){
  3618. //분할승인 시작
  3619. for(var a =1; a <= getNodesetCount("/root/send/s_opmi/opmi/opmi_cardamt") ; a++){
  3620. cardAmt = model.getValue("/root/send/s_opmi/opmi["+ a +"]/opmi_cardamt");
  3621. if(cardAmt == 0) {continue;}
  3622. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" + //멀티건수
  3623. "/root/hidden/rcv1/h_opmi" + "▦" + //멀티opmi
  3624. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3625. "" + "▦" + //rcptno
  3626. "" + "▦" + //rcptseqno
  3627. cardAmt + "▦" + //totalamt
  3628. "" + "▦" + //send
  3629. "/root/send/s_card" + "▦" + //receive
  3630. pid + "▦" + //pid
  3631. orddd + "▦" + //orddd
  3632. cretno + "▦" + //cretno
  3633. strRcvVan + "▦" + //strRcvVan
  3634. ordtype + "▦" + //ordtype
  3635. fromdd + "▦" + //fromdd
  3636. todd + "▦" + //todd
  3637. orddeptcd + "▦" + //orddeptcd
  3638. //단일건 접수 승인일때만 필요
  3639. cardno + "▦" + //cardno
  3640. valiterm + "▦" + //valiterm
  3641. allotmm + "▦" + //allotmm
  3642. keyinptflag + "▦" + //KeyInptFlag
  3643. swipedata + "▦" ; //swipedata
  3644. setParameter("SPPAO00400_PARM",parm);
  3645. setParameter("SPPAO00400_FLAG",flag);
  3646. if(fCall_SPPAO00400(flag) == false) {return false;}
  3647. model.makenode("/root/temp8/card["+ a +"]/card_aprvno");
  3648. model.copynode("/root/temp8/card["+ a +"]" , "/root/send/s_card/card["+ a +"]");
  3649. }
  3650. model.copynode( "/root/send/s_card" , "/root/temp8");
  3651. //분할승인 종료
  3652. }else{
  3653. //기존방식 승인
  3654. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" + //멀티건수
  3655. "/root/hidden/rcv1/h_opmi" + "▦" + //멀티opmi
  3656. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3657. "" + "▦" + //rcptno
  3658. "" + "▦" + //rcptseqno
  3659. cardAmt + "▦" + //totalamt
  3660. "" + "▦" + //send
  3661. "/root/send/s_card" + "▦" + //receive
  3662. pid + "▦" + //pid
  3663. orddd + "▦" + //orddd
  3664. cretno + "▦" + //cretno
  3665. strRcvVan + "▦" + //strRcvVan
  3666. ordtype + "▦" + //ordtype
  3667. fromdd + "▦" + //fromdd
  3668. todd + "▦" + //todd
  3669. orddeptcd + "▦" + //orddeptcd
  3670. //단일건 접수 승인일때만 필요
  3671. cardno + "▦" + //cardno
  3672. valiterm + "▦" + //valiterm
  3673. allotmm + "▦" + //allotmm
  3674. keyinptflag + "▦" + //KeyInptFlag
  3675. swipedata + "▦" ; //swipedata
  3676. setParameter("SPPAO00400_PARM",parm);
  3677. setParameter("SPPAO00400_FLAG",flag);
  3678. if(fCall_SPPAO00400(flag) == false) {return false;}
  3679. }
  3680. }
  3681. for (var i = 1; i <= getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") ; i++) {
  3682. for (var k = 1; k <= getNodesetCount("/root/send/s_card/card/card_pid") ; k++) {
  3683. if (model.getValue( "/root/send/s_card/card["+ k +"]/card_mseqno") != model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_mseqno")) continue;
  3684. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddd" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd"));
  3685. model.makeValue("/root/send/s_card/card["+ k +"]/card_cretno" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno"));
  3686. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd_org"));
  3687. model.makeValue("/root/send/s_card/card["+ k +"]/card_cretno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno_org"));
  3688. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddeptcd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddeptcd_org"));
  3689. model.makeValue("/root/send/s_card/card["+ k +"]/card_orddrid_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddrid_org"));
  3690. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptdd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptdd_org"));
  3691. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptno_org"));
  3692. model.makeValue("/root/send/s_card/card["+ k +"]/card_rcptseqno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptseqno_org"));
  3693. }
  3694. }
  3695. return true;
  3696. }
  3697. function fCall_SPPAO00400(flag){
  3698. //팝업 오픈 방식 체크
  3699. if( flag == 'I' || flag == 'D'){
  3700. var ivrObjt = document.all("ivr_cardpopup");
  3701. if( ivrObjt == null ){
  3702. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  3703. ivrObjt = document.all("ivr_cardpopup");
  3704. }
  3705. if( flag == 'I' ){
  3706. ivrObjt.window.javascript.fInit();
  3707. var retMsg = ivrObjt.window.javascript.fAutoGetCardAprv(); //실제 카드승인
  3708. }else{
  3709. ivrObjt.window.javascript.fInit();
  3710. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv();
  3711. }
  3712. body.removeChild("ivr_cardpopup");
  3713. //결과값 리턴
  3714. if(retMsg == false) {
  3715. return false;
  3716. }
  3717. }else{
  3718. modal("SPPAO00400", "1","400", "400", "SPPAO00400", "", "");
  3719. //팝업 정상종료 여부!
  3720. if (getParameter("SPPAO00400_RTN") == "N" || getParameter("SPPAO00400_RTN") == ""){
  3721. return false;
  3722. }
  3723. }
  3724. }
  3725. function fOpenCardPopUp3(flag , caller){
  3726. //등록/수정,취소
  3727. //일반등록,멀티등록
  3728. var parm;
  3729. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3730. var orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3731. var orddeptcd; // = model.getValue("/root/send/s_opmi/opmi/opmi_orddeptcd");
  3732. var cretno = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_cretno");
  3733. var strRcvVan = '';
  3734. var ordtype = 'O';
  3735. var fromdd = ''; //필요없는 ???
  3736. var todd = ''; //필요없는 ???
  3737. if(caller == "산전지원비") {
  3738. var cardAmt = parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt"));
  3739. setParameter("SPPAO00400_PREGDMNDYN", 'Y');
  3740. }else{
  3741. var cardAmt = parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt"));
  3742. }
  3743. if ( getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") > 0){
  3744. //멀티접수 카드 승인시 필요한 진료과/진료의 정보
  3745. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddeptcd");
  3746. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi[1]/opmi_orddd");
  3747. }else{
  3748. //카드 승인시 필요한 진료과/진료의 정보
  3749. orddeptcd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddeptcd");
  3750. orddd = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd");
  3751. }
  3752. //단일건 카드정보
  3753. var cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  3754. var valiterm = model.getValue("/root/main/outrgst/m_etc/valiterm");
  3755. var allotmm = model.getValue("/root/main/outrgst/m_etc/allotmm");
  3756. var keyinptflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  3757. var swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  3758. /*
  3759. //처음에는 기카드노드를 보내고 그다음에는 send에서 주고받음
  3760. var send_card = "";
  3761. if(getNodesetCount("/root/send/s_card/card/card_pid") == 0){
  3762. send_card = "/root/hidden/rcv1/h_card";
  3763. }else{
  3764. send_card = "/root/send/s_card" ;
  3765. }
  3766. */
  3767. if (getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") < 2)
  3768. {
  3769. parm = "0" + "▦" + //멀티건수
  3770. "" + "▦" + //멀티opmi
  3771. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3772. "" + "▦" + //rcptno
  3773. "" + "▦" + //rcptseqno
  3774. cardAmt + "▦" + //totalamt
  3775. "" + "▦" + //send
  3776. "/root/send/s_card" + "▦" + //receive
  3777. pid + "▦" + //pid
  3778. orddd + "▦" + //orddd
  3779. cretno + "▦" + //cretno
  3780. strRcvVan + "▦" + //strRcvVan
  3781. ordtype + "▦" + //ordtype
  3782. fromdd + "▦" + //fromdd
  3783. todd + "▦" + //todd
  3784. orddeptcd + "▦" + //orddeptcd
  3785. //단일건 접수 승인일때만 필요
  3786. cardno + "▦" + //cardno
  3787. valiterm + "▦" + //valiterm
  3788. allotmm + "▦" + //allotmm
  3789. keyinptflag + "▦" + //KeyInptFlag
  3790. swipedata + "▦" ; //swipedata
  3791. }else{ //멀티접수
  3792. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" + //멀티건수
  3793. "/root/hidden/rcv1/h_opmi" + "▦" + //멀티opmi
  3794. "" + "▦" + //rcptdd 변경 혹은 취소인 경우 필요
  3795. "" + "▦" + //rcptno
  3796. "" + "▦" + //rcptseqno
  3797. cardAmt + "▦" + //totalamt
  3798. "" + "▦" + //send
  3799. "/root/send/s_card" + "▦" + //receive
  3800. pid + "▦" + //pid
  3801. orddd + "▦" + //orddd
  3802. cretno + "▦" + //cretno
  3803. strRcvVan + "▦" + //strRcvVan
  3804. ordtype + "▦" + //ordtype
  3805. fromdd + "▦" + //fromdd
  3806. todd + "▦" + //todd
  3807. orddeptcd + "▦" + //orddeptcd
  3808. //단일건 접수 승인일때만 필요
  3809. cardno + "▦" + //cardno
  3810. valiterm + "▦" + //valiterm
  3811. allotmm + "▦" + //allotmm
  3812. keyinptflag + "▦" + //KeyInptFlag
  3813. swipedata + "▦" ; //swipedata
  3814. }
  3815. setParameter("SPPAO00400_PARM",parm);
  3816. setParameter("SPPAO00400_FLAG", flag);
  3817. //팝업 오픈 방식 체크
  3818. if( flag == 'I' || flag == 'D'){
  3819. var ivrObjt = document.all("ivr_cardpopup");
  3820. if( ivrObjt == null ){
  3821. body.createChild("xforms:iviewer", "id:ivr_cardpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00400_신용카드승인.xrw");
  3822. ivrObjt = document.all("ivr_cardpopup");
  3823. }
  3824. //setParameter("SPPAO00400_PARM",parm);
  3825. if( flag == 'I' ){
  3826. ivrObjt.window.javascript.fInit();
  3827. var retMsg = ivrObjt.window.javascript.fAutoGetCardAprv(); //실제 카드승인
  3828. }else{
  3829. ivrObjt.window.javascript.fInit();
  3830. var retMsg = ivrObjt.window.javascript.fAutoCnclCardAprv();
  3831. }
  3832. body.removeChild("ivr_cardpopup");
  3833. //결과값 리턴
  3834. if(retMsg == false) {
  3835. return false;
  3836. }
  3837. }else{
  3838. modal("SPPAO00400", "1","400", "400", "SPPAO00400", "", "");
  3839. //팝업 정상종료 여부!
  3840. if (getParameter("SPPAO00400_RTN") == "N" || getParameter("SPPAO00400_RTN") == ""){
  3841. return false;
  3842. }
  3843. }
  3844. return true;
  3845. }
  3846. function fSelectInsu() {
  3847. //보험정보 선택시, 기존 내용 clear
  3848. fClearInsu();
  3849. //보조유형 세팅하기
  3850. fSuppKindSet(model.getValue("/root/main/outrgst/ptin/ptin_insukind"));
  3851. //보조유형 정상 디폴트 세팅
  3852. model.setValue("/root/main/outrgst/ptin/ptin_suppkind",gsSupp_BASE);
  3853. //관계:본인으로 디폴트 세팅
  3854. //model.setValue("root/main/outrgst/ptin/ptin_insdrela","1"); //본인으로 디폴트 세팅
  3855. //cmb_insdrela.dispatch("xforms-select");
  3856. cmb_suppkind.dispatch("xforms-select");
  3857. //보험 탭 세팅하기(코드값 바뀔수 있음-나중에 상수로 정의할 필요있음)
  3858. //건강보험,의료급여1,2종,일반,외국인
  3859. //추후 상수로 처리예정
  3860. //gsInsu_BoHeom = "11"; //건강보험
  3861. //gsInsu_BoHo1 = "21"; //의료급여1
  3862. //gsInsu_BoHo2 = "22"; //의료급여2
  3863. //gsInsu_HangYeo = "24"; //행여
  3864. //gsInsu_JaboKind = "31"; //자보
  3865. //gsInsu_SanJae = "41"; //산재
  3866. //gsInsu_GongSang = "42"; //공상
  3867. //gsInsu_IlBan = "51"; //일반
  3868. //gsInsu_ForIn = "61"; //외국인
  3869. //gsInsu_ImSang = "71"; //임상시험
  3870. if ((cmb_insukind.value == gsInsu_BoHeom)||(cmb_insukind.value == gsInsu_BoHo1)||(cmb_insukind.value == gsInsu_BoHo2 )||
  3871. (cmb_insukind.value == gsInsu_IlBan) ||(cmb_insukind.value == gsInsu_ForIn)||(cmb_insukind.value == gsInsu_ImSang)) {
  3872. model.toggle("case_base");
  3873. if (cmb_insukind.value == gsInsu_BoHeom) {
  3874. model.setValue("/root/main/outrgst/ptin/ptin_insucd",gsInsuCd_Default); //건강보험이면, 0015 자동세팅
  3875. }
  3876. if (cmb_insukind.value == gsInsu_IlBan) {
  3877. model.setValue("/root/main/outrgst/ptin/ptin_insucd","-");
  3878. }
  3879. ipt_insucd.dispatch("DOMFocusOut");
  3880. }
  3881. //자보
  3882. if (cmb_insukind.value == gsInsu_JaboKind)
  3883. model.toggle("case_ta");
  3884. //산재
  3885. if (cmb_insukind.value == gsInsu_SanJae)
  3886. model.toggle("case_inducs");
  3887. //공상
  3888. if (cmb_insukind.value == gsInsu_GongSang)
  3889. model.toggle("case_dutywund");
  3890. if (model.getValue("/root/main/patinfo/patinfolist/pid").length <= 0) {
  3891. messageBox("환자등록번호를 정확히", "C001");
  3892. return;
  3893. }
  3894. fLItemRefresh();
  3895. }
  3896. //이동재20080124 멀티카드취소
  3897. function fMultiSaveHistRef() {
  3898. copyNodeListType("/root/hidden/cotpt","/root/main/outrgst/m_otpt","after");
  3899. model.makeNode("/root/hidden/cotpt/m_otpt/sess_dutplceinstcd");
  3900. model.setValue("/root/hidden/cotpt/m_otpt/sess_dutplceinstcd",model.getValue("/root/hidden/session/dutplceinstcd"));
  3901. if (submit("TRPMO00108") == true)
  3902. {
  3903. //묶인 외래이력
  3904. if (getNodesetCount("/root/hidden/cncl/rcv/c_otpt/otpt/otpt_pid") > 0)
  3905. {
  3906. model.copyNode("/root/main/cncl/c_otpt","/root/hidden/cncl/rcv/c_otpt");
  3907. var vCotptCount = getNodesetCount("/root/main/cncl/c_otpt/otpt/otpt_pid");
  3908. var vSotptCount = getNodesetCount("/root/hidden/cotpt/m_otpt/otpt/otpt_pid");
  3909. for (var i = 1; i <= vSotptCount ; i++) {
  3910. for (var k = 1; k <= vCotptCount ; k++) {
  3911. if ( model.getValue("/root/hidden/cotpt/m_otpt/otpt[" + i + "]/otpt_orddd") == model.getValue("/root/main/cncl/c_otpt/otpt[" + k + "]/otpt_orddd") &&
  3912. model.getValue("/root/hidden/cotpt/m_otpt/otpt[" + i + "]/otpt_cretno") == model.getValue("/root/main/cncl/c_otpt/otpt[" + k + "]/otpt_cretno") ) {
  3913. model.makeNode("/root/main/cncl/c_otpt/otpt[" + k + "]/otpt_check")
  3914. model.setValue("/root/main/cncl/c_otpt/otpt[" + k + "]/otpt_check", "Y");
  3915. }
  3916. }
  3917. }
  3918. model.copyNode("/root/main/cncl/c_opmi","/root/hidden/cncl/rcv/c_opmi");
  3919. //멀리 취소할 이력 체크박스 선택/해제시 수납내역 summary display 필요
  3920. var card_msg = "";
  3921. var cash_msg = "";
  3922. //카드
  3923. if (getNodesetCount("/root/hidden/cncl/rcv/c_card/card/card_pid") > 0)
  3924. {
  3925. model.copyNode("/root/main/cncl/c_card","/root/hidden/cncl/rcv/c_card");
  3926. card_msg = "카드";
  3927. }
  3928. //현금
  3929. if (getNodesetCount("/root/hidden/cncl/rcv/c_cash/cash/cash_pid") > 0)
  3930. {
  3931. model.copyNode("/root/main/cncl/c_cash","/root/hidden/cncl/rcv/c_cash");
  3932. cash_msg = "현금";
  3933. }
  3934. //취소시 멀티 내역 단독으로 변경/취소 시 승인 내역 조작 체크, 일괄 취소시 카드 승인 취소 가능
  3935. messageBox("멀티수납시 승인한 " + card_msg + " " + cash_msg + "내역이 존재합니다!", "E999","");
  3936. }
  3937. }
  3938. }
  3939. //2008-02-11 추가
  3940. function fCheckPsnRetireInfo(){
  3941. var disccd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd");
  3942. if( disccd != '' && disccd != ' ' && disccd != '-'){
  3943. if( disccd == 'A01' || disccd == 'A02' || disccd == 'A03' || disccd == 'A04'){
  3944. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  3945. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  3946. var orddd = getCurrentDate(); //현재날짜
  3947. var rrgstno = rrgstno1 + rrgstno2;
  3948. if( rrgstno != '' || rrgstno != ' ' || rrgstno != '-' ){
  3949. if( ! fGetPsnRetireInfo(rrgstno, orddd)){
  3950. model.setFocus("ipt_disccd");
  3951. return false;
  3952. }
  3953. }
  3954. }
  3955. }
  3956. return true;
  3957. }
  3958. //정산화면 opmi리스트 클릭시
  3959. function fGetJOpmiList() {
  3960. if(getNodesetCount("/root/main/baseinfo/otpt_calcflagn/otpt/otpt_pid") > 0) {
  3961. copyNodeListType("/root/send/s_otpt" , "/root/main/baseinfo/otpt_calcflagn/otpt[otpt_checkflag='true']", "replace" , model , model);
  3962. submit("TRPAO00114");
  3963. copyNodeType("/root/hidden/rcvj/h_opmi", "/root/temp5/h_opmi" , "replace" , model , model);
  3964. grd_rcptlist.rebuild();
  3965. //if(grd_rcptlist.rows > 1) {
  3966. // setTree(grd_rcptlist, 0, 0, true);
  3967. //}
  3968. btn_Jopmi.dispatch("onclick");
  3969. }
  3970. }
  3971. function fGetJOsclList() {
  3972. var grd_cnt = grd_rcptlist.row;
  3973. copyNodeListType("/root/send/s_opmi" , "/root/hidden/rcvj/h_opmi/opmi["+grd_cnt+"]", "replace" , model , model);
  3974. submit("TRPAO00115");
  3975. copyNodesetType("/root/hidden/rcvj/h_oscl", "/root/temp5/h_oscl" , "replace" , model , model);
  3976. grd_joscllist.rebuild();
  3977. if(isXPathTextNull("/root/temp5/h_oscl/oscl")){
  3978. setTree(grd_joscllist, 0, 0, true);
  3979. }
  3980. btn_Joscl.dispatch("onclick");
  3981. }
  3982. //수납,정산,실시정산 선택
  3983. function fSelectWorkgubn() {
  3984. if(model.getValue("/root/temp3/workgubn") == "Y"){
  3985. swt_jungrcpt.attribute("visibility") = "hidden";
  3986. //button11.attribute("text") = "외래수납";
  3987. btn_hold.disabled = false; //Hold/Release
  3988. btn_calc.disabled = false; //재계산
  3989. //button9.attribute("visibility") = ""; //수납조회
  3990. //button19.attribute("visibility") = ""; //컨설트조회
  3991. //button17.attribute("visibility") = ""; //자보산재공상관리
  3992. //button12.attribute("visibility") = ""; //진단서
  3993. //button26.attribute("visibility") = ""; //상세이력조회
  3994. //button27.attribute("visibility") = ""; //인적사항변경
  3995. //button15.attribute("visibility") = ""; //보험기호관리
  3996. //btn_proc.attribute("visibility") = ""; //의료급여승인
  3997. btn_hocm.disabled = false; //방문간호지시서
  3998. btn_drcm.disabled = false; //의사소견서
  3999. button8.disabled = false; //투석
  4000. button25.disabled = false; //장애
  4001. button29.disabled = false; //감면관리
  4002. //btn_check.attribute("visibility") = ""; //수표조회
  4003. model.toggle("case_Osunap");
  4004. }
  4005. if(model.getValue("/root/temp3/workgubn") == "N"){
  4006. swt_jungrcpt.attribute("visibility") = "";
  4007. //button11.attribute("text") = "외래정산";
  4008. model.setValue("/root/temp3/jsfromdd", getCurrentDate().toDate().getAddDate(-1,"Y").getDateFormat());
  4009. model.setValue("/root/temp3/jstodd",getCurrentDate());
  4010. model.setValue("/root/temp3/jssrchcond","1"); //수납선택(조회조건)
  4011. btn_hold.disabled = true; //Hold/Release
  4012. btn_calc.disabled = false; //재계산
  4013. //button9.attribute("visibility") = "hidden"; //수납조회
  4014. //button19.attribute("visibility") = "hidden"; //컨설트조회
  4015. //button17.attribute("visibility") = "hidden"; //자보산재공상관리
  4016. //button12.attribute("visibility") = "hidden"; //진단서
  4017. //button26.attribute("visibility") = "hidden"; //상세이력조회
  4018. //button27.attribute("visibility") = "hidden"; //인적사항변경
  4019. //button15.attribute("visibility") = "hidden"; //보험기호관리
  4020. //btn_proc.attribute("visibility") = "hidden"; //의료급여승인
  4021. btn_hocm.disabled = false; //방문간호지시서
  4022. btn_drcm.disabled = false; //의사소견서
  4023. button8.disabled = true; //투석
  4024. button25.disabled = true; //장애
  4025. button29.disabled = true; //감면관리
  4026. //btn_check.attribute("visibility") = "hidden"; //수표조회
  4027. model.toggle("case_jungsan");
  4028. }
  4029. if(model.getValue("/root/temp3/workgubn") == "E"){
  4030. btn_hold.disabled = true; //Hold/Release
  4031. btn_calc.disabled = true; //재계산
  4032. //button9.attribute("visibility") = "hidden"; //수납조회
  4033. //button19.attribute("visibility") = "hidden"; //컨설트조회
  4034. //button17.attribute("visibility") = "hidden"; //자보산재공상관리
  4035. //button12.attribute("visibility") = "hidden"; //진단서
  4036. //button26.attribute("visibility") = "hidden"; //상세이력조회
  4037. //button27.attribute("visibility") = "hidden"; //인적사항변경
  4038. //Button15.attribute("visibility") = "hidden"; //보험기호관리
  4039. //btn_proc.attribute("visibility") = "hidden"; //의료급여승인
  4040. btn_hocm.disabled = true; //방문간호지시서
  4041. btn_drcm.disabled = true; //의사소견서
  4042. button8.disabled = true; //투석
  4043. button25.disabled = true; //장애
  4044. button29.disabled = true; //감면관리
  4045. //btn_check.attribute("visibility") = "hidden"; //수표조회
  4046. model.toggle("case_execjungsan");
  4047. }
  4048. }
  4049. //수납할 금액 계산 -- smpark 수납화면 금액변경 keyevent
  4050. function fCalcRcptexptAmt() {
  4051. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag") == "Y"){
  4052. return;
  4053. }
  4054. var vopmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4055. var vopmi_Org_rcptexptamt_sum = 0;
  4056. var vopmi_Real_rcptexptamt_sum = 0;
  4057. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt").removeMask(","));
  4058. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt").removeMask(","));
  4059. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt").removeMask(","));
  4060. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt").removeMask(","));
  4061. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt").removeMask(","));
  4062. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt").removeMask(","));
  4063. for(var i=0; i<vopmi_count; i++){
  4064. //기존 납부할 금액 = 총본인부담금 - (서버에서 계산되어오는 제외할 금액: 기현금액,기카드,기온라인,기선수,장애기금,대불액,희귀난치,계정감면)
  4065. //20090701 1.단수처리 고시적용
  4066. //vopmi_Org_rcptexptamt_sum = vopmi_Org_rcptexptamt_sum + parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_totownbamt"))
  4067. vopmi_Org_rcptexptamt_sum = vopmi_Org_rcptexptamt_sum + parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_totownbamt100"))
  4068. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_precashamt"))
  4069. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_precardamt"))
  4070. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_preonlineamt"))
  4071. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_premdlrcptamt"))
  4072. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_prepregdmndamt"))
  4073. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_handcapfund"))
  4074. //- parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_ersubtamt")) //상한제초과액으로 용도변경되서 안씀
  4075. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_suppamt"))
  4076. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_discamt"))
  4077. - parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_restamt"))
  4078. //2011-07-01 미용부가세 고시 적용
  4079. + parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ (i+1)+"]/opmi_taxamt"))
  4080. ;
  4081. }
  4082. //실제 납부할금액 = 기존 납부할 금액 - 수혈대체액-건유비-산전지원금- 임의감면- 미수액-선수금
  4083. vopmi_Real_rcptexptamt_sum = vopmi_Org_rcptexptamt_sum - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt"))
  4084. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt"))
  4085. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt"))
  4086. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt"))
  4087. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt"))
  4088. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt"))
  4089. ;
  4090. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt", vopmi_Real_rcptexptamt_sum);
  4091. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_paydepoamt" , vopmi_Real_rcptexptamt_sum);
  4092. rdo_cardyn.dispatch("xforms-select");
  4093. }
  4094. function frdo_cardyn(){
  4095. rdo_cardyn.refresh();
  4096. rdo_indyn.refresh();
  4097. ipt_cardno.refresh();
  4098. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag") == "Y") {
  4099. messageBox("미계산건입니다. 계산해주십시요.", "I999");
  4100. return;
  4101. }
  4102. //카드
  4103. if(model.getvalue("/root/init/option/cardyn") == "Y"){
  4104. //소득공제/지출증빙 체크 비활성화
  4105. //rdo_indyn.disabled = true;
  4106. model.setvalue("/root/main/outrgst/m_etc/indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  4107. model.setValue("/root/main/outrgst/m_etc/cardno" , "");
  4108. model.setValue("/root/main/outrgst/m_etc/valiterm" , "");
  4109. model.setValue("/root/main/outrgst/m_etc/allotmm" , "");
  4110. model.setValue("/root/main/outrgst/m_etc/swipedata" , "");
  4111. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" , opmi_rcptexptamt);
  4112. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" , "0" );
  4113. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" , "0" );
  4114. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , opmi_heallifeamtclamamt );
  4115. model.setFocus("ipt_cardno");
  4116. }
  4117. //현금영수증
  4118. if(model.getvalue("/root/init/option/cardyn") == "N"){
  4119. model.setValue("/root/main/outrgst/m_etc/indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  4120. //현금영수증 관련 기본세팅 우선순위 : 0.입력한 현금영수증 번호 1.기현금영수증 승인번호 2.주민번호 3.현금영수증카드나 신용카드
  4121. //현금영수증번호 디폴트번호 (세팅입력한 현금영수증 번호가 없거나 신용카드(유효기간으로 체크) 번호로 존재할시)
  4122. if(model.getValue("/root/main/outrgst/m_etc/cardno") == "" || model.getValue("/root/main/outrgst/m_etc/valiterm") != ""){
  4123. //일단 주민번호셋팅
  4124. model.setValue("/root/main/outrgst/m_etc/cardno", model.getValue("/root/main/patinfo/patinfolist/rrgstno1") + model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  4125. //디폴트 현금영수증 번호있으면 가져온다. pacmcshb
  4126. var cshb_qualcnfmno = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmno");
  4127. if(cshb_qualcnfmno != "" && cshb_qualcnfmno != null ) {
  4128. model.setValue("/root/main/outrgst/m_etc/cardno",cshb_qualcnfmno);
  4129. }
  4130. }
  4131. ipt_cardno.refresh();
  4132. //HP번호셋팅 (혹시 HP가 있다면.)
  4133. //var temp = model.getValue("/root/main/patinfo/patinfolist/mpphontel").removeMask("-");
  4134. //if(temp.length == 10 || temp.length == 11 ) {
  4135. // model.setValue("/root/main/outrgst/m_etc/cardno",temp);
  4136. //}
  4137. model.setValue("/root/main/outrgst/m_etc/valiterm" , "");
  4138. model.setValue("/root/main/outrgst/m_etc/allotmm" , "");
  4139. model.setValue("/root/main/outrgst/m_etc/swipedata" , "");
  4140. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" , "0" );
  4141. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" , opmi_rcptexptamt);
  4142. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" , "0" );
  4143. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , opmi_heallifeamtclamamt );
  4144. fipt_cardno_changed();
  4145. model.setFocus("ipt_cashamt");
  4146. }
  4147. //그냥 현금결제.
  4148. if(model.getvalue("/root/init/option/cardyn") == "C"){
  4149. model.setvalue("/root/main/outrgst/m_etc/indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  4150. model.setValue("/root/main/outrgst/m_etc/cardno" , "");
  4151. model.setValue("/root/main/outrgst/m_etc/valiterm" , "");
  4152. model.setValue("/root/main/outrgst/m_etc/allotmm" , "");
  4153. model.setValue("/root/main/outrgst/m_etc/swipedata" , "");
  4154. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" , "0" );
  4155. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" , opmi_rcptexptamt);
  4156. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" , "0" );
  4157. //model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , opmi_heallifeamtclamamt );
  4158. model.setFocus("ipt_cashamt");
  4159. }
  4160. fRItemRefresh();
  4161. fDisplayAmt_pamjs();
  4162. }
  4163. function frdo_cardyn_setamt(){
  4164. if(model.getvalue("/root/init/option/cardyn") == "Y"){
  4165. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  4166. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" , "0" );
  4167. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" , "0" );
  4168. }
  4169. if (model.getvalue("/root/init/option/cardyn") == "N" || model.getvalue("/root/init/option/cardyn") == "C"){
  4170. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" , "0" );
  4171. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" , model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  4172. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" , "0" );
  4173. }
  4174. ipt_cardamt.refresh();
  4175. ipt_cashamt.refresh();
  4176. ipt_onlineamt.refresh();
  4177. }
  4178. function fipt_cardno_changed() {
  4179. fopmi_removemask();
  4180. //var ipt_cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4181. if(ipt_cardno.value.length >30 && ipt_cardno.value.indexOf("=") >0 ) {
  4182. model.setvalue("/root/init/option/cardyn", "Y");
  4183. //model.setvalue("/root/main/outrgst/m_etc/indinstflag","02");
  4184. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") == "0") {
  4185. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt", parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt")) + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")));
  4186. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt", "0");
  4187. }
  4188. }
  4189. //엔터키 쳤을때 같은 이벤트
  4190. if ( model.getValue("/root/init/option/cardyn")== "Y" || model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") > 0){
  4191. if (ipt_cardno.value.length >16) {
  4192. //16자리보다 크면,
  4193. // "="이 있으면, swipe
  4194. if (ipt_cardno.value.indexOf("=") >0 ) {
  4195. var vSwipeData = "";
  4196. var vCardno_array = "";
  4197. var vCardno = "";
  4198. vSwipeData = ipt_cardno.value;
  4199. // swipe 시 첫글자에 ?
  4200. if ( vSwipeData.indexOf("?") >= 0 ) {
  4201. vSwipeData = (vSwipeData).substr(1,37);
  4202. }
  4203. if ( vSwipeData.indexOf("/") >= 0 ) {
  4204. vSwipeData = (vSwipeData).substr(1,37);
  4205. }
  4206. model.setValue("/root/main/outrgst/m_etc/swipedata", vSwipeData );
  4207. vCardno_array = vSwipeData.split("=");
  4208. vCardno = vCardno_array[0];
  4209. // swipe 시 첫글자에 ?
  4210. if ( vCardno.indexOf("?") >= 0 ) {
  4211. vCardno = (vCardno).substr(1,16);
  4212. }
  4213. if ( vCardno.indexOf("/") >= 0 ) {
  4214. vCardno = (vCardno).substr(1,16);
  4215. }
  4216. //유효일자
  4217. var vValiterm = (vCardno_array[1]).substr(0,4);
  4218. model.setValue("/root/main/outrgst/m_etc/cardno", vCardno);
  4219. model.setValue("/root/main/outrgst/m_etc/keyinptflag","S");
  4220. model.setValue("/root/main/outrgst/m_etc/valiterm",vValiterm);
  4221. model.setValue("/root/main/outrgst/m_etc/allotmm","00");
  4222. fRItemRefresh();
  4223. model.setFocus("ipt_allotmm");
  4224. }
  4225. }else if (ipt_cardno.value.length ==16) {
  4226. model.setValue("/root/main/outrgst/m_etc/cardno",ipt_cardno.value);
  4227. model.setValue("/root/main/outrgst/m_etc/keyinptflag","K");
  4228. fRItemRefresh();
  4229. model.setFocus("ipt_valiterm");
  4230. }
  4231. }
  4232. if ( model.getValue("/root/init/option/cardyn") == "N"){
  4233. //현금영수증 선택시
  4234. if (ipt_cardno.value.length >18) {
  4235. //16자리보다 크면,
  4236. // "="이 있으면, swipe
  4237. if ( ipt_cardno.value.indexOf("=") >0 ) {
  4238. var vSwipeData = "";
  4239. var vCardno_array = "";
  4240. var vCardno = "";
  4241. //vSwipeData = model.getValue("/root/main/outrgst/m_etc/cardno");
  4242. vSwipeData = ipt_cardno.value;
  4243. // swipe 시 첫글자에 ?
  4244. if ( vSwipeData.indexOf("?") >= 0 ) {
  4245. vSwipeData = (vSwipeData).substr(1,37);
  4246. }
  4247. if ( vSwipeData.indexOf("/") >= 0 ) {
  4248. vSwipeData = (vSwipeData).substr(1,37);
  4249. }
  4250. vSwipeData = vSwipeData.getRightPad(40, " ");
  4251. model.setValue("/root/main/outrgst/m_etc/swipedata", vSwipeData );
  4252. vCardno_array = vSwipeData.split("=");
  4253. vCardno = vCardno_array[0];
  4254. // swipe 시 첫글자에 ?
  4255. if ( vCardno.indexOf("?") >= 0 ) {
  4256. vCardno = (vCardno).substr(1,16);
  4257. }
  4258. //유효일자
  4259. var vValiterm = (vCardno_array[1]).substr(0,4);
  4260. model.setValue("/root/main/outrgst/m_etc/cardno", vCardno);
  4261. model.setValue("/root/main/outrgst/m_etc/keyinptflag","S");
  4262. //이동재20080121 현금영수증이라도 Swipe 시 기본카드로 설정되게..
  4263. model.setValue("/root/main/outrgst/m_etc/valiterm", vValiterm);
  4264. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4265. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","3");
  4266. //model.setValue("/root/main/outrgst/m_etc/indinstflag", "00");
  4267. if(rdo_indyn.value == "01"){
  4268. //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  4269. model.setValue("/root/main/outrgst/m_etc/valiterm","");
  4270. model.setValue("/root/main/outrgst/m_etc/allotmm", "01" );
  4271. } else {
  4272. model.setValue("/root/main/outrgst/m_etc/allotmm","00");
  4273. }
  4274. }
  4275. //2013-01-28
  4276. //현금영수증 사업자 카드
  4277. vCardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4278. if( vCardno.length == 18 && vCardno.substr(8, 1) == '9' ){
  4279. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4280. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","3");
  4281. //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  4282. model.setValue("/root/main/outrgst/m_etc/allotmm", '01');
  4283. model.setValue("/root/main/outrgst/m_etc/indinstflag", '01');
  4284. }
  4285. }
  4286. //16자리이면 현금영수증 카드
  4287. if(ipt_cardno.value.length ==16 || ipt_cardno.value.length ==15 || ipt_cardno.value.length ==18) {
  4288. var vSwipeData = "";
  4289. vSwipeData = model.getValue("/root/main/outrgst/m_etc/cardno")+"=";
  4290. vSwipeData = vSwipeData.getRightPad(40, " ");
  4291. model.setValue("/root/main/outrgst/m_etc/swipedata",vSwipeData);
  4292. model.setValue("/root/main/outrgst/m_etc/keyinptflag","S");
  4293. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4294. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","3");
  4295. //model.setValue("/root/main/outrgst/m_etc/allotmm", '00');
  4296. //model.setValue("/root/main/outrgst/m_etc/indinstflag", "00");
  4297. //2013-01-28
  4298. //현금영수증 사업자 카드
  4299. vCardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4300. if( vCardno.length == 18 && vCardno.substr(8, 1) == '9' ){
  4301. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4302. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","3");
  4303. //현금영수증일때는 할부개월에 법인/개인구분(개인:00 사업자:01)
  4304. model.setValue("/root/main/outrgst/m_etc/allotmm", '01');
  4305. model.setValue("/root/main/outrgst/m_etc/indinstflag", '01');
  4306. }
  4307. }
  4308. //16자리보다 작으면, 주민번호 혹은 전화번호 사업장번호
  4309. if (ipt_cardno.value.length <16) {
  4310. var vSwipeData = "";
  4311. vSwipeData = model.getValue("/root/main/outrgst/m_etc/cardno")+"=";
  4312. vSwipeData = vSwipeData.getRightPad(40, " ");
  4313. model.setValue("/root/main/outrgst/m_etc/swipedata",vSwipeData);
  4314. model.setValue("/root/main/outrgst/m_etc/keyinptflag","K");
  4315. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4316. //길이가 13자리이면,주민번호
  4317. if ( (model.getValue("/root/main/outrgst/m_etc/cardno")).length==13 ) {
  4318. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","1");
  4319. //model.setValue("/root/main/outrgst/m_etc/indinstflag", "00");
  4320. //model.setValue("/root/main/outrgst/m_etc/allotmm", '00');
  4321. }else{
  4322. //앞 3자리 010,011,016,017,018,019 이면 전화
  4323. if ( (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "010" ||
  4324. (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "011" ||
  4325. (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "016" ||
  4326. (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "017" ||
  4327. (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "018" ||
  4328. (model.getValue("/root/main/outrgst/m_etc/cardno")).substr(0,3) == "019"
  4329. ) {
  4330. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","2");
  4331. //model.setValue("/root/main/outrgst/m_etc/indinstflag", "00");
  4332. //model.setValue("/root/main/outrgst/m_etc/allotmm", '00');
  4333. }else{
  4334. //16자리 길이 미만일 때 13자리 주민번호 제외 후 핸드폰 앞자리 체크 나머지는 사업장
  4335. model.setValue("/root/main/outrgst/m_etc/qualcnfmflag","4");
  4336. model.setValue("/root/main/outrgst/m_etc/indinstflag","01"); //지출증빙
  4337. model.setValue("/root/main/outrgst/m_etc/allotmm", '01');
  4338. }
  4339. }
  4340. }
  4341. fRItemRefresh();
  4342. }
  4343. }
  4344. function fbtn_cashdamt() {
  4345. if(model.getvalue("/root/main/patinfo/patinfolist/pid") == "") {
  4346. messageBox("환자가 조회되어있지 않습니다.","I999","");
  4347. return;
  4348. }
  4349. /*
  4350. if(getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") == 0) {
  4351. messageBox("선택된 수납내역이 없습니다.","E999","");
  4352. return;
  4353. }
  4354. */
  4355. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4356. var opmi_precashamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_precashamt");
  4357. var opmi_cashamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt");
  4358. var opmi_rcptexptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt");
  4359. if( opmi_cashamt != opmi_rcptexptamt && vOpmi_count > 1) {
  4360. messageBox("멀티수납시에는 부분현금영수증 승인은 불가능합니다.","E999","");
  4361. return;
  4362. }
  4363. if(model.getValue("/root/temp3/workgubn") == "N"){
  4364. if(btn_rcpt.disabled) {
  4365. messageBox("계산상태가 아닙니다. 재계산하십시요.","I999","");
  4366. return;
  4367. }
  4368. }
  4369. if(!fOpenCashPopUp()){return false;}
  4370. /*
  4371. var TotCashAmt = getParameter("SPPAO00500_TotCashAmt");
  4372. var temp = parseInt(TotCashAmt) - parseInt(opmi_precashamt);
  4373. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt",temp );
  4374. fipt_cardamt();
  4375. */
  4376. ////////실현금영수증 승인금액 표시
  4377. var s_cash_amt = 0;
  4378. var s_cash_cnt = getNodesetCount("/root/send/s_cash/cash/cash_pid");
  4379. for (var a=1; a <= s_cash_cnt ; a++) {
  4380. if(model.getvalue("/root/send/s_cash/cash["+a+"]/cash_innrtretyn") == "N") {
  4381. s_cash_amt = parseInt(model.getvalue("/root/send/s_cash/cash["+a+"]/cash_cashamt")) + s_cash_amt;
  4382. }
  4383. }
  4384. //s_cash_amt = s_cash_amt - parseInt(opmi_precashamt);
  4385. model.setvalue("/root/etc/cashvanamt" , "승인:" + s_cash_amt);
  4386. opt_cashvanamt.refresh();
  4387. ////////실현금영수증 승인금액 표시 끝
  4388. }
  4389. function fOpenCashPopUp(flag) {
  4390. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4391. // 현금영수증 선택되어 있고, 현금금액이 있을 경우 현금승인
  4392. var cardyn = model.getValue("/root/init/option/cardyn");
  4393. var parm = "";
  4394. var cashamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt"));
  4395. var pre_cash_amt = 0;
  4396. for (var a = 1; a <= getNodesetCount("/root/hidden/rcv1/h_cash/cash/cash_pid"); a++) {
  4397. pre_cash_amt = parseInt(model.getvalue("/root/hidden/rcv1/h_cash/cash[" + a + "]/cash_cashamt")) + pre_cash_amt;
  4398. }
  4399. var totcashamt = pre_cash_amt + cashamt;
  4400. var cardamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt");
  4401. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  4402. var ordtype = "O";
  4403. var indinstflag = model.getValue("/root/main/outrgst/m_etc/indinstflag");
  4404. var cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4405. var valiterm = model.getValue("/root/main/outrgst/m_etc/valiterm");
  4406. var keyinpuflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  4407. var swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  4408. var qualcnfmflag = model.getValue("/root/main/outrgst/m_etc/qualcnfmflag");
  4409. var vcheck_cashcard = "";
  4410. var ordergb = "";
  4411. var approvaldate = "";
  4412. var approvaltime = "";
  4413. var approvalno = "";
  4414. // 디폴트 현금영수증번호
  4415. var cshb_qualcnfmno = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmno");
  4416. // 현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4417. var cshb_qualcnfmflag = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmflag");
  4418. if (cshb_qualcnfmno != "") {
  4419. cshb_qualcnfmno = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmno");
  4420. cshb_qualcnfmflag = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmflag");
  4421. } else {
  4422. cshb_qualcnfmno = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") + model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  4423. //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4424. cshb_qualcnfmflag = "1";
  4425. }
  4426. // 현금영수증 자격번호
  4427. // 카드, 현금영수증을 동시수납
  4428. if (parseInt(cardamt) > 0 && parseInt(cashamt) > 0) {
  4429. vcheck_cashcard = "Y";
  4430. cardno = cshb_qualcnfmno;
  4431. qualcnfmflag = cshb_qualcnfmflag;
  4432. if (qualcnfmflag == "3") {
  4433. keyinpuflag = "S";
  4434. } else {
  4435. keyinpuflag = "K";
  4436. }
  4437. swipedata = cshb_qualcnfmno + "=";
  4438. swipedata = swipedata.getRightPad(40, " ");
  4439. }
  4440. //현금영수증만 수납
  4441. if (parseInt(cardamt) == 0 && parseInt(cashamt) > 0) {
  4442. vcheck_cashcard = "N";
  4443. cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4444. qualcnfmflag = model.getValue("/root/main/outrgst/m_etc/qualcnfmflag");
  4445. keyinpuflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  4446. swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  4447. }
  4448. //처음에는 기현금노드를 보내고 그다음에는 send에서 주고받음
  4449. var send_cash = "";
  4450. if (getNodesetCount("/root/send/s_cash/cash/cash_pid") == 0) {
  4451. send_cash = "/root/hidden/rcv1/h_cash";
  4452. } else {
  4453. send_cash = "/root/send/s_cash";
  4454. }
  4455. if (getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") < 2) {
  4456. parm = "0" + "▦" // 멀티건수
  4457. + "" + "▦" // 멀티opmi
  4458. } else {
  4459. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" // 멀티건수
  4460. + "/root/hidden/rcv1/h_opmi" + "▦"; // 멀티opmi
  4461. }
  4462. parm += totcashamt + "▦" // totalamt
  4463. + send_cash + "▦" // send
  4464. + "/root/send/s_cash" + "▦" // receive
  4465. + pid + "▦" // pid
  4466. + ordtype + "▦" // ordtype
  4467. + indinstflag + "▦" // indinstflag
  4468. + cardno + "▦" // gQualcnfmno
  4469. + keyinpuflag + "▦" // keyinpuflag
  4470. + swipedata + "▦" // swipedata
  4471. + qualcnfmflag + "▦"; // qualcnfmflag
  4472. setParameter("SPPAO00500_PARM", parm);
  4473. setParameter("SPPAO00500_FLAG", flag);
  4474. //팝업 오픈 방식 체크
  4475. if (flag == "I" || flag == "D") {
  4476. var ivrObjt = document.all("ivr_cashpopup");
  4477. if (ivrObjt == null) {
  4478. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  4479. ivrObjt = document.all("ivr_cashpopup");
  4480. }
  4481. ivrObjt.window.javascript.fInit();
  4482. var retMsg = false;
  4483. if (flag == "I") {
  4484. retMsg = ivrObjt.window.javascript.fAutoGetCashAprv();
  4485. } else {
  4486. retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  4487. }
  4488. if (!retMsg) {
  4489. messageBox("현금영수증 승인시 오류가 났습니다. 수납변경에서 재승인하십시요.", "E999");
  4490. }
  4491. ordergb = ivrObjt.model.getValue("/root/tmp/appvanif/ordergb"); //42:현금영수증승인응답
  4492. approvaldate = ivrObjt.model.getValue("/root/tmp/appvanif/approvaldate");
  4493. approvaltime = ivrObjt.model.getValue("/root/tmp/appvanif/approvaltime");
  4494. approvalno = ivrObjt.model.getValue("/root/tmp/appvanif/approvalno");
  4495. body.removeChild("ivr_cashpopup");
  4496. } else {
  4497. modal("SPPAO00501", "1", "400", "400", "SPPAO00501", "", "");
  4498. //팝업 정상종료 여부!
  4499. if (getParameter("SPPAO00500_RTN") == "N" || getParameter("SPPAO00500_RTN") == "") {
  4500. return false;
  4501. }
  4502. }
  4503. for (var i = 1; i <= getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid"); i++) {
  4504. for (var k = 1; k <= getNodesetCount("/root/send/s_cash/cash/cash_pid"); k++) {
  4505. if (model.getValue("/root/send/s_cash/cash[" + k + "]/cash_mseqno") != model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_mseqno"))
  4506. continue;
  4507. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_orddd", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_orddd_org"));
  4508. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_cretno", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_cretno_org"));
  4509. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_orddd_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_orddd_org"));
  4510. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_cretno_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_cretno_org"));
  4511. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_orddeptcd_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_orddeptcd_org"));
  4512. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_orddrid_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_orddrid_org"));
  4513. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_rcptdd_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_rcptdd_org"));
  4514. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_rcptno_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_rcptno_org"));
  4515. model.makeValue("/root/send/s_cash/cash[" + k + "]/cash_rcptseqno_org", model.getValue("/root/hidden/rcv1/h_opmi/opmi[" + i + "]/opmi_rcptseqno_org"));
  4516. }
  4517. }
  4518. return true;
  4519. }
  4520. function fOpenOnlinePopUp(flag) {
  4521. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4522. //현금영수증 선택되어 있고, 현금금액이 있을 경우 현금승인
  4523. var cardyn = model.getValue("/root/init/option/cardyn");
  4524. var parm = "";
  4525. var onlineamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt"));
  4526. var pre_cash_amt = 0;
  4527. for (var a = 1; a <= getNodesetCount("/root/hidden/rcv1/h_cash/cash/cash_pid"); a++) {
  4528. pre_cash_amt = parseInt(model.getvalue("/root/hidden/rcv1/h_cash/cash[" + a + "]/cash_cashamt")) + pre_cash_amt;
  4529. }
  4530. var totonlineamt = pre_cash_amt + onlineamt;
  4531. var cardamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt");
  4532. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  4533. var ordtype = "O";
  4534. var indinstflag = model.getValue("/root/main/outrgst/m_etc/indinstflag");
  4535. var cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4536. var valiterm = model.getValue("/root/main/outrgst/m_etc/valiterm");
  4537. //var allotmm = ""
  4538. var keyinpuflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  4539. var swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  4540. var qualcnfmflag = model.getValue("/root/main/outrgst/m_etc/qualcnfmflag");
  4541. var vcheck_cashcard = "";
  4542. var ordergb = "";
  4543. var approvaldate = "";
  4544. var approvaltime = "";
  4545. var approvalno = "";
  4546. //디폴트 현금영수증번호
  4547. var cshb_qualcnfmno = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmno");
  4548. var cshb_qualcnfmflag = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmflag"); //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4549. if(cshb_qualcnfmno != "") {
  4550. cshb_qualcnfmno = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmno");
  4551. cshb_qualcnfmflag = model.getvalue("/root/hidden/item1/pidinfo/h_cshb/cshb/cshb_qualcnfmflag");
  4552. }else{
  4553. cshb_qualcnfmno = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") + model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  4554. cshb_qualcnfmflag = "1"; //현금영수증확인구분(1.주민,2.전화,3.카드,4.사업자)
  4555. }
  4556. //현금영수증 자격번호
  4557. //카드, 현금영수증을 동시수납
  4558. if (parseInt(cardamt) > 0 &&
  4559. parseInt(onlineamt) > 0)
  4560. {
  4561. vcheck_cashcard = "Y";
  4562. cardno = cshb_qualcnfmno;
  4563. qualcnfmflag = cshb_qualcnfmflag;
  4564. if(qualcnfmflag == "3"){keyinpuflag = "S"; }else{keyinpuflag = "K";}
  4565. swipedata = cshb_qualcnfmno+"=";
  4566. swipedata = swipedata.getRightPad(40, " ");
  4567. }
  4568. //현금영수증만 수납
  4569. if (parseInt(cardamt) == 0 && parseInt(onlineamt) > 0 ){
  4570. vcheck_cashcard = "N";
  4571. cardno = model.getValue("/root/main/outrgst/m_etc/cardno");
  4572. qualcnfmflag = model.getValue("/root/main/outrgst/m_etc/qualcnfmflag");
  4573. keyinpuflag = model.getValue("/root/main/outrgst/m_etc/keyinptflag");
  4574. swipedata = model.getValue("/root/main/outrgst/m_etc/swipedata");
  4575. }
  4576. //처음에는 기현금노드를 보내고 그다음에는 send에서 주고받음
  4577. var send_cash = "";
  4578. if(getNodesetCount("/root/send/s_cash/cash/cash_pid") == 0){
  4579. send_cash = "/root/hidden/rcv1/h_cash";
  4580. }else{
  4581. send_cash = "/root/send/s_cash" ;
  4582. }
  4583. if (getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") < 2){
  4584. parm = "0" + "▦" + //멀티건수
  4585. "" + "▦" + //멀티opmi
  4586. totonlineamt + "▦" + //totalamt
  4587. send_cash + "▦" + //send
  4588. "/root/send/s_cash" + "▦" + //receive
  4589. pid + "▦" + //pid
  4590. ordtype + "▦" + //ordtype
  4591. indinstflag + "▦" + //indinstflag
  4592. cardno + "▦" + //gQualcnfmno
  4593. //valiterm + "▦" + //valiterm
  4594. //allotmm + "▦" + //allotmm
  4595. keyinpuflag + "▦" + //keyinpuflag
  4596. swipedata + "▦" + //swipedata
  4597. qualcnfmflag + "▦" ; //qualcnfmflag
  4598. }else{
  4599. parm = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" + //멀티건수
  4600. "/root/hidden/rcv1/h_opmi" + "▦" + //멀티opmi
  4601. totonlineamt + "▦" + //totalamt
  4602. send_cash + "▦" + //send
  4603. "/root/send/s_cash" + "▦" + //receive
  4604. pid + "▦" + //pid
  4605. ordtype + "▦" + //ordtype
  4606. indinstflag + "▦" + //indinstflag
  4607. cardno + "▦" + //gQualcnfmno
  4608. //valiterm + "▦" + //valiterm
  4609. //allotmm + "▦" + //allotmm
  4610. keyinpuflag + "▦" + //keyinpuflag
  4611. swipedata + "▦" + //swipedata
  4612. qualcnfmflag + "▦" ; //qualcnfmflag
  4613. }
  4614. setParameter("SPPAO00500_PARM", parm);
  4615. setParameter("SPPAO00500_FLAG", flag);
  4616. //팝업 오픈 방식 체크
  4617. if( flag == 'I' || flag == 'D'){
  4618. var ivrObjt = document.all("ivr_cashpopup");
  4619. if( ivrObjt == null ){
  4620. body.createChild("xforms:iviewer", "id:ivr_cashpopup; src:../../../pam/pamcomnweb/xrw/SPPAO00501_현금영수증승인.xrw");
  4621. ivrObjt = document.all("ivr_cashpopup");
  4622. }
  4623. if( flag == 'I' ){
  4624. ivrObjt.window.javascript.fInit();
  4625. var retMsg = ivrObjt.window.javascript.fAutoGetCashAprv();
  4626. }else{
  4627. ivrObjt.window.javascript.fInit();
  4628. var retMsg = ivrObjt.window.javascript.fAutoCnclCashAprv();
  4629. }
  4630. ordergb = ivrObjt.model.getValue("/root/tmp/appvanif/ordergb");//42:현금영수증승인응답
  4631. approvaldate = ivrObjt.model.getValue("/root/tmp/appvanif/approvaldate");
  4632. approvaltime = ivrObjt.model.getValue("/root/tmp/appvanif/approvaltime");
  4633. approvalno = ivrObjt.model.getValue("/root/tmp/appvanif/approvalno" );
  4634. body.removeChild("ivr_cashpopup");
  4635. if( retMsg == false ){
  4636. messageBox("현금영수증 승인시 오류가 났습니다. 수납변경에서 재승인하십시요.", "E999");
  4637. }
  4638. }else{
  4639. modal("SPPAO00501", "1","400", "400", "SPPAO00501", "", "");
  4640. //팝업 정상종료 여부!
  4641. if (getParameter("SPPAO00500_RTN") == "N" || getParameter("SPPAO00500_RTN") == ""){
  4642. return false;
  4643. }
  4644. }
  4645. for (var i = 1; i <= getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") ; i++) {
  4646. for (var k = 1; k <= getNodesetCount("/root/send/s_cash/cash/cash_pid") ; k++) {
  4647. if (model.getValue( "/root/send/s_cash/cash["+ k +"]/cash_mseqno") != model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_mseqno")) continue;
  4648. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_orddd" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd_org"));
  4649. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_cretno" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno_org"));
  4650. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_orddd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddd_org"));
  4651. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_cretno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_cretno_org"));
  4652. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_orddeptcd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddeptcd_org"));
  4653. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_orddrid_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_orddrid_org"));
  4654. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_rcptdd_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptdd_org"));
  4655. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_rcptno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptno_org"));
  4656. model.makeValue("/root/send/s_cash/cash["+ k +"]/cash_rcptseqno_org" , model.getValue("/root/hidden/rcv1/h_opmi/opmi["+ i +"]/opmi_rcptseqno_org"));
  4657. }
  4658. }
  4659. return true;
  4660. }
  4661. function fipt_cardamt() {
  4662. setInputNodeCurText();
  4663. fopmi_removemask();
  4664. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt","0");
  4665. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt","0");
  4666. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt","0");
  4667. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt",parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"))
  4668. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt").removeMask(","))
  4669. - parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt").removeMask(","))
  4670. );
  4671. ipt_cardamt.refresh();
  4672. ipt_cashamt.refresh();
  4673. ipt_onlineamt.refresh();
  4674. }
  4675. function fipt_cashamt() {
  4676. fopmi_removemask();
  4677. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt","0");
  4678. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt","0");
  4679. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt","0");
  4680. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt",parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"))
  4681. - parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt").removeMask(","))
  4682. - parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt").removeMask(","))
  4683. );
  4684. ipt_cardamt.refresh();
  4685. ipt_cashamt.refresh();
  4686. ipt_onlineamt.refresh();
  4687. }
  4688. //임의감면
  4689. function fipt_reduamt() {
  4690. // setInputNodeCurText();
  4691. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt","0");
  4692. //감액입력 후
  4693. var hopmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4694. var mopmi_rcptexptamt_org = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org");
  4695. var mopmi_server_rcptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_server_rcptamt");
  4696. var mopmi_reduamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt").removeMask(",");
  4697. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" ,Math.floor(mopmi_reduamt / 10) *10);
  4698. //본인부담 100원미만 절사처리
  4699. if(model.getvalue("/root/init/basecdlist/P0032[cdid='130']/cdnm") == "Y"){
  4700. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" ,Math.floor(mopmi_reduamt / 100) *100);
  4701. }
  4702. mopmi_reduamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt");
  4703. //멀티수납시에는 부분임의감면 불가
  4704. if (hopmi_count > 1 ) {
  4705. if(mopmi_server_rcptamt != mopmi_reduamt) {
  4706. messageBox("멀티수납시에는 부분 임의감면을 하실 수 없습니다.", "E999");
  4707. model.setvalue("/root/main/outrgst/m_etc/discreducd" , "");
  4708. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt","0");
  4709. ipt_reducd.refresh();
  4710. cmb_reducd.refresh();
  4711. ipt_reduamt.refresh();
  4712. //return;
  4713. }
  4714. }
  4715. //감액입력시, 감액코드 필수사항
  4716. if (parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt") ) >0 ) {
  4717. if ( (model.getValue("/root/main/outrgst/m_etc/discreducd")).getTrim() == "" ) {
  4718. messageBox("감면코드를 입력하십시요.", "E999");
  4719. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt","0");
  4720. ipt_reduamt.refresh();
  4721. model.setFocus("ipt_reducd");
  4722. //return;
  4723. }
  4724. }
  4725. //납부할 금액 세팅
  4726. fCalcRcptexptAmt();
  4727. }
  4728. //미수액
  4729. function fipt_uncoamt() {
  4730. //setInputNodeCurText();
  4731. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt","0");
  4732. //미수액입력 후
  4733. var hopmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4734. var mopmi_rcptexptamt_org = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org");
  4735. var mopmi_server_rcptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_server_rcptamt");
  4736. var mopmi_uncoamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt").removeMask(",");
  4737. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" ,Math.floor(mopmi_uncoamt / 10) *10);
  4738. //본인부담 100원미만 절사처리
  4739. if(model.getvalue("/root/init/basecdlist/P0032[cdid='130']/cdnm") == "Y"){
  4740. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" ,Math.floor(mopmi_uncoamt / 100) *100);
  4741. }
  4742. mopmi_uncoamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt");
  4743. //멀티수납시에는 부분임의감면 불가
  4744. if(hopmi_count > 1){
  4745. if((mopmi_server_rcptamt != mopmi_uncoamt) && (mopmi_uncoamt != 0)){
  4746. messageBox("멀티수납시에는 부분 미수생성을 하실 수 없습니다.", "E999");
  4747. model.setvalue("/root/main/outrgst/m_etc/uncocd" , "");
  4748. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" , "0");
  4749. ipt_uncocd.refresh();
  4750. cmb_uncocd.refresh();
  4751. ipt_uncoamt.refresh();
  4752. //return;
  4753. }
  4754. }
  4755. //미수액입력시, 미수코드 필수사항
  4756. if(parseInt( model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt")) > 0){
  4757. if((model.getValue("/root/main/outrgst/m_etc/uncocd")).getTrim() == ""){
  4758. messageBox("미수코드를 입력하십시요.", "E999");
  4759. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", "0");
  4760. ipt_reduamt.refresh();
  4761. model.setFocus("ipt_uncocd");
  4762. //return;
  4763. }
  4764. }
  4765. //납부할 금액 세팅
  4766. fCalcRcptexptAmt();
  4767. }
  4768. function fipt_mdlrcptamt() {
  4769. setInputNodeCurText();
  4770. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt","0");
  4771. //선수금 적용값 입력 후
  4772. var vopmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4773. var mopmi_rcptexptamt_org = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org");
  4774. var mopmi_server_rcptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_server_rcptamt");
  4775. var mopmi_mdlrcptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt").removeMask(",");
  4776. //멀티수납시에는 부분미수액 불가
  4777. if (vopmi_count > 1 ) {
  4778. if(mopmi_server_rcptamt != mopmi_mdlrcptamt) {
  4779. messageBox("멀티수납시에는 부분 선수금대체생성을 하실 수 없습니다.", "E999");
  4780. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt","0");
  4781. ipt_mdlrcptamt.refresh();
  4782. //return;
  4783. }
  4784. }
  4785. if(parseInt(model.getValue("/root/main/outrgst/m_remamt/remamt/remamt_remamt")) == 0) {
  4786. messageBox("선수금 잔액이 0원입니다.", "E999");
  4787. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt","0");
  4788. ipt_mdlrcptamt.refresh();
  4789. //return;
  4790. }
  4791. if(parseInt(model.getValue("/root/main/outrgst/m_remamt/remamt/remamt_remamt")) < parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt").replaceAll(",",""))){
  4792. messageBox("적용할 금액이 선수금 잔액을 초과합니다.", "E999");
  4793. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt","0");
  4794. ipt_mdlrcptamt.refresh();
  4795. //return;
  4796. }
  4797. if(parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt")) <0) {
  4798. messageBox("마이너스 금액을 대체 처리할수 없습니다.", "E999");
  4799. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt","0");
  4800. ipt_mdlrcptamt.refresh();
  4801. //return;
  4802. }
  4803. //납부할 금액 세팅
  4804. fCalcRcptexptAmt();
  4805. }
  4806. //수혈대체
  4807. function fbtn_bloddiscamt() {
  4808. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4809. //중요!!! 수혈대체는 잔전처리문제로 멀티수납불가
  4810. if (vOpmi_count > 1) {
  4811. messageBox("멀티수납시에는 수혈대체 입력이 불가능합니다 \n\n 수납내역을 1건만 선택 후, 처리하십시오.","E999","");
  4812. return;
  4813. }
  4814. var parm = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //환자번호
  4815. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //진료일자
  4816. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  4817. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  4818. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddrid") + "▦" + //진료의사
  4819. model.getValue("/root/main/outrgst/ptin/ptin_insukind") + "▦" + //보험유형
  4820. model.getValue("/root/main/outrgst/ptin/ptin_suppkind") + "▦" + //보조유형
  4821. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordtype") + "▦" + //진료형태
  4822. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag") + "▦" + //ordtype=O
  4823. "/root/send/s_bldc" + "▦" + //parent가 이미 가지고 있던 감액 내역
  4824. "/root/send/s_bldc" + "▦"; //팝업이 닫힐때 감액내역을 받을 위치
  4825. setParameter("SPPAO01401_PARM",parm);
  4826. modal("SPPAO01401", "1","400", "400", "SPPAO00401", "", "");
  4827. if (getParameter("SPPAO01401_RTN") == "N" || getParameter("SPPAO01401_RTN") == "") return;
  4828. //수혈대체시 원단위금액 절사처리합니다. 단! 절대로 단일수납시에만 가능합니다.
  4829. if (getParameter("SPPAO01401_RTN") == "Y") {
  4830. //감면코드가 있을경우에만 재계산 대상.
  4831. if( model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") != '-'
  4832. && model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") != '' ){
  4833. //model.makeNode("/root/bldctmp/s_bldc");
  4834. //model.copyNode("/root/bldctmp/s_bldc", "/root/send/s_bldc");
  4835. //수혈대체 적용 및 변경으로 인한 재계산
  4836. model.setValue("/root/send/setbldccalc", "Y");
  4837. try{
  4838. // N:기존처방에 대해서만 재계산
  4839. fCalculation("N");
  4840. }catch(e){
  4841. //계산 실패시 적용여부 리셋
  4842. model.setValue("/root/send/setbldccalc", "");
  4843. }
  4844. //계산 완료후 적용여부 리셋
  4845. model.setValue("/root/send/setbldccalc", "");
  4846. //model.copyNode("/root/send/s_bldc", "/root/bldctmp/s_bldc");
  4847. //model.removeNodeset("/root/bldctmp");
  4848. }
  4849. //debugger;
  4850. //현헐증 대체 금액
  4851. var bloddiscamt = parseInt(getParameter("SPPAO01401_TotBldcDiscAmt"));
  4852. var restamt = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_restamt"));
  4853. var totownbamt = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_totownbamt100"));
  4854. var totownbamt2 = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_totownbamt2"));
  4855. var rcptexptamt = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_rcptexptamt"));
  4856. var opmi_uncoamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt"));
  4857. var opmi_discamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_discamt"));
  4858. var opmi_suppamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_suppamt"));
  4859. //100원 미만 절사는 보험본인부담금에 대해서만 100원 미만 절사해주고 보험청구해야함 restamt에 들어가면 안됨.
  4860. //절사는 10원 미만 금액만 가지고 수납대상금액에서 수혈대체금을 제외한 후 다시 계산하는게 맞음.
  4861. /* //100원미만 절사여부 10/03/12 cys
  4862. if(model.getvalue("/root/init/basecdlist/P0032[cdid='130']/cdnm") == "Y") {
  4863. restamt = (rcptexptamt - bloddiscamt) % 100;
  4864. }else{
  4865. restamt = (rcptexptamt - bloddiscamt) % 10;
  4866. }
  4867. */
  4868. // 절사금액 공식수정 by 조중래 20130715
  4869. // 본인부담총금액에 이미 절사액이 포함되어있으므로 아래와 같이 구할 경우 절사액이 두배로 잡힘
  4870. // 2015/06/24 이정택 수정
  4871. //restamt = (totownbamt + restamt - bloddiscamt) % 10;
  4872. //restamt = (totownbamt - bloddiscamt) % 10;
  4873. restamt = (totownbamt - bloddiscamt - opmi_uncoamt - opmi_discamt - opmi_suppamt) % 10;
  4874. // 2015/06/24 이정택 수정
  4875. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_bloddiscamt" , bloddiscamt);
  4876. model.makeValue("/root/hidden/rcv1/h_opmi/opmi/opmi_restamt" , restamt);
  4877. //model.setValue("/root/hidden/rcv1/h_opmi/opmi/opmi_totownbamt2" , totownbamt - restamt);
  4878. }
  4879. //납부할 금액 세팅
  4880. fCalcRcptexptAmt();
  4881. }
  4882. //건유비/산전지원비 승인버튼
  4883. function fbtn_proc() {
  4884. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  4885. var otpt_orddd = model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_orddd");
  4886. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  4887. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  4888. if (vOpmi_count > 1) {
  4889. messageBox("멀티수납시에는 건강생활유지비/산전지원비 입력이 불가능합니다 \n\n 수납내역을 1건만 선택 후, 처리하십시오.","E999","");
  4890. return;
  4891. }
  4892. if (otpt_orddd > getCurrentDate()) {
  4893. messageBox("미래일자는 건강생활유지비/산전지원비 입력이 불가능합니다.","E999","");
  4894. return;
  4895. }
  4896. //보험증번호 조회(보험자격조회)
  4897. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  4898. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  4899. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  4900. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //진료일자
  4901. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //진료생성번호
  4902. "O" + "▦" + //ordtype
  4903. "" + "▦" + //퇴원일자
  4904. //20090701 1.단수처리 고시적용
  4905. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  4906. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  4907. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100") + "▦" + //본인일부부담금
  4908. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt100") + "▦" + //기관부담금
  4909. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  4910. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  4911. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  4912. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  4913. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  4914. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  4915. setParameter("SPPMC03900_PARM",parm);
  4916. //신종플루진료
  4917. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  4918. setParameter("SPPMC03900_RTN","");
  4919. setParameter("SPPMC03900_RTN_osunap","");
  4920. setParameter("SPPMC03900_RTN_osunap_msg4","");
  4921. modal("SPPMC03900", "1","400", "400", "SPPMC03900", "", "", "sysmenu:hidden;");
  4922. fbtn_proc_check();
  4923. //if (getParameter("SPPMC03900_RTN_osunap_msg4") == "Y") {
  4924. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  4925. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  4926. submit("TRPAO00127");
  4927. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  4928. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  4929. //}
  4930. //납부할 금액 세팅
  4931. fCalcRcptexptAmt();
  4932. }
  4933. //의료급여승인버튼
  4934. function fbtn_proc2() {
  4935. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  4936. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  4937. // 2015/06/05 이정택 수정
  4938. var cnt = getNodesetCount("/root/main/baseinfo/actlist/actr[actr_checkflag='true']");
  4939. var workgubun = model.getValue("/root/temp3/workgubn");
  4940. var select_orddd = "";
  4941. if(workgubun=="E" && parseInt(cnt)>1){
  4942. messageBox("실시내역에 선택한 일자가 다중선택되었습니다.\n하나만 선택 부탁드립니다.", "E");
  4943. return;
  4944. }
  4945. if(workgubun=="E" && cnt==1){
  4946. select_orddd = model.getValue("/root/main/baseinfo/actlist/actr[actr_checkflag='true']/actr_actfromdd");
  4947. }else{
  4948. select_orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  4949. }
  4950. // 2015/06/05 이정택 수정
  4951. //신보험증번호 조회(보험자격조회)
  4952. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  4953. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  4954. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  4955. select_orddd + "▦" + //외래진료일자
  4956. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  4957. "O" + "▦" + //진료형태
  4958. "" + "▦" + //퇴원일자
  4959. //20090701 1.단수처리 고시적용 --의료급여는 그대로 사용 가능
  4960. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  4961. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  4962. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  4963. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  4964. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  4965. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  4966. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  4967. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_suppkind") + "▦"; //보조유형
  4968. setParameter("SPPMC03900_PARM",parm);
  4969. //신종플루진료
  4970. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  4971. setParameter("SPPMC03900_RTN","");
  4972. setParameter("SPPMC03900_RTN_osunap","");
  4973. setParameter("SPPMC03900_RTN_osunap_msg4","");
  4974. modal("SPPMC03900", "1","50", "50", "SPPMC03900", "", "", "sysmenu:hidden;");
  4975. fbtn_proc_check();
  4976. if (getParameter("SPPMC03900_RTN_osunap_msg4") == "Y") {
  4977. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  4978. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  4979. submit("TRPAO00127");
  4980. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  4981. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  4982. }
  4983. //납부할 금액 세팅
  4984. fCalcRcptexptAmt();
  4985. model.setFocus("ipt_cardno");
  4986. }
  4987. function fbtn_proc_check() {
  4988. if (getParameter("SPPMC03900_RTN_sunap") == "N") { return; }
  4989. if(getParameter("SPPMC03900_RTN") != "F") model.setvalue("/root/option/opt_procyn" , "Y");
  4990. if (getParameter("SPPMC03900_RTN_sunap") != "N") {
  4991. if (model.getValue("/root/main/outrgst/ptin/ptin_insukind") != getParameter("SPPMC03900_insukind")) {
  4992. btn_calc.disabled = false;
  4993. btn_rcpt.disabled = true;
  4994. }
  4995. //return 값이 있으면, 보험유형,증번호,보험자기호,취득일자,피보험자성명
  4996. model.setValue("/root/main/outrgst/ptin/ptin_insukind", getParameter("SPPMC03900_insukind"));
  4997. model.setValue("/root/main/outrgst/ptin/ptin_insucd" , getParameter("SPPMC03900_insucd"));
  4998. model.setValue("/root/main/outrgst/ptin/ptin_insuno" , getParameter("SPPMC03900_insuno"));
  4999. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" , getParameter("SPPMC03900_insdnm"));
  5000. model.setValue("/root/main/outrgst/ptin/ptin_fromdd" , getParameter("SPPMC03900_insufromdd"));
  5001. //피보험자성명이 환자명과 같으면, 관계에 [본인]세팅
  5002. if (model.getValue("/root/main/patinfo/patinfolist/hngnm") == model.getValue("/root/main/outrgst/ptin/ptin_insdnm")){
  5003. model.setValue("/root/main/outrgst/ptin/ptin_insdrela","1");
  5004. }
  5005. var calcYN = "N";
  5006. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") == "-") {
  5007. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag", "");
  5008. }
  5009. //본인부담구분세팅
  5010. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") != getParameter("SPPMC03900_ownbflag")) {
  5011. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag" , getParameter("SPPMC03900_ownbflag"));
  5012. calcYN = "Y";
  5013. }
  5014. //희귀난치병정보세팅 2008/12/23 이동재 진료에서 받는대로 처리함
  5015. /*
  5016. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag") != getParameter("SPPMC03900_rareobstflag")){
  5017. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag"));
  5018. model.setValue("/root/etc/opt_otptetc","희귀난치");
  5019. calcYN = "Y";
  5020. }
  5021. */
  5022. // N:기존처방에 대해서만 재계산
  5023. if(calcYN == "Y") { fCalculation("N"); }
  5024. //차상위정보세팅
  5025. /*
  5026. if(getParameter("SPPMC03900_suppkind") == "32" || getParameter("SPPMC03900_suppkind") == "33") {
  5027. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_suppkind") != getParameter("SPPMC03900_suppkind")){
  5028. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", getParameter("SPPMC03900_suppkind"));
  5029. calcYN = "Y";
  5030. }
  5031. }
  5032. */
  5033. if(getParameter("SPPMC03900_suppkind") == "32" || getParameter("SPPMC03900_suppkind") == "33") {
  5034. var otpt_suppkind = model.getValue("/root/hidden/rcv1/sum_otpt/otpt/otpt_suppkind");
  5035. if( (parseInt(otpt_suppkind) > 32) && (parseInt(otpt_suppkind)< 46)) {
  5036. otpt_suppkind = "33";
  5037. }
  5038. if(otpt_suppkind != getParameter("SPPMC03900_suppkind")){
  5039. var rtn = messageBox("등록정보[보조유형: " + model.getValue("/root/hidden/rcv1/sum_otpt/otpt/otpt_suppkind") + "]와 실제자격[보조유형: " + getParameter("SPPMC03900_suppkind") + "]이 다릅니다! \n변경하시겠습니까?","Q999","");
  5040. var rtn_submit = false;
  5041. if (rtn == 6) {
  5042. model.setValue("/root/main/outrgst/ptin/ptin_suppkind", getParameter("SPPMC03900_suppkind"));
  5043. //보험자와의 관계를 <본인> 선택시,주민번호,성명 세팅
  5044. if (model.getValue("/root/main/outrgst/ptin/ptin_insdrela")=="") {
  5045. model.setValue("/root/main/outrgst/ptin/ptin_insdrela" , "1")
  5046. model.setValue("/root/main/outrgst/ptin/ptin_insdnm" ,model.getValue("/root/main/patinfo/patinfolist/hngnm")); //성명
  5047. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1" ,model.getValue("/root/main/patinfo/patinfolist/rrgstno1")); //주민번호1
  5048. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2" ,model.getValue("/root/main/patinfo/patinfolist/rrgstno2")); //주민번호2
  5049. }
  5050. //보험정보 copy
  5051. fptinBackUp(); //보험정보 _org 에 백업44
  5052. model.copyNode("/root/send/ptin","/root/main/outrgst/ptin");
  5053. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  5054. model.setvalue("/root/send/mth_nm" ,"setOtptScnd");
  5055. rtn_submit = submit("TRPAO00127");
  5056. if(model.getvalue("/root/temp5/srdg/cnt") =="0" || rtn_submit == false) {
  5057. messageBox("유형변경 실패했습니다. 수동변경후 재계산하십시요.","I999");
  5058. return false;
  5059. }else{
  5060. messageBox("유형변경되었습니다.","I999");
  5061. if (model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  5062. if (model.getValue("/root/temp3/workgubn") == "N") { messageBox("외래수납에서 수납하세요.","I999"); fCalcflagNSearch();}
  5063. if (model.getValue("/root/temp3/workgubn") == "E") fSearch();
  5064. return false;
  5065. }
  5066. }
  5067. if (rtn == 7) {
  5068. return false;
  5069. }
  5070. }
  5071. }
  5072. //차상위정보세팅 끝
  5073. model.refresh();
  5074. }
  5075. }
  5076. //산전지원금
  5077. function fipt_pregdmndamt(){
  5078. setInputNodeCurText();
  5079. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") == "") model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt", "0");
  5080. //산전지원금입력 후
  5081. var hopmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  5082. var mopmi_rcptexptamt_org = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org");
  5083. var mopmi_pregdmndamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt").removeMask(",");
  5084. //멀티수납시에는 산전지원금 불가
  5085. if(hopmi_count > 1){
  5086. if(mopmi_rcptexptamt_org != mopmi_pregdmndamt){
  5087. messageBox("멀티수납시에는 산전지원금 차감하실 수 없습니다.", "E999");
  5088. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt","0");
  5089. ipt_pregdmndamt.refresh();
  5090. //return;
  5091. }
  5092. }
  5093. /*
  5094. * 산전지원금 상한체크
  5095. * 2013-04-22시점으로 1일 사용한도 폐지
  5096. * 2011-04-01시점으로 1일 사용한도 4만원 -> 6만원으로 상한조정됨 by 조중래
  5097. */
  5098. var tempOrddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  5099. if(tempOrddd < "20130422"){
  5100. if(tempOrddd >= "20110401"){
  5101. if(parseInt(mopmi_pregdmndamt) > 60000){
  5102. messageBox("산전지원금은 6만원 초과해서 차감하실수 없습니다.", "E999");
  5103. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt", "0");
  5104. ipt_pregdmndamt.refresh();
  5105. //return;
  5106. }
  5107. }else{
  5108. if(parseInt(mopmi_pregdmndamt) > 40000){
  5109. messageBox("산전지원금은 4만원 초과해서 차감하실수 없습니다.", "E999");
  5110. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt", "0");
  5111. ipt_pregdmndamt.refresh();
  5112. //return;
  5113. }
  5114. }
  5115. }
  5116. //납부할 금액 세팅
  5117. fCalcRcptexptAmt();
  5118. }
  5119. //임의감면
  5120. function fbtn_reduamt() {
  5121. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  5122. var vOpmi_rcptexptamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  5123. if(vOpmi_count > 1) {
  5124. messageBox("멀티수납시에는 복수 건의 감액 적용이 불가능합니다 \n\n 화면에서 단수 건으로 처리하십시오.","E999","");
  5125. return;
  5126. }
  5127. //감액은 0원이상
  5128. if(vOpmi_rcptexptamt < 0){
  5129. messageBox("감액적용할 금액이 없습니다!","E999","");
  5130. return;
  5131. }
  5132. //처음에는 기감면노드를 보내고 그다음에는 send에서 주고받음
  5133. /*
  5134. var send_dcgm = "";
  5135. if(getNodesetCount("/root/send/s_dcgm/dcgm/dcgm_pid") == 0){
  5136. send_dcgm = "/root/hidden/rcv1/h_dcgm";
  5137. }else{
  5138. send_dcgm = "/root/send/s_dcgm" ;
  5139. }
  5140. */
  5141. var send_dcgm = "/root/send/s_dcgm" ;
  5142. //=========================================================================================================================================//
  5143. var parm = model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd") + "▦" + //진료일자
  5144. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt") + "▦" + //수납대상금액
  5145. send_dcgm + "▦" + //parent가 이미 가지고 있던 감액 내역
  5146. "/root/send/s_dcgm" + "▦"; //팝업이 닫힐때 감액내역을 받을 위치
  5147. setParameter("SPPAO00800_PARM",parm);
  5148. modal("../../../pam/pamcomnweb/xrw/SPPAO00800", "1","400", "400", "SPPAO00800", "", "");
  5149. if (getParameter("SPPAO00800_RTN") == "N" || getParameter("SPPAO00800_RTN") == "") return;
  5150. //=========================================================================================================================================//
  5151. var TotReduAmt = parseInt(getParameter("SPPAO00800_TotReduAmt"));
  5152. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt",TotReduAmt);
  5153. model.setValue("/root/main/outrgst/m_etc/discreducd" ,model.getvalue("/root/send/s_dcgm/dcgm/dcgm_discreducd")); //팝업에서 선택한 첫번감액을 메인에 보여준다.
  5154. if(getNodesetCount("/root/send/s_dcgm/dcgm/dcgm_pid") > 1) {
  5155. ipt_reducd.disabled = true;
  5156. cmb_reducd.disabled = true;
  5157. ipt_reduamt.disabled = true;
  5158. }else{
  5159. ipt_reducd.disabled = false;
  5160. cmb_reducd.disabled = false;
  5161. ipt_reduamt.disabled = false;
  5162. }
  5163. //수납할 금액 계산 세팅
  5164. fCalcRcptexptAmt();
  5165. }
  5166. //미수액
  5167. function fbtn_uncoamt() {
  5168. //멀티수납시에는 복수건의 미수처리 불가
  5169. //선택된 외래등록의 개수 확인
  5170. var vOpmi_count = getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid");
  5171. if (vOpmi_count > 1) {
  5172. messageBox("멀티수납시에는 복수 건의 미수 적용이 불가능합니다 \n\n 화면에서 단수 건으로 처리하십시오.","E999","");
  5173. return;
  5174. }
  5175. //미수금액창이 널이면, 팝업창 오픈불가
  5176. if ( (model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")).getTrim() == "" ) {
  5177. return;
  5178. }
  5179. var send_unco = "/root/send/s_unco" ;
  5180. //=========================================================================================================================================//
  5181. var parm = "O" + "▦" + //진료형태(ordtype)
  5182. model.getValue("/root/hidden/rcv1/h_opmi/opmi/opmi_orddd") + "▦" + //진료일자
  5183. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt") + "▦" + //수납대상금액
  5184. send_unco + "▦" + //parent가 이미 가지고 있던 미수 내역
  5185. "/root/send/s_unco" + "▦" + //팝업이 닫힐때 미수내역을 받을 위치
  5186. "O" + "▦" + //외래 또는 입원요율
  5187. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100") + "▦" + //본인 급여총액
  5188. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt")+ "▦" + //비급여 본인부담금액
  5189. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt") + "▦"; //선택진료 본인부담금액
  5190. setParameter("SPPAO00900_PARM",parm);
  5191. modal("../../../pam/pamcomnweb/xrw/SPPAO00900", "1","400", "400", "SPPAO00900", "", "");
  5192. if (getParameter("SPPAO00900_RTN") == "N" || getParameter("SPPAO00900_RTN") == "") return;
  5193. //=========================================================================================================================================//
  5194. var TotUncoAmt = parseInt(getParameter("SPPAO00900_TotUncoAmt"));
  5195. var vUncoRemamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"));
  5196. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt",TotUncoAmt.toString()); //화면에 보이는 미수금
  5197. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt",(vUncoRemamt - TotUncoAmt).toString());//화면에 보이는 카드금액(디폴트)
  5198. model.setValue("/root/hidden/rcv1/h_opmi/opmi/opmi_uncoamt",TotUncoAmt.toString());//send 노드에 copy 대상이 되는 수납내역 노드의 미수금
  5199. model.setValue("/root/main/outrgst/m_etc/uncocd", model.getvalue("/root/send/s_unco/unco/unco_uncocd")); //팝업에서 선택한 첫번미수를 메인에 보여준다.
  5200. model.setValue("/root/main/outrgst/m_etc/uncocls", model.getValue("/root/send/s_unco/unco/unco_uncocls"));
  5201. if(getNodesetCount("/root/send/s_unco/unco/unco_pid") > 1) {
  5202. ipt_uncocd.disabled = true;
  5203. cmb_uncocd.disabled = true;
  5204. ipt_uncoamt.disabled = true;
  5205. }else{
  5206. ipt_uncocd.disabled = false;
  5207. cmb_uncocd.disabled = false;
  5208. ipt_uncoamt.disabled = false;
  5209. }
  5210. //수납할 금액 계산 세팅
  5211. fCalcRcptexptAmt();
  5212. }
  5213. function fbtn_onlineamt() {
  5214. //처음에는 기카드노드를 보내고 그다음에는 send에서 주고받음
  5215. var send_onln = "";
  5216. if(getNodesetCount("/root/send/s_onln/onln/onln_pid") == 0){
  5217. send_onln = "/root/hidden/rcv1/h_onln";
  5218. }else{
  5219. send_onln = "/root/send/s_onln" ;
  5220. }
  5221. //=========================================================================================================================================//
  5222. var parm = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt") + "▦" + //수납대상금액
  5223. send_onln + "▦" + //parent가 이미 가지고 있던 통장입금 내역
  5224. "/root/send/s_onln" + "▦" + //팝업이 닫힐때 통장입금내역을 받을 위치
  5225. getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") + "▦" ; //멀티건수
  5226. setParameter("SPPAO01500_PARM",parm);
  5227. modal("../../../pam/pamcomnweb/xrw/SPPAO01500", "1","400", "400", "SPPAO01500", "/root/source", "/root/send");
  5228. if (getParameter("SPPAO01500_RTN") == "N") return;
  5229. //=========================================================================================================================================//
  5230. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt",getParameter("SPPAO01500_TotOnlineAmt"));
  5231. fipt_cashamt();
  5232. }
  5233. function fbtn_earnlist() {
  5234. if (model.getValue("/root/main/patinfo/patinfolist/pid").getTrim() == "") {
  5235. model.setFocus("ipt_pid");
  5236. return;
  5237. }
  5238. //선택된 내역 체크
  5239. if (model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd").getTrim() == "") {
  5240. messageBox("외래등록내역이 선택되어 있는지 확인하십시오.","E999","");
  5241. btn_otptlist.dispatch("onclick");
  5242. return;
  5243. }
  5244. }
  5245. function fgrd_earnlist1_onclick() {
  5246. //vcheck_rcptstatcd
  5247. // prcp_rcptstatcd
  5248. var iRow = grd_earnlist1.selectedRow(0);
  5249. var vrcptcls = model.getValue("/root/hidden/rcv/h_earn1/earn["+iRow+"]/earn_rcptcls");
  5250. if ( vrcptcls != "" ) {
  5251. if ( (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "true" || model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "") ||
  5252. (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "true" || model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "") )
  5253. {
  5254. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "true") {
  5255. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check","true");
  5256. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5257. for(var i=1; i<=grd_prcplist.rows; i++) {
  5258. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5259. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_rcptstatcd");
  5260. var vcheck_prcphistcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_prcphistcd");
  5261. var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_execdd");
  5262. if ( vcheck_rcptstatcd == "230" || vcheck_rcptstatcd == "210" || vcheck_execdd != "") {
  5263. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_holdyn","false");
  5264. } else if ( vcheck_prcphistcd != "O" ) {
  5265. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_holdyn","false");
  5266. } else {
  5267. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_holdyn","true");
  5268. }
  5269. grd_prcplist.row = i;
  5270. }
  5271. }
  5272. }
  5273. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "true") {
  5274. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel","true");
  5275. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5276. for(var i=1; i<=grd_prcplist.rows; i++) {
  5277. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5278. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_rcptstatcd");
  5279. var vcheck_prcphistcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_prcphistcd");
  5280. if ( vcheck_rcptstatcd != "210" ) {
  5281. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_releyn","false");
  5282. } else if ( vcheck_prcphistcd != "O" ) {
  5283. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_releyn","false");
  5284. } else {
  5285. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_releyn","true");
  5286. }
  5287. grd_prcplist.row = i;
  5288. }
  5289. }
  5290. }
  5291. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "false") {
  5292. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check","false");
  5293. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5294. for(var i=1; i<=grd_prcplist.rows; i++) {
  5295. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5296. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_holdyn","false");
  5297. grd_prcplist.row = i;
  5298. }
  5299. }
  5300. }
  5301. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "false") {
  5302. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel","false");
  5303. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5304. for(var i=1; i<=grd_prcplist.rows; i++) {
  5305. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5306. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_releyn","false");
  5307. grd_prcplist.row = i;
  5308. }
  5309. }
  5310. }
  5311. grd_prcplist.rebuild();
  5312. }
  5313. else if ( (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "false") ||
  5314. (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "false") )
  5315. {
  5316. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "false") {
  5317. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check","false");
  5318. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5319. for(var i=1; i<=grd_prcplist.rows; i++) {
  5320. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5321. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_holdyn","false");
  5322. grd_prcplist.row = i;
  5323. }
  5324. }
  5325. }
  5326. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "false") {
  5327. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel","false");
  5328. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5329. for(var i=1; i<=grd_prcplist.rows; i++) {
  5330. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5331. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_releyn","false");
  5332. grd_prcplist.row = i;
  5333. }
  5334. }
  5335. }
  5336. if (model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check") == "true") {
  5337. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_check","true");
  5338. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5339. for(var i=1; i<=grd_prcplist.rows; i++) {
  5340. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5341. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_rcptstatcd");
  5342. var vcheck_prcphistcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_prcphistcd");
  5343. var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_execdd");
  5344. if (vcheck_rcptstatcd == "230" || vcheck_rcptstatcd == "210" || vcheck_execdd != "" ) {
  5345. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_holdyn","false");
  5346. } else if ( vcheck_prcphistcd != "O" ) {
  5347. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_holdyn","false");
  5348. } else {
  5349. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_holdyn","true");
  5350. }
  5351. grd_prcplist.row = i;
  5352. } //end if
  5353. }//end for
  5354. }
  5355. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel") == "true") {
  5356. model.setValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_cancel","true");
  5357. grd_prcplist.row = 1; //첫번째 Row 값 세팅
  5358. for(var i=1; i<=grd_prcplist.rows; i++) {
  5359. if ( model.getValue("/root/hidden/rcv/h_earn1/earn["+ iRow +"]/earn_rcptcls") == model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_outcls") ) {
  5360. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_rcptstatcd");
  5361. var vcheck_prcphistcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_prcphistcd");
  5362. var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_execdd");
  5363. if ( vcheck_rcptstatcd == "000" ) {
  5364. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_releyn","false");
  5365. } else if ( vcheck_prcphistcd != "O" ) {
  5366. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ i +"]/prcp_releyn","false");
  5367. } else {
  5368. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + i + "]/prcp_releyn","true");
  5369. }
  5370. grd_prcplist.row = i;
  5371. }
  5372. }
  5373. }
  5374. grd_prcplist.rebuild();
  5375. }
  5376. } else {
  5377. grd_prcplist.rebuild();
  5378. }
  5379. }
  5380. //수익에서 종별클릭하면 계산내역으로 이동
  5381. function fgrd_earnlist_onclick() {
  5382. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5383. model.removenode("/root/send/s_otpt/otpt");
  5384. copyNodeListType("/root/send/s_otpt","/root/hidden/rcv1/sum_otpt/otpt","replace");
  5385. model.makeValue("/root/send/s_otpt/otpt/outcls","-");
  5386. var iRow = grd_earnlist.selectedRow(0);
  5387. if (iRow > 0) {
  5388. model.setValue("/root/send/s_otpt/otpt/outcls",model.getValue("/root/hidden/rcv1/h_earn/earn["+iRow+"]/earn_rcptcls"));
  5389. } else {
  5390. model.setValue("/root/send/s_otpt/otpt/outcls","-");
  5391. }
  5392. submit("TRPAO00111");
  5393. if (getNodesetCount("/root/hidden/earn/h_oscl/oscl/oscl_pid") > 0) {
  5394. //조회하기전에 clear
  5395. model.copynode("/root/main/outrgst/m_oscl" , "/root/node_bk/main/outrgst/m_oscl");
  5396. model.copyNode("/root/main/outrgst/m_oscl" ,"/root/hidden/earn/h_oscl");
  5397. btn_oscllist.dispatch("onclick");
  5398. grd_oscllist.refresh();
  5399. //setTree(grd_oscllist, 0, 0, true);
  5400. } else {
  5401. messageBox("해당 수익내역이 없습니다.", "I999");
  5402. model.copynode("/root/main/outrgst/m_oscl" , "/root/node_bk/main/outrgst/m_oscl");
  5403. model.copyNode("/root/main/outrgst/m_oscl" ,"/root/hidden/rcv1/h_oscl");
  5404. btn_oscllist.dispatch("onclick");
  5405. grd_oscllist.rebuild();
  5406. setTree(grd_oscllist, 0, 0, true);
  5407. }
  5408. //기존 바탕색 clear
  5409. for(var i=0; i <= grd_oscllist.rows ; i++){
  5410. grd_oscllist.rowStyle(i,"data","background-color") = "#ffffff";
  5411. }
  5412. setRowStyle("grd_oscllist" , "9" , "000" , "oscl_execprcpstatcd"); //추가
  5413. //setRowStyle("grd_oscllist" , "2" , "230" , "oscl_execprcpstatcd"); //수납
  5414. //setRowStyle("grd_oscllist" , "3" , "210" , "oscl_execprcpstatcd"); //홀드
  5415. //setRowStyle("grd_oscllist" , "6" , "E" , "oscl_execprcphistcd"); //반납
  5416. //setRowStyle("grd_oscllist" , "5" , "060601" , "oscl_snglearncls"); //수혈
  5417. }
  5418. function fbutton10_expnd_r() {
  5419. //if (button10.attribute("text") == "확장") {
  5420. swt_main.attribute("width") = "810";
  5421. swt_outrcpt.attribute("width") = "795";
  5422. swt_jungrcpt.attribute("width") = "795";
  5423. swt_jung_opmi_oscl.attribute("width") = "792";
  5424. swt_execjungsan.attribute("width") = "792";
  5425. grd_diag1.attribute("overflow") = "scroll";
  5426. grd_oscllist.attribute("overflow") = "scroll";
  5427. grd_diag.attribute("overflow") = "scroll";
  5428. grd_earnlist1.attribute("overflow") = "scroll";
  5429. grd_prcplist.attribute("overflow") = "scroll";
  5430. grd_earnlist.attribute("overflow") = "scroll";
  5431. grd_calcflagn.attribute("overflow") = "scroll";
  5432. grd_rcptlist.attribute("overflow") = "scroll";
  5433. grd_joscllist.attribute("overflow") = "scroll";
  5434. grd_eactotpt.attribute("overflow") = "scroll";
  5435. grd_Eactlist.attribute("overflow") = "scroll";
  5436. grd_Eoscllist.attribute("overflow") = "scroll";
  5437. grd_Ercptlist.attribute("overflow") = "scroll";
  5438. grd_Eearnlist.attribute("overflow") = "scroll";
  5439. grd_prcplist.attribute("width") = "420";
  5440. grd_tday.attribute("width") = "783";
  5441. grd_rsrv.attribute("width") = "783";
  5442. grd_past.attribute("width") = "783";
  5443. }
  5444. function fbutton10_expnd_c() {
  5445. swt_main.attribute("left") = "397";
  5446. swt_main.attribute("width") = "510";
  5447. swt_outrcpt.attribute("width") = "505";
  5448. swt_jungrcpt.attribute("width") = "505";
  5449. swt_jung_opmi_oscl.attribute("width") = "502";
  5450. swt_execjungsan.attribute("width") = "502";
  5451. grd_diag1.attribute("overflow") = "hidden";
  5452. grd_oscllist.attribute("overflow") = "hidden";
  5453. grd_diag.attribute("overflow") = "hidden";
  5454. grd_earnlist1.attribute("overflow") = "hidden";
  5455. grd_prcplist.attribute("overflow") = "hidden";
  5456. grd_earnlist.attribute("overflow") = "hidden";
  5457. grd_calcflagn.attribute("overflow") = "hidden";
  5458. grd_rcptlist.attribute("overflow") = "hidden";
  5459. grd_joscllist.attribute("overflow") = "hidden";
  5460. grd_eactotpt.attribute("overflow") = "hidden";
  5461. grd_Eactlist.attribute("overflow") = "hidden";
  5462. grd_Eoscllist.attribute("overflow") = "hidden";
  5463. grd_Ercptlist.attribute("overflow") = "hidden";
  5464. grd_Eearnlist.attribute("overflow") = "hidden";
  5465. /*
  5466. grd_tday.attribute("width") = "785";
  5467. grd_rsrv.attribute("width") = "785";
  5468. grd_past.attribute("width") = "785";
  5469. */
  5470. grd_tday.attribute("width") = "499";
  5471. grd_rsrv.attribute("width") = "499";
  5472. grd_past.attribute("width") = "499";
  5473. grd_calcflagn.attribute("width") = "795";
  5474. grd_rcptlist.attribute("width") = "795";
  5475. grd_joscllist.attribute("width") = "795";
  5476. grd_oscllist.attribute("width") = "785";
  5477. grd_prcplist.attribute("width") = "565";
  5478. line_tday.attribute("x1") = "5";
  5479. line_tday.attribute("x2") = "790";
  5480. line_rsrv.attribute("x1") = "5";
  5481. line_rsrv.attribute("x2") = "790";
  5482. line_past.attribute("x1") = "5";
  5483. line_past.attribute("x2") = "790";
  5484. line_earnlist1.attribute("x1") = "5";
  5485. line_earnlist1.attribute("x2") = "790";
  5486. ipt_pid.attribute("top") = "32";
  5487. ipt_hngnm.attribute("top") = "56";
  5488. ipt_pid.attribute("left") = "123";
  5489. ipt_hngnm.attribute("left") = "123";
  5490. btn_chk_all_cncl.attribute("left") = "437";
  5491. //2015/01/28 이정택 주석처리
  5492. //btn_chk_all_cncl_act.attribute("left") = "437";
  5493. //2015/01/28 이정택 주석처리
  5494. }
  5495. function fbutton10_expnd_l() {
  5496. swt_main.attribute("left") = "0";
  5497. swt_main.attribute("width") = "907";
  5498. swt_outrcpt.attribute("width") = "902";
  5499. swt_jungrcpt.attribute("width") = "902";
  5500. swt_jung_opmi_oscl.attribute("width") = "899";
  5501. swt_execjungsan.attribute("width") = "899";
  5502. grd_diag1.attribute("overflow") = "scroll";
  5503. grd_oscllist.attribute("overflow") = "scroll";
  5504. grd_diag.attribute("overflow") = "scroll";
  5505. grd_earnlist1.attribute("overflow") = "scroll";
  5506. grd_prcplist.attribute("overflow") = "scroll";
  5507. grd_earnlist.attribute("overflow") = "scroll";
  5508. grd_calcflagn.attribute("overflow") = "scroll";
  5509. grd_rcptlist.attribute("overflow") = "scroll";
  5510. grd_joscllist.attribute("overflow") = "scroll";
  5511. grd_eactotpt.attribute("overflow") = "scroll";
  5512. grd_Eactlist.attribute("overflow") = "scroll";
  5513. grd_Eoscllist.attribute("overflow") = "scroll";
  5514. grd_Ercptlist.attribute("overflow") = "scroll";
  5515. grd_Eearnlist.attribute("overflow") = "scroll";
  5516. grd_tday.attribute("width") = "890";
  5517. grd_rsrv.attribute("width") = "890";
  5518. grd_past.attribute("width") = "890";
  5519. grd_calcflagn.attribute("width") = "898";
  5520. grd_rcptlist.attribute("width") = "895";
  5521. grd_joscllist.attribute("width") = "895";
  5522. grd_oscllist.attribute("width") = "890";
  5523. grd_prcplist.attribute("width") = "525";
  5524. line_tday.attribute("x1") = "5";
  5525. line_tday.attribute("x2") = "895";
  5526. line_rsrv.attribute("x1") = "5";
  5527. line_rsrv.attribute("x2") = "895";
  5528. line_past.attribute("x1") = "5";
  5529. line_past.attribute("x2") = "895";
  5530. line_earnlist1.attribute("x1") = "5";
  5531. line_earnlist1.attribute("x2") = "895";
  5532. ipt_pid.attribute("top") = "5";
  5533. ipt_hngnm.attribute("top") = "5";
  5534. ipt_pid.attribute("left") = "415";
  5535. ipt_hngnm.attribute("left") = "510";
  5536. btn_chk_all_cncl.attribute("left") = "834";
  5537. //2015/01/28 이정택 주석처리
  5538. //btn_chk_all_cncl_act.attribute("left") = "834";
  5539. //2015/01/28 이정택 주석처리
  5540. }
  5541. function fcmb_suppkind() {
  5542. var vappdd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  5543. //보조유형 선택하면,
  5544. //건강보험 && ! 전액본인부담 일때 보험자기호 Default 자동세팅 (PAM.js 참고)
  5545. //전체공통:피보관계 본인 자동세팅
  5546. if ( model.getValue("/root/main/outrgst/ptin/ptin_insukind") == gsInsu_BoHeom &&
  5547. model.getValue("/root/main/outrgst/ptin/ptin_suppkind") != gsSupp_100 ) {
  5548. model.setValue("/root/main/outrgst/ptin/ptin_insucd",gsInsuCd_Default);
  5549. }
  5550. if(model.getValue("/root/main/outrgst/ptin/ptin_insdrela") == "") model.setValue("/root/main/outrgst/ptin/ptin_insdrela" ,"1");
  5551. cmb_insdrela.dispatch("xforms-select");
  5552. model.setValue("/root/main/outrgst/ptin/ptin_fromdd",getCurrentDate());
  5553. if ( model.getValue("/root/main/outrgst/ptin/ptin_insukind") != gsInsu_IlBan && //보험정보:일반 아니고
  5554. model.getValue("/root/main/outrgst/ptin/ptin_insukind") != gsInsu_ForIn && //보험정보:외국인
  5555. ipt_suppkind.currentText != gsSupp_100 ) { //전액본인100% 가 아니면, 보험정보 조회
  5556. if(vappdd =="") {vappdd = getCurrentDate();}
  5557. //환자의 보험정보 조회(환자별 보험정보 테이블에서)
  5558. fGetPTIN(model.getValue("/root/main/patinfo/patinfolist/pid") ,model.getValue("/root/main/outrgst/ptin/ptin_insukind"),"","",vappdd);
  5559. }
  5560. // 자보 + 전액본인부담의 경우 보험회사 정보를 초기화 추가 by 조중래 20130705
  5561. if ( model.getValue("/root/main/outrgst/ptin/ptin_insukind") == gsInsu_JaboKind
  5562. && model.getValue("/root/main/outrgst/ptin/ptin_suppkind") == gsSupp_100 ) {
  5563. model.setValue("/root/main/outrgst/aipm/aipm_insucmpycd", "-");
  5564. model.setValue("/root/main/outrgst/aipm/aipm_insucdnm", "");
  5565. }
  5566. fLItemRefresh();
  5567. }
  5568. //화면 처음에 열릴떄 딱 한번만 실행! 이후실행하면 안됨!
  5569. function fInitialize() {
  5570. model.makenode("/root/node_bk/main");
  5571. model.makenode("/root/node_bk/send");
  5572. model.makenode("/root/node_bk/hidden");
  5573. model.makenode("/root/node_bk/properties");
  5574. model.makenode("/root/node_bk/temp");
  5575. model.copynode("/root/node_bk/main" ,"/root/main");
  5576. model.copynode("/root/node_bk/send" ,"/root/send");
  5577. model.copynode("/root/node_bk/hidden" ,"/root/hidden");
  5578. model.copynode("/root/node_bk/properties" ,"/root/properties");
  5579. model.copynode("/root/node_bk/temp" ,"/root/temp");
  5580. }
  5581. //외래수납 우측화면 리프레쉬
  5582. function fRItemRefresh() {
  5583. opt_unco_o.refresh();
  5584. opt_unco_i.refresh();
  5585. opt_aiduncoamt.refresh();
  5586. opt_totamt.refresh();
  5587. opt_payamt.refresh();
  5588. opt_payinsubamt.refresh();
  5589. opt_payownbamt.refresh();
  5590. opt_nopyinsubamt.refresh();
  5591. opt_nopyownbamt.refresh();
  5592. opt_specinsubamt.refresh();
  5593. opt_specinsubamt.refresh();
  5594. opt_specownbamt.refresh();
  5595. opt_totownbamt.refresh();
  5596. opt_handcapfund.refresh();
  5597. opt_ersubtamt.refresh();
  5598. opt_bloddiscamt.refresh();
  5599. opt_suppamt.refresh();
  5600. opt_discamt.refresh();
  5601. ipt_reducd.refresh();
  5602. cmb_reducd.refresh();
  5603. ipt_reduamt.refresh();
  5604. ipt_uncocd.refresh();
  5605. cmb_uncocd.refresh();
  5606. ipt_uncoamt.refresh();
  5607. opt_precashamt.refresh();
  5608. opt_premdlrcptamt.refresh();
  5609. opt_precardamt.refresh();
  5610. opt_preonlineamt.refresh();
  5611. opt_mdlremamt.refresh();
  5612. ipt_mdlrcptamt.refresh();
  5613. opt_rcptexptamt.refresh();
  5614. rdo_cardyn.refresh();
  5615. rdo_indyn.refresh();
  5616. ipt_cardno.refresh();
  5617. ipt_valiterm.refresh();
  5618. ipt_allotmm.refresh();
  5619. ipt_cardamt.refresh();
  5620. ipt_cashamt.refresh();
  5621. ipt_onlineamt.refresh();
  5622. opt_heallifeamtclamamt.refresh();
  5623. opt_prepregdmndamt.refresh();
  5624. ipt_pregdmndamt.refresh();
  5625. cmb_paypsnflag.refresh();
  5626. ipt_paypsnamt.refresh();
  5627. ipt_paypsnrem.refresh();
  5628. opt_cashvanamt.refresh();
  5629. opt_cardvanamt.refresh();
  5630. bl_cardck.refresh();
  5631. //20090701 단수처리 임시 값 세팅
  5632. output1.refresh();
  5633. output2.refresh();
  5634. output3.refresh();
  5635. output4.refresh();
  5636. output5.refresh();
  5637. //2011-07-01 미용성형 고시 작업
  5638. opt_taxamt.refresh();
  5639. }
  5640. //외래수납 좌측화면 리프레쉬
  5641. function fLItemRefresh() {
  5642. rdo_workgubn.refresh();
  5643. ipt_pid.refresh();
  5644. cmb_sex.refresh();
  5645. opt_age.refresh();
  5646. ipt_hngnm.refresh();
  5647. ipt_engnm.refresh();
  5648. btn_nullbaseinfo.refresh();
  5649. ipt_rrgstno1.refresh();
  5650. ipt_rrgstno2.refresh();
  5651. ipt_brthdd.refresh();
  5652. chk_recmyn.refresh();
  5653. ipt_recmernm.refresh();
  5654. cmb_recmerrela.refresh();
  5655. chk_vipyn.refresh();
  5656. ipt_viprem.refresh();
  5657. chk_forgeryn.refresh();
  5658. textarea1.refresh();
  5659. ipt_insukind.refresh();
  5660. cmb_insukind.refresh();
  5661. opt_otptetc.refresh();
  5662. ipt_suppkind.refresh();
  5663. cmb_suppkind.refresh();
  5664. cmb_suppkindresn.refresh();
  5665. ipt_insucd.refresh();
  5666. ipt_insucdnm.refresh();
  5667. ipt_insuno.refresh();
  5668. cmb_insdrela.refresh();
  5669. ipt_insdnm.refresh();
  5670. ipt_insdrrgstno1.refresh();
  5671. ipt_insdrrgstno2.refresh();
  5672. ipt_fromdd.refresh();
  5673. ipt_todd.refresh();
  5674. opt_srdg_seridiagno.refresh();
  5675. opt_srdg_fromdd.refresh();
  5676. opt_srdg_todd.refresh();
  5677. opt_rooa_rareobstno.refresh();
  5678. opt_rooa_fromdd.refresh();
  5679. opt_rooa_todd.refresh();
  5680. cmb_centcd.refresh();
  5681. cmb_subdeptcd.refresh();
  5682. cmb_orddeptcd.refresh();
  5683. cmb_orddrid.refresh();
  5684. ipt_ordreqformflag.refresh();
  5685. cmb_ordreqformflag.refresh();
  5686. rdo_specordyn.refresh();
  5687. rdo_medamtestmyn.refresh();
  5688. cmb_medamtfreeresn.refresh();
  5689. cmb_fsexamflag.refresh();
  5690. chk_fsexammanlyn.refresh();
  5691. rdo_handicaprbookpossnyn.refresh();
  5692. cmb_hndc_handcapflag.refresh();
  5693. cmb_hndc_handcapgrde.refresh();
  5694. ipt_disccd.refresh();
  5695. cmb_disccd.refresh();
  5696. cmb_hosoutexptresncd.refresh();
  5697. cmb_rsrvflag.refresh();
  5698. cmb_etcordflag.refresh();
  5699. cmb_clincstdyacptflag.refresh();
  5700. opt_mngtno.refresh();
  5701. opt_bizplcenm.refresh();
  5702. opt_inducsbrchcd.refresh();
  5703. opt_insucdnm_ids.refresh();
  5704. opt_acddd.refresh();
  5705. opt_ordopendd.refresh();
  5706. opt_apryfromdd.refresh();
  5707. opt_aprytodd.refresh();
  5708. opt_insucmpycd.refresh();
  5709. opt_insucdnm.refresh();
  5710. opt_paylimamt.refresh();
  5711. opt_insuamt.refresh();
  5712. opt_restamt.refresh();
  5713. opt_aprvfromdd.refresh();
  5714. opt_aprvtodd.refresh();
  5715. bl_proc.refresh();
  5716. //if(model.getvalue("/root/etc/union_msg") != "") grd_union_msg.attribute("visibility") = "visivle";
  5717. //if(model.getvalue("/root/etc/union_msg") == "") grd_union_msg.attribute("visibility") = "hidden";
  5718. grd_union_msg.refresh();
  5719. txt_union_msg.refresh();
  5720. }
  5721. //외래수납 중앙화면 리프레쉬
  5722. function fCItemRefresh() {
  5723. if(model.getvalue("/root/temp3/workgubn") == "Y") {
  5724. grd_tday.rebuild();
  5725. grd_rsrv.rebuild();
  5726. grd_past.rebuild();
  5727. }
  5728. if(model.getvalue("/root/temp3/workgubn") == "N") {
  5729. grd_calcflagn.rebuild();
  5730. grd_rcptlist.rebuild();
  5731. }
  5732. if(model.getvalue("/root/temp3/workgubn") == "E") {
  5733. grd_eactotpt.refresh();
  5734. grd_Eactlist.refresh();
  5735. grd_Eoscllist.refresh();
  5736. grd_Ercptlist.refresh();
  5737. grd_Eearnlist.refresh();
  5738. }
  5739. }
  5740. //처방전 출력.
  5741. function fPrescription() {
  5742. open("SMPAO00101","","","","ccc","","","","");
  5743. }
  5744. //환자카드 발급신청 최초발행:'F' 재발행:'R'
  5745. function fIssuePatientCard(flag){
  5746. //노드생성
  5747. model.makeNode("/root/hidden/patcardissue/flag");
  5748. model.makeNode("/root/hidden/patcardissue/pid");
  5749. model.makeNode("/root/hidden/patcardissue/rrgstno1");
  5750. model.makeNode("/root/hidden/patcardissue/rrgstno2");
  5751. model.makeNode("/root/hidden/patcardissue/issflag");
  5752. model.makeNode("/root/hidden/patcardissue/issno");
  5753. model.makeNode("/root/hidden/patcardissue/hngnm");
  5754. model.makeNode("/root/hidden/patcardissue/remfact");
  5755. model.makeNode("/root/hidden/patcardissue/result");
  5756. //데이터 체크
  5757. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  5758. if( pid == '' || pid == ' ' || pid == '-' ){
  5759. messageBox("등록번호를 찾을 수 없습니다.", "E999", "");
  5760. return false;
  5761. }
  5762. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  5763. if( rrgstno1 == '' || rrgstno1 == ' ' || rrgstno1 == '-' ){
  5764. messageBox("주민등록번호 앞 6자리를 찾을 수 없습니다.", "E999", "");
  5765. return false;
  5766. }
  5767. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  5768. if( rrgstno2 == '' || rrgstno2 == ' ' || rrgstno2 == '-' ){
  5769. messageBox("주민등록번호 뒤 7자리를 찾을 수 없습니다.", "E999", "");
  5770. return false;
  5771. }
  5772. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  5773. if( hngnm == '' || hngnm == ' ' || hngnm == '-' ){
  5774. messageBox("환자이름을 찾을 수 없습니다.", "E999", "");
  5775. return false;
  5776. }
  5777. var issno = model.getValue("/root/hidden/patcardissue/pcinfo");
  5778. if( issno == '' || issno == ' ' || issno == '-' ){
  5779. messageBox("PC 고유번호 정보를 찾을 수 없습니다.", "E999", "");
  5780. return false;
  5781. }
  5782. //노드값 세팅
  5783. model.setValue("/root/hidden/patcardissue/flag", flag); //최초발행 : 'F' 재발행 : 'R'
  5784. model.setValue("/root/hidden/patcardissue/pid", pid);
  5785. model.setValue("/root/hidden/patcardissue/rrgstno1", rrgstno1);
  5786. model.setValue("/root/hidden/patcardissue/rrgstno2", rrgstno2);
  5787. model.setValue("/root/hidden/patcardissue/issflag", "7"); //환자 cf)직원은 '4"
  5788. model.setValue("/root/hidden/patcardissue/issno", issno);
  5789. model.setValue("/root/hidden/patcardissue/hngnm", hngnm);
  5790. model.setValue("/root/hidden/patcardissue/remfact", '-');
  5791. if(submit("TXPAM00201")){
  5792. messageBox("환자카드 발급신청을 정상적으로 완료했습니다. 카드발급 프린터에서 발급상황을 확인하세요.", "I999", "");
  5793. }
  5794. }
  5795. //계산취소
  5796. function fCalcCancel(flag){
  5797. //수납화면 계산취소
  5798. if (model.getValue("/root/temp3/workgubn") == "Y" && flag == null) {
  5799. fSuNapCalculateCancel();
  5800. }
  5801. //수납화면에서 화면이동시 자동계산취소
  5802. if (model.getValue("/root/temp3/workgubn") == "Y" && flag == "auto" && autoCalCancel.value == "true") {
  5803. fSuNapCalculateCancel_auto();
  5804. }
  5805. //정산화면 계산취소
  5806. if (model.getValue("/root/temp3/workgubn") == "N" && flag == null) {
  5807. fJudgCalculateCancel();
  5808. }
  5809. //정산화면에서 화면이동시 자동계산취소
  5810. if (model.getValue("/root/temp3/workgubn") == "N" && flag =="auto" && autoCalCancel.value == "true") {
  5811. fJudgCalculateCancel_auto();
  5812. }
  5813. //실시정산화면에서 화면이동시 계산취소
  5814. if (model.getValue("/root/temp3/workgubn") == "E" && flag =="auto" && autoCalCancel.value == "true") {
  5815. //fExecCancel_auto();
  5816. }
  5817. }
  5818. //실시정산 완료된건 조회(취소가 가능한 대상)
  5819. function fExecCancel_auto() {
  5820. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5821. removeChildren("/root/send/s_otpt/otpt");
  5822. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  5823. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  5824. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  5825. //체크된 외래등록내역 copy
  5826. var iSelRow = 0;
  5827. for (var iRow = 1; iRow<= grd_eactotpt.rows ; iRow++) {
  5828. if (model.getValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]/otpt_calcflag") =="S" &&
  5829. model.getValue("/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]/otpt_rollbackyn") =="Y"
  5830. ) {
  5831. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_eactotpt/otpt["+iRow+"]","before");
  5832. iSelRow++;
  5833. }
  5834. }
  5835. if (iSelRow == 0) {
  5836. return;
  5837. }
  5838. submit("TXPAO00108");
  5839. }
  5840. //외래정산화면 자동 계산취소
  5841. function fJudgCalculateCancel_auto(){
  5842. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5843. removeChildren("/root/send/s_otpt/otpt");
  5844. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  5845. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  5846. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  5847. //체크된 외래등록내역 copy
  5848. var iSelRow = 0;
  5849. for (var iRow = 1; iRow<= grd_calcflagn.rows ; iRow++) {
  5850. if (model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_calcflag") =="S" &&
  5851. model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_rollbackyn") =="Y"
  5852. ) {
  5853. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]","before");
  5854. iSelRow++;
  5855. }
  5856. }
  5857. if (iSelRow == 0) {
  5858. return;
  5859. }
  5860. submit("TXPAO00108");
  5861. }
  5862. //외래정산화면 계산취소
  5863. function fJudgCalculateCancel(){
  5864. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5865. removeChildren("/root/send/s_otpt/otpt");
  5866. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  5867. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  5868. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  5869. //체크된 외래등록내역 copy
  5870. var iSelRow = 0;
  5871. for (var iRow = 1; iRow<= grd_calcflagn.rows ; iRow++) {
  5872. if (model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_checkflag") =="true" &&
  5873. model.getValue("/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]/otpt_calcflag") =="S") {
  5874. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_calcflagn/otpt["+iRow+"]","before");
  5875. iSelRow++;
  5876. }
  5877. }
  5878. if (iSelRow == 0) {
  5879. messageBox("계산건이 없습니다.", "I999", "");
  5880. return;
  5881. }
  5882. if(submit("TXPAO00108")) fCalcflagNSearch();
  5883. }
  5884. //외래수납화면 자동 계산취소
  5885. function fSuNapCalculateCancel_auto(){
  5886. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5887. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  5888. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  5889. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  5890. var iSelRow = 0;
  5891. for (var iRow = 1; iRow<= grd_tday.rows ; iRow++) {
  5892. if (model.getValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_calcflag") =="S" &&
  5893. model.getValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_rollbackyn")=="Y"
  5894. ) {
  5895. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_tday/otpt["+iRow+"]","before");
  5896. iSelRow++;
  5897. }
  5898. }
  5899. for (var iRow = 1; iRow<= grd_rsrv.rows ; iRow++) {
  5900. if (model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_calcflag") =="S" &&
  5901. model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_rollbackyn")=="Y"
  5902. ) {
  5903. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]","before");
  5904. iSelRow++;
  5905. }
  5906. }
  5907. for (var iRow = 1; iRow<= grd_past.rows ; iRow++) {
  5908. if (model.getValue("/root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_calcflag") == "S" &&
  5909. model.getValue("/root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_rollbackyn") == "Y"
  5910. ) {
  5911. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_past/otpt["+iRow+"]","before");
  5912. iSelRow++;
  5913. }
  5914. }
  5915. if (iSelRow == 0) {
  5916. return;
  5917. }
  5918. submit("TXPAO00108");
  5919. }
  5920. //외래수납화면 계산취소
  5921. function fSuNapCalculateCancel(){
  5922. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  5923. model.copynode("/root/send/s_opmi" , "/root/node_bk/send/s_opmi");
  5924. model.copynode("/root/send/s_oscl" , "/root/node_bk/send/s_oscl");
  5925. model.copynode("/root/hidden/rcv1/h_opmi" , "/root/node_bk/hidden/rcv1/h_opmi");
  5926. var iSelRow = 0;
  5927. for (var iRow = 1; iRow<= grd_tday.rows ; iRow++) {
  5928. if (model.getValue("/root/main/baseinfo/otpt_tday/otpt["+iRow+"]/otpt_checkflag")=="true") {
  5929. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_tday/otpt["+iRow+"]","before");
  5930. iSelRow++;
  5931. }
  5932. }
  5933. for (var iRow = 1; iRow<= grd_rsrv.rows ; iRow++) {
  5934. if (model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]/otpt_checkflag")=="true") {
  5935. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_rsrv/otpt["+iRow+"]","before");
  5936. iSelRow++;
  5937. }
  5938. }
  5939. for (var iRow = 1; iRow<= grd_past.rows ; iRow++) {
  5940. if (model.getValue("root/main/baseinfo/otpt_past/otpt["+iRow+"]/otpt_checkflag") == "true") {
  5941. copyNodeListType("/root/send/s_otpt","/root/main/baseinfo/otpt_past/otpt["+iRow+"]","before");
  5942. iSelRow++;
  5943. }
  5944. }
  5945. if (iSelRow == 0) {
  5946. messageBox("계산건이 없습니다.", "I999", "");
  5947. return;
  5948. }
  5949. if(submit("TXPAO00108")) fSearch();
  5950. }
  5951. /*
  5952. * 외래수납에서 등록건 조회시 기타체크
  5953. * flag 값 - 환자조회, 클릭정상, 클릭오류, 계산
  5954. */
  5955. function fEtcCheck(flag){
  5956. /* 20091026 cys - 아래문장 추가한 이유(7/31일) 기억이 안남 다시 주석처리함
  5957. 주석풀면 서버오류메세지후 이전 체크내역을 접수상세정보에 못뿌려줌 재계산시 에러남
  5958. if(flag == "클릭오류"){
  5959. model.copynode("/root/hidden/rcv1", "/root/node_bk/hidden/rcv1");
  5960. }
  5961. */
  5962. var otpt_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  5963. if(otpt_cnt > 1) {
  5964. rdo_specordyn.disabled =true;
  5965. rdo_medamtestmyn.disabled =true;
  5966. chk_fsexammanlyn.disabled =true;
  5967. //rdo_handicaprbookpossnyn.disabled =true;
  5968. cmb_hndc_handcapgrde.disabled =true;
  5969. //cmb_hosoutexptresncd.disabled =true;
  5970. cmb_etcordflag.disabled =true;
  5971. cmb_clincstdyacptflag.disabled =true;
  5972. }else{
  5973. //rdo_specordyn.disabled =false;
  5974. //rdo_medamtestmyn.disabled =false;
  5975. chk_fsexammanlyn.disabled =false;
  5976. //rdo_handicaprbookpossnyn.disabled =false;
  5977. cmb_hndc_handcapgrde.disabled =false;
  5978. //cmb_hosoutexptresncd.disabled =false;
  5979. cmb_etcordflag.disabled =false;
  5980. cmb_clincstdyacptflag.disabled =false;
  5981. }
  5982. if(model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag") == "H"){
  5983. model.setValue("/root/etc/opt_otptetc", "H 희귀난치");
  5984. }else if(model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_rareobstflag") == "L"){
  5985. model.setValue("/root/etc/opt_otptetc", "결핵지원");
  5986. }else{
  5987. model.setValue("/root/etc/opt_otptetc","");
  5988. }
  5989. grd_oscllist.rebuild();
  5990. if(grd_oscllist.rows > 2) {
  5991. setTree(grd_oscllist, 0, 0, true);
  5992. }
  5993. //미계산건이 한건이라도있으면 재계산 하도록 수납버튼 disable시킵니다.
  5994. btn_calc.disabled = false;
  5995. btn_rcpt.disabled = false;
  5996. for(var i=1; i<= otpt_cnt; i++){
  5997. if(model.getvalue("/root/main/outrgst/m_otpt/otpt["+ i +"]/otpt_checkflag") == "true"
  5998. && model.getvalue("/root/main/outrgst/m_otpt/otpt["+ i +"]/otpt_calcflag") != "S"){
  5999. btn_rcpt.disabled = true;
  6000. break;
  6001. }
  6002. }
  6003. //의료급여 환자 의료급여자격조회승인팝업 띄운다.
  6004. opt_heallifeamtclamamt.attribute("color") = '#000000'; //black 초기화
  6005. ipt_pregdmndamt.attribute("color") = '#000000'; //black 초기화
  6006. if((flag == "클릭정상" || flag == "계산")
  6007. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") == "21" || model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") == "22")
  6008. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag") == "S")
  6009. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") == getCurrentDate())
  6010. //&& otpt_cnt == 1
  6011. && (model.getvalue("/root/init/basecdlist/P0032[cdid='20']/cdnm") == "Y")
  6012. //2016/02/22 이정택(의료급여 환자를 보험유형 변경시 변경되지 않는 오류 수정)
  6013. && ((model.getValue("/root/main/outrgst/ptin/ptin_insukind") == "21" || model.getValue("/root/main/outrgst/ptin/ptin_insukind") == "22") && getParameter("SPPMC03900_heallifeamtval") == "")){
  6014. //2016/02/22 이정택
  6015. fbtn_proc3();
  6016. setParameter("SPPMC03900_heallifeamtval", "");
  6017. }
  6018. if(parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org")) > 0 &&
  6019. parseInt(model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt")) > 0 &&
  6020. opt_heallifeamtclamamt.attribute("color") == '#000000'){
  6021. //messageBox("건강생활유지비 승인된 내역이 있습니다.","I999","");
  6022. model.setvalue("/root/etc/union_msg", "건강생활유지비 승인된 내역이 있습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  6023. }
  6024. model.setvalue("/root/etc/cardvanamt" , "");
  6025. model.setvalue("/root/etc/cashvanamt" , "");
  6026. if(getNodesetCount("/root/hidden/rcv1/h_dcgm/dcgm/dcgm_pid") > 1){
  6027. ipt_reducd.disabled = true;
  6028. cmb_reducd.disabled = true;
  6029. ipt_reduamt.disabled = true;
  6030. }else{
  6031. ipt_reducd.disabled = false;
  6032. cmb_reducd.disabled = false;
  6033. ipt_reduamt.disabled = false;
  6034. }
  6035. if(getNodesetCount("/root/hidden/rcv1/h_unco/unco/unco_pid") > 1){
  6036. ipt_uncocd.disabled = true;
  6037. cmb_uncocd.disabled = true;
  6038. ipt_uncoamt.disabled = true;
  6039. }else{
  6040. ipt_uncocd.disabled = false;
  6041. cmb_uncocd.disabled = false;
  6042. ipt_uncoamt.disabled = false;
  6043. }
  6044. model.setValue("/root/main/outrgst/m_etc/discreducd", model.getValue("/root/hidden/rcv1/h_dcgm/dcgm[dcgm_discreduflag = 'G']/dcgm_discreducd")); //임의감면코드
  6045. //2015/06/20 이정택 추가
  6046. //model.setValue("/root/main/outrgst/m_etc/uncocd" , model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")); //미수코드
  6047. /*if(model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")!="" && (flag != "계산")){
  6048. model.setValue("/root/main/outrgst/m_etc/uncocd" , model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")); //미수코드
  6049. }*/
  6050. //debugger;
  6051. if(!isNull(model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")) && model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")!="-"){
  6052. model.makeValue("/root/main/outrgst/m_etc/uncocd" , model.getValue("/root/hidden/rcv1/h_unco/unco/unco_uncocd")); //미수코드
  6053. }else if(!isNull(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")) && model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")!="-"){
  6054. model.makeValue("/root/main/outrgst/m_etc/uncocd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")); //미수코드
  6055. }
  6056. //2015/06/20 이정택 추가
  6057. //임상미수 셋팅
  6058. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") == "71" && parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt")) > 0){
  6059. model.setValue("/root/main/outrgst/m_etc/uncocd", "I41");
  6060. }
  6061. //미수코드 존재시 미수금액 자동세팅(2015/06/19)
  6062. if(flag == "클릭정상"){
  6063. if(!isNull(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")) && model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")!="-"){
  6064. model.setValue("/root/main/outrgst/m_etc/uncocd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd"));
  6065. cmb_uncocd.refresh();
  6066. fCalc_Uncoamt(flag);
  6067. }
  6068. }
  6069. if(flag == "계산"){
  6070. if(!isNull(model.getValue("/root/main/outrgst/m_etc/uncocd")) && model.getValue("/root/main/outrgst/m_etc/uncocd")!="-"){
  6071. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd", model.getValue("/root/main/outrgst/m_etc/uncocd"));
  6072. //model.setValue("/root/main/outrgst/m_etc/uncocd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd"));
  6073. cmb_uncocd.refresh();
  6074. fCalc_Uncoamt(flag);
  6075. }
  6076. }
  6077. model.setValue("/root/main/outrgst/m_etc/disccls" , model.getValue("/root/init/basecdlist/reducd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/discreducd")+ "']/cls")); //임의감면코드
  6078. model.setValue("/root/main/outrgst/m_etc/uncocls" , model.getValue("/root/init/basecdlist/uncocd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/uncocd")+ "']/cls")); //미수코드
  6079. model.copynode("/root/send/s_dcgm", "/root/hidden/rcv1/h_dcgm");
  6080. model.copynode("/root/send/s_unco", "/root/hidden/rcv1/h_unco");
  6081. //BMT환자 초진료 재진료로 변경 메세지
  6082. if(flag == "클릭정상"){
  6083. fCheckBMTPatMsg(model.getValue("/root/main/patinfo/patinfolist/pidflag"),
  6084. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_centcd"),
  6085. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd"),
  6086. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_fsexamflag")
  6087. );
  6088. }
  6089. //방문간호지시서인 경우 보험유형에 취득일자,종료일자 수정가능하게함
  6090. if(model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") == "81") {
  6091. ipt_fromdd.disabled = false;
  6092. ipt_todd.disabled = false;
  6093. }else{
  6094. ipt_fromdd.disabled = true;
  6095. ipt_todd.disabled = true;
  6096. }
  6097. //임상환자이면서 수납할금액이 있는경우 체크
  6098. if((flag == "클릭정상")
  6099. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") == "71")
  6100. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag") == "S")
  6101. && (model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt_org") != "0")){
  6102. //messageBox("임상환자입니다. 수납금액을 미수로 입금하십시요.","I999","");
  6103. model.setvalue("/root/etc/union_msg" , "임상환자입니다. 수납금액을 미수로 입금하십시요." + '\n' + model.getValue("/root/etc/union_msg"));
  6104. }
  6105. //실시정산건 체크
  6106. /*
  6107. if((flag == "클릭정상")
  6108. && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_calcbaseflag") == "2")
  6109. && (model.getValue("/root/temp3/workgubn") != "E")){
  6110. messageBox("해당건은 실시정산건 입니다.","I999","");
  6111. }
  6112. */
  6113. if(flag == "클릭정상"
  6114. && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_ersubtamt") != "0"
  6115. && model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_ersubtamt") != ""){
  6116. model.setvalue("/root/etc/union_msg" , "상한제초과액 환자입니다. 금액확인후 진행하십시오." + '\n' + model.getValue("/root/etc/union_msg"));
  6117. }
  6118. fLItemRefresh();
  6119. fRItemRefresh();
  6120. fCItemRefresh();
  6121. }
  6122. /*
  6123. * 서버에서 오는 에러메세지 처리
  6124. * caller - 클릭, 계산, 수납, 수납실패
  6125. */
  6126. function fServerCheckMsg(caller){
  6127. var otpt_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  6128. var error_code = model.getvalue("/root/properties/error/code");
  6129. if(error_code == "약반납의뢰처방이 발생하였습니다. 약을 약국에 반납하시고, 수납하셔야 합니다."){
  6130. btn_rcpt.disabled = true;
  6131. }
  6132. ///////////////의사소견서///////////////////
  6133. if(error_code == "의사소견서 처방이 있습니다. 의사소견서 관리번호, 본인부담구분을 입력해주세요." ||
  6134. error_code == "의사소견서(치매) 처방이 있습니다. 의사소견서 관리번호, 본인부담구분을 입력해주세요."){
  6135. btn_rcpt.disabled = true;
  6136. modal("SMPAO00103" ,"","500","400","","","","","");
  6137. }
  6138. if(error_code == "의사소견서 단일처방이있습니다. 의사소견서 관리번호, 본인부담구분을 입력해주세요." ||
  6139. error_code == "의사소견서(치매) 단일처방이있습니다. 의사소견서 관리번호, 본인부담구분을 입력해주세요."){
  6140. btn_rcpt.disabled = true;
  6141. modal("SMPAO00103" ,"","500","400","","","","","");
  6142. var SMPAO00103_PARM = getParameter("SMPAO00103_PARM");
  6143. if(SMPAO00103_PARM > 0) {
  6144. var rtn = messageBox("진찰료: 면제, 사유: 의사소견서 발급으로 변경했습니다. \n계속 진행하시겠습니까?", "Q999")
  6145. if (rtn == 6) { // Yes : 6 / No : 7 / Cancel : 2
  6146. if(model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6147. if(model.getValue("/root/temp3/workgubn") == "N") fCalcflagNSearch();
  6148. }
  6149. }
  6150. }
  6151. if(error_code == "의사소견서 단일처방이므로 진찰료산정여부: 면제 사유:의사소견서발급으로 세팅합니다."){
  6152. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "N");
  6153. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "15");
  6154. rdo_medamtestmyn.refresh();
  6155. cmb_medamtfreeresn.refresh();
  6156. btn_calc.dispatch("DOMActivate");
  6157. }
  6158. /*
  6159. if(error_code == "의사소견서 및 타처방도 같이있습니다. 진찰료여부: 산정으로 세팅합니다."){
  6160. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "Y");
  6161. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "00");
  6162. rdo_medamtestmyn.refresh();
  6163. cmb_medamtfreeresn.refresh();
  6164. btn_calc.dispatch("DOMActivate");
  6165. }
  6166. */
  6167. ///////////////의사소견서 끝///////////////////
  6168. ///////////////방문간호지시서///////////////////
  6169. if(error_code == "방문간호지시서 처방이있습니다. 방문간호지시서 발급번호, 본인부담구분을 입력해주세요."){
  6170. btn_rcpt.disabled = true;
  6171. modal("SMPAO00104" ,"","500","400","","","","","");
  6172. }
  6173. if(error_code == "방문간호지시서 단일처방이있습니다. 방문간호지시서 발급번호, 본인부담구분을 입력해주세요."){
  6174. btn_rcpt.disabled = true;
  6175. modal("SMPAO00104" ,"","500","400","","","","","");
  6176. var SMPAO00104_PARM = getParameter("SMPAO00104_PARM");
  6177. if(SMPAO00104_PARM > 0) {
  6178. var rtn = messageBox("진찰료: 면제, 사유: 방문간호지시서 발급으로 변경했습니다. \n계속 진행하시겠습니까?", "Q999")
  6179. if (rtn == 6) { // Yes : 6 / No : 7 / Cancel : 2
  6180. if(model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6181. if(model.getValue("/root/temp3/workgubn") == "N") fCalcflagNSearch();
  6182. }
  6183. }
  6184. }
  6185. if(error_code == "방문간호지시서 단일처방이므로 진찰료산정여부: 면제 사유:방문간호지시서발급으로 세팅합니다."){
  6186. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "N");
  6187. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "16");
  6188. rdo_medamtestmyn.refresh();
  6189. cmb_medamtfreeresn.refresh();
  6190. btn_calc.dispatch("DOMActivate");
  6191. }
  6192. /*
  6193. if(error_code == "방문간호지시서 및 타처방도 같이있습니다. 진찰료여부: 산정으로 세팅합니다."){
  6194. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "Y");
  6195. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "00");
  6196. rdo_medamtestmyn.refresh();
  6197. cmb_medamtfreeresn.refresh();
  6198. btn_calc.dispatch("DOMActivate");
  6199. }
  6200. */
  6201. ///////////////방문간호지시서 끝///////////////////
  6202. ///////////////중증체크///////////////////
  6203. //2011-11-30 장기이식 기증자 체크되면 산정특례 체크 제외
  6204. //산증특례 관련 메시지가 먼저 뜨도록 프로그램 수정(2015/07/22 이정택)
  6205. if( model.getValue("/root/option/otp_dnoryn") != "Y" ) {
  6206. if(fCheck_Srdg_Msg(caller) == false){
  6207. return false;
  6208. }
  6209. }
  6210. ///////////////중증체크끝////////////////
  6211. /*
  6212. 서버에서 오는 에러메세지 체크 순서 변경(과거일자부터 미래일자로 체크)
  6213. for(var a=1; a<=getNodesetCount("/root/hidden/rcv1/h_msg/msg/msg"); a++){
  6214. */
  6215. for(var a=getNodesetCount("/root/hidden/rcv1/h_msg/msg/msg"); a>=1; a--){
  6216. //-------------- 처방전 미발행 유효일자 체크 msg
  6217. if(caller == "클릭" || caller == "계산") {
  6218. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_drugmsg") != "") {
  6219. var msg_drugmsg = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_drugmsg");
  6220. var rtn = messageBox(msg_drugmsg,"I999","");
  6221. btn_rcpt.disabled = true;
  6222. }
  6223. }
  6224. //-------------- 처방전 미발행 유효일자 체크 msg End
  6225. ///////////////외국인 OECD 회원국//////////////////////////
  6226. /* 경대병원 미적용 by 조중래 20120719
  6227. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_oecdyn") != "") {
  6228. var msg_OECDMsg = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_oecdyn");
  6229. //messageBox(msg_OECDMsg, "I999", "");
  6230. model.setvalue("/root/etc/union_msg" ,msg_OECDMsg + '\n' + model.getValue("/root/etc/union_msg"));
  6231. }
  6232. */
  6233. ///////////////외국인 OECD 회원국end/////////////////////
  6234. ///////////////B형수직감염(경북대 사용안함 20110401 cys)//////////////////////////////////
  6235. //경북대는 아래 성가병원것으로 예방접종계산됨
  6236. /*
  6237. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_vtclck") == "B형수직감염" && error_code =="") {
  6238. var msg_vtclck_uncoamt = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_vtclck_uncoamt");
  6239. var msg_vtclck_uncocd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_vtclck_uncocd");
  6240. var msg_vtclck_unconm = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_vtclck_unconm");
  6241. if(otpt_cnt == 1){
  6242. messageBox( msg_vtclck_unconm + " 처방이 존재합니다.\n" + msg_vtclck_unconm + " 처방의 금액(" +
  6243. msg_vtclck_uncoamt + "원)을 미수로 생성합니다.", "I999");
  6244. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" ,msg_vtclck_uncoamt);
  6245. model.setvalue("/root/main/outrgst/m_etc/uncocd" , msg_vtclck_uncocd);
  6246. fipt_uncocd();
  6247. fipt_uncoamt();
  6248. }
  6249. if(otpt_cnt > 1){
  6250. messageBox( msg_vtclck_unconm + " 처방이 존재합니다.\n" +
  6251. msg_vtclck_uncoamt + "원을 미수로 생성하여야하나 멀티수납이므로\n" +
  6252. "부분미수를 잡을수없습니다. 단일수납하십시오.", "I999");
  6253. }
  6254. //i22 B형수직감염
  6255. //i23 성폭력KIT
  6256. //i24 음주채혈
  6257. }
  6258. */
  6259. ///////////////B형수직감염끝////////////////////////////////
  6260. ///////////////성가병원 예방접종미수 체크///////////////////
  6261. if(caller == "클릭" || caller == "계산") {
  6262. var msg_prvntmedcamt = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_prvntmedcamt");
  6263. var msg_prvntmedccd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_prvntmedccd");
  6264. if (getNodesetCount("/root/hidden/rcv1/h_msg/msg/msg_prvntmedcdiscamt") > 0) {
  6265. var msg_prvntmedcdiscamt = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_prvntmedcdiscamt");
  6266. var msg_prvntmeddiscccd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_prvntmeddiscccd");
  6267. } else {
  6268. var msg_prvntmedcdiscamt = 0;
  6269. var msg_prvntmeddiscccd = "";
  6270. }
  6271. if( msg_prvntmedccd != "" && msg_prvntmedcamt > 0){
  6272. if (otpt_cnt == 1) {
  6273. messageBox( "예방접종미수" +msg_prvntmedccd+ " 처방이 존재합니다.\n예방접종미수처방의 금액(" +
  6274. msg_prvntmedcamt + "원)을 미수로 생성합니다.", "I999");
  6275. model.setvalue("/root/main/outrgst/m_etc/uncocd" , msg_prvntmedccd);
  6276. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" , msg_prvntmedcamt);
  6277. fipt_uncocd();
  6278. fipt_uncoamt();
  6279. }
  6280. if(otpt_cnt > 1){
  6281. messageBox( "예방접종미수" +msg_prvntmedccd+ " 처방이 존재합니다.\n" +
  6282. msg_prvntmedcamt + "원을 미수로 생성하여야하나 멀티수납이므로\n" +
  6283. "부분미수를 잡을수없습니다. 단일수납하십시오.", "I999");
  6284. }
  6285. }
  6286. //감면계정이 있을 경우 할인
  6287. //아래 주석문 부천성가에서 추가된거로 보이는데
  6288. //계정감면이 있고, 필수예방접종인 사람한테 돈을 오히려 돌려주는 케이스가 생겨서 추가된거같은데
  6289. //케이스 나오면 현업얘기듣고 수정하는게 나을거 같음. 현재 이해가 안가므로 일단 막음 20110401 cys
  6290. /*
  6291. if( msg_prvntmeddiscccd != "" && msg_prvntmedcdiscamt > 0){
  6292. if (otpt_cnt == 1) {
  6293. messageBox( "감면계정이 있는 환자에게 예방접종처방이 존재합니다.\n예방접종금액에서 예방접종미수를 제외한 본인부담금에서 할인금(" +
  6294. msg_prvntmedcdiscamt + "원)을 임의감면(" + msg_prvntmeddiscccd + ")으로 생성합니다.", "I999");
  6295. model.setvalue("/root/main/outrgst/m_etc/discreducd" , msg_prvntmeddiscccd);
  6296. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" , msg_prvntmedcdiscamt);
  6297. fipt_reducd();
  6298. fipt_reduamt();
  6299. }
  6300. if(otpt_cnt > 1){
  6301. messageBox( "예방접종미수" +msg_prvntmeddiscccd + " 처방이 존재합니다.\n" +
  6302. msg_prvntmedcdiscamt + "원을 임의감면으로 생성하여야하나 멀티수납이므로\n" +
  6303. "부분임의감면을 잡을수없습니다. 단일수납하십시오.", "I999");
  6304. }
  6305. }
  6306. */
  6307. }
  6308. ///////////////성가병원 예방접종미수 체크 끝///////////////////
  6309. ///////////////경대병원 선천성대사이상검사 미수 체크 시작///////////////////
  6310. if(caller == "클릭" || caller == "계산") {
  6311. var msg_inbornuncoamt = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_inbornuncoamt");
  6312. var msg_inbornuncocd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_inbornuncocd");
  6313. if (getNodesetCount("/root/hidden/rcv1/h_msg/msg/msg_inborndiscamt") > 0) {
  6314. var msg_inborndiscamt = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_inborndiscamt");
  6315. var msg_inborndiscccd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_inborndiscccd");
  6316. } else {
  6317. var msg_inborndiscamt = 0;
  6318. var msg_inborndiscccd = "";
  6319. }
  6320. if( msg_inbornuncocd != "" && msg_inbornuncoamt > 0){
  6321. if (otpt_cnt == 1) {
  6322. messageBox( "선천성대사이상검사미수" +msg_inbornuncocd+ " 처방이 존재합니다.\n선천성대사이상검사 금액(" +
  6323. msg_inbornuncoamt + "원)을 미수로 생성합니다.", "I999");
  6324. model.setvalue("/root/main/outrgst/m_etc/uncocd" , msg_inbornuncocd);
  6325. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" , msg_inbornuncoamt);
  6326. fipt_uncocd();
  6327. fipt_uncoamt();
  6328. }
  6329. if(otpt_cnt > 1){
  6330. messageBox( "선천성대사이상검사미수" +msg_inbornuncocd+ " 처방이 존재합니다.\n" +
  6331. msg_inbornuncoamt + "원을 미수로 생성하여야하나 멀티수납이므로\n" +
  6332. "부분미수를 잡을수없습니다. 단일수납하십시오.", "I999");
  6333. }
  6334. }
  6335. //감면계정이 있을 경우 할인
  6336. //아래 주석문 부천성가에서 추가된거로 보이는데
  6337. //계정감면이 있고, 필수예방접종인 사람한테 돈을 오히려 돌려주는 케이스가 생겨서 추가된거같은데
  6338. //케이스 나오면 현업얘기듣고 수정하는게 나을거 같음. 현재 이해가 안가므로 일단 막음 20110401 cys
  6339. /*
  6340. if( msg_prvntmeddiscccd != "" && msg_prvntmedcdiscamt > 0){
  6341. if (otpt_cnt == 1) {
  6342. messageBox( "감면계정이 있는 환자에게 예방접종처방이 존재합니다.\n예방접종금액에서 예방접종미수를 제외한 본인부담금에서 할인금(" +
  6343. msg_prvntmedcdiscamt + "원)을 임의감면(" + msg_prvntmeddiscccd + ")으로 생성합니다.", "I999");
  6344. model.setvalue("/root/main/outrgst/m_etc/discreducd" , msg_prvntmeddiscccd);
  6345. model.setvalue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" , msg_prvntmedcdiscamt);
  6346. fipt_reducd();
  6347. fipt_reduamt();
  6348. }
  6349. if(otpt_cnt > 1){
  6350. messageBox( "예방접종미수" +msg_prvntmeddiscccd + " 처방이 존재합니다.\n" +
  6351. msg_prvntmedcdiscamt + "원을 임의감면으로 생성하여야하나 멀티수납이므로\n" +
  6352. "부분임의감면을 잡을수없습니다. 단일수납하십시오.", "I999");
  6353. }
  6354. }
  6355. */
  6356. }
  6357. ///////////////경대병원 선천성대사이상검사 미수 체크 종료///////////////////
  6358. ///////////////독립유공자미수 체크/////////////////////////////
  6359. if(caller == "클릭" || caller == "계산") {
  6360. fCheckAutoUnco_rcpt();
  6361. }
  6362. ///////////////독립유공자미수 체크 끝//////////////////////////
  6363. ///////////////혈액대체처방 존재확인///////////////////
  6364. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_bldc") == "혈액대체처방존재") {
  6365. //messageBox("헌혈증 대체 가능한 내역이 있습니다.","I999","");
  6366. model.setvalue("/root/etc/union_msg" ,"헌혈증 대체 가능한 내역이 있습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  6367. }
  6368. ///////////////혈액대체처방 존재확인끝///////////////////
  6369. ///////////////정산시 ASIS,TOBE비교///////////////////
  6370. if(model.getvalue("/root/temp3/workgubn") == "N" && !model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_compare_oscl") == "") {
  6371. var msg_compare_oscl = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_compare_oscl");
  6372. var rtn = messageBox(msg_compare_oscl,"Q999","");
  6373. // Yes : 6 / No : 7 / Cancel : 2
  6374. if (rtn == 7) {
  6375. fCalcCancel();
  6376. }
  6377. }
  6378. ///////////////정산시 ASIS,TOBE비교 끝///////////////////
  6379. ///////////////일반의특진의변경여부///////////////////
  6380. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_specordyn") != "") {
  6381. var msg_specordyn = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_specordyn");
  6382. model.setvalue("/root/etc/union_msg" ,msg_specordyn + '\n' + model.getValue("/root/etc/union_msg"));
  6383. rdo_specordyn.disabled = false;
  6384. /*
  6385. var rtn = messageBox(msg_specordyn,"Q999","");
  6386. if (rtn == 6) {
  6387. rdo_specordyn.disabled = false;
  6388. }
  6389. if (rtn == 7) {
  6390. btn_rcpt.disabled = true;
  6391. }
  6392. */
  6393. }
  6394. ///////////////일반의특진의변경여부 끝///////////////////
  6395. ///////////////////////정신과 환자 보조유형과 수급절차 안맞는 케이스 체크//////////////////////////////
  6396. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_mental") != "") {
  6397. var msg_mental = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_mental");
  6398. messageBox(msg_mental,"E999","");
  6399. btn_rcpt.disabled = true;
  6400. }
  6401. ///////////////////////정신과 환자 보조유형과 수급절차 안맞는 케이스 체크 끝//////////////////////////////
  6402. //2011-12-02
  6403. //START 장기이식환자 희귀, 결핵 대불 되지 않도록 수정
  6404. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_tranyn") == "Y") {
  6405. var msg_mental = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_tranyn");
  6406. messageBox("장기이식 환자입니다. 희귀/결핵 대불금이 발생하면 안됩니다."
  6407. + "\n희귀난치여부를 확인하신 후 [정상]으로 변경 후 재계산하셔야 합니다!"
  6408. //+ "\n무시하고 계속 진행하시겠습니까?"
  6409. , "E999", "");
  6410. btn_rcpt.disabled = true;
  6411. return false;
  6412. }
  6413. //END 장기이식환자 희귀, 결핵 대불 되지 않도록 수정
  6414. ///////////////산정특례///////////////////
  6415. //2011-11-30 장기이식 기증자 체크되면 산정특례 체크 제외
  6416. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_estm") != "" && model.getValue("/root/option/otp_dnoryn") != "Y" ) {
  6417. var msg_estm = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_estm");
  6418. var rtn = messageBox(msg_estm,"Q999","");
  6419. if (rtn == 6) {
  6420. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_estmspclappyn='Y']")));
  6421. model.setvalue("/root/send/mth_nm" ,"setOtptEstm");
  6422. submit("TRPAO00127");
  6423. if(model.getvalue("/root/temp5/srdg/cnt") =="0") {
  6424. messageBox("유형변경 실패했습니다. 수동변경후 재계산하십시요.","I999");
  6425. return false;
  6426. }else{
  6427. messageBox("유형변경되었습니다.","I999");
  6428. if (model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6429. if (model.getValue("/root/temp3/workgubn") == "N") { messageBox("외래수납에서 수납하세요.","I999"); fCalcflagNSearch();}
  6430. if (model.getValue("/root/temp3/workgubn") == "E") fSearch();
  6431. return false;
  6432. }
  6433. }
  6434. }
  6435. ///////////////산정특례 끝///////////////////
  6436. ///////////////차상위 여부체크///////////////////
  6437. //2011-11-30 장기이식 기증자 체크되면 산정특례 체크 제외
  6438. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_scnd") != "" && model.getValue("/root/option/otp_dnoryn") != "Y" ) {
  6439. var msg_scnd = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_scnd");
  6440. var rtn = messageBox(msg_scnd,"Q999","");
  6441. var rtn_submit = false;
  6442. if (rtn == 6) {
  6443. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  6444. model.setvalue("/root/send/mth_nm" ,"setOtptScnd");
  6445. rtn_submit = submit("TRPAO00127");
  6446. if(model.getvalue("/root/temp5/srdg/cnt") =="0" || rtn_submit == false) {
  6447. messageBox("유형변경 실패했습니다. 수동변경후 재계산하십시요.","I999");
  6448. return false;
  6449. }else{
  6450. messageBox("유형변경되었습니다.","I999");
  6451. if (model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6452. if (model.getValue("/root/temp3/workgubn") == "N") { messageBox("외래수납에서 수납하세요.","I999"); fCalcflagNSearch();}
  6453. if (model.getValue("/root/temp3/workgubn") == "E") fSearch();
  6454. return false;
  6455. }
  6456. }
  6457. if (rtn == 7) {
  6458. return false;
  6459. }
  6460. }
  6461. ///////////////차상위 여부체크 끝///////////////////
  6462. ////////////// 장기기증 WoukUp 검증 ////////////////
  6463. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_workup") != "") {
  6464. var msg_mental = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_workup");
  6465. messageBox(msg_mental,"E999","");
  6466. btn_rcpt.disabled = true;
  6467. return false;
  6468. }
  6469. ////////////장기기증 WoukUp 검증 ////////////////
  6470. ///////////////카드승인금액비교 - 성가///////////////////
  6471. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_cardvan") != "") {
  6472. var msg_cardvan = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_cardvan");
  6473. var rtn = messageBox(msg_cardvan,"Q999","");
  6474. if (rtn == 7) {
  6475. return false;
  6476. }
  6477. }
  6478. ///////////////카드승인금액비교 - 성가 끝///////////////////
  6479. ///////////////선택진료체크///////////////////
  6480. if(caller == "수납" && model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_spec_orddrid") != "") {
  6481. // 전자동의서 태블릿이 설치되어있는 PC의 경우 전자동의서 호출 by 조중래 20130307
  6482. if (model.getValue("/root/init/basecdlist/PK018[cdid='" + app.clientIp + "']/cdnm") != "Y") {
  6483. //smpark 20090508 선택진료 체크
  6484. if (fCheckSpecOrdApp("M" , model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_spec_orddrid")) == true) {
  6485. if(getNodesetCount("/root/hidden/rcv1/h_msg/msg[msg_spec_orddrid !='']") == a){
  6486. return false;
  6487. }
  6488. }
  6489. } else {
  6490. if (fCheckSpecOrdAppE(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_spec_orddrid")) == true) {
  6491. if(getNodesetCount("/root/hidden/rcv1/h_msg/msg[msg_spec_orddrid !='']") == a){
  6492. return false;
  6493. }
  6494. }
  6495. }
  6496. }
  6497. ///////////////선택진료체크 끝///////////////////
  6498. ///////////////의사소견서///////////////////
  6499. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_drcm") == "의사소견서 및 타처방도 같이있습니다. 진찰료여부: 산정으로 변경하시겠습니까?") {
  6500. var rtn = messageBox(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_drcm"),"Q999","");
  6501. if (rtn == 6) {
  6502. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "Y");
  6503. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "00");
  6504. rdo_medamtestmyn.refresh();
  6505. cmb_medamtfreeresn.refresh();
  6506. btn_calc.dispatch("DOMActivate");
  6507. return false;
  6508. }
  6509. }
  6510. ///////////////의사소견서끝///////////////////
  6511. ///////////////방문간호지시서///////////////////
  6512. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_hocm") == "방문간호지시서 및 타처방도 같이있습니다. 진찰료여부: 산정으로 변경하시겠습니까?") {
  6513. var rtn = messageBox(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_hocm"),"Q999","");
  6514. if (rtn == 6) {
  6515. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtestmyn" , "Y");
  6516. model.setvalue("/root/main/outrgst/m_otpt/otpt/otpt_medamtfreeresn" , "00");
  6517. rdo_medamtestmyn.refresh();
  6518. cmb_medamtfreeresn.refresh();
  6519. btn_calc.dispatch("DOMActivate");
  6520. return false;
  6521. }
  6522. }
  6523. ///////////////방문간호지시서끝///////////////////
  6524. ///////////////환불건이면서 미수금이나 임의감액이 있는지 체크///////////////////
  6525. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_refundyn") != "") {
  6526. var msg_refundyn = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_refundyn");
  6527. var rtn = messageBox(msg_refundyn,"Q999","");
  6528. if (rtn == 7) {
  6529. return false;
  6530. }
  6531. }
  6532. ///////////////환불건이면서 미수금이나 임의감액이 있는지 체크 끝///////////////////
  6533. ///////////////재활미예약체크/////////////////////////////
  6534. //if(caller == "클릭") {
  6535. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_etcm") != "") {
  6536. var msg_etcm = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_etcm");
  6537. if(caller == "클릭") {
  6538. messageBox(msg_etcm, "E999", "");
  6539. }else{
  6540. //model.setvalue("/root/etc/union_msg" ,msg_etcm + '\n' + model.getValue("/root/etc/union_msg"));
  6541. var rtn = messageBox(msg_etcm + "\n[수납하시면 물리치료예약 변경 후 재수납 하셔야합니다]"
  6542. + "\n[YES : 수납, NO : 수납안함]", "Q999", "");
  6543. if (rtn == 7) {
  6544. return false;
  6545. }
  6546. }
  6547. }
  6548. //}
  6549. ///////////////재활미예약체크 끝//////////////////////////
  6550. // 환자 민원제기 여부 체크(2014/10/30 이정택)
  6551. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_minwon") != "") {
  6552. var msg_minwon = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_minwon");
  6553. if(caller == "클릭") {
  6554. messageBox(msg_minwon, "E999", "");
  6555. btn_calc.disabled = true;
  6556. return false;
  6557. }
  6558. }
  6559. // 환자 민원제기 여부 체크(2014/10/30 이정택)
  6560. // 초재진 구분 체크(2015/04/01 이정택)
  6561. /*
  6562. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_fsexamflag") != "") {
  6563. var msg_fsexamflag = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_fsexamflag");
  6564. if(caller == "클릭") {
  6565. messageBox(msg_fsexamflag, "E999", "");
  6566. // btn_calc.disabled = true;
  6567. return false;
  6568. }
  6569. }
  6570. */
  6571. // 초재진 구분 체크(2015/04/01 이정택)
  6572. //실시 정산 메시지 안내(/2015/06/04)
  6573. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_silsi") != "") {
  6574. var msg_silsi = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_silsi");
  6575. if(caller == "클릭") {
  6576. messageBox(msg_silsi, "E999", "");
  6577. return false;
  6578. }
  6579. }
  6580. if((caller == "클릭") && (model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_calcbaseflag") == "2")
  6581. && (model.getValue("/root/temp3/workgubn") != "E")){
  6582. messageBox("해당건은 실시정산건 입니다.","I999","");
  6583. return false;
  6584. }
  6585. //실시 정산 메시지 안내(/2015/06/04)
  6586. //2015/06/29 잠복결핵 환자 관련 메시지 설정
  6587. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_tube") != "") {
  6588. var msg_tube = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_tube");
  6589. if(caller == "클릭") {
  6590. messageBox(msg_tube, "I999", "");
  6591. btn_prcplist.dispatch("onclick");
  6592. btn_prcplist.dispatch("DOMActivate");
  6593. return false;
  6594. }
  6595. }
  6596. //2015/06/29 잠복결핵 환자 관련 메시지 설정
  6597. }
  6598. ///////////////MIG 연속처방 체크/////////////////////////
  6599. var otpt_mig = model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_mig");
  6600. var otpt_etcordflag = model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag");
  6601. if(otpt_mig != "") {
  6602. if(otpt_etcordflag == "M" || otpt_etcordflag == "J") {
  6603. //messageBox("데이터 전환된 연속검사 처방입니다.\n관련수납건을 함께 수납하십시요.","I999");
  6604. model.setvalue("/root/etc/union_msg" ,"데이터 전환된 연속검사 처방입니다.\n관련수납건을 함께 수납하십시요." + '\n' + model.getValue("/root/etc/union_msg"));
  6605. }
  6606. }
  6607. ///////////////MIG 연속처방 체크 끝//////////////////////
  6608. //2012-11-12 신규추가
  6609. //M005 환자의 경우 중증/희귀 상병이 아니면 적용 불가!
  6610. /* 2012-11-28 다시 원복 요청으로 주석처리
  6611. if(caller == "수납"){
  6612. //당일 체크
  6613. ///root/main/baseinfo/otpt_tday/otpt otpt_checkflag
  6614. var r_cnt = getNodesetCount("/root/main/baseinfo/otpt_tday/otpt/otpt_pid");
  6615. for( var loopcnt=1; loopcnt<=r_cnt; loopcnt++ ){
  6616. if( model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_checkflag") == "true" ){
  6617. if( model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_ownbflag") == "M005" ){
  6618. if( model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "06" //중증
  6619. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "07" //미등록암
  6620. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "11" //가정간호등록암
  6621. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "38" //차상위 2종 가정간호등록암
  6622. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "40" //차상위 2종 등록암
  6623. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "61" //중증화상
  6624. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "62" //가정간호 중증화상
  6625. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "63" //차상위 2종 중증화상
  6626. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "64" //차상위 2종 가정간호 중증화상
  6627. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "46" //차상위 2종 희귀난치산정특례
  6628. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "50" //희귀난치산정특례
  6629. && model.getValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_suppkind") != "51" //가정간호 희귀난치산정특례
  6630. ){
  6631. messageBox("본인부담면제코드 [M005] 대상환자는 [중증/희귀난치 상병[이 있을 때만 적용할 수 있습니다.\n본인부담면제코드를 자동 제외시킵니다. [재계산] 후 수납하세요!!", "E999", "");
  6632. model.setValue("/root/main/baseinfo/otpt_tday/otpt[" + loopcnt + "]/otpt_ownbflag", "-");
  6633. //외래수납은 재계산시에 '/root/main/outrgst/m_otpt/otpt/otpt_ownbflag' 노드의 값을 선택된 접수건에 업데이트 후
  6634. //수납이 진행되므로 해당 값도 '-' 로 업데이트 해야함.
  6635. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag", "-");
  6636. return false;
  6637. }
  6638. }
  6639. }
  6640. }
  6641. //과거 체크
  6642. r_cnt = getNodesetCount("/root/main/baseinfo/otpt_past/otpt/otpt_pid");
  6643. for( var loopcnt=1; loopcnt<=r_cnt; loopcnt++ ){
  6644. if( model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_checkflag") == "true" ){
  6645. if( model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_ownbflag") == "M005" ){
  6646. if( model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "06" //중증
  6647. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "07" //미등록암
  6648. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "11" //가정간호등록암
  6649. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "38" //차상위 2종 가정간호등록암
  6650. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "40" //차상위 2종 등록암
  6651. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "61" //중증화상
  6652. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "62" //가정간호 중증화상
  6653. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "63" //차상위 2종 중증화상
  6654. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "64" //차상위 2종 가정간호 중증화상
  6655. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "46" //차상위 2종 희귀난치산정특례
  6656. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "50" //희귀난치산정특례
  6657. && model.getValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_suppkind") != "51" //가정간호 희귀난치산정특례
  6658. ){
  6659. messageBox("본인부담면제코드 [M005] 대상환자는 [중증/희귀난치 상병[이 있을 때만 적용할 수 있습니다.\n본인부담면제코드를 자동 제외시킵니다. [재계산] 후 수납하세요!!", "E999", "");
  6660. model.setValue("/root/main/baseinfo/otpt_past/otpt[" + loopcnt + "]/otpt_ownbflag", "-");
  6661. //외래수납은 재계산시에 '/root/main/outrgst/m_otpt/otpt/otpt_ownbflag' 노드의 값을 선택된 접수건에 업데이트 후
  6662. //수납이 진행되므로 해당 값도 '-' 로 업데이트 해야함.
  6663. model.setValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag", "-");
  6664. return false;
  6665. }
  6666. }
  6667. }
  6668. }
  6669. }
  6670. */
  6671. }
  6672. //산정특례 중증체크 메세지처리
  6673. function fCheck_Srdg_Msg(caller) {
  6674. for(var a=1 ; a <= getNodesetCount("/root/hidden/rcv1/h_msg/msg/msg") ; a++) {
  6675. ///////////////산정특례 중증체크///////////////////
  6676. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_srdg") != "") {
  6677. var msg_srdg = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_srdg");
  6678. var msg_type = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_type");
  6679. if(msg_type == "Q"){ //에러메세지가 YN형식인 것
  6680. var rtn = messageBox(msg_srdg,"Q999","");
  6681. // Yes : 6 / No : 7 / Cancel : 2
  6682. if (rtn == 6) {
  6683. model.setvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_srdg" , "");
  6684. model.setvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_type" , "");
  6685. ipt_suppkind.disabled = false;
  6686. cmb_suppkind.disabled = false;
  6687. cmb_suppkindresn.disabled = false;
  6688. if(msg_srdg == "당일 Sign환자입니다. 중증으로 정산하시겠습니까?[2-1-1-나-ㄴ-A]" ||
  6689. msg_srdg == "당일 Sign환자입니다. 중증으로 정산하시겠습니까?[2-1-2-가-ㄴ-B-A]" ||
  6690. msg_srdg == "중증으로 정산하시겠습니까?[2-1-2-가-ㄴ-B-B]" ||
  6691. msg_srdg == "중증으로 정산하시겠습니까?[2-1-2-나]" ||
  6692. msg_srdg == "[중증]으로 정산하시겠습니까?[2-2-2-나]"
  6693. ){
  6694. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  6695. model.setvalue("/root/send/mth_nm" ,"setOtptSrdg");
  6696. submit("TRPAO00127");
  6697. if(model.getvalue("/root/temp5/srdg/cnt") =="0") {
  6698. messageBox("유형변경 실패했습니다. 수동변경후 재계산하십시오.","I999");
  6699. return false;
  6700. }else{
  6701. messageBox("유형변경되었습니다.","I999");
  6702. if (model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6703. if (model.getValue("/root/temp3/workgubn") == "N") { messageBox("외래수납에서 수납하십시오.","I999"); fCalcflagNSearch();}
  6704. if (model.getValue("/root/temp3/workgubn") == "E") fSearch();
  6705. return false;
  6706. }
  6707. }
  6708. }
  6709. if (rtn == 7) {
  6710. if( msg_srdg == "중증의뢰서가 작성되었습니다, 의뢰서 사인을 하십시오.\n사인하지 않고 수납을 계속 진행하시겠습니까?" ){
  6711. return false;
  6712. }
  6713. //if(caller == "수납") { return false; }
  6714. }
  6715. }
  6716. if(msg_type != "Q"){
  6717. var rtn = messageBox(msg_srdg,"I999","");
  6718. if(caller == "수납" && msg_type == "E") { return false; }
  6719. }
  6720. }
  6721. ///////////////산정특례 중증체크끝///////////////////
  6722. //20090701 2.희귀난치성산정특례 고시적용
  6723. if(model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_rooa") != "") {
  6724. var msg_rooa = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_rooa");
  6725. var msg_type = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_type");
  6726. var msg_suppkind = model.getvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_suppkind");
  6727. if(msg_type == "Q"){ //에러메세지가 YN형식인 것
  6728. var rtn = messageBox(msg_rooa,"Q999","");
  6729. // Yes : 6 / No : 7 / Cancel : 2
  6730. if (rtn == 6) {
  6731. model.setvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_rooa" , "");
  6732. model.setvalue("/root/hidden/rcv1/h_msg/msg[" + a + "]/msg_type" , "");
  6733. ipt_suppkind.disabled = false;
  6734. cmb_suppkind.disabled = false;
  6735. cmb_suppkindresn.disabled = false;
  6736. if(msg_rooa == "당일 Sign환자입니다. 희귀난치성산정특례로 정산하시겠습니까?[9]" ||
  6737. msg_rooa == "희귀난치성산정특례로 정산하시겠습니까?[10]" ||
  6738. //msg_rooa == "희귀난치성산정특례 의뢰서가 작성되었습니다, 의료정보팀에서 Sign하십시오. 진행하시겠습니까?[11]" ||
  6739. msg_rooa == "희귀난치성산정특례로 정산하시겠습니까?[12]" ||
  6740. msg_rooa == "희귀난치성산정특례로 정산하시겠습니까?[13]"
  6741. ){
  6742. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  6743. model.setvalue("/root/send/mth_nm" ,"setOtptRooa");
  6744. if (msg_suppkind == "" || msg_suppkind == null) {
  6745. model.setvalue("/root/send/updt_suppkind" ,"50");
  6746. } else {
  6747. model.setvalue("/root/send/updt_suppkind" ,msg_suppkind);
  6748. }
  6749. submit("TRPAO00127");
  6750. if(model.getvalue("/root/temp5/srdg/cnt") =="0") {
  6751. messageBox("유형변경 실패했습니다. 수동변경 후 재계산하십시오.","I999");
  6752. return false;
  6753. }else{
  6754. messageBox("유형변경되었습니다.","I999");
  6755. if (model.getValue("/root/temp3/workgubn") == "Y") fSearch();
  6756. if (model.getValue("/root/temp3/workgubn") == "N") { messageBox("외래수납에서 수납하십시오.","I999"); fCalcflagNSearch();}
  6757. if (model.getValue("/root/temp3/workgubn") == "E") fSearch();
  6758. return false;
  6759. }
  6760. }
  6761. }
  6762. if (rtn == 7) {
  6763. if (msg_rooa == "희귀난치성산정특례 의뢰서가 작성되었습니다, \n의뢰서 사인을 하십시오.\n사인하지 않고 수납을 계속 진행하시겠습니까?") {
  6764. return false;
  6765. } else {
  6766. //if(caller == "수납") { return false; }
  6767. }
  6768. }
  6769. }
  6770. if(msg_type != "Q"){
  6771. var rtn = messageBox(msg_rooa,"I999","");
  6772. if((caller == "수납" || caller == "클릭") && msg_type == "E") { return false; }
  6773. }
  6774. }
  6775. }
  6776. }
  6777. function fDisplayAmt_pamjs() {
  6778. var opmi_rcptexptamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt");
  6779. if(model.getValue("/root/hidden/session/userid") == "DEV206") return;
  6780. if(opmi_rcptexptamt == "") return;
  6781. //금액표시기 초기화
  6782. fInit_Display();
  6783. //금액표시기 포트열기
  6784. fOpenCom();
  6785. //금액표시기 표시
  6786. if(model.getValue("/root/hidden/session/dutplceinstcd") == "017"){
  6787. //조영상 2009/09/29 빈센트병원 테스트를 위해서 임시로 추가
  6788. fDisplayAmt(model.getValue("/root/main/patinfo/patinfolist/hngnm"),opmi_rcptexptamt,model.getValue("/root/hidden/session/usernm"),model.getValue("/root/hidden/session/dutplceinstcd"));
  6789. }else{
  6790. fDisplayAmt(model.getValue("/root/main/patinfo/patinfolist/hngnm"),opmi_rcptexptamt,model.getValue("/root/hidden/session/usernm"));
  6791. }
  6792. //금액표시기 포트닫기
  6793. fCloseCom();
  6794. }
  6795. //계산
  6796. function fCalculation(param){
  6797. if(!fCheckPsnRetireInfo()){
  6798. if( messageBox("감면정보를 수정하지 않고 수가계산을", "Q003", "") != 6 ){
  6799. return false;
  6800. }
  6801. }
  6802. model.setValue("/root/hidden/calcgubn", "Y");
  6803. // Y-수납
  6804. if(model.getValue("/root/temp3/workgubn") == "Y"){
  6805. fCalculate(param);
  6806. }
  6807. // N-정산
  6808. if(model.getValue("/root/temp3/workgubn") == "N"){
  6809. fCalcflagNCalculate(param);
  6810. }
  6811. // E-실시정산
  6812. if(model.getValue("/root/temp3/workgubn") == "E"){
  6813. fCalcflagNCalculate(param);
  6814. submit("TRPAO00116");
  6815. fEactlistClick0();
  6816. }
  6817. }
  6818. //그리드에 외래내역을 전부 체크
  6819. function fAllCheck(gridID) {
  6820. var gridObj = document.controls.item(gridID);
  6821. var gridObj_rows = gridObj.rows -1 ;
  6822. var instanceId = "";
  6823. if (gridID == "grd_past") {
  6824. instanceId = "otpt_past";
  6825. }
  6826. if (gridID == "grd_rsrv") {
  6827. instanceId = "otpt_rsrv";
  6828. }
  6829. if (gridID == "grd_tday") {
  6830. instanceId = "otpt_tday";
  6831. }
  6832. if (gridID == "grd_calcflagn") {
  6833. instanceId = "otpt_calcflagn";
  6834. }
  6835. if(gridObj_rows <= 1) {
  6836. return;
  6837. }
  6838. //전체선택으로 선택된 외래내역은 checkflag_all을 박아준다. 나중에 에러날시 해당건만 롤백해야하니깐.
  6839. for(var a=1; a<= gridObj_rows; a++) {
  6840. if(model.getValue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag") != "true"){
  6841. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag","true");
  6842. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag_all" ,"true");
  6843. gridObj.row = a;
  6844. }
  6845. }
  6846. if(!fClickGrid(gridID)){
  6847. //선택한 외래내역이 에러날시 위에 checkflag_all에서 체크해놓은건만 체크 푼다.
  6848. for(var a=1; a<= gridObj_rows; a++) {
  6849. if(model.getvalue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag_all") == "true") {
  6850. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag","false");
  6851. }
  6852. }
  6853. }
  6854. //마지막으로 checkflag_all을 모두 초기화한다.
  6855. for(var a=1; a<= gridObj_rows; a++) {
  6856. model.setValue("/root/main/baseinfo/"+instanceId+"/otpt[" + a + "]/otpt_checkflag_all","");
  6857. }
  6858. fCItemRefresh();
  6859. }
  6860. function fbtn_chk_all_cncl() {
  6861. if(grd_rsrv.rows > 1) {
  6862. gridID = "grd_rsrv";
  6863. grd_rsrv.row = grd_rsrv.rows;
  6864. }else if(grd_tday.rows > 1) {
  6865. gridID = "grd_tday";
  6866. grd_tday.row = grd_tday.rows;
  6867. }else if(grd_past.rows > 1) {
  6868. gridID = "grd_past";
  6869. grd_past.row = grd_past.rows;
  6870. }else{
  6871. return;
  6872. }
  6873. for(var a=1; a< grd_past.rows; a++) {
  6874. model.setValue("/root/main/baseinfo/otpt_past/otpt[" + a + "]/otpt_checkflag","false");
  6875. }
  6876. for(var a=1; a< grd_rsrv.rows; a++) {
  6877. model.setValue("/root/main/baseinfo/otpt_rsrv/otpt[" + a + "]/otpt_checkflag","false");
  6878. }
  6879. for(var a=1; a< grd_tday.rows; a++) {
  6880. model.setValue("/root/main/baseinfo/otpt_tday/otpt[" + a + "]/otpt_checkflag","false");
  6881. }
  6882. fClickGrid(gridID);
  6883. fLItemRefresh();
  6884. fRItemRefresh();
  6885. fCItemRefresh();
  6886. }
  6887. /**
  6888. * 전체선택
  6889. * @return
  6890. */
  6891. function fbtn_chk_all_sel_act() {
  6892. for(var a=1; a< grd_prcplist.rows; a++) {
  6893. model.setValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_calcstat","true");
  6894. }
  6895. model.refreshpart("/root/hidden/rcv/h_prcp/prcp");
  6896. }
  6897. /**
  6898. * 전체해제
  6899. * @return
  6900. */
  6901. function fbtn_chk_all_cncl_act() {
  6902. for(var a=1; a< grd_prcplist.rows; a++) {
  6903. if (model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_forcecalcyn") == "Y" &&
  6904. model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_prcphistcd") == "D"){ // 처방이 DC난 경우 해제 불가
  6905. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_calcstat","true");
  6906. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_forcecalcyn") == "Y" &&
  6907. model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_execdd") != ""){ // 실시 완료된 경우 해제 불가
  6908. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_calcstat","true");
  6909. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_forcecalcyn") == "Y" &&
  6910. model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_rcptdd") != ""){ // 수납 완료된 경우 해제 불가
  6911. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_calcstat","true");
  6912. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_forcecalcyn") == "Y" &&
  6913. model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_hosinhosoutflag") == "원외"){ // 원외 처방인 경우 해제 불가
  6914. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_calcstat","true");
  6915. }else{
  6916. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_calcstat","false");
  6917. }
  6918. }
  6919. model.refreshpart("/root/hidden/rcv/h_prcp/prcp");
  6920. }
  6921. function fopmi_removemask() {
  6922. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_reduamt").removeMask(","));
  6923. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt").removeMask(","));
  6924. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_mdlrcptamt").removeMask(","));
  6925. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt").removeMask(","));
  6926. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt").removeMask(","));
  6927. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt" ,model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt").removeMask(","));
  6928. }
  6929. function fOpener() {
  6930. if (checkOpener()){
  6931. ipt_pid.value = opener.window.javascript.getParameter("ipt_pid");
  6932. event.keyCode = "13";
  6933. ipt_pid.dispatch("onkeypress");
  6934. }
  6935. }
  6936. //좌측하단 버튼 모음강제로 풀어버리기 기능
  6937. function fLeftBtnTip() {
  6938. ipt_fromdd.disabled = false;
  6939. ipt_todd.disabled = false;
  6940. rdo_specordyn.disabled = false;
  6941. rdo_medamtestmyn.disabled = false;
  6942. cmb_medamtfreeresn.disabled = false;
  6943. cmb_fsexamflag.disabled = false;
  6944. ipt_ordreqformflag.disabled = false;
  6945. cmb_ordreqformflag.disabled = false;
  6946. chk_fsexammanlyn.disabled = false;
  6947. rdo_handicaprbookpossnyn.disabled = false;
  6948. cmb_hndc_handcapgrde.disabled = false;
  6949. ipt_disccd.disabled = false;
  6950. cmb_disccd.disabled = false;
  6951. cmb_hosoutexptresncd.disabled = false;
  6952. cmb_rsrvflag.disabled = false;
  6953. cmb_etcordflag.disabled = false;
  6954. cmb_clincstdyacptflag.disabled = false;
  6955. }
  6956. function fHoldExop() {
  6957. var grd_row = grd_prcplist.row;
  6958. //Hold 체크 되거나 체크 풀 경우
  6959. //이미 수납된 것은 HOLD 할 수 없다.
  6960. //처방계산내역 [HOLD]체크 시, 처방성이 아니면, 홀드처리할 수 없다.
  6961. // 필수계산대상 처방점검으로 대체 by 조중래 20140410
  6962. if (grd_row >0 ) {
  6963. // var vcheck_prcphistcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_prcphistcd");
  6964. // var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_rcptstatcd");
  6965. // var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_execdd");
  6966. // var vcheck_rsrvflag = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_rsrvflag");
  6967. /* 2015/02/12 필수수납 처방이라도 원무과 직원이 강제로 체크 해제 할 수 있도록 프로그램 수정(이정택)
  6968. var vcheck_forcecalcyn = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn");
  6969. // 필수계산 대상 처방 점검
  6970. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat") == "false"
  6971. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn") == "Y") {
  6972. messageBox("필수계산 대상입니다.\r\n(필수계산 대상이 아닌것만 선택해제 가능합니다.)","E999");
  6973. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat","true");
  6974. return;
  6975. }
  6976. */
  6977. // 2015/02/13 이정택 추가(DC, 수납, 실시의 경우는 체크 해제 하지 못하도록 수정)
  6978. // 처방 DC의 경우 블럭킹 처리
  6979. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat") == "false"
  6980. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn") == "Y"
  6981. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_prcphistcd") == "D") {
  6982. messageBox("필수계산 대상입니다.\r\n(DC상태인 경우 해제 불가능합니다.)","E999");
  6983. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat","true");
  6984. return;
  6985. }
  6986. // 실시 일자가 들어간 경우 블럭킹 처리
  6987. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat") == "false"
  6988. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn") == "Y"
  6989. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_execdd") != "") {
  6990. messageBox("필수계산 대상입니다.\r\n(실시상태인 경우 해제 불가능합니다.)","E999");
  6991. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat","true");
  6992. return;
  6993. }
  6994. // 수납일자가 들어간 경우 블럭킹 처리
  6995. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat") == "false"
  6996. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn") == "Y"
  6997. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_rcptdd") != "") {
  6998. messageBox("필수계산 대상입니다.\r\n(수납상태인 경우 해제 불가능합니다.)","E999");
  6999. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat","true");
  7000. return;
  7001. }
  7002. // 원외 일 경우는 해제 불가처리
  7003. if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat") == "false"
  7004. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_forcecalcyn") == "Y"
  7005. && model.getValue("/root/hidden/rcv/h_prcp/prcp[" + grd_row + "]/prcp_hosinhosoutflag") == "원외") {
  7006. messageBox("필수계산 대상입니다.\r\n(원외 처방인 경우 해제 불가능합니다.)","E999");
  7007. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat","true");
  7008. return;
  7009. }
  7010. //2015/01/28 이정택(체크 상태값이 변경되면 수납 버튼을 비활성화 처리)
  7011. if(grd_prcplist.col==grd_prcplist.colRef("prcp_calcstat")){
  7012. btn_rcpt.disabled=true;
  7013. }
  7014. // if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_calcstat")=="true") {
  7015. // //정상처방상태 DC인지 체크
  7016. // if ( vcheck_prcphistcd != "O" ) {
  7017. // messageBox("처방상태만 [HOLD]처리할 수 있습니다.(처방상태가 아닌것은 계산에서 제외됩니다)","E999");
  7018. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_holdyn","false");
  7019. // return;
  7020. // }
  7021. //
  7022. // if (vcheck_rcptstatcd == "210" ) {
  7023. // messageBox("[HOLD]중인 처방입니다.","E999");
  7024. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_holdyn","false");
  7025. // return;
  7026. // }
  7027. //
  7028. // //성가병원 Y 나머지병원 N
  7029. // if(model.getvalue("/root/init/basecdlist/P0032[cdid='120']/cdnm") == "N") {
  7030. //
  7031. // if ( vcheck_rcptstatcd == "230") {
  7032. // messageBox("수납 처리된 처방입니다.","E999");
  7033. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_holdyn","false");
  7034. // return;
  7035. // }
  7036. // }
  7037. //
  7038. // if ( vcheck_execdd != "" ) {
  7039. // messageBox("지원부서에서 진행중인 처방입니다.","E999");
  7040. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_holdyn","false");
  7041. // return;
  7042. // }
  7043. //
  7044. // if ( vcheck_rcptstatcd == "230" && vcheck_rsrvflag == "Y" ) {
  7045. // messageBox("지원부서에서 수납후 예약한 처방입니다.","E999");
  7046. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_holdyn","false");
  7047. // return;
  7048. // }
  7049. //
  7050. // }
  7051. //
  7052. // if (model.getValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_releyn")=="true") {
  7053. //
  7054. // if ( vcheck_prcphistcd != "O" ) {
  7055. // messageBox("처방상태만 [RELEASE]처리할 수 있습니다.(처방상태가 아닌것은 계산에서 제외됩니다)","E999");
  7056. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_releyn","false");
  7057. // return;
  7058. // }
  7059. //
  7060. // if ( vcheck_rcptstatcd != "210" ) {
  7061. // messageBox("[HOLD]처리가 안된 처방입니다.","E999");
  7062. // model.setValue("/root/hidden/rcv/h_prcp/prcp["+ grd_row +"]/prcp_releyn","false");
  7063. // return;
  7064. // }
  7065. // }
  7066. grd_prcplist.refresh();
  7067. }
  7068. }
  7069. //처방 홀드 "H" "R" 전체선택
  7070. function fAllCheck_prcplist() {
  7071. if(grd_prcplist.col=="1" && grd_prcplist.row=="0" ){
  7072. fAllCheck_prcplist_h()
  7073. }
  7074. if(grd_prcplist.col=="2" && grd_prcplist.row=="0" ){
  7075. fAllCheck_prcplist_r()
  7076. }
  7077. }
  7078. /**
  7079. * 클릭한 처방이 M-SET 처방인지 체크하여 블럭킹 처리
  7080. * @return
  7081. */
  7082. function fMsetCheck(){
  7083. //debugger;
  7084. if(grd_prcplist.row>=grd_prcplist.fixedRows){
  7085. var prcp_msetcd = model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_msetcd");
  7086. if(model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat")=="true" &&
  7087. model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_msetyn")=="M"){
  7088. var cnt = getNodesetCount("/root/hidden/rcv/h_prcp/prcp[prcp_msetyn='S' and prcp_calcstat='false' and prcp_msetcd='"+prcp_msetcd+"']");
  7089. if(cnt>0){
  7090. messageBox("M-SET처방 중 선택되지 않은 자처방이 존재시\n모처방은 선택 불가능 합니다.", "E");
  7091. model.setValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat", "false");
  7092. model.refresh();
  7093. }
  7094. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat")=="false" &&
  7095. model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_msetyn")=="M"){
  7096. var cnt = getNodesetCount("/root/hidden/rcv/h_prcp/prcp[prcp_msetyn='S' and prcp_calcstat='false' and prcp_msetcd='"+prcp_msetcd+"']");
  7097. if(cnt==0){
  7098. messageBox("자처방이 모두 선택된 M-SET에 대해서\n모처방은 해제 불가능합니다.", "E");
  7099. model.setValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat", "true");
  7100. model.refresh();
  7101. }
  7102. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat")=="true" &&
  7103. model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_msetyn")=="S"){
  7104. var cnt = getNodesetCount("/root/hidden/rcv/h_prcp/prcp[prcp_msetyn='S' and prcp_calcstat='false' and prcp_msetcd='"+prcp_msetcd+"']");
  7105. if(cnt==0){
  7106. var row = grd_prcplist.findRow("M", 0, grd_prcplist.colRef("prcp_msetyn"), false, true);
  7107. while(row!="-1"){
  7108. if(grd_prcplist.valueMatrix(row, grd_prcplist.colRef("prcp_msetcd"))==prcp_msetcd){
  7109. grd_prcplist.valueMatrix(row, grd_prcplist.colRef("prcp_calcstat"))="true";
  7110. model.refresh();
  7111. break;
  7112. }
  7113. row++;
  7114. row = grd_prcplist.findRow("M", row, grd_prcplist.colRef("prcp_msetyn"), false, true);
  7115. }
  7116. }
  7117. }else if(model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_calcstat")=="false" &&
  7118. model.getValue("/root/hidden/rcv/h_prcp/prcp['"+grd_prcplist.row+"']/prcp_msetyn")=="S"){
  7119. var row = grd_prcplist.findRow("M", 0, grd_prcplist.colRef("prcp_msetyn"), false, true);
  7120. while(row!="-1"){
  7121. if(grd_prcplist.valueMatrix(row, grd_prcplist.colRef("prcp_msetcd"))==prcp_msetcd){
  7122. grd_prcplist.valueMatrix(row, grd_prcplist.colRef("prcp_calcstat"))="false";
  7123. model.refresh();
  7124. break;
  7125. }
  7126. row++;
  7127. row = grd_prcplist.findRow("M", row, grd_prcplist.colRef("prcp_msetyn"), false, true);
  7128. }
  7129. }
  7130. }
  7131. }
  7132. //처방 홀드 "H" 전체선택
  7133. function fAllCheck_prcplist_h() {
  7134. var cnt = 0;
  7135. var bl_hflag = "false";
  7136. if(getNodesetCount("/root/hidden/rcv/h_prcp/prcp[prcp_holdyn='true']") == 0){
  7137. bl_hflag = "true";
  7138. }
  7139. for(var a=1; a< grd_prcplist.rows; a++) {
  7140. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_rcptstatcd");
  7141. var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_execdd");
  7142. var vcheck_rsrvflag = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_rsrvflag");
  7143. var bl_rcptstatcd = (vcheck_rcptstatcd == "000" || vcheck_rcptstatcd == "230") ;
  7144. //성가병원 Y 나머지병원 N
  7145. if(model.getvalue("/root/init/basecdlist/P0032[cdid='120']/cdnm") == "N") {
  7146. bl_rcptstatcd = (vcheck_rcptstatcd == "000");
  7147. }
  7148. if( bl_rcptstatcd &&
  7149. vcheck_execdd == "" &&
  7150. !(vcheck_rcptstatcd == "230" && vcheck_rsrvflag == "Y")
  7151. ) {
  7152. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_holdyn",bl_hflag);
  7153. }
  7154. }
  7155. grd_prcplist.refresh();
  7156. }
  7157. //처방 홀드 "R" 전체선택
  7158. function fAllCheck_prcplist_r() {
  7159. var cnt = 0;
  7160. var bl_rflag = "false";
  7161. if(getNodesetCount("/root/hidden/rcv/h_prcp/prcp[prcp_releyn='true']") == 0){
  7162. bl_rflag = "true";
  7163. }
  7164. for(var a=1; a< grd_prcplist.rows; a++) {
  7165. var vcheck_rcptstatcd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_rcptstatcd");
  7166. //var vcheck_execdd = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_execdd");
  7167. //var vcheck_rsrvflag = model.getValue("/root/hidden/rcv/h_prcp/prcp[" + a + "]/prcp_rsrvflag");
  7168. var bl_rcptstatcd = (vcheck_rcptstatcd == "210") ;
  7169. if( bl_rcptstatcd ) {
  7170. model.setValue("/root/hidden/rcv/h_prcp/prcp["+ a +"]/prcp_releyn",bl_rflag);
  7171. }
  7172. }
  7173. grd_prcplist.refresh();
  7174. }
  7175. //부분수납조회
  7176. function fbtn_prcplist() {
  7177. //2015/02/13 이정택(부분수납 클릭시 수납버튼 비활성화_홍나래 선생님 요청)
  7178. btn_rcpt.disabled=true;
  7179. //2015/02/13 이정택
  7180. if (model.getValue("/root/main/patinfo/patinfolist/pid").getTrim() == "") {
  7181. model.setFocus("ipt_pid");
  7182. return;
  7183. }
  7184. //선택된 내역 체크
  7185. if (model.getValue("/root/hidden/rcv1/sum_otpt/otpt/otpt_orddd").getTrim() == "") {
  7186. messageBox("외래등록내역이 선택되어 있는지 확인하십시오.","E999","");
  7187. btn_otptlist.dispatch("onclick");
  7188. return;
  7189. }
  7190. //부분수납에 추가(미계산일때 부분수납 안보임.
  7191. model.copynode("/root/send/s_otpt" , "/root/node_bk/send/s_otpt");
  7192. model.removenode("/root/send/s_otpt/otpt");
  7193. copyNodeListType("/root/send/s_otpt","/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']","after");
  7194. //미수납처방조회
  7195. submit("TRPAO00107");
  7196. grd_diag.rebuild();
  7197. grd_prcplist.rebuild();
  7198. grd_earnlist1.rebuild();
  7199. //기존 바탕색 clear
  7200. for(var i=0; i <= grd_prcplist.rows ; i++){
  7201. for(var j=0; j <= grd_prcplist.cols ; j++){
  7202. grd_prcplist.cellStyle("background-color",i,j) = "#ffffff";
  7203. }
  7204. }
  7205. setRowStyle("grd_prcplist" , "0" , "" , "prcp_execdd", "bigger" ); // 실시
  7206. setRowStyle("grd_prcplist" , "1" , "" , "prcp_rcptdd", "bigger" ); // 수납
  7207. setRowStyle("grd_prcplist" , "3" , "210" , "prcp_rcptstatcd"); // HOLD
  7208. //setRowStyle("grd_prcplist" , "3" , "200" , "prcp_prcpstatcd");
  7209. //setRowStyle("grd_prcplist" , "9" , "000" , "prcp_prcpstatcd");
  7210. }
  7211. function fptinBackUp() {
  7212. //보험자정보 업데이트용 백업본
  7213. model.setValue("/root/main/outrgst/ptin/ptin_insukind_org" , model.getValue("/root/main/outrgst/ptin/ptin_insukind" ));
  7214. model.setValue("/root/main/outrgst/ptin/ptin_insucd_org" , model.getValue("/root/main/outrgst/ptin/ptin_insucd" ));
  7215. model.setValue("/root/main/outrgst/ptin/ptin_insuno_org" , model.getValue("/root/main/outrgst/ptin/ptin_insuno" ));
  7216. model.setValue("/root/main/outrgst/ptin/ptin_insdrela_org" , model.getValue("/root/main/outrgst/ptin/ptin_insdrela" ));
  7217. model.setValue("/root/main/outrgst/ptin/ptin_insdnm_org" , model.getValue("/root/main/outrgst/ptin/ptin_insdnm" ));
  7218. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno1_org", model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno1"));
  7219. model.setValue("/root/main/outrgst/ptin/ptin_insdrrgstno2_org", model.getValue("/root/main/outrgst/ptin/ptin_insdrrgstno2"));
  7220. model.setValue("/root/main/outrgst/ptin/ptin_fromdd_org" , model.getValue("/root/main/outrgst/ptin/ptin_fromdd" ));
  7221. model.setValue("/root/main/outrgst/ptin/ptin_todd_org" , model.getValue("/root/main/outrgst/ptin/ptin_todd" ));
  7222. }
  7223. //환자 인적정보 변경
  7224. function fbtn_ptbs() {
  7225. if(fBrthddVeri(model.getValue("/root/main/patinfo/patinfolist/brthdd"),ipt_brthdd) == false) return; //2010-01-19 김주희 DUR관련 생년월일체크
  7226. model.makeValue("/root/send/pid" ,model.getValue("/root/main/patinfo/patinfolist/pid"));
  7227. model.makeValue("/root/send/sex" ,model.getValue("/root/main/patinfo/patinfolist/sex"));
  7228. model.makeValue("/root/send/hngnm" ,model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  7229. model.makeValue("/root/send/engnm" ,model.getValue("/root/main/patinfo/patinfolist/engnm"));
  7230. model.makeValue("/root/send/rrgstno1" ,model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  7231. model.makeValue("/root/send/rrgstno2" ,model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  7232. model.makeValue("/root/send/brthdd" ,model.getValue("/root/main/patinfo/patinfolist/brthdd"));
  7233. model.makeValue("/root/send/recmyn" ,model.getValue("/root/main/patinfo/patinfolist/recmyn"));
  7234. model.makeValue("/root/send/recmerid" ,model.getValue("/root/main/patinfo/patinfolist/recmerid"));
  7235. model.makeValue("/root/send/recmerrela" ,model.getValue("/root/main/patinfo/patinfolist/recmerrela"));
  7236. model.makeValue("/root/send/vipyn" ,model.getValue("/root/main/patinfo/patinfolist/vipyn"));
  7237. model.makeValue("/root/send/viprem" ,model.getValue("/root/main/patinfo/patinfolist/viprem"));
  7238. model.makeValue("/root/send/forgeryn" ,model.getValue("/root/main/patinfo/patinfolist/forgeryn"));
  7239. model.makeValue("/root/send/remfact" ,model.getValue("/root/main/patinfo/patinfolist/remfact"));
  7240. model.setvalue("/root/send/mth_nm" ,"setPtbsInfo");
  7241. var rslt = submit("TRPAO00127");
  7242. if (rslt ) {
  7243. messageBox("수정되었습니다.","I999","");
  7244. }else{
  7245. messageBox("수정실패!","I999","");
  7246. }
  7247. }
  7248. //옵션창 불러오기
  7249. function foption() {
  7250. grp_option.attribute("visibility") = "visible";
  7251. }
  7252. //옵션창 끄기
  7253. function fbtn_grpclose() {
  7254. grp_option.attribute("visibility") = "hidden";
  7255. }
  7256. //진료비 조회기능 off
  7257. function fbl_srchoff() {
  7258. if(model.getValue("/root/option/opt_srchoff") == "Y") {
  7259. grd_past.refresh();
  7260. grd_rsrv.refresh();
  7261. grd_tday.refresh();
  7262. btn_calc.disabled = true;
  7263. btn_rcpt.disabled = true;
  7264. btn_calc.refresh();
  7265. btn_rcpt.refresh();
  7266. return true;
  7267. }else{
  7268. return false;
  7269. }
  7270. }
  7271. //옵션창 조회버튼
  7272. function fbtn_opt_search() {
  7273. if(model.getvalue("/root/option/opt_regis") == "Y") {
  7274. fbtn_grpclose();
  7275. //fpid_check();
  7276. fCalcCancel("auto");
  7277. fOtpt_Search();
  7278. model.setValue("/root/option/opt_regis" , "N");
  7279. model.setValue("/root/option/opt_srchoff" , "N");
  7280. bl_callregis.refresh();
  7281. bl_srchoff.refresh();
  7282. return;
  7283. }
  7284. if(model.getvalue("/root/option/opt_srchoff") == "Y") {
  7285. if(!fRightAmtRefresh()) {
  7286. btn_calc.disabled = true;
  7287. btn_rcpt.disabled = true;
  7288. btn_calc.refresh();
  7289. btn_rcpt.refresh();
  7290. }
  7291. return;
  7292. }
  7293. if(model.getvalue("/root/option/opt_kioskyn") == "Y") {
  7294. model.setvalue("/root/send/pid" , model.getvalue("/root/main/patinfo/patinfolist/pid"));
  7295. model.setvalue("/root/send/sessuserid" , model.getValue("/root/hidden/session/userid"));
  7296. model.setvalue("/root/send/sessinstcd" , model.getValue("/root/hidden/session/dutplceinstcd"));
  7297. model.makevalue("/root/send/kioskioflag" , "O");
  7298. model.makevalue("/root/send/checkyn" , "N");
  7299. model.makevalue("/root/send/gubun" , model.getValue("/root/option/opt_kioskgubun"));
  7300. submit("TXPAO99906");
  7301. if(getNodesetCount("/root/main/rsv/h_opmi/opmi[error != '']") > 0) {
  7302. messageBox(model.getvalue("/root/init/basecdlist/kioskyn[cdid = '"+
  7303. model.getValue("/root/main/rsv/h_opmi/opmi/error")+ "']/detldesc").removeMask("죄송합니다.수납창구에서 번호표를 뽑고 대기하십시오") +
  7304. " 무인수납불가","I999");
  7305. }else{
  7306. messageBox("무인수납가능","I999");
  7307. }
  7308. return;
  7309. }
  7310. }
  7311. //우측금액 재조회
  7312. function fRightAmtRefresh() {
  7313. var click_flag = true;
  7314. if (getNodesetCount("/root/main/baseinfo/otpt_rsrv/otpt[otpt_checkflag='true']") > 0) {
  7315. click_flag = fClickGrid("grd_rsrv");
  7316. return click_flag;
  7317. }
  7318. if (getNodesetCount("/root/main/baseinfo/otpt_tday/otpt[otpt_checkflag='true']") > 0) {
  7319. click_flag = fClickGrid("grd_tday");
  7320. return click_flag;
  7321. }
  7322. if (getNodesetCount("/root/main/baseinfo/otpt_past/otpt[otpt_checkflag='true']") > 0) {
  7323. click_flag = fClickGrid("grd_past");
  7324. return click_flag;
  7325. }
  7326. }
  7327. //환불금 서명
  7328. function fRtnRcpt(flag) {
  7329. if(model.getValue("/root/main/patinfo/patinfolist/pid") == null ||
  7330. (model.getValue("/root/main/patinfo/patinfolist/pid")).getTrim == ""){
  7331. messageBox("환자번호가 존재하지 않습니다.", "E999");
  7332. }
  7333. if(flag== "1"){
  7334. var sValue = flag + "▦" + //1.환불내역 조회용 2.환불수납후 호출용
  7335. model.getValue("/root/hidden/session/dutplceinstcd") + "▦" + //기관코드
  7336. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //환자등록번호
  7337. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //환자성명
  7338. model.getValue("/root/main/patinfo/patinfolist/rrgstno1") + "▦" + //주민등록번호 앞자리
  7339. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민등록번호뒷자리
  7340. model.getValue("/root/main/patinfo/patinfolist/hometel") + "▦" + //집전화
  7341. model.getValue("/root/main/patinfo/patinfolist/mpphontel") + "▦" + //휴대폰
  7342. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //진료일
  7343. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //일련번호
  7344. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  7345. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddrid") + "▦" + //진료의
  7346. "" + "▦" + //환불금액
  7347. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦" + //보험유형
  7348. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordtype") ; //진료유형
  7349. setParameter("SPPAO00600_PARM",sValue);
  7350. modal("SPPAO00600", "1","50", "50", "SPPAO00600", "", "", "sysmenu:hidden");
  7351. }else if(flag== "2"){
  7352. var sCardAmt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cardamt");
  7353. var sCashAmt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt");
  7354. var sOnlineAmt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_onlineamt");
  7355. if(sCashAmt + sCardAmt + sOnlineAmt >0 ){
  7356. return;
  7357. }else{
  7358. var rtn = messageBox("환불내역을 등록 하시겠습니까?", "Q999");
  7359. if(rtn == "7"){ //아니오
  7360. var iRtnAmt = parseInt(sCashAmt);
  7361. if (iRtnAmt < 0) {
  7362. var rtn1 = messageBox("환불 현금금액(" + iRtnAmt + "원)을 선수금으로 처리 하시겠습니까?", "Q999");
  7363. if (rtn1 == "6" ) {
  7364. model.makeValue("/root/send/ins_bogj/ins_pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  7365. model.makeValue("/root/send/ins_bogj/ins_rcptdd", "");
  7366. model.makeValue("/root/send/ins_bogj/ins_rcptno", 0);
  7367. model.makeValue("/root/send/ins_bogj/ins_rcptseqno", 0);
  7368. model.makeValue("/root/send/ins_bogj/ins_sessinstcd", model.getValue("/root/hidden/session/dutplceinstcd"));
  7369. model.makeValue("/root/send/ins_bogj/ins_rcptstat", "Y");
  7370. model.makeValue("/root/send/ins_bogj/ins_ordtype", "O")
  7371. model.makeValue("/root/send/ins_bogj/ins_rcptflag", "A01");
  7372. model.makeValue("/root/send/ins_bogj/ins_cashamt", parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")));
  7373. model.makeValue("/root/send/ins_bogj/ins_cardamt", 0);
  7374. model.makeValue("/root/send/ins_bogj/ins_onlineamt", 0);
  7375. model.makeValue("/root/send/ins_bogj/ins_rcptexecdd", "");
  7376. model.makeValue("/root/send/ins_bogj/ins_rcpttm", "");
  7377. model.makeValue("/root/send/ins_bogj/ins_rcptrid", "");
  7378. model.makeValue("/root/send/ins_bogj/ins_remfact", "외래수납 자동환불 선수금");
  7379. model.makeValue("/root/send/ins_bogj/ins_orddeptcd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd"));
  7380. model.makeValue("/root/send/ins_bogj/ins_paypsnflag", "1");
  7381. model.makeValue("/root/send/ins_bogj/ins_paydepoamt", 0);
  7382. model.makeValue("/root/send/ins_bogj/ins_paypsnrem", "");
  7383. submit("TXPAO01800");
  7384. model.resetInstanceNode("/root/send/ins_bogj");
  7385. }
  7386. }
  7387. return;
  7388. }else if(rtn == "6"){
  7389. var sValue = flag + "▦" + //1.환불내역 조회용 2.환불수납후 호출용
  7390. model.getValue("/root/hidden/session/dutplceinstcd") + "▦" + //기관코드
  7391. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //환자등록번호
  7392. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //환자성명
  7393. model.getValue("/root/main/patinfo/patinfolist/rrgstno1") + "▦" + //주민등록번호 앞자리
  7394. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민등록번호뒷자리
  7395. model.getValue("/root/main/patinfo/patinfolist/hometel") + "▦" + //집전화
  7396. model.getValue("/root/main/patinfo/patinfolist/mpphontel") + "▦" + //휴대폰
  7397. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //진료일
  7398. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //일련번호
  7399. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  7400. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddrid") + "▦" + //진료의
  7401. Math.abs(parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_cashamt")))+ "▦" + //환불금액
  7402. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦" + //보험유형
  7403. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordtype") ; //진료유형
  7404. setParameter("SPPAO00600_PARM",sValue);
  7405. modal("SPPAO00600", "1","50", "50", "SPPAO00600", "", "", "sysmenu:hidden");
  7406. }//환불수납여부 체크 end
  7407. }//환불금액 존재여부 end
  7408. }
  7409. }//fRtnRcpt end
  7410. function fEasyPadNoInsert(flag, ipt1, ipt2){
  7411. //flag ://rrgstno.민번 phone.전번
  7412. //ipt1 : 인풋버튼명 예)ipt_rrgstno1
  7413. //ipt2 : 인풋버튼명 예)ipt_rrgstno2
  7414. //[0]정상처리여부 구분
  7415. //[1]phone -- 전번 rrgstno--민번
  7416. //[2]phone 일때는 전번 rrgstno 일때는 앞자리
  7417. //[3]phone 일때는 없음 rrgstno 일때는 뒷자리
  7418. var sValue = flag ; //rrgstno.민번 phone.전번
  7419. setParameter("SPPAO00503_PARM",sValue);//1.전번 2.민번
  7420. modal("../../../pam/inordamtmngtweb/xrw/SPPAO00503", "1","", "", "SPPAO00503", "", "", "sysmenu:hidden");
  7421. var SPPAO00503_RTN = getParameter("SPPAO00503_RTN");
  7422. var array_parm = SPPAO00503_RTN.split("▦");
  7423. if(array_parm[0] == "Y"){
  7424. if (array_parm[1] == "phone" ) { //전번
  7425. if(array_parm[2] != "") {
  7426. model.setvalue("/root/init/option/cardyn", "N");
  7427. frdo_cardyn();
  7428. frdo_cardyn_setamt();
  7429. model.setValue("/root/main/outrgst/m_etc/cardno", array_parm[2]);
  7430. model.setFocus("btn_rcpt");
  7431. ipt1.value = array_parm[2];
  7432. ipt1.refresh();
  7433. }
  7434. }else if (array_parm[1] == "rrgstno" ) { //민번
  7435. ipt1.value = array_parm[2];
  7436. ipt2.value = array_parm[3];
  7437. ipt1.refresh();
  7438. ipt2.refresh();
  7439. model.setFocus("ipt_rrgstno2");
  7440. }
  7441. }else{
  7442. messageBox("팝업 비정상종료","E999");
  7443. }
  7444. }
  7445. function fipt_reducd(){
  7446. //코드를 입력했을 때 코드명 세팅
  7447. if(getNodesetCount("/root/init/basecdlist/reducd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/discreducd")+ "']/cls") < 1) {
  7448. model.setValue("/root/main/outrgst/m_etc/discreducd" , "");
  7449. messageBox("임의감면 코드가 존재하지 않습니다.","E999");
  7450. ipt_reducd.refresh();
  7451. cmb_reducd.refresh();
  7452. model.setFocus("cmb_reducd");
  7453. model.setFocus("ipt_reducd");
  7454. return;
  7455. }
  7456. model.setValue("/root/main/outrgst/m_etc/disccls", model.getValue("/root/init/basecdlist/reducd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/discreducd")+ "']/cls") );
  7457. cmb_reducd.refresh();
  7458. }
  7459. function fipt_uncocd(){
  7460. //코드를 입력했을 때 코드명 세팅
  7461. if(getNodesetCount("/root/init/basecdlist/uncocd[cdid = '"+ model.getValue("/root/main/outrgst/m_etc/uncocd")+ "']/cls") < 1) {
  7462. model.setValue("/root/main/outrgst/m_etc/uncocd", "");
  7463. messageBox("미수코드가 존재하지 않습니다.", "E999");
  7464. ipt_uncocd.refresh();
  7465. cmb_uncocd.refresh();
  7466. model.setFocus("ipt_uncocd");
  7467. return;
  7468. }
  7469. // 미수코드를 체크
  7470. /*
  7471. var pid = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_pid");
  7472. var orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  7473. var orddeptcd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd");
  7474. var insukind = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind");
  7475. var uncocd = model.getValue("/root/main/outrgst/m_etc/uncocd");
  7476. if(uncocd == "A43" || uncocd == "A44" || uncocd == "A45"){
  7477. var sRtn = fUncoCdCheck(pid, orddd, orddeptcd, insukind, uncocd);
  7478. if(!sRtn){
  7479. //model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", 0);
  7480. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")!="" && model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd")!="-"){
  7481. model.makeValue("/root/main/outrgst/m_etc/uncocd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_uncocd"));
  7482. }else{
  7483. model.makeValue("/root/main/outrgst/m_etc/uncocd", "");
  7484. }
  7485. cmb_uncocd.refresh();
  7486. ipt_uncocd.refresh();
  7487. ipt_uncoamt.refresh();
  7488. //return;
  7489. }
  7490. }
  7491. */
  7492. // 미수코드를 체크
  7493. cmb_uncocd.refresh();
  7494. cmb_uncocd.dispatch("xforms-value-changed");
  7495. }
  7496. //재원여부
  7497. function fGetInptInfo(){
  7498. if(getNodesetCount("/root/hidden/item1/pidinfo/h_inpt/inpt/pid") > 0){
  7499. var inpt_ordtype = model.getValue("/root/hidden/item1/pidinfo/h_inpt/inpt/ordtype");
  7500. var inpt_brateflag = model.getValue("/root/hidden/item1/pidinfo/h_inpt/inpt/brateflag");
  7501. var inpt_dschnotiyn = model.getValue("/root/hidden/item1/pidinfo/h_inpt/inpt/dschnotiyn");
  7502. if( inpt_dschnotiyn == 'Y'){
  7503. messageBox("["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 입원수납할 내역이 있습니다. \n입원수납 후 진행하세요!","E999");
  7504. model.setvalue("/root/etc/union_msg" ,"["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 입원수납할 내역이 있습니다. \n입원수납 후 진행하세요!" + '\n' + model.getValue("/root/etc/union_msg"));
  7505. }else{
  7506. if( (inpt_ordtype == "I" && inpt_brateflag == "I") ||(inpt_ordtype == "E" && inpt_brateflag == "I")){
  7507. //messageBox("["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 재원 중인 환자입니다.","E999");
  7508. model.setvalue("/root/etc/union_msg" ,"["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 재원 중인 환자입니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7509. }
  7510. if(inpt_ordtype == "D"){
  7511. //messageBox("["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 당일 DSC/CHEMO 환자입니다!","E999");
  7512. model.setvalue("/root/etc/union_msg" ,"["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 당일 DSC/CHEMO 환자입니다!" + '\n' + model.getValue("/root/etc/union_msg"));
  7513. }
  7514. }
  7515. }
  7516. }
  7517. //가퇴원여부
  7518. function fGetInptInfo_c() {
  7519. if (getNodesetCount("/root/hidden/item1/pidinfo/h_inptc/inptc/pid") > 0){
  7520. var sIndd = model.getValue("/root/hidden/item1/pidinfo/h_inptc/inptc/indd");
  7521. var sDschdd = model.getValue("/root/hidden/item1/pidinfo/h_inptc/inptc/dschdd");
  7522. if (model.getValue("/root/hidden/item1/pidinfo/h_inptc/inptc/dschjudgprcsstat") == "C" || model.getValue("/root/hidden/item1/pidinfo/h_inptc/inptc/dschjudgprcsstat") == "E") {
  7523. //messageBox("["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 [" + sIndd + " ~ " + sDschdd + "] 가퇴원한 환자(퇴원심사 완료) 입니다.","E999");
  7524. model.setvalue("/root/etc/union_msg" , "["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 [" + sIndd + " ~ " + sDschdd + "] 가퇴원한 환자(퇴원심사 완료) 입니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7525. } else {
  7526. //messageBox("["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 [" + sIndd + " ~ " + sDschdd + "] 가퇴원한 환자(퇴원심사 미완료) 입니다.","E999");
  7527. model.setvalue("/root/etc/union_msg" , "["+model.getValue("/root/main/patinfo/patinfolist/hngnm")+"] 환자는 [" + sIndd + " ~ " + sDschdd + "] 가퇴원한 환자(퇴원심사 미완료) 입니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7528. }
  7529. }
  7530. }
  7531. //접수비중복체크
  7532. function fGetDupOtpt() {
  7533. var duplCnt = getNodesetCount("/root/hidden/item1/pidinfo/h_otptduplhist/otptduplhist/otpt_pid");
  7534. if( duplCnt > 1 ){
  7535. messageBox("동일일자 동일과 접수비 이중 수납건이 있습니다.\n처리 후 진행 부탁드립니다.", "E");
  7536. setParameter("SMPMO01600_PARM", model.getValue("/root/hidden/item1/pidinfo/h_otptduplhist/otptduplhist/otpt_pid"));
  7537. modal("SPPMO01600", "1","200", "200", "SPPMO01600", "", "");
  7538. if(submit("TRPAO00134")){
  7539. if(getNodesetCount("/root/temp99/h_otptduplhist/otptduplhist/otpt_pid")>1){
  7540. messageBox("동일일자 동일과 접수비 이중 수납건이 처리되지 않았습니다.", "E");
  7541. return false;
  7542. }
  7543. }
  7544. /*if( messageBox("동일일자 동일과 접수비 이중 수납내역이 있습니다. 내역을 확인하시겠습니까?", "Q999", "") == 6 ){
  7545. setParameter("SMPMO01600_PARM", model.getValue("/root/hidden/item1/pidinfo/h_otptduplhist/otptduplhist/otpt_pid"));
  7546. modal("SPPMO01600", "1","200", "200", "SPPMO01600", "", "");
  7547. }*/
  7548. }
  7549. return true;
  7550. }
  7551. //타병원투석 변경 당일
  7552. function fSetSuppkindsubyn_grd_tday() {
  7553. if (model.getValue("/root/main/patinfo/patinfolist/pid") == "") {
  7554. messageBox("환자조회 후 진행하여 주십시오.", "I999", "");
  7555. return;
  7556. }
  7557. if (messageBox("타병원투석 변경시 선택하신 접수내역은 희귀난치산정특례 체크를 하지 않습니다. 진행하시겠습니까?", "Q999", "") == 6 ) {
  7558. var currow = grd_tday.row;
  7559. model.makeValue("/root/send/data2/pid", model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_pid"));
  7560. model.makeValue("/root/send/data2/orddd", model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_orddd"));
  7561. model.makeValue("/root/send/data2/cretno", model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_cretno"));
  7562. model.makeValue("/root/send/data2/instcd", model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_instcd"));
  7563. submit("TXPAO00112");
  7564. fSearch();
  7565. }
  7566. }
  7567. //타병원투석 변경 미래
  7568. function fSetSuppkindsubyn_grd_rsrv() {
  7569. if (model.getValue("/root/main/patinfo/patinfolist/pid") == "") {
  7570. messageBox("환자조회 후 진행하여 주십시오.", "I999", "");
  7571. return;
  7572. }
  7573. if (messageBox("타병원투석 변경시 선택하신 접수내역은 희귀난치산정특례 체크를 하지 않습니다. 진행하시겠습니까?", "Q999", "") == 6 ) {
  7574. var currow = grd_rsrv.row;
  7575. model.makeValue("/root/send/data2/pid", model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_pid"));
  7576. model.makeValue("/root/send/data2/orddd", model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_orddd"));
  7577. model.makeValue("/root/send/data2/cretno", model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_cretno"));
  7578. model.makeValue("/root/send/data2/instcd", model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_instcd"));
  7579. submit("TXPAO00112");
  7580. fSearch();
  7581. }
  7582. }
  7583. //타병원투석 변경 과거
  7584. function fSetSuppkindsubyn_grd_past() {
  7585. if (model.getValue("/root/main/patinfo/patinfolist/pid") == "") {
  7586. messageBox("환자조회 후 진행하여 주십시오.", "I999", "");
  7587. return;
  7588. }
  7589. if (messageBox("타병원투석 변경시 선택하신 접수내역은 희귀난치산정특례 체크를 하지 않습니다. 진행하시겠습니까?", "Q999", "") == 6 ) {
  7590. var currow = grd_past.row;
  7591. model.makeValue("/root/send/data2/pid", model.getValue("/root/main/baseinfo/otpt_past/otpt["+ currow +"]/otpt_pid"));
  7592. model.makeValue("/root/send/data2/orddd", model.getValue("/root/main/baseinfo/otpt_past/otpt["+ currow +"]/otpt_orddd"));
  7593. model.makeValue("/root/send/data2/cretno", model.getValue("/root/main/baseinfo/otpt_past/otpt["+ currow +"]/otpt_cretno"));
  7594. model.makeValue("/root/send/data2/instcd", model.getValue("/root/main/baseinfo/otpt_past/otpt["+ currow +"]/otpt_instcd"));
  7595. submit("TXPAO00112");
  7596. fSearch();
  7597. }
  7598. }
  7599. //선후불변경 당일
  7600. function fSetMedAmtPostYN_grd_tday() {
  7601. var currow = grd_tday.row;
  7602. var pid = model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_pid");
  7603. var orddd = model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_orddd");
  7604. var cretno = model.getValue("/root/main/baseinfo/otpt_tday/otpt["+ currow +"]/otpt_cretno");
  7605. var retValue = fSetMedAmtPostYN(pid, orddd, cretno);
  7606. if( retValue){
  7607. fSearch();
  7608. return true;
  7609. }else{
  7610. return false;
  7611. }
  7612. }
  7613. //선후불변경 예약
  7614. function fSetMedAmtPostYN_grd_rsrv() {
  7615. var currow = grd_rsrv.row;
  7616. var pid = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_pid");
  7617. var orddd = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_orddd");
  7618. var cretno = model.getValue("/root/main/baseinfo/otpt_rsrv/otpt["+ currow +"]/otpt_cretno");
  7619. var retValue = fSetMedAmtPostYN(pid, orddd, cretno);
  7620. if( retValue){
  7621. fSearch();
  7622. return true;
  7623. }else{
  7624. return false;
  7625. }
  7626. }
  7627. //당일자격여부조회
  7628. function fToday_ProdCheck() {
  7629. //2012-01-11 신생아 체크시 자격조회 패스
  7630. if(model.getvalue("/root/option/otp_newbornyn") == "Y") {
  7631. return true;
  7632. }
  7633. if(model.getvalue("/root/hidden/rcv1/h_msg/msg/msg_proc") == "N") {
  7634. if( model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "11" ||
  7635. model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "21" ||
  7636. model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "22") {
  7637. var msgtype = model.getvalue("/root/init/basecdlist/P0032[cdid='300']/cdnm");
  7638. if( msgtype == 'Q' ){
  7639. if( messageBox("자격조회를 하신적이 없습니다. 자격조회를 하시겠습니까?", "Q999", "") == 6 ){
  7640. // Yes : 6 / No : 7
  7641. fbtn_proc2();
  7642. if(btn_rcpt.disabled == true){
  7643. model.setFocus("btn_calc");
  7644. }else{
  7645. model.setFocus("btn_rcpt");
  7646. }
  7647. return false;
  7648. }
  7649. }else{
  7650. if( messageBox("자격조회를 하신적이 없습니다. 자격조회를 하겠습니다.\n공단자격과 현재 보험 유형이 같은지 확인하세요!", "I999", "")){
  7651. // Yes : 6 / No : 7
  7652. fbtn_proc2();
  7653. if(btn_rcpt.disabled == true){
  7654. model.setFocus("btn_calc");
  7655. }else{
  7656. model.setFocus("btn_rcpt");
  7657. }
  7658. return false;
  7659. }
  7660. }
  7661. //2011-12-14 원무팀 요청으로 공단자격조회 하지 않은 경우 자동으로 자격조회!
  7662. }
  7663. }else if(model.getvalue("/root/hidden/rcv1/h_msg/msg/msg_proc") == "E") {
  7664. if( model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "11" ||
  7665. model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "21" ||
  7666. model.getvalue("/root/hidden/rcv1/h_opmi/opmi/opmi_insukind") == "22") {
  7667. var msgs = model.getvalue("/root/hidden/rcv1/h_msg/msg/msg_procmsg");
  7668. var msgtype = model.getvalue("/root/hidden/rcv1/h_msg/msg/msg_proctype");
  7669. if( msgtype == 'Q' ){
  7670. msgs = msgs + "\n무시하고 계속 수납하시겠습니까?\n[Yes : 수납, No : 중지]";
  7671. if (messageBox(msgs, "Q999", "") != 6 ){
  7672. return false;
  7673. }
  7674. }else{
  7675. messageBox(msgs, "E999", "");
  7676. return false;
  7677. }
  7678. }
  7679. }
  7680. }
  7681. //자보,산재 등록내역 시작일자,종료일자 조회
  7682. function fCheckAutoInduInsu_O() {
  7683. var sNewLine = "\n";
  7684. var iCount = getNodesetCount("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm/pid");
  7685. if (iCount > 0) {
  7686. var sMessage = "자보/산재 등록정보" + sNewLine + sNewLine;
  7687. var sInsuNm = "";
  7688. for (var idx = 1 ; idx <= iCount ; idx++) {
  7689. var sInsuKind = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/insukind");
  7690. var sOrdType = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/ordtype");
  7691. var sFromdd = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/fromdd");
  7692. var sTodd = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/todd");
  7693. var sSuppKind = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/suppkind");
  7694. var sOrdDeptCD = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/orddeptcd");
  7695. var sInsucdnm = model.getValue("/root/hidden/item1/pidinfo/h_aipmicpm/aipmicpm[" + idx + "]/insucdnm");
  7696. if (sInsuKind == "31") {
  7697. sInsuNm = "자보";
  7698. sMessage += "[" + sInsuNm + "] 승인기간[" + sFromdd + "~" + sTodd +"] - " + sInsucdnm;
  7699. sMessage += sNewLine;
  7700. }
  7701. if (sInsuKind == "41") {
  7702. sInsuNm = "산재";
  7703. sMessage += "[" + sInsuNm + "/" + sSuppKind + "]" + " [" + sOrdDeptCD + "] 승인시작[" + sFromdd + "] 승인종료 [" + sTodd +"]" + " " + sOrdType;
  7704. sMessage += sNewLine;
  7705. }
  7706. }
  7707. messageBox(sMessage, "I");
  7708. // 자보의 경우 사고접수정보가 복수건 존재할 수 있으므로 수납자에게 알림처리 by 조중래 20130704
  7709. if (sInsuKind == "31" && iCount > 1) {
  7710. messageBox("자보 사고접수정보가 복수건 존재합니다. \r\n\r\n자보담당자 확인 후 유효한 접수정보로 진행하십시오", "I000");
  7711. }
  7712. }
  7713. }
  7714. /*
  7715. * 선택진료신청서 체크/등록 - OCR
  7716. */
  7717. function fCheckSpecOrdApp(flag, msg_spec_orddrid){
  7718. if(flag == "M"){
  7719. var bChk = false;
  7720. var iCount = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt");
  7721. for(var i=1; i<=iCount; i++){
  7722. // 2014/12/24 다학제의 경우 주과에 대해서만 선택진료 동의서 팝업이 뜨도록 프로그램 수정
  7723. var etcordflag = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+i+"]/otpt_etcordflag"); // 다학제 여부
  7724. var medamtestmyn= model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+i+"]/otpt_medamtestmyn"); // 진료비 산정여부
  7725. if((etcordflag=='4' || etcordflag=='5') && medamtestmyn=='N'){
  7726. continue;
  7727. }
  7728. // 2014/12/24 다학제의 경우 주과에 대해서만 선택진료 동의서 팝업이 뜨도록 프로그램 수정
  7729. if(model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddrid") == msg_spec_orddrid){
  7730. var sOrddeptcdMsg = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddeptcdnm");
  7731. var sOrddridMsg = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddridnm");
  7732. sMsg = "[" + sOrddeptcdMsg + "] [" + sOrddridMsg + "]";
  7733. if(messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까? \n내역 변경시 재계산 하셔야 합니다.", "Q999", "") == 6){
  7734. /*
  7735. model.makeValue("/root/tempchk/specchk/stat" , "");
  7736. model.makeValue("/root/tempchk/specchk/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  7737. model.makeValue("/root/tempchk/specchk/hngnm" , model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  7738. model.makeValue("/root/tempchk/specchk/rrgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  7739. model.makeValue("/root/tempchk/specchk/rrgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  7740. model.makeValue("/root/tempchk/specchk/choiflag" , "");
  7741. model.makeValue("/root/tempchk/specchk/ordtype" , "O");
  7742. model.makeValue("/root/tempchk/specchk/orddd" , getCurrentDate());
  7743. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddeptcd"));
  7744. model.makeValue("/root/tempchk/specchk/orddrid" , model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddrid"));
  7745. if(model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_specordyn") != "N"){
  7746. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  7747. }else{
  7748. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  7749. }
  7750. model.makeValue("/root/tempchk/specchk/fromdd", getCurrentDate());
  7751. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  7752. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  7753. */
  7754. var s_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  7755. var s_ordtype = "O";
  7756. var s_orddd = getCurrentDate();
  7757. var s_orddeptcd = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddeptcd");
  7758. var s_orddrid = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddrid");
  7759. var s_fromdd = getCurrentDate();
  7760. var s_hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  7761. var s_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  7762. var s_rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  7763. var s_cretno = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_cretno");
  7764. //선택진료신청안내창 열기
  7765. fOpenSPIFInfo();
  7766. fCallSpecPopUp(s_pid, s_ordtype, s_orddd, s_orddeptcd, s_orddrid, s_fromdd, s_hngnm, s_rrgstno1, s_rrgstno2, s_cretno);
  7767. //선택진료신청안내창 닫기
  7768. fCloseSPIFInfo();
  7769. bChk = true;
  7770. }
  7771. break;
  7772. }else if(model.getValue("/root/tempchk/specapp/rgstyn") == "-"){ //자동조회 하지 않음.
  7773. return false;
  7774. }
  7775. }
  7776. if(bChk == true){
  7777. return true;
  7778. }else{
  7779. return false;
  7780. }
  7781. }else if(flag == "E"){
  7782. /*
  7783. model.makeValue("/root/tempchk/specchk/stat" , "");
  7784. model.makeValue("/root/tempchk/specchk/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  7785. model.makeValue("/root/tempchk/specchk/hngnm" , model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  7786. model.makeValue("/root/tempchk/specchk/rrgstno1" , model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  7787. model.makeValue("/root/tempchk/specchk/rrgstno2" , model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  7788. model.makeValue("/root/tempchk/specchk/choiflag" , "");
  7789. model.makeValue("/root/tempchk/specchk/ordtype" , "O");
  7790. model.makeValue("/root/tempchk/specchk/orddd" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  7791. model.makeValue("/root/tempchk/specchk/orddeptcd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd"));
  7792. model.makeValue("/root/tempchk/specchk/orddrid" , model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddrid"));
  7793. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_specordyn") != "N") {
  7794. model.makeValue("/root/tempchk/specchk/specordyn", "Y");
  7795. }else{
  7796. model.makeValue("/root/tempchk/specchk/specordyn", "N");
  7797. }
  7798. model.makeValue("/root/tempchk/specchk/fromdd", model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd"));
  7799. model.makeValue("/root/tempchk/specchk/rsrvdd", "");
  7800. modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
  7801. */
  7802. var s_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  7803. var s_ordtype = "O";
  7804. var s_orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  7805. var s_orddeptcd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd");
  7806. var s_orddrid = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddrid");
  7807. var s_fromdd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  7808. var s_cretno = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno");
  7809. var s_hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  7810. var s_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  7811. var s_rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  7812. //전자동의서 태블릿이 설치된 PC에서는 안내창 보이지 않도록 수정
  7813. if(model.getValue("/root/init/basecdlist/PK018[cdid='" + app.clientIp + "']/cdnm") != "Y"){
  7814. //선택진료신청안내창 열기
  7815. fOpenSPIFInfo();
  7816. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  7817. //선택진료신청안내창 닫기
  7818. fCloseSPIFInfo();
  7819. }else{
  7820. fCallSpecPopUp(s_pid,s_ordtype,s_orddd,s_orddeptcd,s_orddrid,s_fromdd,s_hngnm,s_rrgstno1,s_rrgstno2,s_cretno);
  7821. }
  7822. }
  7823. }
  7824. /*
  7825. * 선택진료신청서 체크/등록 - 전자동의서 추가 by 조중래 20130307
  7826. */
  7827. function fCheckSpecOrdAppE(msg_spec_orddrid){
  7828. var bChk = false;
  7829. var iCount = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt");
  7830. //2014/10/13 이정택 선택진료 신청서 두번 뜨는 현상 수정
  7831. sortNodeList( "/root/hidden/rcv1/sum_otpt/otpt", "otpt_orddd", "asc");
  7832. //2014/10/13 이정택 선택진료 신청서 두번 뜨는 현상 수정
  7833. for(var i=1; i<=iCount; i++){
  7834. // 2014/12/24 다학제의 경우 주과에 대해서만 선택진료 동의서 팝업이 뜨도록 프로그램 수정
  7835. var etcordflag = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+i+"]/otpt_etcordflag"); // 다학제 여부
  7836. var medamtestmyn= model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+i+"]/otpt_medamtestmyn"); // 진료비 산정여부
  7837. if((etcordflag=='4' || etcordflag=='5') && medamtestmyn=='N'){
  7838. continue;
  7839. }
  7840. // 2014/12/24 다학제의 경우 주과에 대해서만 선택진료 동의서 팝업이 뜨도록 프로그램 수정
  7841. if(model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddrid") == msg_spec_orddrid){
  7842. var sOrddeptcdMsg = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddeptcdnm");
  7843. var sOrddridMsg = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddridnm");
  7844. sMsg = "[" + sOrddeptcdMsg + "] [" + sOrddridMsg + "]";
  7845. if(messageBox(sMsg + " 선택진료 등록이 되어 있지 않습니다. 등록하시겠습니까? \n내역 변경시 재계산 하셔야 합니다.", "Q999", "") == 6){
  7846. var s_instcd = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_instcd");
  7847. var s_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  7848. var s_ordtype = "O";
  7849. var s_orddd = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddd");
  7850. var s_orddeptcd = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddeptcd");
  7851. var s_orddrid = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddrid");
  7852. var s_fromdd = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_orddd");
  7853. var s_cretno = model.getValue("/root/hidden/rcv1/sum_otpt/otpt["+ i +"]/otpt_cretno");
  7854. var s_hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  7855. var s_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  7856. var s_rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  7857. var s_detladdr = model.getValue("/root/main/patinfo/patinfolist/detladdr");
  7858. var s_hometel = model.getValue("/root/main/patinfo/patinfolist/hometel");
  7859. //전자동의서 파라미터 설정
  7860. setParameter("SSMRC03160_param_patid", s_pid);
  7861. setParameter("SSMRC03160_param_cretno", s_cretno);
  7862. setParameter("SSMRC03160_param_indate", s_orddd);
  7863. setParameter("SSMRC03160_param_instcd", s_instcd);
  7864. setParameter("SSMRC03160_param_class", s_ordtype);
  7865. setParameter("SSMRC03160_param_docucd", "1300013647"); //1300013647 선택진료신청서(원무)
  7866. setParameter("SSMRC03160_param_cuser", getUserId());
  7867. setParameter("SSMRC03160_param_flag", "S"); //S:선택진료신청서, A:입원약정서, T:기간약정서
  7868. //환자 기본정보 설정
  7869. setParameter("SSMRC03160_param_pathngnm", s_hngnm);
  7870. setParameter("SSMRC03160_param_pataddr", s_detladdr);
  7871. setParameter("SSMRC03160_param_pattelno", s_hometel);
  7872. setParameter("SSMRC03160_param_patrrgstno", s_rrgstno1 + "-" + s_rrgstno2);
  7873. //주진료과정보 설정 진료과/의사
  7874. var sSpecordyn = model.getValue("/root/init/basecdlist/orddrid[cdid = '" + s_orddrid + "' and dutplcecd = '" + s_orddeptcd + "']/specordyn");
  7875. model.makeValue("/root/main/inform/orddeptnm", sOrddeptcdMsg);
  7876. model.makeValue("/root/main/inform/orddrnm", sOrddridMsg);
  7877. model.makeValue("/root/main/inform/specordyn", sSpecordyn);
  7878. model.makeValue("/root/main/inform/appdd", getCurrentDate());
  7879. //전자동의서 팝업 호출
  7880. modal("SSMRC03160");
  7881. bChk = true;
  7882. }
  7883. break;
  7884. }else if(model.getValue("/root/tempchk/specapp/rgstyn") == "-"){ //자동조회 하지 않음.
  7885. return false;
  7886. }
  7887. }
  7888. if(bChk == true){
  7889. return true;
  7890. }else{
  7891. return false;
  7892. }
  7893. }
  7894. //응급실 내원내역 체크(1주일 이전)
  7895. function fCheckERInfo() {
  7896. if (getNodesetCount("/root/hidden/item1/pidinfo/h_erpat/erpat/pid") > 0 ) {
  7897. var orddd = model.getValue("/root/hidden/item1/pidinfo/h_erpat/erpat/orddd");
  7898. var erorddeptcd = model.getValue("/root/hidden/item1/pidinfo/h_erpat/erpat/erorddeptcd");
  7899. //messageBox(orddd + "" + erorddeptcd + " 응급실 내원환자입니다.", "I999", "");
  7900. model.setvalue("/root/etc/union_msg" ,orddd + "" + erorddeptcd + " 응급실 내원환자입니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7901. }
  7902. }
  7903. //건강검진 내역 체크(1년 이내) - 1년 일 경우 진료의뢰서 체크 하지 않음.
  7904. function fCheckMediExamInfo() {
  7905. if (getNodesetCount("/root/hidden/item1/pidinfo/h_mediexam/mediexam/orddd") > 0 ) {
  7906. var orddd = model.getValue("/root/hidden/item1/pidinfo/h_mediexam/mediexam/orddd");
  7907. if (isValidDateTime(orddd, "YYYYMMDD")) {
  7908. var interval = getDateInterval(getCurrentDate(), orddd);
  7909. var intervalMsg = '';
  7910. if (interval <= 0 ) {
  7911. interval = parseInt(interval) * -1
  7912. intervalMsg = interval + "일 전";
  7913. if (interval <= 365 ) {
  7914. //messageBox(orddd.substr(0,4) + "년 " + orddd.substr(4,2) + "월 " + orddd.substr(6,2) + "일(" + intervalMsg + ") 건강검진을 받은 이력이 있습니다.", "I999", "");
  7915. model.setvalue("/root/etc/union_msg" ,orddd.substr(0,4) + "년 " + orddd.substr(4,2) + "월 " + orddd.substr(6,2) + "일(" + intervalMsg + ") 건강검진을 받은 이력이 있습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7916. }
  7917. }
  7918. }
  7919. }
  7920. }
  7921. //연속처방 수납대상건 조회
  7922. function fCheckMJqu() {
  7923. if (model.getValue("/root/temp3/workgubn") == "Y") {
  7924. if(getNodesetCount("/root/hidden/item1/pidinfo/h_mjqu/mjqu/pid") > 1) {
  7925. open("SMPAO00106", "0","960", "368", "SMPAO00106", "/root/hidden/item1/pidinfo", "/root/main");
  7926. }
  7927. }
  7928. }
  7929. //독립유공자미수 체크
  7930. function fCheckAutoUnco_rcpt(){
  7931. if(getNodesetCount("/root/init/basecdlist/P0071[cdid = '"+ model.getvalue("/root/main/outrgst/m_etc/uncocd")+ "']") > 0){
  7932. fCheckAutoUnco('/root/main/outrgst/m_opmi/opmi/opmi_', cmb_uncocd.value, 'ipt_uncoamt', 'DOMFocusOut');
  7933. //납부할 금액 세팅
  7934. fCalcRcptexptAmt();
  7935. }
  7936. }
  7937. //장애인수첩소지여부 체크
  7938. function fgetHndcCnt() {
  7939. if(model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn") == "Y") {
  7940. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  7941. model.setvalue("/root/send/mth_nm" ,"getHndcCnt");
  7942. submit("TRPAO00127");
  7943. if(model.getvalue("/root/temp5/srdg/cnt") =="0") {
  7944. if(messageBox("장애인수첩 등록하시겠습니까?", "Q999", "") == "6" ){
  7945. model.setValue("/root/source/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  7946. model.setValue("/root/source/srchcond", 1);
  7947. modal("SMPMC01700", "1","100", "100", "SMPMC01700", "/root/source", "/root/source");
  7948. }
  7949. }
  7950. }
  7951. }
  7952. //키코드 알아내기
  7953. function fkeyCode() {
  7954. alert(event.keyCode);
  7955. }
  7956. //글로벌변수 선언 환자번호 가져오기
  7957. function fctrl_0() {
  7958. fkeyCode_pid("ipt_pid","onkeypress");
  7959. }
  7960. //자선진료비내역조회
  7961. function fCheckCharityYN_outordjs() {
  7962. //fCheckCharityYN(model.getValue("/root/main/patinfo/patinfolist/pid"));
  7963. if( model.getValue("/root/hidden/item1/pidinfo/h_charity/charity/charityyn") == 'Y'){
  7964. var retValue = messageBox("자선진료비 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
  7965. if( retValue == 6 ){
  7966. fOpenCharityPopup(model.getValue("/root/main/patinfo/patinfolist/pid"));
  7967. }
  7968. }
  7969. }
  7970. //당일 수납할 재증명 유무체크
  7971. function fCheckCert() {
  7972. if( getNodesetCount("/root/hidden/item1/pidinfo/h_cert/cert/pid") > 0){
  7973. messageBox("오늘자 수납할 제증명 내역이 있습니다.", "I999", "");
  7974. model.setvalue("/root/etc/union_msg" ,"오늘자 수납할 제증명 내역이 있습니다." + '\n' + model.getValue("/root/etc/union_msg"));
  7975. }
  7976. }
  7977. //의뢰서 호출
  7978. function fCallCnst() {
  7979. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  7980. if (pid == "") {
  7981. messageBox("환자번호가 없습니다. 환자번호 입력 후 진행하십시오.", "I999", "");
  7982. return;
  7983. }
  7984. var insukind = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind");
  7985. var orddeptcd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd");
  7986. var ordreqflag = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ordreqformflag");
  7987. var etcordflag = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag");
  7988. var strSend = "";
  7989. var strRcv = "/root/main/h_cnst";
  7990. setParameter("SPPMC04100_PARM", pid + "▦" + strSend + "▦" + strRcv + "▦");
  7991. setParameter("SPPMC04100_PARM1", orddeptcd + "▦" + ordreqflag + "▦" + insukind + "▦" + etcordflag + "▦");
  7992. modal("SPPMC04200", "1","150", "150", "SPPMC04200", "/root/main/h_cnst", "/root/main/h_cnst");
  7993. model.refresh();
  7994. }
  7995. /*
  7996. //옵션창 끄기
  7997. function fbtn_grpclose2() {
  7998. grd_union_msg.attribute("visibility") = "hidden";
  7999. }
  8000. */
  8001. //상병코드조회
  8002. function fbtn_diag() {
  8003. model.removeNodeset("/root/hidden/sppiz00400/rslt");
  8004. model.makeNode("/root/hidden/sppiz00400/rslt/diagcd");
  8005. model.makeNode("/root/hidden/sppiz00400/rslt/diaghngnm");
  8006. model.makeNode("/root/hidden/sppiz00400/rslt/diagengnm");
  8007. model.resetInstanceNode("/root/hidden/sppiz00400/cond");
  8008. model.makeValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
  8009. model.makeValue("/root/hidden/sppiz00400/cond/diagcd", model.getvalue("/root/main/outrgst/diag/diag_icd10cd"));
  8010. model.makeValue("/root/hidden/sppiz00400/cond/diagnm", "");
  8011. model.makeValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","3"); // 사용자가 직접검색하여 입력 할수 있도록 임의의 값(3)을 넣어줌
  8012. modal("SPPIZ00400", "1", "10", "10", "SPPIZ00400", "/root/hidden/sppiz00400/cond", "/root/init", "", ""); // SPPIZ00400_상병코드조회.xrw
  8013. }
  8014. //처방특진여부 N으로 변경 20110401 cys
  8015. function fSetChngSpecN() {
  8016. model.removeNodeset("/root/send/s_hold/prcp");
  8017. // 선택된 Row에 한해서만 특진여부 변경
  8018. var selectedRows = grd_prcplist.selectedRows;
  8019. var arr=new Array(selectedRows);
  8020. for(var i=0; i<arr.length; i++) {
  8021. arr[i] = grd_prcplist.selectedRow(i);
  8022. if(model.getvalue("/root/hidden/rcv/h_prcp/prcp["+ arr[i] +"]/prcp_choiordflag") == "Y"){
  8023. copyNodeListType("/root/send/s_hold","/root/hidden/rcv/h_prcp/prcp["+ arr[i] +"]","after");
  8024. }
  8025. }
  8026. //선택진료 취소대장 호출(변경내역 저장)
  8027. fSetChngSpec_call_popup();
  8028. if (submit("TXPAO00113")) {
  8029. model.setValue("/root/hidden/calcgubn","Y");
  8030. if (fCalculate('N') != false) {
  8031. btn_otptlist.dispatch("onclick");
  8032. }
  8033. }
  8034. }
  8035. //처방특진여부 원복 20110401 cys
  8036. function fSetChngSpecR() {
  8037. model.removeNodeset("/root/send/s_hold/prcp");
  8038. // 선택된 Row에 한해서만 특진여부 변경
  8039. var selectedRows = grd_prcplist.selectedRows;
  8040. var arr=new Array(selectedRows);
  8041. for(var i=0; i<arr.length; i++) {
  8042. arr[i] = grd_prcplist.selectedRow(i);
  8043. if(model.getvalue("/root/hidden/rcv/h_prcp/prcp["+ arr[i] +"]/prcp_choiordflag") == "-"){
  8044. copyNodeListType("/root/send/s_hold","/root/hidden/rcv/h_prcp/prcp["+ arr[i] +"]","after");
  8045. }
  8046. }
  8047. //선택진료 취소대장 호출(변경내역 저장)
  8048. //fSetChngSpec_call_popup(); //원복일때는 필요없다고 생각해서 일단 막음
  8049. if (submit("TXPAO00114")) {
  8050. model.setValue("/root/hidden/calcgubn","Y");
  8051. if (fCalculate('N') != false) {
  8052. btn_otptlist.dispatch("onclick");
  8053. }
  8054. }
  8055. }
  8056. //선택진료 취소대장 호출
  8057. function fSetChngSpec_call_popup() {
  8058. setGlobalVariable("g_caller_SMPMC06505","SMPAO00100","p");
  8059. modal("../../../pam/patinfomngtweb/xrw/SMPMC06505", "1","400", "400", "SMPMC06505", "", "");
  8060. setGlobalVariable("g_caller_SMPMC06505","","p");
  8061. }
  8062. // 외래진료비세부내역서 출력(SMPAO00300_외래수납조회.xrw)
  8063. // 외래수납에서는 외래수납조회화면의 각종 옵션들을 선택하게 할 수 없으므로, 기본값으로 설정되어있는 값으로만 처리
  8064. function fSpecBillPrint(cur_row) {
  8065. //ordtype : 외래영수증 / 외래중간금영수증 / 외래합산영수증 /외래진료비세부내역서
  8066. model.makeValue("/root/temp/receipt/ordtype" , "환자용외래진료비세부내역서" );
  8067. model.makeValue("/root/temp/receipt/pid" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_pid") );
  8068. model.makeValue("/root/temp/receipt/rcptdd" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_rcptdd") );
  8069. model.makeValue("/root/temp/receipt/rcptno" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_rcptno") );
  8070. model.makeValue("/root/temp/receipt/rcptseqno" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_rcptseqno") );
  8071. model.makeValue("/root/temp/receipt/orddd" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_orddd") );
  8072. model.makeValue("/root/temp/receipt/cretno" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_cretno") );
  8073. model.makeValue("/root/temp/receipt/orddeptcd" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_orddeptcd") );
  8074. model.makeValue("/root/temp/receipt/orddrid" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_orddrid") );
  8075. model.makeValue("/root/temp/receipt/instcd" , model.getValue("/root/main/baseinfo/opmilist/opmi["+ cur_row +"]/opmi_instcd") );
  8076. /*
  8077. * pay1-급여, pay2-비급, pay4-본인100, pay5-선택진료
  8078. */
  8079. var vpayflag = "-" + "','0" + "','2" + "','1" + "','5";
  8080. model.makeValue("/root/temp/receipt/calcpayflag" , vpayflag);
  8081. model.makeValue("/root/temp/receipt/specflag" , "1"); // 1:전체, 2:선택진료
  8082. model.makeValue("/root/temp/receipt/calcsum" , "Y"); // Y:수가별합산
  8083. model.makeValue("/root/temp/receipt/useflag" , "2"); // 1:보험회사, 2:기타
  8084. model.makeValue("/root/temp/receipt/mig_oscl2yn" , false); // 세부내역서가 oscl2읽음 여부
  8085. //영수증 팝업화면 호출
  8086. modal("SPPAO01900");
  8087. }
  8088. /**
  8089. * 선수납금 존재시 알림
  8090. * 2015/02/04 이정택
  8091. */
  8092. function fBogjinfoChk(){
  8093. var amt = model.getValue("/root/main/baseinfo/bogjinfo/bogj/bogjamt");
  8094. if(amt!="0"){
  8095. messageBox("선수금이 존재합니다.[선수금 : " + amt +"원]", "I");
  8096. return;
  8097. }
  8098. }
  8099. /**
  8100. * 미수코드의 기준자료를 읽어서 미수 금액을 설정
  8101. * 2015/06/15 이정택
  8102. * @return
  8103. */
  8104. function fCalc_Uncoamt(flag){
  8105. //debugger;
  8106. var outpayapprate="";
  8107. var outnopyapprate="";
  8108. var outspecapprate="";
  8109. var tmp_payownbamt="";
  8110. var tmp_totnopyownbamt="";
  8111. var tmp_specownbamt="";
  8112. var tmp_payownbamt_unco="";
  8113. var tmp_totnopyownbamt_unco="";
  8114. var tmp_specownbamt_unco="";
  8115. var tmp_rcptexptamt="";
  8116. var tmp_unco_total="";
  8117. var unco_total="";
  8118. var uncoamt="";
  8119. var uncoamt_total="";
  8120. var today = getCurrentDate();
  8121. /* 미수코드 존재시 미수율에 따라서 계정감면액이 틀려지므로 블럭킹 안한다.
  8122. * var today = getCurrentDate();
  8123. var click_orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd")
  8124. if(today!=click_orddd){
  8125. return;
  8126. }
  8127. */
  8128. var opmi_payownbamt=model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100"); // 본인 급여총액
  8129. var opmi_totnopyownbamt=model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"); //비급여 본인부담금액
  8130. var opmi_specownbamt=model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"); // 선택 본인부담금액
  8131. var opmi_rcptexptamt=model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt"); // 납부할금액
  8132. var opmi_uncoamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt"); // 미수금액
  8133. var disccd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_disccd"); // 감면코드
  8134. var uncocd = model.getValue("/root/main/outrgst/m_etc/uncocd");
  8135. var otpt_calcyn = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_calcyn");
  8136. var otpt_calcflag = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_calcflag");
  8137. var click_orddd = model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd");
  8138. var opmi_discamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_discamt");
  8139. if(uncocd!="" && uncocd != null){
  8140. if(uncocd == "A43" || uncocd == "A44" || uncocd == "A45"){
  8141. var clinic_orddeptcd ="2242400000"; // 대구 장애인 구강진료센터
  8142. var orddeptcd_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt[otpt_orddeptcd!='"+ clinic_orddeptcd+ "']");
  8143. if(parseInt(orddeptcd_cnt)>0){
  8144. messageBox("해당 미수코드를 사용할 수 없는 진료과가 선택되었습니다.", "E");
  8145. model.makeValue("/root/main/outrgst/m_etc/uncocd", "");
  8146. cmb_uncocd.refresh();
  8147. ipt_uncocd.refresh();
  8148. return;
  8149. }
  8150. }
  8151. if(uncocd != "A43" && uncocd != "A44" && uncocd != "A45"){
  8152. return;
  8153. }
  8154. outpayapprate= model.getValue("/root/init/basecdlist/uncocd[cdid='"+uncocd+"']/outpayapprate"); // 외래미수율(급여)
  8155. outnopyapprate= model.getValue("/root/init/basecdlist/uncocd[cdid='"+uncocd+"']/outnopyapprate"); // 외래미수율(비급여)
  8156. outspecapprate= model.getValue("/root/init/basecdlist/uncocd[cdid='"+uncocd+"']/outspecapprate"); // 외래미수율(특진료)
  8157. /*
  8158. //본인 급여총액
  8159. tmp_payownbamt=opmi_payownbamt*(1-(outpayapprate/100));
  8160. tmp_payownbamt_unco=opmi_payownbamt*(outpayapprate/100);
  8161. //비급여 본인부담금액
  8162. tmp_totnopyownbamt=((Math.floor(opmi_totnopyownbamt/10))*10)*(1-(outnopyapprate/100));
  8163. tmp_totnopyownbamt_unco=((Math.floor(opmi_totnopyownbamt/10))*10)*(outnopyapprate/100);
  8164. //선택 본인부담금액
  8165. tmp_specownbamt=((Math.floor(opmi_specownbamt/10))*10)*(1-(outspecapprate/100));
  8166. tmp_specownbamt_unco=((Math.floor(opmi_specownbamt/10))*10)*(outspecapprate/100);
  8167. uncoamt=parseInt(Math.ceil(tmp_payownbamt_unco)) + parseInt(Math.ceil(tmp_totnopyownbamt_unco)) + parseInt(Math.ceil(tmp_specownbamt_unco));
  8168. /*
  8169. unco_total = Math.ceil((parseInt(tmp_unco_total)/10))*10; // up
  8170. unco_total = Math.floor((parseInt(tmp_unco_total)/10))*10; // down
  8171. // 10원미만 절상처리
  8172. unco_total = Math.ceil((parseInt(uncoamt)/10))*10;
  8173. */
  8174. //debugger;
  8175. /*
  8176. var uncoamt = fGetUncoAmt(outpayapprate, outnopyapprate, outnopyapprate, opmi_payownbamt, opmi_totnopyownbamt, opmi_specownbamt);
  8177. var unco_total = uncoamt[0];
  8178. */
  8179. if(model.getValue("/root/init/comncdlist/P6573list/P6573/cdid")=="Y"){
  8180. unco_total= opmi_uncoamt;
  8181. }else{
  8182. uncoamt = fGetUncoAmt(outpayapprate, outnopyapprate, outnopyapprate, opmi_payownbamt, opmi_totnopyownbamt, opmi_specownbamt);
  8183. unco_total = uncoamt[0];
  8184. }
  8185. if(parseInt(unco_total)>0){
  8186. if(!isNull(flag)){
  8187. if(today==click_orddd){
  8188. if(otpt_calcflag != "N"){
  8189. if(messageBox("해당 미수 코드로 미수 금액이 "+unco_total+"원 발생합니다.\n적용하시겠습니까?", "Q999")=="6"){
  8190. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", unco_total);
  8191. ipt_uncoamt.refresh();
  8192. ipt_uncoamt.dispatch("xforms-value-changed");
  8193. }else{
  8194. // if(disccd!="" && disccd!="-" && parseInt(unco_total)>0 && parseInt(opmi_discamt)>0){
  8195. // messageBox("재계산 후 수납 부탁드립니다.", "E");
  8196. // model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", 0);
  8197. // model.makeValue("/root/main/outrgst/m_etc/uncocd", "");
  8198. // cmb_uncocd.refresh();
  8199. // ipt_uncocd.refresh();
  8200. // ipt_uncoamt.refresh();
  8201. // btn_rcpt.disabled = true;
  8202. // return;
  8203. // }else{
  8204. messageBox("재계산 후 수납 부탁드립니다.", "E");
  8205. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", 0);
  8206. model.makeValue("/root/main/outrgst/m_etc/uncocd", "");
  8207. cmb_uncocd.refresh();
  8208. ipt_uncocd.refresh();
  8209. ipt_uncoamt.refresh();
  8210. btn_rcpt.disabled = true;
  8211. return;
  8212. //}
  8213. }
  8214. }
  8215. }else if(today>click_orddd){
  8216. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", unco_total);
  8217. ipt_uncoamt.refresh();
  8218. ipt_uncoamt.dispatch("xforms-value-changed");
  8219. }
  8220. }
  8221. }else if(parseInt(unco_total)==0){
  8222. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", unco_total);
  8223. ipt_uncoamt.refresh();
  8224. ipt_uncoamt.dispatch("xforms-value-changed");
  8225. }
  8226. }else{
  8227. model.makeValue("/root/main/outrgst/m_opmi/opmi/opmi_uncoamt", 0);
  8228. ipt_uncoamt.refresh();
  8229. ipt_uncoamt.dispatch("xforms-value-changed");
  8230. }
  8231. // 미수코드가 변경될시에 수가계산 다시 돌리도록 안내
  8232. if(isNull(flag)){
  8233. if(disccd!="" && disccd!="-" && parseInt(unco_total)>0 && parseInt(opmi_discamt)>0){
  8234. messageBox("재계산 후 수납 부탁드립니다.", "E");
  8235. btn_rcpt.disabled = true;
  8236. }
  8237. }
  8238. //model.refresh();
  8239. }
  8240. function fHndc_Suppamt_Chk(hndc_insukind, hndc_suppkind){
  8241. if(hndc_insukind=="11" && (hndc_suppkind=="89" || hndc_suppkind=="97")){ //틀니(89), 임플란트(97)
  8242. messageBox("해당 보조 유형으로는 장애인 대불금이 발생되지 않습니다.", "I");
  8243. model.makeValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn", "N");
  8244. rdo_handicaprbookpossnyn.refresh();
  8245. rdo_handicaprbookpossnyn.disabled=true;
  8246. }else if(hndc_insukind=="22" && (hndc_suppkind=="87" || hndc_suppkind=="95")){ //틀니(87), 임플란트(95)
  8247. messageBox("해당 보조 유형으로는 장애인 대불금이 발생되지 않습니다.", "I");
  8248. model.makeValue("/root/main/outrgst/m_otpt/otpt/otpt_handicaprbookpossnyn", "N");
  8249. rdo_handicaprbookpossnyn.refresh();
  8250. rdo_handicaprbookpossnyn.disabled=true;
  8251. }else{
  8252. rdo_handicaprbookpossnyn.refresh();
  8253. rdo_handicaprbookpossnyn.disabled=false;
  8254. }
  8255. }]]></Script>