123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504 |
- //================================================================================================
- // 외래사후심사 메인화면 (김상진)
- // 수정이력
- // - 2007.03.22 / 정주미
- // - 2008.06.03 / 김상진
- //================================================================================================
-
- /* --------------------------------------------------------------------------------------------------
- Fucntion Name || Description
- -----------------------------------------------------------------------------------------------------
- - fInitialize : 화면 초기화
- - initCalendar : 그리드달력 초기화
- --------------------------------
- - 팝업화면 Function
- --------------------------------
- - fGetOrderComment : 심사메모 : SPPIZ00700_심사Comment조회.xrw 호출
- - fSetLnUnitSpclSpec : 특정내역 : SPPIZ00500_특정내역상세관리.xrw
- - fSetLnUnitClsoSpclSpec : 특정내역 : SPPIZ00500_특정내역상세관리.xrw
- - fDiagOrderToothInput : 치식 : SPPIZ00600_상병및처방별치식
- - fGetOsclClamData : 상세계산 : SPPID22100_상세계산내역조회.xrw
- - fOrderGridInsertCnfmCd : 확인코드 : SPPIZ01100_확인코드조회
- - fOrderRsltSrch : 결과조회 : SMAER00800_결과조회
- - fSetHosInResnCd : 분업예외코드 : SPPIZ01500_의약분업예외사유코드조회.xrw
- - fSrchEstmCd : 산정의미코드 : SPPIZ00800_산정코드조회.xrw
- - fGetEmrInformation : 진료정보조회 : SMMMO02500_환자진료정보.xrw
- - fGetMemoHistList : 메모이력 : SPPIZ00300_메모이력조회.xrw
- - fGetDiagHistList : 상병이력조회 : SMPIZ00100_외래입원상병이력조회.xrw
- - fPrcpResnRef :처방사유조회 : SPMMO19000_중복처방사유조회
- --------------------------------
- - 상병관련 Function
- --------------------------------
- - fDiagSeqUp : 상병순서 위로
- - fDiagSeqDown : 상병순서 아래로
- - fSortDiagNo : 상병SORT
- - fDiagGridInsertRow : 행삽입
- - fDiagGridInsertRowMulti : 행추가(5줄)
- - fDiagGridDeleteRow : 행삭제
- - fDiagGridDeleteCancel : 삭제취소
- - fSearchDiageCode : 상병코드 PopUp 조회
- - fSearchSPPIZ00400 : 상병코드 PopUp 조회호출
- - fSetDiagCdNm : 상병코드 PopUp 반영
- --------------------------------
- - 특정내역관련 Function
- --------------------------------
- - fRepeatSpclSpec : 특정내역반복
- - fSpclGridInsertRow : 특정내역 "행 추가"
- - fSpclGridDeleteRow : 특정내역 "행 삭제"
- - fSetLnUnitClsoSpclSpec : 줄단위 원외특정내역 수정/입력 ==> SPPIZ01700_원외처방특정내역상세관리.xrw
- - fSetLnUnitSpclSpec : 줄단위 특정내역 수정/입력 ==> SPPIZ00500_특정내역상세관리.xrw
- - fSetDocRefLnSpclSpec : 명세서단위 특정내역 수정/입력 ==> SPPIZ00500_특정내역상세관리.xrw
- - fOrderGridInsertCmt : 처방 Grid 마우스 오른쪽 "처방주석입력" ==> SPPIZ00500_특정내역상세관리.xrw
- - fSetLnUnitMemoRefresh : 심사Comment 조회 Popup : 줄단위메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetJudgMemoRefresh : 심사Comment 조회 Popup : 심사메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetEdiMemoRefresh : 심사Comment 조회 Popup : EDI메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetCnfmCdSpclSpec : 특정내역 더블클릭 : 확인코드 줄단위 특정내역 수정/입력 ==> SPPIZ01100_확인코드조회
- - fOrderGridInsertCnfmCd : 처방내역 버튼클릭 : 확인코드 줄단위 특정내역 수정/입력 ==> SPPIZ01100_확인코드조회
- - fGetMemoHistList : 메모이력 버튼클릭 : 심사자메모, edi메모, JX999조회 입력 ==> SPPIZ00300_메모이력조회.xrw
- - fSetSpclSpecJX999 : 저장할때 : 기타메모(JX999)를 특정내역 형식에 맞춰 설정
- - fSetJudgEDIMemo : 저장할때 : 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- --------------------------------
- - 진료달력관련 Function
- --------------------------------
- - fViewOrddddisp : 진료달력 진료일 표시
- - fClickOrdYN : 진료달력 진료일 체크 (진료일표시, 진료일수(내원일수), 진료개시일, 진료종료일 계산)
- --------------------------------
- --------------------------------
- - 처방관련(수가조회)
- --------------------------------
- - fOrderGridInsertRow : 행추가
- - fOrderGridCopyRow : 행복사
- - fOrderGridDeleteRow : 행삭제
- - fOrderGridDeleteCancel : 삭제취소
- - fOrderGridAddRow : 처방추가
- - fSetSrchCalcScorCd : 신규코드 추가
- - fSetNewCalcScorCd : 신규코드 추가후
- - fSetCalcScorAmt : 수가코드의 금액정보를 표시
- - fSetOrderLnNo
- _
- - fSetTotDrugQtyAmt : 기존코드 수정 1회량/횟수/일수 수정시
- - fSetCalcScorAmt : 조회수가 금액표시
- - fSetOrderLnNo : 처방그리드 sort
- - fChangeOrderLnNo : 처방, 특정 줄번호 셋팅
- - fSortSpclNo : 특정그리드 sort
- - fSetNewCnfmCd : 확인코드, 분업예외코드, 검체검사위탁, 준용코드를 특정내역에 자동으로 추가
- --------------------------------
- - 저장 및 완료 후 프로세스(저장 및 조회)
- --------------------------------
- - fSaveOutAftJudg : 저장(B)
- - fGetNextAftJudgTrgtMan : 완료(C), 미심(A), 보류(N), 삭제(D)
- - pidfGetKDRGCode : KDRG 3.2 DRG분류번호 조회
- - fSrchNextJudgTrgtManCLBS : 다음 대상자 조회 찾기
- - fSrchNextJudgTrgtManSPEC : 다음 대상자 조회 찾기(선별심사인 경우)
- - fGetOutAftJudgMngt : 다음 대상자 조회(대상자에서 더블클릭했을 경우...)
- - fInitSrchData : 화면초기화 (기존환자 심사중 해제)
- - fSetAftJudgTrgtManSrchData : 다음 대상자 조회 이후
- - fSetJudgStatBtnAuth : 심사완료여부 상태따라 버튼 권한 설정(현재환자 심사중 설정)
- - fGetSelectedOrderData : 재료행위/급여/항목구분 Radio 선택
- - fSetOrderData : 처방 항목 구분 및 선별심사 처방 색깔 구분
- - fSetSubtotal : 항목별 소계(item1별로 금액sum해서 보여준다)
- --------------------------------
- - 이전명세서 조회
- --------------------------------
- - fSrchPreDocuList : 이전명세서 목록 조회
- - fPreListOnDblClick : 이전명세서 목록 팝업
- - fGetPreDocuAftJudgTrgtMan : 이전명세서 심사모드 조회
- --------------------------------
- - 원외처방관련 Function
- --------------------------------
- - fClopGridAllDeleteRow : 원외처방 "교부번호 전체삭제"
- - fClopGridDeleteRow : 원외처방 "행 삭제"
- - fClopOnEndEdit : 원외처방 수정
- - fOutOrderGridInsertRow : 원외처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- - fSetSrchOutCalcScorCd : 수가코드, EDI코드를 조회한 후 원외처방으로 행 추가를 한다.
- - fOutOrderGridCopyRow : 원외처방 "행복사"
- --------------------------------
- - 기타조회
- --------------------------------
- - fClodSelectByPayflag : 급여구분별 처방조회
- - fOpenSMPIS00500DetailSnglCD : 처방별환자조회(계산)_수가코드
- - fOpenSMPIS00500DetailEdicd : 처방별환자조회(계산)_EDI코드
- - fOpenSMPIS00600Detail : 처방별환자조회(청구/삭감)
- --------------------------------
- - 메세지작성
- --------------------------------
- 2009. 08. 17 JHP
- fGetPatMsgYn : 심사화면 환자 메세지 여부확인 : SMPID20500_외래사후심사관리.xrw
- fPatJudgPatMsgTrsm : 환자기준 전송메세지작성 : SMPID20500_외래사후심사관리.xrw
- fOrderJudgPatMsgTrsm : 처방기준 전송메세지작성 : SMPID20500_외래사후심사관리.xrw
- fJudgPatMsgTrsmRef : 해당건 환자 전체 메세지 보기 : SMPID20500_외래사후심사관리.xrw
- -------------------------------------------------------------------------------------------------- */
- var gToday = new Date();
- var gBaseyear = gToday.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
- var gBasemonth = gToday.getDateFormat("MM");
- var gBaseday = gToday.getDateFormat("DD");
- var gCurrentdd = gBaseyear + gBasemonth + gBaseday;
- var gCurrentym = gBaseyear + gBasemonth;
- var gClopSize = "AUTO"; // 현재상태 DEFAULT, FULL, AUTO, CHANGE
- // 20100614 환경초기화를 위한 로딩상태 저장
- var gCldihist_refdata = "";
- var gCldihist_sizedata = "";
- var gClodhist_refdata = "";
- var gClodhist_sizedata = "";
- var gClophist_refdata = "";
- var gClophist_sizedata = "";
- //-----------------------------------------------------
- // 화면 open시(와 초기화 버튼 클릭시) 화면 초기화 기능
- //-----------------------------------------------------
- function fInitialize() {
- // 처방 Grid "EDI코드"까지 틀 고정
- grd_clodhist.frozenCols = grd_clodhist.colRef("basecd");
- grd_clsphist.frozenCols = grd_clsphist.colRef("snglcalcscorcd");
- grd_oprcphist.frozenCols = grd_oprcphist.colRef("edicd");
-
-
- // 원외처방 Grid
- grd_oprcphist.mergecol(grd_oprcphist.colRef("edilnno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("snglcalcscorcd")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("edicd")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("hngnm")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("payflag")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("drugqty")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("edidrugqty")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("drugtims")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("drugdayno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("edidrugdayno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("spclspecyn")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("efcynm2")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("efcynm3")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("efcyclscd")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("efcyclsnm")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("ordnm")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("edicdflag")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("mpsno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("newmpsno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("seqno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("workflag")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("clopseqno")) = false;
- grd_oprcphist.mergecol(grd_oprcphist.colRef("adjtresncd")) = false;
- grd_oprcphist.mergecells = "byrestriccol";
-
-
-
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- //cap_message.attribute("left") = "5";
- //opt_msgspclformat.attribute("left") = "490";
- //opt_msgspclformat.attribute("width") = "500";
- // 상병 Grid 크기를 초기화한다.
- grp_cldihist.attribute("height") = "168";
- grd_cldihist.attribute("height") = "143"; // 상병 Grid의 세로 폭을 축소한다.
- // 처방
- cap_clod.attribute("top") = "230";
- grd_clodhist.attribute("top") = "250";
- grd_clodhist.attribute("height") = "290";
- // 원외처방
- /*
- grp_clop.attribute("top") = "541";
- grp_clop.attribute("height") = "96";
- grd_oprcphist.attribute("top") = "25";
- grd_oprcphist.attribute("height") = "71";
- */
- fClopSizeChange("AUTO"); // 20091217 이걸루 대체 현재는 고정
- cap_grptemp.visible = false;
- grp_predoculist.visible = false; // 이전 명세서 목록용 Group
- grp_delclodlist.visible = false; // 처방 휴지통 Group
- grp_delorderlist.visible = false; // 심사변경 목록 Group
- case_spclspec.selected = false;
- case_judgrmemo.selected = false;
- case_ediclammemo.selected = false;
-
- // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
- model.removeNodeset("/root/main/list1/cldi");
- model.removeNodeset("/root/main/list2/clod");
- model.removeNodeset("/root/main/list3/clsp");
- model.removeNodeset("/root/main/list4/clbs");
- model.removeNodeset("/root/main/list5/clod");
- model.removeNodeset("/root/main/list6/delclod");
- model.removeNodeset("/root/main/list7/clop");
- model.removeNodeset("/root/hidden/list4/clbs");
-
- // 처방Grid용 조회부의 Radio 초기값을 "전체"로 설정한다.
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoPay", "0");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoItem", "-");
- // 원외처방 - 항목구분 (기본값 : 전체)
- model.setValue("/root/hidden/list7/clop/selectedRdoPay", "0");
- // 특정내역Grid용 필터링 Radio 초기값
- model.setValue("/root/hidden/list3/selectedUnitFlag", "-");
-
-
- // 공통코드를 조회한다.
- // (ZBC001.js) com.ZBCMCODE에서 기초코드 값을 가져와서 Combo 컨트롤 item으로 설정하기 위해 사용한다.
- zbcfGetCodeList(
- new Array(
- "P0110" // 진료결과(보험)
- ,"P0297" // 진료결과(산재)
- ,"P0117" // 특정코드
- ,"P0127" // 조정사유
- ,"P0131" // 표준코드구
- ,"P0151" // 심사완료여부
- ,"P0291" // 진료분야
- ,"P0322" // 청구세부
- ,"P0236" // 공상구분
- ,"P0465" // 명세서삭제사유
- ,"P0466" // 반송부제기사유
- ,"P0155" // 청구구분
- ,"P0365" // 본인부담코드
- ,"P0261" // 의료급여종별구분
- ,"P0491" // 자격수정사유
- ),
- new Array(
- "/root/init/P0110list"
- ,"/root/init/P0297list"
- ,"/root/init/P0117list"
- ,"/root/init/P0127list"
- ,"/root/init/P0131list"
- ,"/root/init/P0151list"
- ,"/root/init/P0291list"
- ,"/root/init/P0322list"
- ,"/root/init/P0236list"
- ,"/root/init/P0465list"
- ,"/root/init/P0466list"
- ,"/root/init/P0155list"
- ,"/root/init/P0365list"
- ,"/root/init/P0261list"
- ,"/root/init/P0491list"
- ),
- false ); // minimum을 'false'로 설정한 경우에는 코드의 모든속성을 가져온다.
-
- pamfGetCodeList(new Array("PK221"), new Array("/root/init/PK221list"));
-
- //-------------------------------------------------
- // 진료과, 주치의 조회
- //-------------------------------------------------
- model.setValue("/root/main/item1/clbs/ioflag", "O");
- submit("TRPID20309", false);
- model.makeNode("root/hidden/tmp/orddeptcd");
- model.makeNode("root/hidden/tmp/orddeptcd2");
- model.makeNode("root/hidden/tmp/orddrid");
- model.makeNode("root/hidden/tmp/orddrid2");
-
- model.removeNodeset("root/init/orddeptcd");
- model.removeNodeset("root/init/orddeptcd2");
- model.removeNodeset("root/init/orddrid");
- model.removeNodeset("root/init/orddrid2");
-
- model.makeNode("root/init/orddeptcd");
- model.makeNode("root/init/orddeptcd2");
- model.makeNode("root/init/orddrid");
- model.makeNode("root/init/orddrid2");
-
- model.copyNode("root/init/orddeptcd", "root/hidden/tmp/orddeptcd");
- model.copyNode("root/init/orddeptcd2", "root/hidden/tmp/orddeptcd2");
- model.copyNode("root/init/orddrid", "root/hidden/tmp/orddrid");
- model.copyNode("root/init/orddrid2", "root/hidden/tmp/orddrid2");
-
- model.removeNodeset("root/hidden/tmp/orddeptcd");
- model.removeNodeset("root/hidden/tmp/orddeptcd2");
- model.removeNodeset("root/hidden/tmp/orddrid");
- model.removeNodeset("root/hidden/tmp/orddrid2");
-
- // 20100715 촉탁의 진료를 공상구분을 이용해서 사용하고 있음 (왜 이걸 사용했을까? 손댈부분이 많아서 그냥 이거 사용함)
- // 공상구분에 보이지 않아서 여기서 코드 추가 (정규 고시된 코드가 아니라 공통코드에는 추가하지 않음)
- model.removeNodeset("/root/hidden/tmp/P0236list/P0236");
- model.makeValue("/root/hidden/tmp/P0236list/P0236/cdid","Z");
- model.makeValue("/root/hidden/tmp/P0236list/P0236/cdnm","촉탁의원외처방(임시)");
- copyNodeType("/root/init/P0236list","/root/hidden/tmp/P0236list","after");
- model.removeNodeset("/root/hidden/tmp/P0236list");
-
- //-------------------------------------------------
- // 상병코드 조회
- //-------------------------------------------------
- //submit("TRPID20312", false);
-
- //--------------------------------
- // EDI관련 컬럼 표시
- //--------------------------------
- fEdiCheck();
-
- //----------------------------------------
- //사용자에게 보여줄 필요없는 컬럼을 숨긴다.
- //----------------------------------------
- fColHidden();
-
- //-----------------------------------------------------------------------
- // 20100614 환경저장 조회부분 처리전 로딩상태 저장 (환경초기화에서 사용)
- //-----------------------------------------------------------------------
- // 1. 상병리스트
- var cldihist_obj = document.controls.item("grd_cldihist");
- for (var i = 0; i < cldihist_obj.cols; i++) {
- var refval = cldihist_obj.colAttribute(i, "ref");
- gCldihist_refdata += refval + "^";
- var sizeval = cldihist_obj.colWidth(i);
- gCldihist_sizedata += sizeval + "^";
- }
- gCldihist_refdata = gCldihist_refdata.substring(0, gCldihist_refdata.length-1);
- gCldihist_sizedata = gCldihist_sizedata.substring(0, gCldihist_sizedata.length-1);
- // 2. 처방리스트
- var clodhist_obj = document.controls.item("grd_clodhist");
- for (var i = 0; i < clodhist_obj.cols; i++) {
- var refval = clodhist_obj.colAttribute(i, "ref");
- gClodhist_refdata += refval + "^";
- var sizeval = clodhist_obj.colWidth(i);
- gClodhist_sizedata += sizeval + "^";
- }
- gClodhist_refdata = gClodhist_refdata.substring(0, gClodhist_refdata.length-1);
- gClodhist_sizedata = gClodhist_sizedata.substring(0, gClodhist_sizedata.length-1);
- // 3. 원외처방리스트
- var clophist_obj = document.controls.item("grd_oprcphist");
- for (var i = 0; i < clophist_obj.cols; i++) {
- var refval = clophist_obj.colAttribute(i, "ref");
- gClophist_refdata += refval + "^";
- var sizeval = clophist_obj.colWidth(i);
- gClophist_sizedata += sizeval + "^";
- }
- gClophist_refdata = gClophist_refdata.substring(0, gClophist_refdata.length-1);
- gClophist_sizedata = gClophist_sizedata.substring(0, gClophist_sizedata.length-1);
- //-----------------------------------------------------------------------
-
-
- //-------------------------------------------------------------
- // 환경저장 조회부분(환경저장된 컬럼 ref순서대로 colMove시킨다.
- //-------------------------------------------------------------
- model.resetInstanceNode("/root/send/listval/uuee");
- model.setValue("/root/send/listval/uuee/scrnid", "SMPID20500"); // SMPID20500_외래사후심사관리
- if (submit("TRPID21602", false)) {
- var selrow = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
- var refarr = "";
- var sizearr = "";
-
- for ( var x = 1; x <= model.getXPathValue( "count(/root/hidden/listval/uuee)" ) ; x++ ) {
- compsnm = model.getValue("/root/hidden/listval/uuee[" + x + "]/compsnm");
- if (compsnm) { // Grid ID 정보
- refdata = model.getValue("/root/hidden/listval/uuee[" + x + "]/compscnts"); // Grid의 칼럼명
- sizedata = model.getValue("/root/hidden/listval/uuee[" + x + "]/compssizecnts"); // Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- selrow = grd_cldihist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for (var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- }
- }
- }
-
-
- grd_ordddcalc.rowhidden(0) = true;
-
- // 완료 ~ 삭제 Btn 색을 변경한다.
- btn_end.attribute("color") = "#cc3333"; // cc3333=붉은색
- btn_unjudg.attribute("color") = "#cc3333";
- btn_rete.attribute("color") = "#cc3333";
- btn_del.attribute("color") = "#cc3333";
-
- btn_save.attribute("font-weight") = "bold";
- btn_end.attribute("font-weight") = "bold";
- btn_unjudg.attribute("font-weight") = "bold";
- btn_rete.attribute("font-weight") = "bold";
- btn_del.attribute("font-weight") = "bold";
- btn_maininit.attribute("font-weight") = "bold";
-
- //---------------------------------------------------
- // 메모여부에 따라서 색깔을 바꾼다. 20090929 박창원
- //---------------------------------------------------
-
- //----------------------
- // 화면 권한을 설정한다.
- //----------------------
- fCheckAuth();
-
- //----------------------
- // Popup 여부체크
- //----------------------
- if (isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
-
- btn_closepredocupopup.visible = true; // Popup용 닫기 버튼
- btn_EnvSetup.visible = false; // 환경저장 버튼
- btn_predocu.visible = false; // 이전명세서 버튼
-
- var clamym = model.getValue("/root/send/item1/clbs/clamym"); // 청구년월
- var clamdg = model.getValue("/root/send/item1/clbs/clamdg"); // 청구차수
- var pid = model.getValue("/root/send/item1/clbs/pid"); // 등록번호
- var pidsn = model.getValue("/root/send/item1/clbs/pidsn"); // 등록번호순번
- if (clamym && clamdg && pid && pidsn) {
- //-------------------------------------
- //사후 심사 대상자를 조회한 이후의 처리
- //-------------------------------------
- submit("TRPID20301"); // 2008-08-01 김상진 : 입원으로 통합.
- fSetAftJudgTrgtManSrchData();
-
-
- }
- } else {
- btn_closepredocupopup.visible = false; // Popup용 닫기 버튼
- //btn_EnvSetup.visible = true; // 환경저장 버튼
- btn_predocu.visible = true; // 이전명세서 버튼
-
- //---------------------------------------------
- // Popup이 아닌 경우 대상자 조회를 바로 띄운다.
- //---------------------------------------------
- fGetOutAftJudgTrgtManPidSrch();
- }
-
- model.setValue("/root/hidden/reselect", "N"); // 재조회여부(저장버튼을 눌러서 재조회 할 경우)
- model.setValue("/root/hidden/orgjudgendyn", ""); // 오리지날 심사상태(심사중이었다가 해제되는 경우 원래값 돌려주기 위해 사용)
- }
- // 20100614 환경초기화
- function fClearSetInfo() {
- var selrow = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
- var refarr = "";
- var sizearr = "";
- // 1. 상병그리드 초기화
- selrow = grd_cldihist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- compsnm = "grd_cldihist";
- refdata = gCldihist_refdata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼명
- sizedata = gCldihist_sizedata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for (var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- // 2. 처방그리드 초기화
- selrow = grd_clodhist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- compsnm = "grd_clodhist";
- refdata = gClodhist_refdata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼명
- sizedata = gClodhist_sizedata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for (var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
-
- // 3. 원외처방그리드 초기화
- selrow = grd_oprcphist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- compsnm = "grd_oprcphist";
- refdata = gClophist_refdata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼명
- sizedata = gClophist_sizedata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for (var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- }
- // 20100614 환경저장
- function fSaveSetInfo() {
- var uueemax = 0;
- var uueemod = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
-
- model.resetInstanceNode("/root/send/listval/uuee");
-
- // 1. 상병그리드 저장
- compsnm = "grd_cldihist";
- uueemax++;
- uueemod = "I";
- refdata = "";
- sizedata = "";
- if ( model.getValue("/root/hidden/listval/uuee[compsnm='"+compsnm+"']/compsnm") == compsnm ) {
- uueemod = "U";
- }
- grdobj = document.controls.item(compsnm);
- for (var i = 0; i < grdobj.cols; i++) {
- var refval = grdobj.colAttribute(i, "ref");
- refdata += refval + "^";
- var sizeval = grdobj.colWidth(i);
- sizedata += sizeval + "^";
- }
- refdata = refdata.substring(0, refdata.length-1);
- sizedata = sizedata.substring(0, sizedata.length-1);
-
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/flag" ,uueemod);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/scrnid" ,"SMPID20500");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsnm" ,compsnm);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compscnts" ,refdata);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsrefcnts" ,"");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compssizecnts",sizedata);
- // 2. 처방그리드 저장
- compsnm = "grd_clodhist";
- uueemax++;
- uueemod = "I";
- refdata = "";
- sizedata = "";
- if ( model.getValue("/root/hidden/listval/uuee[compsnm='"+compsnm+"']/compsnm") == compsnm ) {
- uueemod = "U";
- }
- grdobj = document.controls.item(compsnm);
- for (var i = 0; i < grdobj.cols; i++) {
- var refval = grdobj.colAttribute(i, "ref");
- refdata += refval + "^";
- var sizeval = grdobj.colWidth(i);
- sizedata += sizeval + "^";
- }
- refdata = refdata.substring(0, refdata.length-1);
- sizedata = sizedata.substring(0, sizedata.length-1);
-
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/flag" ,uueemod);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/scrnid" ,"SMPID20500");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsnm" ,compsnm);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compscnts" ,refdata);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsrefcnts" ,"");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compssizecnts",sizedata);
-
-
- // 3. 원외처방그리드 저장
- compsnm = "grd_oprcphist";
- uueemax++;
- uueemod = "I";
- refdata = "";
- sizedata = "";
- if ( model.getValue("/root/hidden/listval/uuee[compsnm='"+compsnm+"']/compsnm") == compsnm ) {
- uueemod = "U";
- }
- grdobj = document.controls.item(compsnm);
- for (var i = 0; i < grdobj.cols; i++) {
- var refval = grdobj.colAttribute(i, "ref");
- refdata += refval + "^";
- var sizeval = grdobj.colWidth(i);
- sizedata += sizeval + "^";
- }
- refdata = refdata.substring(0, refdata.length-1);
- sizedata = sizedata.substring(0, sizedata.length-1);
-
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/flag" ,uueemod);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/scrnid" ,"SMPID20500");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsnm" ,compsnm);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compscnts" ,refdata);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsrefcnts" ,"");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compssizecnts",sizedata);
-
- if (submit("TXPID21601")) {
- messageBox("사용자 환경 저장이", "I002"); ///사용자 환경 저장이 완료되었습니다.
- }
- }
- //---------------------------------------------
- // 사용자에게 보여줄 필요가 없는 컬럼은 숨긴다.
- //---------------------------------------------
- function fColHidden() {
-
- grd_clodhist.colHidden(grd_clodhist.colRef("toot")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("choiordamt")) = true; //선택단가
- grd_clodhist.colHidden(grd_clodhist.colRef("choiordtotamt")) = true; //선택진료sum
- grd_clodhist.colHidden(grd_clodhist.colRef("item1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("item2")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("totdrugqty")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("baserlapnt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("baseaddrlapnt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("pntunitcost")) = true;
- // grd_clodhist.colHidden(grd_clodhist.colRef("ordfromdd")) = true;
- // grd_clodhist.colHidden(grd_clodhist.colRef("ordtodd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("ediitem")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("rcptunitcost")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("prcpflag")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("rcptcalcamt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("reductamt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("estmcdnm")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("pynpy1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls2")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls3")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("mechfromdd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("mechtodd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("workflag")) = true;
-
- }
- //-----------------------
- // 그리드달력 초기화
- //-----------------------
- function initCalendar() {
- var curDate = getCurrentDate().toDate();
- model.setValue("/root/hidden/calendar/year", curDate.getDateFormat("YYYY"));
- model.setValue("/root/hidden/calendar/month", curDate.getDateFormat("MM"));
- //setCalendar(curDate);
- }
- //----------------------
- // 화면 권한을 설정한다.
- //----------------------
- function fCheckAuth() {
- if (isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
- var sendworkflag = model.getValue("/root/send/item1/clbs/workflag");
- if (sendworkflag != "11" && sendworkflag != "12") {
- document.title = "외래사후심사조회";
- var smpid20500_auth = opener.javascript.getParameter("smpid20500_auth");
- if (smpid20500_auth) {
- model.setValue("properties/auth", smpid20500_auth); // RXP권한
- } else {
- model.setValue("properties/auth", "10100000"); // RXP권한
- }
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- cmb_suppkindchgresn.visible = true;
- } else {
- if (sendworkflag == "11") {
- document.title = "심사전 명세서 조회";
- model.setValue("properties/auth", "00100000"); // RXP권한
- btn_srchpid.visible = false;
- btn_pretrgtman.visible = false;
- btn_nexttrgtman.visible = false;
- cmb_adjtresncd.visible = false;
- cmb_docudelresncd.visible = false;
- cmb_abdresncd.visible = false;
- cmb_suppkindchgresn.visible = false;
- } else {
- document.title = "이전 명세서 상병/처방 조회";
- model.setValue("properties/auth", "11100000"); // RXP권한
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- cmb_suppkindchgresn.visible = true;
- }
- }
- } else {
- model.setValue("properties/auth", "11100000"); // RXP권한
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- cmb_suppkindchgresn.visible = true;
- }
- var rAuth = !checkAuth("R");
- ipt_pid.disabled = rAuth;
- //ipt_judgno.disabled = rAuth;
- ipt_chosindayno.disabled = rAuth;
- ipt_medcaredayno.disabled = rAuth;
- cmb_supprate.disabled = rAuth; // 보조/요율
- cmb_ordrsltcd.disabled = rAuth; // 진료결과
- ipt_insuno.disabled = rAuth; // 조합기호
- ipt_certno.disabled = rAuth; // 증번호
-
- setScreenBtnDisabled(); // (common.js) 버튼 권한 속성(_auth)에 따라 화면권한(RXP)을 처리한다.
- }
- //-------------------------
- // 특정내역 반복
- //-------------------------
- function fRepeatSpclSpec() {
- for (var i = 0; i < grd_clsphist.selectedRows; i++) {
- var row = grd_clsphist.selectedrow(i);
- if (row > 0) { // 특정내역 Grid 필터링 적용시 row = 0 으로 설정하여 타이틀 부분에 setValue 하게 되어 에러 발생함
- var repeat = model.getValue("/root/main/list3/clsp["+ row +"]/rowstat"); // 특정내역 반복 설정 rowstat = 'R'
- var seqno = model.getValue("/root/main/list3/clsp["+ row +"]/seqno");
- // JX999 저장 보낼때는 기존처럼 seqno 없이 보내야 삭제가 정상적으로 됨
- if (repeat == "R") {
- if (seqno) { // seqno 값이 있으면 DB에 저장된 상태임
- repeat = "U";
- } else {
- repeat = "";
- }
- } else {
- repeat = "R";
- }
- model.setValue("/root/main/list3/clsp["+ row +"]/rowstat", repeat);
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
- model.refresh();
- }
- //------------------------------------------------------------
- // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- //------------------------------------------------------------
- function fSpclGridInsertRow() {
- // 특정내역 Grid 상에서 직접 행을 추가하는 경우 : 명세서단위 특정내역만을 추가할 수 있다.
- // 줄단위 특정내역의 경우, 처방 Grid에서 'T' 컬럼을 더블클릭하여 특정내역 상세관리 Popup을 통해 입력한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "M");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", "0"); // 구분, 줄번호, 수정상태, 특정내역코드 순으로 sort 처리 하므로
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N");
- grd_clsphist.row = clsprow;
- }
- //------------------------------------------------------------
- // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- //------------------------------------------------------------
- function fSpclGridDeleteRow() {
- // 여러 row를 동시에 선택하고 삭제하는 기능을 부여한다.
- for (var i = 0; i < grd_clsphist.selectedRows; i++) {
- var row = grd_clsphist.selectedrow(i);
- // var row = grd_clsphist.row;
- // 줄번호가 부여된 줄단위 특정내역이 삭제된 경우, 처방Grid의 'T' 컬럼의 "*" 를 삭제한다.
- var clodseqno = model.getValue("/root/main/list3/clsp["+ row +"]/clodseqno");
- var clsoyn = model.getValue("/root/main/list3/clsp["+ row +"]/clsoyn");
- if (clodseqno != "" && clodseqno != "0") { // 줄단위 특정내역의 경우
- var spclcd = model.getValue("/root/main/list3/clsp["+ row +"]/spclcd");
- if (spclcd == "JT001") { // 확인코드를 삭제한 경우
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod["+ j +"]/seqno");
- if (clodseqno == seqno) {
- model.resetInstanceNode("/root/main/list2/clod["+ j +"]/cnfmcd");
- j = grd_clodhist.rows;
- }
- }
- } else {
- var isSameLn = false;
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var clspclodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- var spclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- if (clspclodseqno == "") { // 입력된 줄번호가 없는 경우 제외
- }
- else if (clspclodseqno == "0") { // 명일련 단위는 제외
- }
- else if (clspclodseqno == clodseqno && j != row && grd_clsphist.rowstatus(j) != 4 && spclcd != "JT001") {
- isSameLn = true; // 같은 줄번호에 여러개의 특정내역이 있는 경우임
- j = grd_clsphist.rows;
- }
- }
- if (isSameLn == false) { // 동일한 줄번호의 특정내역이 없는 경우
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod["+ j +"]/seqno");
- if (seqno == clodseqno) {
- model.resetInstanceNode("/root/main/list2/clod["+ j +"]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- j = grd_clodhist.rows;
- }
- }
- }
- }
- }
- var unitflag = model.getValue("/root/main/list3/clsp["+ row +"]/unitflag");
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclspec");
- //grd_clsphist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(row) = 4; // 4 : delete 상태로 stat를 변경한다.
- model.setValue("/root/main/list3/clsp["+ row +"]/insntstat","D");
- if (clsoyn == "Y") {
- model.resetInstanceNode("/root/main/list7/clop[seqno="+ clodseqno +"]/spclspecyn");
- }
- }
- if (unitflag == "M") { // 명세서 단위 특정내역의 경우
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- model.resetInstanceNode("/root/hidden/list3/msgspclformat");
- model.refreshpart("/root/hidden/list3/msgspclformat");
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- }
- //----------------------------------------
- // 처방 Grid 마우스 오른쪽 "처방주석입력"
- //----------------------------------------
- function fOrderGridInsertCmt() {
- // 기존: 처방 항에 따라 심사Comment 조회 연결
- // 변경: 특정내역 상세 관리를 JX999로 설정하여 보여준다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
-
- var row = grd_clodhist.row;
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- if (seqno != "" && seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
- var rowcnt = 1;
- var setrow = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- }
- }
- }
- if (setrow > 0) {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp["+ setrow +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp["+ setrow +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 JX999가 없는 경우
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- }
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/detldesc");
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- //model.refresh();
- grd_clsphist.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- cnt++;
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- }
- else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (cnt > 0) {
- model.setValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } else {
- model.resetInstanceNode("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } // 처리 건수 if end
-
- //model.refresh();
- model.refreshpart("/root/hidden/list3/msgspclformat");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- fSaveClspList();
- } else {
- messageBox("줄번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- }
- }
- function fOrderGridInsertAllCmt() {
- // 기존: 처방 항에 따라 심사Comment 조회 연결
- // 변경: 특정내역 상세 관리를 JX999로 설정하여 보여준다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
- model.refresh();
- var grid_obj = document.controls.item("grd_clodhist");
- var grid_obj_clsp = document.controls.item("grd_clsphist");
-
- for (var k=0; k < grid_obj.selectedRows; k++ ) {
- var row = grid_obj.selectedRow(k);
- var seqno = grid_obj.valueMatrix(row, grid_obj.colref("seqno"));
- var edilnno = grid_obj.valueMatrix(row, grid_obj.colref("edilnno"));
-
- if (seqno != "" && seqno != "0") {
- } else {
- messageBox("줄번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- return;
- }
- }
-
- var rowcnt = 1;
- var setrow = 0;
-
- for (var k=0; k < grid_obj.selectedRows; k++ ) {
- var row = grid_obj.selectedRow(k);
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
-
- //if (seqno != "" && seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
-
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
-
- rowcnt = rowcnt+1;
-
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
-
- for (var i = 1; i < grid_obj_clsp.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclcdJX999 = model.getValue("/root/main/list3/clsp[insntstat!='D' and spclcd='JX999' and snglcalcscorcd='"+snglcalcscorcd+"' ]/spclcd");
-
- if (spclcd != "" && spclcd == "JX999" && grid_obj_clsp.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "U");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", model.getValue("/root/main/list3/clsp["+ i +"]/unitflag"));
-
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "U");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- } else if (spclcd != "" && spclcd != "JT001" && spclcdJX999 == "" && grid_obj_clsp.rowstatus(i) != 4) {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
-
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
-
- rowcnt = rowcnt+1;
- }
- }
- }
-
- }
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[last()]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/detldesc");
- var newclodseqno = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/clodseqno");
- var newsnglcalcscorcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/snglcalcscorcd");
- var newedilnno = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/edilnno");
-
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grid_obj_clsp.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grid_obj_clsp.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", newclodseqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", newsnglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
-
- model.setValue("/root/main/list2/clod[seqno="+ newclodseqno +"]/lnunitspclspecyn", "*");
- var srow = grid_obj.findRow(newclodseqno, grid_obj.fixedrows, grid_obj.colRef("seqno"), false, true);
- if (newspclcd == "JX999") { // JX999인 경우
- grid_obj.cellStyle("background-color", srow, grid_obj.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- }
- else if (newspclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- grid_obj.cellStyle("background-color", srow, grid_obj.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
-
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", newsnglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- //model.refresh();
- grid_obj_clsp.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grid_obj_clsp.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grid_obj_clsp.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grid_obj_clsp.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grid_obj_clsp.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grid_obj_clsp.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grid_obj_clsp.valueMatrix(rownum, grid_obj_clsp.colRef("insntstat")) = "D";
- grid_obj_clsp.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- } // 처리 건수 if end
-
- //model.refresh();
- model.refreshpart("/root/hidden/list3/msgspclformat");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grid_obj_clsp.refresh();
- grid_obj.refresh();
- fSaveClspList();
- // } else {
- //
- // }
- }
-
-
-
- // SPPIZ00700_심사Comment조회.xrw 호출 - 처방주석의 경우 처방항목의 항을 전달한다.
- function fGetOrderComment(memoflag, memocls, ediitem1) {
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- model.setValue("/root/hidden/sppiz00700/cond/ediitem1", ediitem1);
- modal("SPPIZ00700", "1", "10", "10", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", ""); // SPPIZ00700_심사Comment조회.xrw
- }
- // SPPIZ00700_심사Comment조회.xrw 호출
- function fGetJudgEdiComment(memoflag, memocls) {
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- modal("SPPIZ00700", "1", "10", "10", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", ""); // SPPIZ00700_심사Comment조회.xrw
- }
- // 심사Comment 조회 Popup에서 선택한 줄단위메모를 설정한다.
- // SPPIZ00700_심사Comment조회.xrw 에서 opener.javascript.fSetLnUnitMemoRefresh(); 형태로 호출한다.
- function fSetLnUnitMemoRefresh(){
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var workflag = 1;
- var clspgridrow;
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- var spcclsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var oldspclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- if (oldspclcd == "JX999") {
- // 기존 "JX999"를 수정한다.
- workflag = 2;
- clspgridrow = j; // 특정내역 Grid의 해당 row를 기억한다.
- j = grd_clsphist.rows;
- }
- }
- }
-
- var newspclspec = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- if (newspclspec) {
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "JX999" && spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- i = grd_clsphist.rows; // JX999 외의 다른 특정내역코드가 존재하는지 여부만 체크하면 되므로
- }
- }
- }
- }
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- model.setValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn", "*");
- if (workflag == 1) { // 추가
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- grd_clsphist.row = clsprow;
- } else { // 수정
- // 기존 변경된 경우
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp["+ clspgridrow +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- var rowstatus = grd_clsphist.rowstatus(clspgridrow);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(clspgridrow) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- grd_clsphist.row = clspgridrow;
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: JX999 / 명칭: 기타내역 / 내역 : "+ newspclspec +" / 형식 : X(700)");
- } else {
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 처방주석(줄단위 기타특정내역)이 없습니다.");
- }
- model.refreshpart("/root/hidden/list3/msgspclformat");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clcohist.refresh();
- }
-
-
-
- // 처방 Grid 마우스 오른쪽 "확인코드입력" / 처방 Grid 확인코드 필드 버튼 클릭 시
- function fOrderGridInsertCnfmCd() {
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- if (seqno != "0") {
- model.removeNodeset("root/hidden/sppiz01100/rslt");
- model.setValue("/root/hidden/sppiz01100/cond/code", model.getValue("/root/main/list2/clod["+ row +"]/cnfmcd"));
- modal("SPPIZ01100", "1", "10", "10", "SPPIZ01100", "/root/hidden/sppiz01100", "/root/init/sppiz01100", "", ""); // SPPIZ01100_확인코드조회
- if (instance1.selectSingleNode("root/hidden/sppiz01100/rslt")) {
- var cnfmcd = model.getValue("root/hidden/sppiz01100/rslt/code");
- model.setValue("/root/main/list2/clod["+ row +"]/cnfmcd", cnfmcd);
- //////////////////
- if (cnfmcd) {
- var isFind = false;
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ j +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- if (spclcd == "JT001") {
- model.setValue("/root/main/list3/clsp["+ j +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ j +"]/spclcd", "JT001");
- model.setValue("/root/main/list3/clsp["+ j +"]/cdnm", "확인코드");
- model.setValue("/root/main/list3/clsp["+ j +"]/spclspec", cnfmcd);
- model.setValue("/root/main/list3/clsp["+ j +"]/spclformat", "X(5)");
- model.setValue("/root/main/list3/clsp["+ j +"]/detldesc", "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재");
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- isFind = true;
- }
- }
- }
- if (isFind == false) { // 기존에 확인코드가 없었던 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", "0");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "JT001");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "확인코드");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", cnfmcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(5)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", "0");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- grd_clsphist.row = clsprow;
- grd_clsphist.refresh();
- }
- model.setValue("/root/hidden/list3/msgspclformat", "확인코드 - JT001 / 입력코드내역 : "+ cnfmcd +" / 기재형식 : X(5)");
-
- //////////////////
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
-
- }
- }
- }
- }
-
-
-
- // 결과조회
- function fOrderRsltSrch() {
- if (grp_dropdownmenu.visible == true) {
- grp_dropdownmenu.visible = false;
- }
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있으면
- // ast/examcureweb/xrw/SMAER00800_결과조회.xrw
- model.makeValue("/root/hidden/smaer00800/cond/srchdate1", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/hidden/smaer00800/cond/srchdate2", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.makeValue("/root/hidden/smaer00800/cond/srchpid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/hidden/smaer00800/cond/wardcd", ""); //model.getValue("/root/main/item1/iteminfo/wardcd"));
- model.makeValue("/root/hidden/smaer00800/cond/roomcd", ""); //model.getValue("/root/main/item1/iteminfo/roomcd"));
- model.makeValue("/root/hidden/smaer00800/cond/listflag", "P");
- model.makeValue("/root/hidden/smaer00800/cond/deptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeNode("/root/hidden/smaer00800/cond/drid");
- model.makeNode("/root/hidden/smaer00800/cond/chkcheck");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck1", "A");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck2", "B");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck3", "C");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck4", "D");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck5", "E");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck6", "F");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck7", "G");
- model.makeNode("/root/hidden/smaer00800/cond/chkcheck8");
- model.makeNode("/root/hidden/smaer00800/cond/tabflag");
- model.makeNode("/root/hidden/smaer00800/cond/mdlcd");
- model.makeNode("/root/hidden/smaer00800/cond/examgubun");
- model.makevalue("/root/hidden/smaer00800/cond/srchflag", "B");
- model.makeNode("/root/hidden/smaer00800/cond/hlaflag"); // 20100604 추가됨
- model.makeNode("/root/hidden/smaer00800/cond/prntfrmflag"); // 20100723 추가됨
-
- //modal("SMAER00800", "1", "10", "10", "SMAER00800", "/root/hidden/smaer00800/cond", "/root/send/data/singdata", "", ""); // SMAER00800_결과조회
- open("SMAER00800", "1", "10", "10", "SMAER00800", "/root/hidden/smaer00800/cond", "/root/send/data/singdata", "", ""); // SMAER00800_결과조회
- }
- }
- // 보험인정기준
- function fOrderInsuRcogBase(isAll) {
- var calcscorcd = grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd"));
- model.setValue("root/hidden/sppiz01600/cond/calcscorcd", calcscorcd);
- // SPPIZ01600_보험인정기준조회 팝업 연결 (선택된 row의 처방코드를 넘겨준다.)
- modal("SPPIZ01600", 1,150, 150, "SPPIZ01600", "/root/hidden/sppiz01600/cond/calcscorcd", "/root/send/item3/calcscorcd", "", "");
- }
- // 수가조회
- function fOrderCalcScorSrch(isAll) {
- // 수가조회창이 아닌 수가관리창으로 교체 (calcscorcd : 수가코드, judgflag : 수가관리에서 자보,일반,국제를 보여주도록 하기 위함)
- model.removeNodeset("/root/hidden/smpic00100/cond");
- model.makeValue("/root/hidden/smpic00100/cond/calcscorcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd")));
- model.makeValue("/root/hidden/smpic00100/cond/judgflag", "Y");
- modal("SMPIC00100", "1", "10", "10", "SMPIC00100", "/root/hidden/smpic00100/cond", "/root/temp/item6", "", "");
-
- }
- // 수가조회_원외 20091217 추가
- function fOrderCalcScorSrch_clop(isAll) {
- // 수가조회창이 아닌 수가관리창으로 교체 (calcscorcd : 수가코드, judgflag : 수가관리에서 자보,일반,국제를 보여주도록 하기 위함)
- model.removeNodeset("/root/hidden/smpic00100/cond");
- model.makeValue("/root/hidden/smpic00100/cond/calcscorcd", grd_oprcphist.valueMatrix(grd_oprcphist.row, grd_oprcphist.colRef("snglcalcscorcd")));
- model.makeValue("/root/hidden/smpic00100/cond/judgflag", "Y");
- modal("SMPIC00100", "1", "10", "10", "SMPIC00100", "/root/hidden/smpic00100/cond", "/root/temp/item6", "", "");
-
- }
- // 약품편람
- function fOrderDrugHBook() {
- model.removeNodeset("/root/hidden/smadb01900/cond");
- model.makeValue("/root/hidden/smadb01900/cond/calcscorcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd")));
- modal("SMADB01900", 1,150, 150, "SMADB01900", "/root/hidden/smadb01900/cond/calcscorcd", "/root/hidden/receivedata/srchdrugcd", "", "");
- }
- // 약품편람_원외 20091217 추가
- function fOrderDrugHBook_clop() {
- model.removeNodeset("/root/hidden/smadb01900/cond");
- model.makeValue("/root/hidden/smadb01900/cond/calcscorcd", grd_oprcphist.valueMatrix(grd_oprcphist.row, grd_oprcphist.colRef("snglcalcscorcd")));
- modal("SMADB01900", 1,150, 150, "SMADB01900", "/root/hidden/smadb01900/cond/calcscorcd", "/root/hidden/receivedata/srchdrugcd", "", "");
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- function fOrderBkColorNew(clodrow) {
- grd_clodhist.cellStyle("background-color", clodrow, grd_clodhist.colRef("rowstat")) = "#ffff9c"; // 신규처방 노란배경 // ffff9c=연한노랑
- }
- // 처방 Grid 배경색을 설정한다. - 심사사유 있는 row
- function fOrderBkColorResn(i) {
- //grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("rowstat")) = "#cece9c"; // 심사사유 있는 경우 녹색배경 // cece9c=카키색
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("rowstat")) = "#ffff9c"; // 심사사유 있는 경우 노란배경 // ffff9c=연한노랑
- }
- // 처방 Grid 배경색을 설정한다. - 배경색 없는 row
- function fOrderBkColorNone(i) {
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("rowstat")) = "#ffffff"; // 배경색 없음 // #ffffff = White
- }
- // 처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fOrderGridInsertRow() {
- var clodrow = grd_clodhist.row;
- var preediitem1 = model.getValue("/root/main/list2/clod["+ clodrow +"]/ediitem1");
- var prematractflag = model.getValue("/root/main/list2/clod["+ clodrow +"]/matractflag");
- var prepayflag = model.getValue("/root/main/list2/clod["+ clodrow +"]/payflag");
- grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ediitem1", preediitem1);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/matractflag", prematractflag);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/payflag", prepayflag);
-
- var ordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- model.setValue("/root/main/list2/clod["+ clodrow +"]/orddd", ordfromdd);
- // model.setValue("/root/main/list2/clod["+ clodrow +"]/execdt", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ordfromdd", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ordtodd", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/dayno", "1");
- grd_clodhist.row = clodrow;
-
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- }
- }
- }
- // 처방 Grid 타이틀 부분에서 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fOrderGridAddRow() {
- var clodrow = grd_clodhist.row;
- var preediitem1 = model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem");
- var prematractflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoMatrAct");
- var prepayflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- if (preediitem1 == "-") {
- }
- if (prematractflag == "-") {
- }
- grd_clodhist.insertRow(grd_clodhist.Row, "below",true);
- clodrow = grd_clodhist.row;
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ediitem1", preediitem1);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/matractflag", prematractflag);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/payflag", prepayflag);
-
- var ordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- model.setValue("/root/main/list2/clod["+ clodrow +"]/orddd", ordfromdd);
- //model.setValue("/root/main/list2/clod["+ clodrow +"]/execdt", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ordfromdd", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/ordtodd", ordfromdd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/dayno", "1");
- grd_clodhist.row = clodrow;
-
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- }
- }
- }
-
- //---------------------------------------------------------
- // 처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 복사"
- //---------------------------------------------------------
- function fOrderGridCopyRow() {
- var clodrow = grd_clodhist.row;
- grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- model.copyNode("/root/main/list2/clod["+ clodrow +"]", "/root/main/list2/clod["+ (clodrow - 1) +"]");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/rowstat");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/cnfmcd");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/lnunitspclspecyn");
-
- // seqno 셋팅
- model.setValue("/root/main/list2/clod["+ clodrow +"]/seqno", model.getValue("/root/main/item1/clbs/maxseqno"));
- model.setValue("/root/main/item1/clbs/maxseqno", parseInt(model.getValue("/root/main/item1/clbs/maxseqno")) + 1);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/edilnno", "0");
-
- grd_clodhist.refresh();
-
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- } else {
- newcd = model.getValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- return;
- }
- }
- }
- // 처방 Grid 타이틀을 이용해서 sorting 한 경우 줄번호가 현재 정렬된 순서대로 부여되므로 다시 sort하여 처리한다.
- fSetOrderLnNo();
- }
-
- //---------------------------------------------------------
- // 처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- //---------------------------------------------------------
- function fOrderGridDeleteRow() {
- if (grd_clodhist.selectedRows == 1) { // 한줄을 삭제하는 경우
- // 처방 Grid의 일변번호와 수가코드
- var clodrow = grd_clodhist.row;
- var clodSeqno = model.getValue("/root/main/list2/clod["+ clodrow +"]/seqno");
- if (clodSeqno) {
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- } else {
- newcd = model.getValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd");
- if (newcd == "") {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- }
- }
-
- // 해당 특정내역을 삭제한다.
- if (model.getValue("/root/main/list2/clod["+ clodrow +"]/cnfmcd") || model.getValue("/root/main/list2/clod["+ clodrow +"]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- if (spclClodseqno == clodSeqno) { // 기존에 이미 삭제된 특정내역도 함께 삭제해서, "삭제취소" 때에도 같이 복구되고, 다시 사용자가 필요없는 내역을 삭제하도록 한다.
- //model.setValue("/root/main/list3/clsp["+ j +"]/seqno", "D"+spclSeqno);
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_clsphist.deleteRow(j, false);
- }
- }
- }
- }
-
- // 기존입력된 처방삭제시 휴지통에 담는다.
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- // 처방 Grid에서 행 삭제 / 처방휴지통 Grid에 행 삽입
- var delclodrow = grd_delclod.rows - 1;
- grd_delclod.insertRow(delclodrow++, true); // 처방휴지통 Grid에 행 삽입
- model.copyNode("/root/main/list6/delclod["+ delclodrow +"]", "/root/main/list2/clod["+ clodrow +"]"); // desc, sorce
- if (clodstatus == 0 || clodstatus == 2) { // 0 : new, 2 : update
- grd_delclod.rowstatus(grd_delclod.row) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_delclod.rowstatus(grd_delclod.row) = 0;
- }
- }
- grd_delclod.refresh();
-
- grd_clodhist.rowstatus(clodrow) = 4; // 4 : delete 상태로 stat를 변경한다.
- grd_clodhist.rowHidden(clodrow) = true;
- grd_clodhist.row = clodrow;
- }
- else if (grd_clodhist.selectedRows > 1) { // 여러줄을 삭제하는 경우
- // 심사사유, 조정사유, 수정사유 입력
- var clodrow = grd_clodhist.row;
-
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- var newdesc = "";
- if (newcd == "") {
- var oldcd = model.getValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd");
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", oldcd);
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- newcd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- newdesc = model.getValue("/root/hidden/sppiz01000/rslt/adjtresndesc");
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
-
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) { // 타이틀 부분에 setValue 하게 되어 에러 발생함
-
- var seqno = model.getValue("/root/main/list2/clod["+ clodrow +"]/seqno");
- if (newcd != model.getValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd")) {
- if (grd_clodhist.rowStatus(clodrow) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(clodrow) = 2;
- }
- }
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresndesc", newdesc);
-
- // 해당 특정내역을 삭제한다.
- if (model.getValue("/root/main/list2/clod["+ clodrow +"]/cnfmcd") || model.getValue("/root/main/list2/clod["+ clodrow +"]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- if (spcClodseqno == "") { // 입력된 줄번호가 없는 경우 제외
- }
- else if (spcClodseqno == "0") { // 명일련 단위는 제외
- }
- else if (spcClodseqno == seqno) { // 기존에 이미 삭제된 특정내역도 함께 삭제해서, "삭제취소" 때에도 같이 복구되고, 다시 사용자가 필요없는 내역을 삭제하도록 한다.
- //model.setValue("/root/main/list3/clsp["+ j +"]/edilnno", "D"+spclLnNo);
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
-
- // 기존입력된 처방삭제시 휴지통에 담는다.
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- var delclodrow = grd_delclod.rows - 1;
- grd_delclod.insertRow(delclodrow++, true); // 처방휴지통 Grid에 행 삽입
- model.copyNode("/root/main/list6/delclod["+ delclodrow +"]", "/root/main/list2/clod["+ clodrow +"]"); // desc, sorce
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus == 0 || clodstatus == 2) { // 0 : new, 2 : update
- grd_delclod.rowstatus(grd_delclod.row) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_delclod.rowstatus(grd_delclod.row) = 0;
- }
- }
-
- grd_clodhist.rowstatus(clodrow) = 4;
- grd_clodhist.rowHidden(clodrow) = true;
- }
- }
- grd_delclod.refresh();
- }
- }
-
- // 처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "삭제 취소"
- function fOrderGridDeleteCancel() {
- var delclodrow = grd_delclod.row;
- var delseqno = model.getValue("/root/main/list6/delclod["+ delclodrow +"]/seqno");
- var delclodCalcscorcd = model.getValue("/root/main/list6/delclod["+ delclodrow +"]/snglcalcscorcd");
- var isSpclChange = false; // 특정내역 줄번호도 변경된 경우, 처방 줄번호에 맞춰 특정내역 줄번호가 모두 변경된 다음 다시 정렬한다.
-
- if (model.getValue("/root/main/list6/delclod["+ delclodrow +"]/cnfmcd") || model.getValue("/root/main/list6/delclod["+ delclodrow +"]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- /*
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- var spclCalcscorcd = model.getValue("/root/main/list3/clsp["+ j +"]/snglcalcscorcd");
- if (spclClodseqno == delseqno && spclCalcscorcd == delclodCalcscorcd) {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- */
- var clsprow = grd_clsphist.findRow(delseqno, 1, grd_clsphist.colRef("clodseqno"), false, true);
- grd_clsphist.rowstatus(clsprow) = 0;
-
- isSpclChange = true;
- }
-
- // 처방휴지통 Grid에서 행 삭제 / 처방 Grid에 행 삽입
- // var clodrow = grd_clodhist.rows - 1;
- // grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- // model.copyNode("/root/main/list2/clod["+ clodrow +"]", "/root/main/list6/delclod["+ delclodrow +"]"); // desc, sorce
- //model.setValue("/root/main/list2/clod["+ clodrow +"]/initlnno", clodrow);
- //model.setValue("/root/main/list2/clod["+ clodrow +"]/edilnno", clodrow);
-
- var clodrow = grd_clodhist.findRow(delseqno, 1, grd_clodhist.colRef("seqno"), false, true);
- grd_clodhist.rowstatus(clodrow) = 0;
- grd_clodhist.rowHidden(clodrow) = false;
- /*
- var delclodstatus = grd_delclod.rowstatus(delclodrow);
- if (delclodstatus == 0) {
- grd_clodhist.rowstatus(clodrow) = 1; // 1 : insert 상태로 stat를 복원한다.
- } else if (delclodstatus == 4) {
- grd_clodhist.rowstatus(clodrow) = 2; // 2 : update 상태로 stat를 복원한다.
- }
- */
- grd_delclod.deleteRow(delclodrow, true); // 처방휴지통 Grid에서 해당 라인을 삭제한다.
-
- fSetOrderLnNo();
-
- if (isSpclChange) { // 줄단위 특정내역이 입력된 경우
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- }
-
- // 삭제취소된 Row가 처방 Grid에 새로 삽입되었으므로 처방 필터링이 선택되어있는 경우, 해당 Row만 표시되도록 한다.
- //fGetSelectedOrderData();
-
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // 2008-09-02 주석처리
- // fSetOrderData();
-
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- grd_delclod.refresh();
- }
-
- // 수가코드
- function fSnglGridCopyCol() {
-
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("snglcalcscorcd");;
-
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
-
- /*
- var clodrow = grd_clodhist.row;
- grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- model.copyNode("/root/main/list2/clod["+ clodrow +"]", "/root/main/list2/clod["+ (clodrow - 1) +"]");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/rowstat");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/cnfmcd");
- model.resetInstanceNode("/root/main/list2/clod["+ clodrow +"]/lnunitspclspecyn");
- model.refresh();
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- } else {
- newcd = model.getValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", newcd);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- return;
- }
- }
- }
- // 처방 Grid 타이틀을 이용해서 sorting 한 경우 줄번호가 현재 정렬된 순서대로 부여되므로 다시 sort하여 처리한다.
- fSetOrderLnNo();
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- model.refresh();
- */
- }
-
- // EDI코드 복사
- function fEdiGridCopyCol() {
-
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("basecd");
-
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
- }
-
- // 처방명 복사
- function fHngnmGridCopyCol() {
-
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("hngnm");
-
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- function fCancelClodStatusChng() {
- var row = grd_clodhist.row;
- model.setValue("/root/main/list2/clod["+ row +"]/adjtresncd", model.getValue("/root/hidden/item5/clod/adjtresncd"));
- model.setValue("/root/main/list2/clod["+ row +"]/orddd", model.getValue("/root/hidden/item5/clod/orddd"));
- model.setValue("/root/main/list2/clod["+ row +"]/ordfromdd", model.getValue("/root/hidden/item5/clod/ordfromdd"));
- model.setValue("/root/main/list2/clod["+ row +"]/ordtodd", model.getValue("/root/hidden/item5/clod/ordtodd"));
- model.setValue("/root/main/list2/clod["+ row +"]/updtdd", model.getValue("/root/hidden/item5/clod/updtdd"));
- model.setValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- model.setValue("/root/main/list2/clod["+ row +"]/drugqty", model.getValue("/root/hidden/item5/clod/drugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/tims", model.getValue("/root/hidden/item5/clod/tims"));
- model.setValue("/root/main/list2/clod["+ row +"]/dayno", model.getValue("/root/hidden/item5/clod/dayno"));
- model.setValue("/root/main/list2/clod["+ row +"]/edidrugqty", model.getValue("/root/hidden/item5/clod/edidrugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/edidayno", model.getValue("/root/hidden/item5/clod/edidayno"));
- model.setValue("/root/main/list2/clod["+ row +"]/unitcost", model.getValue("/root/hidden/item5/clod/unitcost"));
- grd_clodhist.rowstatus(grd_clodhist.row) = parseInt(model.getValue("/root/hidden/item5/clod/rowstatus"));
- }
-
- // 수가코드를 조회한 후 처방으로 행 추가를 한다.
- function fSetSrchCalcScorCd() {
- var col = grd_clodhist.col;
- var row = grd_clodhist.row;
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch"); // SMPIC00200_수가조회에 전달할 조건값
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303") 용
-
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "N"); // 단가변경여부
- model.makeValue("/root/send/item5/mech/ediupdateyn", "N"); // edi변경여부
-
- var cnfmcd = model.getValue("/root/main/list2/clod["+ row +"]/cnfmcd");
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- if (cnfmcd || lnunitspclspecyn) {
- var ans = messageBox("입력된 줄단위 특정내역을 삭제하고 코드를 변경", "S001"); ///입력된 줄단위 특정내역을 삭제하고 코드를 변경하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes
- model.resetInstanceNode("/root/main/list2/clod["+ row +"]/cnfmcd");
- model.resetInstanceNode("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- var clspgridrow;
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ j +"]/edilnno");
- if (spclLnNo == edilnno) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclspec");
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- }
- else if (ans == 7 || ans == 2) { // 6: yes, 7:no, 2:cancel
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- }
-
- if (col == grd_clodhist.colRef("grupcalcscorcd")) { // 그룹코드
- var grupcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd");
- if (grupcalcscorcd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- else if (model.getValue("/root/hidden/item5/clod/grupcalcscorcd") == grupcalcscorcd) {
- if (event.keyCode != "13") {
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", grupcalcscorcd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", grupcalcscorcd); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/basecd", "");
- }
- else if (col == grd_clodhist.colRef("snglcalcscorcd")) { // 수가코드
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- if (snglcalcscorcd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- else if (model.getValue("/root/hidden/item5/clod/snglcalcscorcd") == snglcalcscorcd) {
- if (event.keyCode != "13") {
- return;
- }
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", snglcalcscorcd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/basecd", "");
- }
- else if (col == grd_clodhist.colRef("basecd")) { // EDI코드
- var basecd = model.getValue("/root/main/list2/clod["+ row +"]/basecd");
- if (basecd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- else if (model.getValue("/root/hidden/item5/clod/basecd") == basecd) {
- if (event.keyCode != "13") {
- return;
- }
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", basecd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/basecd", basecd); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- }
- else if (col == grd_clodhist.colRef("hngnm")) { // 한글명칭
- var hngnm = model.getValue("/root/main/list2/clod["+ row +"]/hngnm");
- if (hngnm == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- else if (model.getValue("/root/hidden/item5/clod/hngnm") == hngnm) {
- if (event.keyCode != "13") {
- return;
- }
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", hngnm); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/basecd", ""); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- }
-
-
- var ordfromdd = model.getValue("/root/main/list2/clod["+ row +"]/ordfromdd");
- if (ordfromdd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방일시는", "I003"); ///처방일시는 필수입력입니다.
- return;
- }
-
- var dayno = model.getValue("/root/main/list2/clod["+ row +"]/dayno");
- if (dayno < 0) {
- messageBox("처방종료일자가 처방시작일자 보다 이전 날짜", "E008"); ///처방종료일자가 처방시작일자 보다 이전 날짜입니다.
- return;
- }
- else if (dayno > 365) {
- messageBox("처방일이 잘못", "E005"); ///처방일이 잘못 선택되었습니다.
- return;
- }
- model.makeValue("/root/send/item5/mech/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordfromdd);
-
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod["+ row +"]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod["+ row +"]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
- var drugqty = model.getValue("/root/main/list2/clod["+ row +"]/drugqty");
- if (drugqty == "") {
- drugqty = "1";
- }
- model.makeValue("/root/send/item5/mech/drugqty", drugqty);
- var tims = model.getValue("/root/main/list2/clod["+ row +"]/tims");
- if (tims == "") {
- tims = "1";
- }
- model.makeValue("/root/send/item5/mech/tims", tims);
- var dayno = model.getValue("/root/main/list2/clod["+ row +"]/dayno");
- if (dayno == "") {
- dayno = "1";
- }
- model.makeValue("/root/send/item5/mech/dayno", dayno);
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod["+ row +"]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", model.getValue("/root/main/list2/clod["+ row +"]/hosinresncd"));
- model.makeValue("/root/send/item5/mech/payflag", model.getValue("/root/main/list2/clod["+ row +"]/payflag"));
- model.makeValue("/root/send/item5/mech/clbsordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- model.makeValue("/root/send/item5/mech/mode", "n");
- model.makeValue("/root/send/item5/mech/pid", model.getValue("/root/main/item1/clbs/pid")); // 20100125 추가
- model.makeValue("/root/send/item5/mech/clamdeptcd", model.getValue("/root/main/item1/clbs/clamdeptcd")); // 20100724 추가
-
- var clodlength;
- if (col == grd_clodhist.colRef("hngnm")) {
- clodlength = 0;
- }
- else {
- if (submit("TRPID20303")) {
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- var clod = clodSelect.childNodes; //root/main/item5/mech
- clodlength = clod.length;
- } else {
- clodlength = 0;
- }
- }
-
- // 입력한 코드에 대해 조회된 결과가 없거나, 하나의 EDI코드에 여러 수가코드가 존재할 때
- if ((clodlength == 0) || (col == grd_clodhist.colRef("basecd") && clodlength > 1) ) {
- // 검색된 결과가 여러 수가코드인 경우 이를 초기화하고 수가조회 Popup 창에서 새로 결과를 얻는다.
- model.resetInstanceNode("/root/main/item5");
-
- // insukindcd를 SMPIC00200_수가조회 화면에서 사용하는 조건값으로 변경한다.
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukindcd == "11") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- }
- else if (insukindcd == "21" || insukindcd == "22") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "proc");
- }
- else if (insukindcd == "31") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "autm");
- }
- else if (insukindcd == "41") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "indus");
- } else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- }
- // SMPIC00200_수가조회 화면의 그룹,싱글 combo 조건값 설정
- if (col == grd_clodhist.colRef("grupcalcscorcd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "G");
- }
- else if (col == grd_clodhist.colRef("snglcalcscorcd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
- }
- // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
- if (col == grd_clodhist.colRef("basecd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "edicd");
- }
- else if (col == grd_clodhist.colRef("hngnm")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "hngnm");
- }
- else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "calcscorcd");
- }
- // 처방시작일을 수가조회 기준일자로 설정
- if (ordfromdd) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ordfromdd);
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con_ordinptflag", "PAM"); // 20100113 처방입력구분이 입력가능으로 된 수가도 조회하기 위해서 추가
- model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
- modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
-
- var mechSelect = instance1.selectSingleNode("/root/temp/mech");
- if (mechSelect == null) { // 선택한 코드가 없는 경우
- model.setValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- messageBox("수가조회 화면에서 선택한 결과가", "I004"); ///수가조회 화면에서 선택한 결과가 없습니다.
- return;
- }
- // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
- model.makeNode("/root/hidden/smpic00200/rslt/mech");
- model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
- model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
- model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
- model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
-
- if ( model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A"
- && model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "I" // 20100120 김용민 입력가능한 수가 제외
- ) { // 처방입력구분(코드군 P0141) A: 가능
- model.setValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
- return;
- }
-
- if (model.getValue("/root/hidden/smpic00200/rslt/mech/grupsnglflag") != "S") { // 그룹코드인 경우의 그룹코드에 속하는 싱글코드를 조회함.
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/mech/calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/snglcalcscorcd");
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- submit("TRPID20303");
- } else { // 싱글코드를 선택했을 때
- model.resetInstanceNode("/root/send/item5/mech/grupcalcscorcd");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- submit("TRPID20303");
- }
- }
- // 수가조회 이후 신규처방 추가처리
- fSetNewCalcScorCd();
- //////////////////
- }
-
- // 수가조회 이후 신규처방 추가처리
- function fSetNewCalcScorCd() {
- var row = grd_clodhist.row;
- // SMPIC00200_수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과 값에 대한 처리
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- if (clodSelect != null) {
- var clod = clodSelect.childNodes; //root/main/item5/mech
-
- if (clod.length == 0) {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); ///처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가 없습니다.
- return;
- }
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "new");
-
- // 수가코드가 변경되면 치식을 초기화시킨다.
- model.resetInstanceNode("/root/main/list2/clod["+ row +"]/toot");
-
- fSetOrderLnNo();
-
- // 새로 입력된 수가코드가 처방 Grid에 삽입 또는 수정되었으므로 처방 필터링이 선택되어있는 경우, 해당 Row만 표시되도록 한다.
- // 2008-09-01
- // fGetSelectedOrderData();
-
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // 2008-09-02
- //fSetOrderData();
-
- // 확인코드가 추가된 경우 특정내역 Grid에도 JT001을 추가한다.
- fSetNewCnfmCd();
- } else {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); ///처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가 없습니다.
- return;
- }
- }
-
- // 확인코드, 검체검사위탁, 준용코드를 특정내역에 자동으로 추가한다.
- function fSetNewCnfmCd() {
- var isClspChange = false;
-
- for (var i = 1; i < grd_clodhist.rows; i++) {
- var rowstatus = grd_clodhist.rowstatus(i);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
-
- // 1.확인코드 : JT001 : 확인코드 : X(5) : 여러개 발생시 '/' 로 구분
- // 2.분업예외코드 : JS002 : 분업예외코드 : 9(2)
- // 3.검체검사위탁 : JS005 : 수탁기관기호/검사의뢰일(ccccyymmdd) : 9(8)/cyymmdd
- // 위탁계약처구분코드(-:해당없음,1:검체검사위탁,2:시설공동이용,3:개방병원진료,4:위탁진료)
- // 4.준용코드 : JS009 : 준용명 : X(700)
-
- var seqno = model.getValue("/root/main/list2/clod["+ i +"]/seqno");
- var cnfmcd = model.getValue("/root/main/list2/clod["+ i +"]/cnfmcd");
- var basecd = model.getValue("/root/main/list2/clod["+ i +"]/basecd");
- var hosinresncd = model.getValue("/root/main/list2/clod["+ i +"]/hosinresncd");
- var trustinstno = model.getValue("/root/main/item5/mech/trustinstno");
- var clamspclcd = model.getValue("/root/main/item5/mech/clamspclcd");
- var okmsg = ""
- var spclcd = "";
- var cdnm = "";
- var spclspec = "";
- var spclformat = "";
- var detldesc = "";
-
- if (cnfmcd) {
- okmsg = "확인코드";
- spclcd = "JT001";
- cdnm = "확인코드";
- spclspec = cnfmcd;
- spclformat = "X(5)";
- detldesc = "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재";
- }
- else if (hosinresncd != "" && hosinresncd != '00' && hosinresncd != '-'){
- okmsg = "분업예외코드";
- spclcd = "JS002";
- cdnm = "분업예외코드";
- spclspec = hosinresncd;
- spclformat = "9(2)";
- detldesc = "의약분업 예외사항 발생으로 의료기관에서 원내 조제/투약이 이루어진 경우 해당 예외구분코드를 기재하고, 원외처방발행기에서 퇴장방지의약품 원외처방시 해당의약품의 사용장려비를 청구할 경우 구분코드 99를 기재";
- }
- else if (trustinstno != "" && clamspclcd == "1"){
- okmsg = "검체검사위탁";
- spclcd = "JS005";
- cdnm = "검체검사위탁";
- spclspec = trustinstno + "/" + model.getValue("/root/main/list2/clod["+ i +"]/ordfromdd");
- spclformat = "9(8)/ccyymmdd";
- detldesc = "수탁기관에 검체검사를 의뢰한 경우 수탁기관기호와 검사의뢰일을 기재";
- }
- else if (basecd == "JJJJJJ"){
- okmsg = "준용명";
- spclcd = "JS009";
- cdnm = "준용명";
- spclspec = model.getValue("/root/main/list2/clod["+ i +"]/hngnm");
- spclformat = "X(700)";
- detldesc = "상대가치점수표에 분류되지 않은 항목을 상대가치점수표상의 비슷한 진료행위로 준용하여 'JJJJJJ'코드로 청구시 진료행위명과 산출식을 기재하고, 한의사의 임의처방 청구시에는 임의 처방명을 기재";
- }
- if (okmsg) {
- var isFind = false;
- var edilnno = model.getValue("/root/main/list2/clod["+ i +"]/edilnno");
- if (edilnno == "" || edilnno == "0") {
-
- if (isFind == false) { // 기존에 없었던 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", spclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", cdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", spclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", spclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", detldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn", "*"); //처방그리드 특정내역표시
- grd_clsphist.row = clsprow;
- //grd_clsphist.refresh();
- //grd_clodhist.refresh();
- isClspChange = true;
- }
- //model.setValue("/root/hidden/list3/msgspclformat", "확인코드 - JT001 / 입력코드내역 : "+ cnfmcd +" / 기재형식 : X(5)");
- model.setValue("/root/hidden/list3/msgspclformat", cdnm + " - " + spclcd + " / " + "입력코드내역 : " + spclspec + " / 기재형식 : " + spclformat) ;
- model.refreshpart("/root/hidden/list3/msgspclformat");
- }
- }
- }
- }
- // 추가된 처방이 싱글코드인 경우 수가마스터 / 그룹코드인 경우 그룹마스터에 입력된 확인코드를 자동발생시킨 경우
- if (isClspChange == true) {
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- }
- }
-
- // 조회한 수가코드의 금액정보를 표시한다.
- function fSetCalcScorAmt(clod, mode) {
- for (var i = 1; i <= clod.length; i++) { // 싱글 수가코드 개수 만큼
- var row = grd_clodhist.row;
- if (mode == "new") {
- model.setValue("/root/main/list2/clod["+ row +"]/grupsnglflag", model.getValue("/root/main/item5/mech["+i+"]/grupsnglflag")); // 그룹싱글구분
- model.setValue("/root/main/list2/clod["+ row +"]/grupseqno", model.getValue("/root/main/item5/mech["+i+"]/grupseqno")); // 그룹 정렬순번
- model.setValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd", model.getValue("/root/main/item5/mech["+i+"]/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd", model.getValue("/root/main/item5/mech["+i+"]/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/orddeptcd", model.getValue("/root/main/item5/mech["+i+"]/orddeptcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/orddrid", model.getValue("/root/main/item5/mech["+i+"]/orddrid"));
- model.setValue("/root/main/list2/clod["+ row +"]/matractflag", model.getValue("/root/main/item5/mech["+i+"]/matractflag"));
- model.setValue("/root/main/list2/clod["+ row +"]/item", model.getValue("/root/main/item5/mech["+i+"]/item"));
- model.setValue("/root/main/list2/clod["+ row +"]/payflag", model.getValue("/root/main/item5/mech["+i+"]/payflag"));
- model.setValue("/root/main/list2/clod["+ row +"]/pynpy1", model.getValue("/root/main/item5/mech["+i+"]/pynpy1"));
- model.setValue("/root/main/list2/clod["+ row +"]/earncls1", model.getValue("/root/main/item5/mech["+i+"]/earncls1"));
- model.setValue("/root/main/list2/clod["+ row +"]/earncls2", model.getValue("/root/main/item5/mech["+i+"]/earncls2"));
- model.setValue("/root/main/list2/clod["+ row +"]/earncls3", model.getValue("/root/main/item5/mech["+i+"]/earncls3"));
-
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem1", model.getValue("/root/main/item5/mech["+i+"]/ediitem1"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem2", model.getValue("/root/main/item5/mech["+i+"]/ediitem2"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem", model.getValue("/root/main/item5/mech["+i+"]/ediitem"));
-
- model.setValue("/root/main/list2/clod["+ row +"]/cnfmcd", model.getValue("/root/main/item5/mech["+i+"]/cnfmcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/orddd", model.getValue("/root/main/item5/mech["+i+"]/orddd"));
- model.setValue("/root/main/list2/clod["+ row +"]/calcappyn", model.getValue("/root/main/item5/mech["+i+"]/calcappyn"));
- //model.resetInstanceNode("/root/main/list2/clod["+ row +"]/edilnno");
- // 신규입력된 처방은 edilnno는 0, seqno는 최종번호를 셋팅하고 maxseqno에 최종값을 +1한다.
- model.setValue("/root/main/list2/clod["+ row +"]/edilnno", "0");
- model.setValue("/root/main/list2/clod["+ row +"]/seqno", model.getValue("/root/main/item1/clbs/maxseqno"));
- model.setValue("/root/main/item1/clbs/maxseqno", parseInt(model.getValue("/root/main/item1/clbs/maxseqno")) + 1);
- }
-
- model.setValue("/root/main/list2/clod["+ row +"]/mechfromdd", model.getValue("/root/main/item5/mech["+i+"]/mechfromdd"));
- model.setValue("/root/main/list2/clod["+ row +"]/mechtodd", model.getValue("/root/main/item5/mech["+i+"]/mechtodd"));
- model.setValue("/root/main/list2/clod["+ row +"]/unitcost", model.getValue("/root/main/item5/mech["+i+"]/unitcost"));
- model.setValue("/root/main/list2/clod["+ row +"]/drugqty", model.getValue("/root/main/item5/mech["+i+"]/drugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/tims", model.getValue("/root/main/item5/mech["+i+"]/tims"));
- model.setValue("/root/main/list2/clod["+ row +"]/daydrugqty", model.getValue("/root/main/item5/mech["+i+"]/daydrugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/dayno", model.getValue("/root/main/item5/mech["+i+"]/dayno"));
- model.setValue("/root/main/list2/clod["+ row +"]/totdrugqty", model.getValue("/root/main/item5/mech["+i+"]/totdrugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/amt", model.getValue("/root/main/item5/mech["+i+"]/amt"));
- model.setValue("/root/main/list2/clod["+ row +"]/basecd", model.getValue("/root/main/item5/mech["+i+"]/basecd"));
- model.setValue("/root/main/list2/clod["+ row +"]/baserlapnt", model.getValue("/root/main/item5/mech["+i+"]/baserlapnt"));
- model.setValue("/root/main/list2/clod["+ row +"]/baseaddrlapnt", model.getValue("/root/main/item5/mech["+i+"]/baseaddrlapnt"));
- model.setValue("/root/main/list2/clod["+ row +"]/estmcls", model.getValue("/root/main/item5/mech["+i+"]/estmcls"));
- model.setValue("/root/main/list2/clod["+ row +"]/estmmncd", model.getValue("/root/main/item5/mech["+i+"]/estmmncd"));
- model.setValue("/root/main/list2/clod["+ row +"]/pntunitcost", model.getValue("/root/main/item5/mech["+i+"]/pntunitcost"));
- //model.setValue("/root/main/list2/clod["+ row +"]/toot", model.getValue("/root/main/item5/mech["+i+"]/toot"));
- model.setValue("/root/main/list2/clod["+ row +"]/hosinresncd", model.getValue("/root/main/item5/mech["+i+"]/hosinresncd"));
- model.setValue("/root/main/list2/clod["+ row +"]/ordfromdd", model.getValue("/root/main/item5/mech["+i+"]/ordfromdd"));
- model.setValue("/root/main/list2/clod["+ row +"]/ordtodd", model.getValue("/root/main/item5/mech["+i+"]/ordtodd"));
- model.setValue("/root/main/list2/clod["+ row +"]/edicdflag", model.getValue("/root/main/item5/mech["+i+"]/edicdflag"));
- model.setValue("/root/main/list2/clod["+ row +"]/edicd", model.getValue("/root/main/item5/mech["+i+"]/edicd"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediunitcost", model.getValue("/root/main/item5/mech["+i+"]/ediunitcost"));
- model.setValue("/root/main/list2/clod["+ row +"]/edidrugqty", model.getValue("/root/main/item5/mech["+i+"]/edidrugqty"));
- model.setValue("/root/main/list2/clod["+ row +"]/edidayno", model.getValue("/root/main/item5/mech["+i+"]/edidayno"));
- model.setValue("/root/main/list2/clod["+ row +"]/rcptunitcost", model.getValue("/root/main/item5/mech["+i+"]/rcptunitcost"));
- model.setValue("/root/main/list2/clod["+ row +"]/prcpflag", model.getValue("/root/main/item5/mech["+i+"]/prcpflag"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediamt", model.getValue("/root/main/item5/mech["+i+"]/ediamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/rcptcalcamt", model.getValue("/root/main/item5/mech["+i+"]/rcptcalcamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/estmcd", model.getValue("/root/main/item5/mech["+i+"]/estmcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/hngnm", model.getValue("/root/main/item5/mech["+i+"]/hngnm"));
-
- model.setValue("/root/main/list2/clod["+ row +"]/edihospaddamt", model.getValue("/root/main/item5/mech["+i+"]/edihospaddamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediaddamt", model.getValue("/root/main/item5/mech["+i+"]/ediaddamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/paytotamt", model.getValue("/root/main/item5/mech["+i+"]/paytotamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/ownbamt", model.getValue("/root/main/item5/mech["+i+"]/ownbamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/clamamt", model.getValue("/root/main/item5/mech["+i+"]/clamamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/choiordamt", model.getValue("/root/main/item5/mech["+i+"]/choiordamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/edihospaddtotamt", model.getValue("/root/main/item5/mech["+i+"]/edihospaddtotamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/ediaddtotamt", model.getValue("/root/main/item5/mech["+i+"]/ediaddtotamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/choiordtotamt", model.getValue("/root/main/item5/mech["+i+"]/choiordtotamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/totordamt", model.getValue("/root/main/item5/mech["+i+"]/totordamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/ownbtotamt", model.getValue("/root/main/item5/mech["+i+"]/ownbtotamt"));
-
- model.setValue("/root/main/list2/clod["+ row +"]/ordnm", model.getValue("/root/main/item5/mech["+i+"]/ordnm"));
- model.setValue("/root/main/list2/clod["+ row +"]/estmcdnm", model.getValue("/root/main/item5/mech["+i+"]/estmcdnm"));
- model.setValue("/root/main/list2/clod["+ row +"]/adjtresncd", model.getValue("/root/main/item5/mech["+i+"]/adjtresncd"));
- model.setValue("/root/main/list2/clod["+ row +"]/druglimitamt", model.getValue("/root/main/item5/mech["+i+"]/druglimitamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/limitdiffamt", model.getValue("/root/main/item5/mech["+i+"]/limitdiffamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/edidruglimitamt", model.getValue("/root/main/item5/mech["+i+"]/edidruglimitamt"));
- model.setValue("/root/main/list2/clod["+ row +"]/edilimitdiffamt", model.getValue("/root/main/item5/mech["+i+"]/edilimitdiffamt"));
-
- // 행 추가 후 싱글코드 조회 후에 다음 줄을 자동으로 한줄 추가함.
- if (i < clod.length) {
- grd_clodhist.insertRow(row++, "below", false);
- }
- }
- grd_clodhist.refresh();
- }
-
- // 입력한 산정의미코드에 해당하는 산정코드를 조회한다.
- function fSrchEstmCd() {
- model.removeNodeset("/root/hidden/sppiz00800/rslt");
- model.makeNode("/root/hidden/sppiz00800/rslt/clcd");
- model.resetInstanceNode("/root/hidden/sppiz00800/cond");
-
- var row = grd_clodhist.row;
- var estmcls = model.getValue("/root/main/list2/clod["+ row +"]/estmcls");
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukindcd == "") {
- messageBox("심사대상자의 보험유형이", "I004"); ///심사대상자의 보험유형이 없습니다
- return false;
- }
- model.setValue("/root/hidden/sppiz00800/cond/insukind", insukindcd);
- model.setValue("/root/hidden/sppiz00800/cond/estmcls", estmcls);
- model.setValue("/root/hidden/sppiz00800/cond/estmmncd", model.getValue("/root/main/list2/clod["+ row +"]/estmmncd"));
- model.setValue("/root/hidden/sppiz00800/cond/todd", model.getValue("/root/main/list2/clod["+ row +"]/ordtodd"));
- modal("SPPIZ00800", "1", "10", "10", "SPPIZ00800", "/root/hidden/sppiz00800/cond", "/root/hidden/cond", "", ""); // SPPIZ00800_산정코드조회.xrw
- if (model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd")) {
- var estmmncd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmmncd");
- var oldestmmncd = model.getValue("/root/main/list2/clod["+ row +"]/estmmncd");
- if (estmmncd == "0000" && oldestmmncd == "") {
- } else {
- if (estmmncd != oldestmmncd) {
- var adjtresncd = model.getValue("/root/main/list2/clod["+ row +"]/adjtresncd");
- var cmbAdjtresncd = "";
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd) {
- model.setValue("/root/main/list2/clod["+ row +"]/adjtresncd", cmbAdjtresncd);
- } else {
- var newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- }
- fSetOrderChangeRowStat(row); // 처방의 수정된 row 상태를 표시한다.
- } else {
- return;
- }
- var oldestmcd = model.getValue("/root/main/list2/clod["+ row +"]/estmcd");
- var oldestmcdnm = model.getValue("/root/main/list2/clod["+ row +"]/estmcdnm");
- model.setValue("/root/main/list2/clod["+ row +"]/estmmncd", estmmncd);
- model.setValue("/root/main/list2/clod["+ row +"]/estmcd", model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd"));
- model.setValue("/root/main/list2/clod["+ row +"]/estmcdnm", model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcdnm"));
- var rslt = fSetEstmCd();
- row = grd_clodhist.row;
- if (rslt == false) {
- model.setValue("/root/main/list2/clod["+ row +"]/estmmncd", oldestmmncd);
- model.setValue("/root/main/list2/clod["+ row +"]/estmcd", oldestmcd);
- model.setValue("/root/main/list2/clod["+ row +"]/estmcdnm", oldestmcdnm);
- } else {
- if (row != -1 && estmmncd == "0000") { // sort 이후에 선택된 row가 있고
- estmmncd = "";
- model.setValue("/root/main/list2/clod["+ row +"]/estmmncd", estmmncd);
- model.setValue("/root/main/list2/clod["+ row +"]/estmcd", "");
- model.setValue("/root/main/list2/clod["+ row +"]/estmcdnm", "");
- }
- }
- }
- }
- if (row == -1) { // sort 이후에 선택된 row가 없음
- return false;
- }
- var estmmncd = model.getValue("/root/main/list2/clod["+ row +"]/estmmncd");
- var msg = "산정분류 ["+ estmcls +"] ";
- if (estmmncd) {
- msg += "산정의미코드: "+ estmmncd;
- }
- else {
- model.setValue("/root/hidden/list3/msgspclformat", msg +" 입력된 산정의미코드가 없습니다.");
- return true;
- }
-
- var estmcd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd");
- var estmcdnm = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcdnm");
- if (estmcd) {
- msg += " / 산정코드: "+ estmcd;
- }
- if (estmcdnm) {
- msg += " / 명칭: "+ estmcdnm;
- }
- var addmthd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/addmthd");
- if (addmthd) {
- msg += " // 계산방법: ["+ addmthd +"] ";
- msg += model.getValue("/root/hidden/sppiz00800/rslt/clcd/pnt");
- msg += " / "+ model.getValue("/root/hidden/sppiz00800/rslt/clcd/amt");
- msg += " / "+ model.getValue("/root/hidden/sppiz00800/rslt/clcd/rate");
- } else {
- msg += " // 조회된 산정코드가 없습니다.";
- }
- model.setValue("/root/hidden/list3/msgspclformat", msg);
- model.refreshpart("/root/hidden/list3/msgspclformat");
- return true;
- }
-
- // 수가코드의 estmcls(산정분류)에 따라 선택가능한 5자리의 estmmncd(산정의미), 이에 해당하는 3자리의 estmcd(산정코드)를 조회하고 금액을 재계산한다.
- function fSetEstmCd() {
- var row = grd_clodhist.row;
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303") 용
- var ordfromdd = model.getValue("/root/main/list2/clod["+ row +"]/ordfromdd");
- if (ordfromdd == "") {
- messageBox("실시일자는", "I003"); ///실시일자는 필수입력입니다.
- return false;
- }
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- if (snglcalcscorcd == "") {
- messageBox("수가코드가 입력되지", "E007"); ///수가코드가 입력되지 않았습니다.
- return false;
- }
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod["+ row +"]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod["+ row +"]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
-
- model.makeValue("/root/send/item5/mech/orddd", model.getValue("/root/main/list2/clod["+ row +"]/orddd"));
- model.makeValue("/root/send/item5/mech/ordfromdd", model.getValue("/root/main/list2/clod["+ row +"]/ordfromdd"));
- model.makeValue("/root/send/item5/mech/ordtodd", model.getValue("/root/main/list2/clod["+ row +"]/ordtodd"));
-
- var estmmncd = model.getValue("/root/main/list2/clod["+ row +"]/estmmncd");
- //if (estmmncd != "" && estmmncd != "-") {
- if (estmmncd != "-") {
- model.makeValue("/root/send/item5/mech/estmmncd", estmmncd);
- } else {
- messageBox("산정의미코드가 입력되지", "E007"); ///산정의미코드가 입력되지 않았습니다.
- return false;
- }
- // 20100223 1회량이 빠져있어서 추가
- var drugqty = model.getValue("/root/main/list2/clod["+ row +"]/drugqty");
- if (drugqty == "") {
- drugqty = "1";
- }
- model.makeValue("/root/send/item5/mech/drugqty", drugqty);
-
- var tims = model.getValue("/root/main/list2/clod["+ row +"]/tims");
- if (tims == "") {
- tims = "1";
- }
- model.makeValue("/root/send/item5/mech/tims", tims);
-
- var dayno = model.getValue("/root/main/list2/clod["+ row +"]/dayno");
- if (dayno == "") {
- dayno = "1";
- }
- model.makeValue("/root/send/item5/mech/dayno", dayno);
-
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod["+ row +"]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", model.getValue("/root/main/list2/clod["+ row +"]/hosinresncd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- model.makeValue("/root/send/item5/mech/mode", "u");
- submit("TRPID20303");
-
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- var clod = clodSelect.childNodes; //root/main/item5/mech
- if (clod.length == 1) {
- var mechfromdd = model.getValue("/root/main/item5/mech/mechfromdd");
- var mechtodd = model.getValue("/root/main/item5/mech/mechtodd");
- if (mechfromdd && mechtodd) {
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "update");
-
- // 처방 Grid 타이틀을 이용해서 sorting 한 경우 줄번호가 현재 정렬된 순서대로 부여되므로 다시 sort하여 처리한다.
- // 2008-11-24
- // fSetOrderLnNo();
-
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // 2008-09-02
- // fSetOrderData();
- } else {
- // 잘못된 산정코드 선택으로 해당 eidcd가 없는 경우
- messageBox("산정코드가 올바르지 않거나 조회된 처방 계산 내역이", "I004"); ///산정코드가 올바르지 않거나 조회된 처방 계산 내역이 없습니다
- return false;
- }
- } else {
- // [20070618] 조회된 결과가 없을 때?
- messageBox("조회된 처방 계산 내역이", "I004"); ///조회된 처방 계산 내역이 없습니다
- return false;
- }
- return true;
- }
-
- // 삭제 or 삭제취소 후 or 처방Grid에서 그룹/수가/EDI코드를 입력한 이후에 줄번호를 다시 부여한다.
- function fSetOrderLnNo() {
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var ediitem1 = model.getValue("/root/main/list2/clod["+ row +"]/ediitem1");
- var ediitem2 = model.getValue("/root/main/list2/clod["+ row +"]/ediitem2");
- var grupcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- var estmmncd = model.getValue("/root/main/list2/clod["+ row +"]/estmmncd");
- // sort 전 row 위치를 기억한다.
- var rowNum = grd_clodhist.topRow - grd_clodhist.row;
- // 수가코드가 없는 row를 삭제하고, 정렬하고, 줄번호를 다시 부여한다.
-
- //2008-09-01
- //fDelEmptyGridOrderData();
- // 항,목,그룹코드,재행에 따라 정렬한다.
- grd_clodhist.colsort(grd_clodhist.colRef("ediitem1")) = "asc"; // 항
- grd_clodhist.colsort(grd_clodhist.colRef("ediitem2")) = "asc"; // 목
- grd_clodhist.colsort(grd_clodhist.colRef("grupcalcscorcd")) = "asc"; // 그룹코드
- grd_clodhist.colsort(grd_clodhist.colRef("grupseqno")) = "asc"; // 그룹 정렬순번
- grd_clodhist.colsort(grd_clodhist.colRef("snglcalcscorcd")) = "asc"; // 싱글코드
- grd_clodhist.colsort(grd_clodhist.colRef("edicd")) = "asc"; // EDI코드
- var maxRow = parseInt(grd_clodhist.rows) ; // rows는 타이틀부분 부터 개수를 센다
- var maxCol = parseInt(grd_clodhist.cols) ;
- grd_clodhist.sort(grd_clodhist.fixedRows, grd_clodhist.fixedCols, maxRow, maxCol) = "usersort";
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_clodhist.gridToInstance();
- // 줄번호를 변경한다.
- //fChangeOrderLnNo();
-
-
- var row = grd_clodhist.findRow(seqno, 1, grd_clodhist.colRef("seqno"), false, true);
- grd_clodhist.select(row, 1) = true;
- grd_clodhist.row = row;
- grd_clodhist.topRow = row + rowNum;
- /*
- for (var i = grd_clodhist.rows; i > 0; i--) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/seqno") == seqno) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/ediitem1") == ediitem1) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/ediitem2") == ediitem2) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/grupcalcscorcd") == grupcalcscorcd) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd") == snglcalcscorcd) {
- if (model.getValue("/root/main/list2/clod["+ i +"]/estmmncd") == estmmncd) {
- grd_clodhist.select(i, 1) = true;
- grd_clodhist.row = i;
- grd_clodhist.topRow = i + rowNum;
- break;
- }
- }
- }
- }
- }
- }
- }
- */
- }
-
- // 줄번호를 변경한다.
- function fChangeOrderLnNo() {
- /*
- // 줄번호와 수가코드가 동일한 특정내역의 줄번호부터 변경한다.
- for (var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) { // 첫 줄부터
- var clodLnno = model.getValue("/root/main/list2/clod["+ i +"]/initlnno");
- if (model.getValue("/root/main/list2/clod["+ i +"]/cnfmcd") || model.getValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- for (var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ j +"]/oldedilnno");
- if (spclLnNo == "") { // 입력된 줄번호가 없는 경우 제외
- }
- else if (spclLnNo == "0") { // 명일련 단위는 제외
- }
- else if (spclLnNo == clodLnno) {
- var clspstatus = grd_clsphist.rowstatus(j);
- if (clspstatus == 0 || clspstatus == 2) { // 0 : new, 2 : update
- if (spclLnNo != i) { // 기존 줄번호와 새 줄번호가 다른 경우
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- model.setValue("/root/main/list3/clsp["+ j +"]/edilnno", i);
- }
- }
- }
- // 처방 Grid의 줄번호를 변경한다.
- model.setValue("/root/main/list2/clod["+ i +"]/edilnno", i);
-
- var initlnno = model.getValue("/root/main/list2/clod["+ i +"]/initlnno");
- if (initlnno != i) {
- // DB에 저장된 줄번호와 다른 줄번호로 바뀐 경우
- // 처방의 수정된 row 상태를 표시한다.
- //fSetOrderChangeRowStat(i);
- var rowstatus = grd_clodhist.rowstatus(i);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clodhist.rowstatus(i) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
-
- for (var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- model.setValue("/root/main/list2/clod["+ i +"]/initlnno", model.getValue("/root/main/list2/clod["+ i +"]/edilnno"));
- }
- for (var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- model.setValue("/root/main/list3/clsp["+ j +"]/oldedilnno", model.getValue("/root/main/list3/clsp["+ j +"]/edilnno"));
- }
- */
- }
-
- // 처방 행 삭제 or 삭제취소 후에 특정내역 줄번호/특정코드에 따라 sorting 작업
- function fSortSpclNo() {
- if (grd_clsphist.rows > 1) {
- for (var j = 1; j < grd_clsphist.rows; j++) {
- grd_clsphist.rowHidden(j) = false;
-
- var rowstatus = grd_clsphist.rowstatus(j);
- var spclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp["+ j +"]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(j, false);
- j--;
- } else {
- // JS010(특정코드:야간가산)의 hhmm이 야간(18~09시)가 아니면 특정내역 Grid에 빨간색으로 표시
- grd_clsphist.rowStyle(j, "data", "color") = "#000000"; // 000000=검은색
- if (spclcd == "JS010") { // JS010 야간가산
- var js010chk = false;
- if (spclspec.length >= 12) { // <spclformat>ccyymmddhhmm</spclformat>
- var ccyymmddhhmm = spclspec.substr(0, 12);
- if (isValidDateTime(ccyymmddhhmm, "YYYYMMDDhhmm")) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- var hhmm = parseInt(spclspec.substr(8, 4), 10); // '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- if (hhmm >= 1800 || hhmm < 900) {
- js010chk = true;
- }
- }
- }
- if (js010chk == false) {
- grd_clsphist.rowStyle(j, "data", "color") = "#ff3333"; // ff3333=붉은색
- }
- } // if (spclcd == "JS010")
- }
- }
- grd_clsphist.refresh();
- grd_clsphist.colsort(grd_clsphist.colRef("clsoyn")) = "asc";
- grd_clsphist.colsort(grd_clsphist.colRef("unitflag")) = "desc";
- grd_clsphist.colsort(grd_clsphist.colRef("spclcd")) = "asc";
- grd_clsphist.colsort(grd_clsphist.colRef("edilnno")) = "asc";
- var maxRow = parseInt(grd_clsphist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다.
- var maxCol = parseInt(grd_clsphist.cols) - 1;
- grd_clsphist.sort(grd_clsphist.fixedRows, grd_clsphist.fixedCols, maxRow, maxCol) = "usersort";
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_clsphist.gridToInstance();
- grd_clsphist.row = 0;
- //rdo_unitflag.dispatch("xforms-select"); //아래의 함수로 변경 이경민
- // 특정내역 Radio button
- fSelectSpclRadio();
- } else { // 타이틀만 있는 경우 grd_clsphist.rows = 1
- var selectedUnitFlag = model.getValue("/root/hidden/list3/selectedUnitFlag");
- if (selectedUnitFlag == "-" || selectedUnitFlag == "M") {
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- }
- }
- }
-
- // 수가코드가 없으며 DB에 저장된 내용이 아닌 경우 해당 줄을 삭제한다.
- function fDelEmptyGridOrderData() {
- for (var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) { // 첫 줄부터
- var rowstatus = grd_clodhist.rowstatus(i);
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- var ediamt = model.getValue("/root/main/list2/clod["+ i +"]/ediamt");
- if (rowstatus != 4 && snglcalcscorcd && ediamt) { // 4 : delete 삭제 상태가 아니면서 수가코드가 입력되고 금액이 계산된 상태임
- }
- else if (rowstatus == 1 || rowstatus == 3) { // 수가코드 없으며 DB에 저장된 내용이 아닌 경우
- grd_clodhist.deleteRow(i, false); // 줄을 삭제한다.
- i--;
- }
- }
- model.refresh();
- }
-
- // 변경된 투여량, 횟수, 일수에 따라 총투여량, 금액을 재계산한다.
- function fSetTotDrugQtyAmt() {
-
- var i = grd_clodhist.row;
- var col = grd_clodhist.col;
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "N"); // 단가변경여부
- model.makeValue("/root/send/item5/mech/ediupdateyn", "N"); // edi변경여부
-
- var drugqty = model.getValue("/root/main/list2/clod["+ i +"]/drugqty");
- if (drugqty == "" || drugqty == "0") {
- model.setValue("/root/main/list2/clod["+ i +"]/drugqty", "1");
- }
-
- var tims = model.getValue("/root/main/list2/clod["+ i +"]/tims");
- if (tims == "" || tims == "0") {
- model.setValue("/root/main/list2/clod["+ i +"]/tims", "1");
- }
-
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod["+ i +"]/dayno", "1");
- }
- // -------------------------------------------
- // 20100205 추가 (기존 조건을 EDI 조회를 기본으로 변경하여 수정시 1일량 변경안되는 오류 때문에 추가
- // -------------------------------------------
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/edidrugqty");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod["+ i +"]/edidrugqty", "1");
- }
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/edidayno");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod["+ i +"]/edidayno", "1");
- }
- if (col == grd_clodhist.colRef("edidrugqty")) { // edi1회투여량이 변경된 경우
- model.setValue("/root/main/list2/clod["+ i +"]/drugqty", model.getValue("/root/main/list2/clod["+ i +"]/edidrugqty") );
- col = grd_clodhist.colRef("drugqty");
- }
- else if (col == grd_clodhist.colRef("edidayno")) { // edi일수가 변경된 경우
- model.setValue("/root/main/list2/clod["+ i +"]/dayno", model.getValue("/root/main/list2/clod["+ i +"]/edidayno") );
- col = grd_clodhist.colRef("dayno");
- }
- // -------------------------------------------
-
-
- var sDrugqty = model.getValue("/root/main/list2/clod["+ i +"]/drugqty");
- var sTims = model.getValue("/root/main/list2/clod["+ i +"]/tims");
- var sDayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- var sUnitcost = model.getValue("/root/main/list2/clod["+ i +"]/unitcost");
- var sEdiUnitcost = model.getValue("/root/main/list2/clod["+ i +"]/ediunitcost");
- var sAmt = model.getValue("/root/main/list2/clod["+ i +"]/amt");
- var sEdiAmt = model.getValue("/root/main/list2/clod["+ i +"]/ediamt");
- var sDruglimitamt = model.getValue("/root/main/list2/clod["+ i +"]/druglimitamt");
- var sEdiDruglimitamt = model.getValue("/root/main/list2/clod["+ i +"]/edidruglimitamt");
- var sLimitdiffamt = model.getValue("/root/main/list2/clod["+ i +"]/limitdiffamt");
- var sEdiLimitdiffamt = model.getValue("/root/main/list2/clod["+ i +"]/edilimitdiffamt");
- var sEdiDrugqty = model.getValue("/root/main/list2/clod["+ i +"]/edidrugqty");
- var sEdiDayno = model.getValue("/root/main/list2/clod["+ i +"]/edidayno");
-
- var drugqty = parseFloat(sDrugqty);
- var tims = parseInt(sTims);
- var dayno = parseInt(sDayno);
- var unitcost = parseInt(sUnitcost);
- var ediunitcost = parseInt(sEdiUnitcost);
- var amt = parseInt(sAmt);
- var ediamt = parseInt(sEdiAmt);
- var druglimitamt = parseInt(sDruglimitamt);
- var edidruglimitamt = parseInt(sEdiDruglimitamt);
- var limitdiffamt = parseInt(sLimitdiffamt);
- var edilimitdiffamt = parseInt(sEdiLimitdiffamt);
-
- var edidrugqty = parseFloat(sEdiDrugqty);
- var edidayno = parseInt(sEdiDayno);
-
- if (col == grd_clodhist.colRef("drugqty")) { // 투여량이 변경된 경우
- if (sDrugqty == "" || drugqty <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/dayno", sDrugqty);
- }
- }
- else if (col == grd_clodhist.colRef("tims")) { // 횟수가 변경된 경우
- if (sTims == "" || tims <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/dayno", sTims);
- }
- }
- else if (col == grd_clodhist.colRef("dayno")) { // 일수가 변경된 경우
- if (sDayno == "" || dayno <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/dayno", sDayno);
- }
- }
- else if (col == grd_clodhist.colRef("unitcost")) { // 단가가 변경된 경우
- if (sUnitcost == "" || unitcost <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 단가변경여부
- }
- }
- else if (col == grd_clodhist.colRef("ediunitcost")) { // 단가가 변경된 경우
- if (sEdiUnitcost == "" || ediunitcost <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 단가변경여부
- }
- }
- else if (col == grd_clodhist.colRef("amt")) { // 금액변경된 경우
- if (sAmt == "" || amt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 금액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("ediamt")) { // 금액변경된 경우
- if (sEdiAmt == "" || ediamt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 금액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("druglimitamt")) { // 약제상한액변경된 경우
- if (sDruglimitamt == "" || druglimitamt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 약제상한액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("edidruglimitamt")) { // 약제상한액변경된 경우
- if (sEdiDruglimitamt == "" || edidruglimitamt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 약제상한액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("limitdiffamt")) { // 약제상한차액변경된 경우
- if (sLimitdiffamt == "" || limitdiffamt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 약제상한차액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("edilimitdiffamt")) { // 약제상한차액변경된 경우
- if (sEdiLimitdiffamt == "" || edilimitdiffamt <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 약제상한차액변경여부
- }
- }
- else if (col == grd_clodhist.colRef("edidrugqty")) { // edi1회투여량이 변경된 경우
- if (sEdiDrugqty == "" || edidrugqty <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/ediupdateyn", "Y"); // edi변경여부
- }
- }
- else if (col == grd_clodhist.colRef("edidayno")) { // edi일수가 변경된 경우
- if (sEdiDayno == "" || edidayno <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/ediupdateyn", "Y"); // edi변경여부
- }
- }
-
- var ordfromdd = model.getValue("/root/main/list2/clod["+ i +"]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod["+ i +"]/ordtodd");
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- if ( ordfromdd == "" || dayno == "" || snglcalcscorcd == "" ) {
- return false;
- }
- if (parseInt(dayno) < 0) {
- return false;
- }
- else if (parseInt(dayno) > 365) {
- return false;
- }
-
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordtodd);
- model.makeValue("/root/send/item5/mech/drugqty", sDrugqty);
- model.makeValue("/root/send/item5/mech/tims", sTims);
- model.makeValue("/root/send/item5/mech/dayno", sDayno);
- model.makeValue("/root/send/item5/mech/unitcost", sUnitcost);
- model.makeValue("/root/send/item5/mech/ediunitcost", sEdiUnitcost);
- model.makeValue("/root/send/item5/mech/amt", sAmt);
- model.makeValue("/root/send/item5/mech/ediamt", sEdiAmt);
- model.makeValue("/root/send/item5/mech/druglimitamt", sDruglimitamt);
- model.makeValue("/root/send/item5/mech/edidruglimitamt", sEdiDruglimitamt);
- model.makeValue("/root/send/item5/mech/limitdiffamt", sLimitdiffamt);
- model.makeValue("/root/send/item5/mech/edilimitdiffamt", sEdiLimitdiffamt);
- model.makeValue("/root/send/item5/mech/edidrugqty", sEdiDrugqty);
- model.makeValue("/root/send/item5/mech/edidayno", sEdiDayno);
-
- var grupcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/grupcalcscorcd");
- if (grupcalcscorcd != "" && grupcalcscorcd != "-") {
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", grupcalcscorcd);
- } else {
- model.resetInstanceNode("/root/send/item5/mech/grupcalcscorcd");
- }
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd);
- model.resetInstanceNode("/root/send/item5/mech/basecd");
-
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod["+ i +"]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod["+ i +"]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
- var estmmncd = model.getValue("/root/main/list2/clod["+ i +"]/estmmncd");
- if (estmmncd != "" && estmmncd != "-") {
- model.makeValue("/root/send/item5/mech/estmmncd", estmmncd);
- }
-
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod["+ i +"]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", model.getValue("/root/main/list2/clod["+ i +"]/hosinresncd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
-
- if (model.getValue("/root/main/list2/clod["+ i +"]/seqno") == "") {
- // EDI환산치, 위탁진료 적용
- model.makeValue("/root/send/item5/mech/mode", "n");
- } else {
- model.makeValue("/root/send/item5/mech/mode", "u");
- }
- submit("TRPID20303");
-
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- var clod = clodSelect.childNodes; //root/main/item5/mech
- if (clod.length == 1) {
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "update");
-
- } else {
- // [20070618] 조회된 결과가 없을 때?
- if (col == grd_clodhist.colRef("drugqty")) { // 투여량이 변경된 경우
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- }
- else if (col == grd_clodhist.colRef("tims")) { // 횟수가 변경된 경우
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- }
- else if (col == grd_clodhist.colRef("dayno")) { // 일수가 변경된 경우
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- }
- messageBox("조회된 처방 계산 내역이", "I004"); ///조회된 처방 계산 내역이 없습니다.
- }
- return true;
- }
-
- // 원내사유코드에 따라 의약분업예외환자 요율로 재계산한다.
- function fSetHosInResnCd() {
- var row = grd_clodhist.row;
- model.resetInstanceNode("/root/hidden/sppiz01500");
- model.setValue("/root/hidden/sppiz01500/cond/cdid", model.getValue("/root/main/list2/clod["+ row +"]/hosinresncd"));
- modal("SPPIZ01500", "1", "10", "10", "SPPIZ01500", "/root/hidden/sppiz01500/cond/cdid", "/root/hidden/sppiz01500/cond/cdid", "", ""); // SPPIZ01500_의약분업예외사유코드조회.xrw
- var hosinresncd = model.getValue("/root/hidden/sppiz01500/rslt/cdid");
- if (hosinresncd) {
- if (hosinresncd == "00") {
- hosinresncd = "";
- }
- //var newLnNo = false; // 신규 줄번호를 부여할 것인지 여부
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- row = grd_clodhist.selectedrow(i);
-
- var ordfromdd = model.getValue("/root/main/list2/clod["+ row +"]/ordfromdd");
- if (ordfromdd == "") {
- messageBox("처방일시는", "I003"); ///처방일시는 필수입력입니다.
- } else {
- var edicdflag = model.getValue("/root/main/list2/clod["+ row +"]/edicdflag");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- var oldcd = model.getValue("/root/main/list2/clod["+ row +"]/hosinresncd");
-
- // 3:보험등재약에 대해서만 원내사유코드를 입력할 수 있다.
- if (edicdflag == "3" && snglcalcscorcd) {
- model.setValue("/root/main/list2/clod["+ row +"]/hosinresncd", hosinresncd);
- if (hosinresncd != oldcd && grd_clodhist.rowStatus(row) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(row) = 2;
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(row);
- }
-
- // 퇴장방지의약품 장려비 EDI항목 변경
- if (hosinresncd == "99") {
- model.setValue("/root/main/list2/clod["+ row +"]/item", "0303"); // 보험항목
- model.setValue("/root/main/list2/clod["+ row +"]/item1", "03");
- model.setValue("/root/main/list2/clod["+ row +"]/item2", "03");
-
- if (model.getValue("/root/main/item1/clbs/insukindcd") == "41") {
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem", "0CC3"); // EDI항목(보험유형별) : 산재항목
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem1", "0C");
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem2", "C3");
- }
- else {
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem", "0303"); // EDI항목(보험유형별)
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem1", "03");
- model.setValue("/root/main/list2/clod["+ row +"]/ediitem2", "03");
- }
- }
-
- // 변경된 분업예외코드 특정내역에 반영
- var isFind = false;
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
-
- var okmsg = "분업예외코드";
- var spclcd = "JS002";
- var cdnm = "분업예외코드";
- var spclspec = hosinresncd;
- var spclformat = "9(2)";
- var detldesc = "의약분업 예외사항 발생으로 의료기관에서 원내 조제/투약이 이루어진 경우 해당 예외구분코드를 기재하고, 원외처방발행기에서 퇴장방지의약품 원외처방시 해당의약품의 사용장려비를 청구할 경우 구분코드 99를 기재";
-
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spclColdSeqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- var unitflag = model.getValue("/root/main/list3/clsp["+ j +"]/unitflag");
- if (unitflag == "J" && seqno == spclColdSeqno && model.getValue("/root/main/list3/clsp["+ j +"]/spclcd") == "JS002" && grd_clsphist.rowstatus(j) != 4) {
- model.setValue("/root/main/list3/clsp["+ j +"]/spclspec", spclspec);
-
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- isFind = true;
- grd_clsphist.refresh();
- }
- }
- if (isFind == false) { // 기존에 없었던 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", spclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", cdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", spclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", spclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", detldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn", "*"); //처방그리드 특정내역표시
- grd_clsphist.row = clsprow;
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- }
- } // if ((edicdflag == "3" && snglcalcscorcd) || oldcd) 끝
- } // ordfromdd 가 입력된 경우
- } // for (var i = 0; i < grd_clodhist.selectedRows; i++) 끝
- } // if (hosinresncd) 끝
- }
-
- // 처방의 수정된 row 상태를 표시한다.
- function fSetOrderChangeRowStat(clodrow) {
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus == 1 || clodstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clodhist.rowstatus(clodrow) = 2; // 2 : update
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- }
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "상병순서 위로"
- function fDiagSeqUp() {
- var rowstatus = grd_cldihist.rowstatus(grd_cldihist.row);
- if (rowstatus == 4) { // 4 : delete
- return;
- }
- var diagseq = parseInt(model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq")); // 선택된 줄의 NO
- if (diagseq > 1) { // 첫번째 줄이 아닌 경우
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", --diagseq);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(grd_cldihist.row) = 2; // 2 : update
- }
- // 바로 위 상병순서와 중복되는 경우
- var nextrow = grd_cldihist.row - 1;
- var nextdiagseq = model.getValue("/root/main/list1/cldi["+ nextrow +"]/diagseq");
- if (diagseq == nextdiagseq) {
- model.setValue("/root/main/list1/cldi["+ nextrow +"]/diagseq", ++diagseq);
- rowstatus = grd_cldihist.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(nextrow) = 2; // 2 : update
- }
- }
-
- // 20100329 MT002 입력체크
- if ( model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode") != ""
- && model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd") != "R"
- ) {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode"));
- }
-
- fSortDiagNo(false);
- }
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "상병순서 아래로"
- function fDiagSeqDown() {
- var rowstatus = grd_cldihist.rowstatus(grd_cldihist.row);
- if (rowstatus == 4) { // 4 : delete
- return;
- }
- // 삭제 상태가 아닌 마지막 줄을 찾는다.
- var lastRow = grd_cldihist.rows - 1;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- if (grd_cldihist.rowstatus(i) == 4) { // delete
- lastRow = i - 1;
- i = grd_cldihist.rows;
- }
- }
- var diagseq = parseInt(model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq")); // 선택된 줄의 NO
- if (diagseq < lastRow) { // 마지막 줄이 아닌 경우
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", ++diagseq);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(grd_cldihist.row) = 2; // 2 : update
- }
- // 바로 아래 상병순서와 중복되는 경우
- var nextrow = grd_cldihist.row + 1;
- var nextdiagseq = model.getValue("/root/main/list1/cldi["+ nextrow +"]/diagseq");
- if (diagseq == nextdiagseq) {
- model.setValue("/root/main/list1/cldi["+ nextrow +"]/diagseq", --diagseq);
-
- rowstatus = grd_cldihist.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(nextrow) = 2; // 2 : update
- }
- }
-
- // 20100329 MT002 입력체크
- if ( model.getValue("/root/main/list1/cldi["+ nextrow +"]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi["+ nextrow +"]/vcode") != ""
- && model.getValue("/root/main/list1/cldi["+ nextrow +"]/diagkindcd") != "R"
- ) {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi["+ nextrow +"]/vcode"));
- }
-
- fSortDiagNo(false);
- }
- }
-
- // "상병순서 위로/아래로" 순서 변경 후에 상병 순서 NO에 따라 sorting 작업
- function fSortDiagNo(isNumbering) {
- var delcnt = 0;
-
- for (var i = 1; i < grd_cldihist.rows; i++) {
- grd_cldihist.rowHidden(i) = false;
- }
-
- if (isNumbering == false) {
- var maxRow = parseInt(grd_cldihist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow, grd_cldihist.colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_cldihist.gridToInstance();
- }
-
- var cldino = 1;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- // 2.----------------------------------------------------------------------
- if (grd_cldihist.rowstatus(i) != 4) { // delete
- var diagseq = model.getValue("/root/main/list1/cldi["+ i +"]/diagseq");
- if (grd_cldihist.rowstatus(i) == 0 && diagseq != cldino) {
- grd_cldihist.rowstatus(i) = 2; // 2 : update
- }
- model.setValue("/root/main/list1/cldi["+ i +"]/diagseq", cldino++);
- } else {
- delcnt++;
- }
- }
-
- var maxRow = parseInt(grd_cldihist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow, grd_cldihist.colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- if (delcnt > 0) {
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow - delcnt, grd_cldihist.colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- }
-
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_cldihist.gridToInstance();
- /*
- model.setFocus("grd_cldihist");
- grd_cldihist.row = 1;
- */
-
- var rowstatus;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- rowstatus = grd_cldihist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_cldihist.rowHidden(i) = true;
- } else {
- grd_cldihist.rowHidden(i) = false;
- }
- }
- }
-
- // 사용자가 입력한 숫자를 기준으로 상병순서 부여
- function fChangeDiagNo() {
- var row = grd_cldihist.row;
- if (grd_cldihist.rowstatus(row) != 1 && grd_cldihist.rowstatus(row) != 3) { // 1 : insert, 3 : insert & new
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- var newseq = model.getValue("/root/main/list1/cldi["+ row +"]/diagseq");
- var oldseq = model.getValue("/root/hidden/list1/cldi/oldseq");
- var vcode = model.getValue("/root/main/list1/cldi["+ row +"]/vcode");
- var diagkindcd = model.getValue("/root/main/list1/cldi["+ row +"]/diagkindcd");
- if (newseq) {
- newseq = parseInt(model.getValue("/root/main/list1/cldi["+ row +"]/diagseq"), 10); // '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- // 삭제상태가 아닌 중복된 번호가 있는지 체크한다.
- var sameRow = 0;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- var diagseq = model.getValue("/root/main/list1/cldi["+ i +"]/diagseq");
- if (row != i && diagseq == newseq) {
- sameRow = i;
- i = grd_cldihist.rows;
- }
- }
- if (sameRow > 0) { // 중복된 상병순서의 row가 있음
- if (newseq < oldseq) { // 이전보다 앞번호를 입력한 경우
- for (var j = sameRow; j < row; j++) {
- var rowstatus = grd_cldihist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/list1/cldi["+ j +"]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/list1/cldi["+ j +"]/diagseq") != (curseq+1)) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- model.setValue("/root/main/list1/cldi["+ j +"]/diagseq", curseq+1);
- }
- }
- }
- else { // 이전보다 뒷번호를 입력한 경우
- for (var j = row+1; j <= sameRow; j++) {
- var rowstatus = grd_cldihist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/list1/cldi["+ j +"]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/list1/cldi["+ j +"]/diagseq") != (curseq-1)) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- model.setValue("/root/main/list1/cldi["+ j +"]/diagseq", curseq-1);
- }
- }
- }
- fSortDiagNo(false);
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한 20090918 정승우
-
- // 20100329 MT002 입력체크
- if ( newseq == "1" && oldseq != "1" && vcode != "" && diagkindcd != "R") {
- fSetDiagMT002(vcode);
- }
-
- } else { // 중복된 상병순서의 row가 없는 경우
- fSortDiagNo(false); // 현재 부여된 순번으로 sort 후
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한 20090918 정승우
- }
- } else { // 순번을 삭제한 경우
- model.setValue("/root/main/list1/cldi["+ row +"]/diagseq", oldseq);
- grd_cldihist.rowstatus(row) = model.getValue("/root/hidden/list1/cldi/oldrowstat");
- //model.refresh();
- grd_cldihist.refresh();
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한
- }
- }
-
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삽입"
- function fDiagGridInsertRow(addyn, selectyn) {
- var iInsertRow = 0;
- if (grd_cldihist.rows == 1 || addyn == "Y") {
- iInsertRow = grd_cldihist.row;
- grd_cldihist.addRow(true, false);
- } else {
- iInsertRow = grd_cldihist.row;
- grd_cldihist.insertRow(iInsertRow, "below", true);
- }
-
- var nowRow = 0;
- nowRow = grd_cldihist.row;
-
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd", "C");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", grd_cldihist.row);
- // 청구과, 진료개시일은 주상병을 기준으로 부여한다.
- var clamdeptcd = model.getValue("/root/main/list1/cldi/clamdeptcd");
- if (clamdeptcd == "") { // 주상병의 진료과가 입력되지 않은 경우 인적사항의 청구과를 입력한다.
- clamdeptcd = model.getValue("/root/main/item1/clbs/clamdeptcd");
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/clamdeptcd", clamdeptcd);
- var ordfromdd = model.getValue("/root/main/list1/cldi/ordfromdd");
- if (ordfromdd) {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", ordfromdd);
- } else {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/toot", "-");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode", ""); // 20100308 추가
- // 상병이력조회에서 호출된 경우가 아니면
- if (selectyn != "Y") {
- fSortDiagNo(true);
- }
-
- // edit mode 설정위한것임 절대 지우지 말것.
- grd_cldihist.refresh();
-
- if (addyn != "Y") {
- grd_cldihist.row = nowRow;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- }
-
- }
-
-
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fDiagGridAddRow() {
-
- grd_cldihist.insertRow(grd_cldihist.rows - 1, "below", false);
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd", "C");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", grd_cldihist.row);
- // 청구과, 진료개시일은 주상병을 기준으로 부여한다.
- var clamdeptcd = model.getValue("/root/main/list1/cldi/clamdeptcd");
- if (clamdeptcd == "") { // 주상병의 진료과가 입력되지 않은 경우 인적사항의 청구과를 입력한다.
- clamdeptcd = model.getValue("/root/main/item1/clbs/clamdeptcd");
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/clamdeptcd", clamdeptcd);
- var ordfromdd = model.getValue("/root/main/list1/cldi/ordfromdd");
- if (ordfromdd) {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", ordfromdd);
- } else {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/toot", "-");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode", ""); // 20100308 추가
-
- grd_cldihist.refresh();
-
- fSortDiagNo(true);
-
- // edit mode 설정위한것임 절대 지우지 말것.
- grd_cldihist.refresh();
-
- grd_cldihist.row = grd_cldihist.rows -1;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
-
- }
-
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가(5줄)"
- function fDiagGridInsertRowMulti() {
- for (var i = 1; i <= 5; i++) {
- grd_cldihist.insertRow(grd_cldihist.rows - 1, "below", false);
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd", "C");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", grd_cldihist.row);
- // 청구과, 진료개시일은 주상병을 기준으로 부여한다.
- var clamdeptcd = model.getValue("/root/main/list1/cldi/clamdeptcd");
- if (clamdeptcd == "") { // 주상병의 진료과가 입력되지 않은 경우 인적사항의 청구과를 입력한다.
- clamdeptcd = model.getValue("/root/main/item1/clbs/clamdeptcd");
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/clamdeptcd", clamdeptcd);
- var ordfromdd = model.getValue("/root/main/list1/cldi/ordfromdd");
- if (ordfromdd) {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", ordfromdd);
- } else {
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- }
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/toot", "-");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode", ""); // 20100308 추가
- }
- grd_cldihist.refresh();
-
- fSortDiagNo(true);
-
- // edit mode 설정위한것임 절대 지우지 말것.
- grd_cldihist.refresh();
-
- grd_cldihist.row = grd_cldihist.rows - 5;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
-
- }
-
-
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- function fDiagGridDeleteRow() {
- // 여러 row를 동시에 선택하고 삭제하는 기능을 부여한다.
- for (var i = 0; i < grd_cldihist.selectedRows; i++) {
- var row = grd_cldihist.selectedrow(i);
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- //return;
- }
- else if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list1/cldi["+ row +"]/diagcd");
- model.resetInstanceNode("/root/main/list1/cldi["+ row +"]/diagnm");
- model.resetInstanceNode("/root/main/list1/cldi["+ row +"]/diagengnm");
- grd_cldihist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- model.setValue("/root/main/list1/cldi["+ row +"]/diagseq", "D"+row);
- grd_cldihist.rowstatus(row) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- fSortDiagNo(true);
- }
-
-
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "삭제 취소"
- function fDiagGridDeleteCancel() {
- // 여러 row를 동시에 선택하고 삭제취소하는 기능을 부여한다.
- for (var i = 0; i < grd_cldihist.selectedRows; i++) {
- var row = grd_cldihist.selectedrow(i);
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- grd_cldihist.rowstatus(row) = 2 // 2 : update 상태로 stat를 변경한다.
- }
- }
- fSortDiagNo(true);
- }
- // 상병코드를 조회하여 해당 정보를 표시하거나 상병코드 조회용 Popup을 호출한다.
- function fSearchDiageCode() {
- var row = grd_cldihist.row;
- var diagcd = model.getValue("/root/main/list1/cldi["+ row +"]/diagcd");
- if (diagcd) {
- model.removeNodeset("/root/hidden/sppiz00400/rslt");
- // 상병 Data가 2007년 이후로 설정되어 있으므로 임시로 현재 날짜를 넘긴다.
- //model.makeValue("/root/hidden/sppiz00400/cond/basedd", model.getValue("/root/main/item1/clbs/clamym"));
- model.resetInstanceNode("/root/hidden/sppiz00400/cond");
- model.setValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.setValue("/root/hidden/sppiz00400/cond/diagcd", diagcd);
- model.setValue("/root/hidden/sppiz00400/cond/diagnm", "");
- model.setValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","1");
- submit("TRPID20306",false); // 입력된 상병코드로 emr.mrtmicd10 테이블을 조회한다.
- /*
- var nodeList = instance1.selectNodes("/root/init/diagcd/diagcdlist[diagcd='" + diagcd + "']");
- if (nodeList.length == 1) {
- //model.makeNode("/root/hidden/srchdiagcd");
- //model.copyNode("/root/hidden/srchdiagcd", nodeList);
- var diagListCSV = getNodeListCSV(nodeList);
-
- diagList1 = diagListCSV.split("▩");
- diagList2 = diagList1[1].split("▦");
- model.makeValue("/root/hidden/sppiz00400/rslt/diagcd", diagList2[0]);
- model.makeValue("/root/hidden/sppiz00400/rslt/diaghngnm", diagList2[1]);
- model.makeValue("/root/hidden/sppiz00400/rslt/diagengnm", diagList2[2]);
- }
- */
-
- var rsltList = instance1.selectSingleNode("/root/hidden/sppiz00400/rslt");
- if (rsltList != null && rsltList.length == 0) {
- // 조회된 결과가 1건이면
- fSetDiagCdNm();
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- } else {
- // 조회된 결과가 없거나 여러 건이면
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- fSearchSPPIZ00400();
-
-
- if (model.getValue("/root/main/list1/cldi["+ row +"]/diagnm") == "" && model.getValue("/root/main/list1/cldi["+ row +"]/diagengnm") == "") {
- model.setValue("/root/main/list1/cldi["+ row +"]/diagcd", model.getValue("/root/hidden/list1/cldi/olddiagcd"));
- model.setValue("/root/main/list1/cldi["+ row +"]/diagnm", model.getValue("/root/hidden/list1/cldi/olddiagnm"));
- model.setValue("/root/main/list1/cldi["+ row +"]/diagengnm", model.getValue("/root/hidden/list1/cldi/oldengnm"));
- model.setValue("/root/main/list1/cldi["+ row +"]/kcd6chk", "N");
-
- grd_cldihist.rowstatus(row) = model.getValue("/root/hidden/list1/cldi/oldrowstat");
- grd_cldihist.refresh();
- return;
- } else {
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- if (row < grd_cldihist.rows) {
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- }
- }
- }
- } else {
- // 상병 Grid에 상병코드를 입력하지 않고 Enter 친 경우
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- fSearchSPPIZ00400();
-
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- //grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
-
- if (model.getValue("/root/main/list1/cldi["+ row +"]/diagcd") == "") {
- model.setValue("/root/main/list1/cldi["+ row +"]/diagcd", model.getValue("/root/hidden/list1/cldi/olddiagcd"));
- model.setValue("/root/main/list1/cldi["+ row +"]/diagnm", model.getValue("/root/hidden/list1/cldi/olddiagnm"));
- model.setValue("/root/main/list1/cldi["+ row +"]/diagengnm", model.getValue("/root/hidden/list1/cldi/oldengnm"));
- model.setValue("/root/main/list1/cldi["+ row +"]/kcd6chk", "N");
- grd_cldihist.rowstatus(row) = model.getValue("/root/hidden/list1/cldi/oldrowstat");
- grd_cldihist.refresh();
- return;
- }
- }
- // 삭제 상태였던 상병코드를 조회하여 수정한 경우를 위해 순번을 다시 부여한다.
- // 2008-11-26
- // fSortDiagNo(true);
- }
-
-
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- function fSearchSPPIZ00400() {
- model.removeNodeset("/root/hidden/sppiz00400/rslt");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagcd");
- model.makeNode("/root/hidden/sppiz00400/rslt/diaghngnm");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagengnm");
-
- model.resetInstanceNode("/root/hidden/sppiz00400/cond");
- //model.setValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.setValue("/root/hidden/sppiz00400/cond/basedd", model.getValue("/root/main/item1/clbs/ordfromdd")); // 요양개시일 적용(2016.01.26 LEJ)
- model.setValue("/root/hidden/sppiz00400/cond/diagcd", model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagcd"));
- model.setValue("/root/hidden/sppiz00400/cond/diagnm", "");
- model.setValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","3"); // 사용자가 직접검색하여 입력 할수 있도록 임의의 값(3)을 넣어줌
- modal("SPPIZ00400", "1", "10", "10", "SPPIZ00400", "/root/hidden/sppiz00400/cond", "/root/init", "", ""); // SPPIZ00400_상병코드조회.xrw
-
- model.setFocus("grd_cldihist");
- }
-
-
- // [SPPIZ00400_상병코드조회.xrw 에서 호출] 상병코드조회 팝업에서 선택한 상병을 상병 그리드에 반영
- function fSetDiagCdNm() {
- var row = grd_cldihist.row;
- if (row > 0) {
- var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
- var diaghngnm = model.getValue("/root/hidden/sppiz00400/rslt/diaghngnm");
- var diagengnm = model.getValue("/root/hidden/sppiz00400/rslt/diagengnm");
- model.setValue("/root/main/list1/cldi["+ row +"]/diagcd", diagcd);
- model.setValue("/root/main/list1/cldi["+ row +"]/diagnm", diaghngnm);
- model.setValue("/root/main/list1/cldi["+ row +"]/diagengnm", diagengnm);
- model.setValue("/root/main/list1/cldi["+ row +"]/kcd6chk", "N");
- // 해당 상병의 한글상병명과 영문상병명이 Message 용 output 컨트롤에 표시된다.
- model.setValue("/root/hidden/list3/msgspclformat", "상병코드 - "+ diagcd +" / "+ diaghngnm +" / "+ diagengnm);
-
- // 20100308 특정내역 조회 추가
- model.setValue("/root/main/list1/cldi["+ row +"]/vcode", fGetDiagVcode(diagcd));
- // 20100329 MT002 입력체크
- if ( model.getValue("/root/main/list1/cldi["+ row +"]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi["+ row +"]/vcode") != ""
- && model.getValue("/root/main/list1/cldi["+ row +"]/diagkindcd") != "R"
- ) {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi["+ row +"]/vcode"));
- }
- //20090918 정승우 행추가
- var addval1 = model.getValue("/root/main/list1/diag["+ row +"]/rowstat");
- var addval2 = grd_cldihist.rowstatus(row);
-
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus != 1 && rowstatus != 3) { // 1 : insert, 3 : insert & new
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- grd_cldihist.refresh();
-
- // 4. 빈 row에 대한 입력은 행 추가를 발생시킨다. (그외에는 행추가가 일어나지 않는다.)
- //20090918 정승우 행추가
- if (addval1 == "" && (addval2 == 1 || addval2 == 3)) fDiagGridInsertRow("Y", "N");
-
- }
- }
-
-
- // 20100329 김용민 추가 상병row 로 MT002 입력
- // incode null 경우는 주상병의 특정기호 체크, null아니면 바로입력체크
- function fSetDiagMT002(incode) {
- var gridrowstatus = "";
- var existsyn = "N";
- var vcode = "";
-
- if ( incode == "" ) {
- vcode = model.getValue("/root/main/list1/cldi[diagseq='1' and vcode != '' and diagkindcd != 'R' ]/vcode");
- } else {
- vcode = incode;
- }
-
- if ( vcode != "" ) {
- var spclcdMT002 = "";
- var spclcdCT002 = "";
-
- spclcdMT002 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='"+vcode+"' and insntstat !='D']/spclcd");
- spclcdCT002 = model.getValue("/root/main/list3/clsp[spclcd='CT002' and spclspec='"+vcode+"' and insntstat !='D']/spclcd");
- if (spclcdMT002.length > 0 || spclcdCT002.length > 0) {
- existsyn = "Y";
- }
-
- if ( existsyn != "Y") {
- var ans;
- var tmpspclcd;
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외청방수
-
- if (vcode == "V252") {
- tmpspclcd = "CT002";
- if (snglcalcscorcdcnt > 0) {
- ans = messageBox( vcode + " 상병입니다.\n\n"+ tmpspclcd + "특정내역을 \n\n"+ "입력", "S001");
- }
- } else {
- tmpspclcd = "MT002";
- ans = messageBox( vcode + " 상병입니다.\n\n"+ tmpspclcd + "특정내역을 \n\n"+ "입력", "S001");
- }
- if ( ans == 6 ) { // yes
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- if (vcode == "V252") {
-
- var clopdd = model.getValue("/root/main/list7/clop[1]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop[1]/clopno");
- if (snglcalcscorcdcnt > 0) {
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/mpsno", clopdd + "" + clopno);
- }
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- } else {
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "M");
- }
-
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", tmpspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", "-");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "특정기호");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", vcode);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(4)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", "");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- }
- }
- }
- // 20100308 김용민 추가 (상병코드로 특정기호 조회)
- function fGetDiagVcode(diagcd) {
- var vcode = "";
- var spclcd = "";
- var spclspec = "";
- var gridrowstatus = "";
- var existsyn = "N";
- model.resetInstanceNode("/root/hidden/getvcode");
- model.setValue("/root/hidden/getvcode/cond/diagcd" ,diagcd);
- model.setValue("/root/hidden/getvcode/cond/ioflag" ,model.getValue("/root/main/item1/clbs/ioflag"));
- model.setValue("/root/hidden/getvcode/cond/insukind" ,model.getValue("/root/main/item1/clbs/insukindcd"));
- model.setValue("/root/hidden/getvcode/cond/suppkind" ,model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.setValue("/root/hidden/getvcode/cond/ordfromdd",model.getValue("/root/main/item1/clbs/ordfromdd"));
-
- model.setValue("/root/hidden/getvcode/rslt/vcode","");
- submit("TRPID20313",false); // 상병코드로 특정기호 조회
- vcode = model.getValue("/root/hidden/getvcode/rslt/vcode")
- /*
- //////////////////////////////////////////
- // 반환전에 특정내역 입력한다.
- //////////////////////////////////////////
- if ( vcode != "" ) {
- for (var i = 1; i < grd_clsphist.rows; i++) {
- spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- spclspec = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- gridrowstatus = grd_clsphist.rowstatus(i);
-
- if ( vcode == spclspec && spclcd == 'MT002' && gridrowstatus != 4 ) {
- existsyn = "Y";
- }
- }
- if ( existsyn != "Y" ) {
- var ans = messageBox( vcode + " 상병입니다.\n\n"
- + "MT002 특정내역을 \n\n"
- + "입력"
- , "S001");
- if ( ans == 6 ) { // yes
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "M");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", "-");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "MT002");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "특정기호");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", vcode);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(4)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", "");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- }
- }
- //////////////////////////////////////////
- */
- return vcode;
- }
-
-
- ///////////////////////////////////////////////////////////////////////////
- // 팝업 화면 호출
- function fLinkPopMenu(trgtWindow, cond, send) {
-
- var trgtManWindow = getChildWindow(trgtWindow);
- if (trgtManWindow == null) {
- var childCnt = window.children.length;
- if (childCnt < 4) {
- open(trgtWindow, "2", "10", "10", trgtWindow, cond, send, "", "");
- } else {
- messageBox("최대 4개의 팝업 화면을 표시할 수 있으니 현재 열려있는 화면을", "I007"); ///최대 4개의 팝업 화면을 표시할 수 있으니 현재 열려있는 화면을 확인하십시오.
- }
- } else {
- activateChild(trgtWindow);
- }
- }
-
- // 이전명세서 목록에서 선택한 청구키의 명세서를 이미 열려있는 Popup 화면으로 조회시에 호출
- // 처음 Popup화면을 열때는 ev:event="xforms-ready"에서 처리를 하고, 이후에 창이 열려있는 경우 이 메소드를 호출한다.
- function fActivatePreDocuWindow() {
- var rslt = fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- }
- var openerClamym = opener.model.getValue("/root/hidden/smpid20500/cond/clamym");
- var openerClamdg = opener.model.getValue("/root/hidden/smpid20500/cond/clamdg");
- var openerPid = opener.model.getValue("/root/hidden/smpid20500/cond/pid");
- var openerPidsn = opener.model.getValue("/root/hidden/smpid20500/cond/pidsn");
- var openerWorkflag = opener.model.getValue("/root/hidden/smpid20500/cond/workflag");
-
- if (openerClamym) {
- model.makeValue("/root/send/item1/clbs/clamym", openerClamym);
- model.makeValue("/root/send/item1/clbs/clamdg", openerClamdg);
- model.makeValue("/root/send/item1/clbs/pid", openerPid);
- model.makeValue("/root/send/item1/clbs/pidsn", openerPidsn);
- model.makeValue("/root/send/item1/clbs/ioflag", "O");
- model.makeValue("/root/send/item1/clbs/workflag", openerWorkflag);
- fCheckAuth(); // 화면 권한을 설정한다.
-
- submit("TRPID20301"); // 2008-08-01 김상진 : 입원으로 통합.
- fSetAftJudgTrgtManSrchData();
-
- } else {
- fCheckAuth(); // 화면 권한을 설정한다.
- }
- }
-
- // 기존 조회 내역 중 수정 사항이 있는 경우 저장할 것인지를 물어본다.
- function fCheckChangeSave() {
- var initclbs = model.getValue("/root/hidden/item1/initclbs/clbs/clamym");
- var isChange = false;
- var cldiupdtdata = ""; // 상병 Grid 변경
- if (initclbs) {
- var clbsupdatadata = false;
- if (model.getValue("/root/hidden/item1/initclbs/clbs/patrrgstno") != model.getValue("/root/main/item1/clbs/patrrgstno")) {
- clbsupdatadata = true;
- }
- if (model.getValue("/root/hidden/item1/initclbs/clbs/suppkindcd") != model.getValue("/root/main/item1/clbs/suppkindcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/ordfildcd") != model.getValue("/root/main/item1/clbs/ordfildcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/orddeptcd") != model.getValue("/root/main/item1/clbs/orddeptcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/orddrid") != model.getValue("/root/main/item1/clbs/orddrid")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/arvpathcd") != model.getValue("/root/main/item1/clbs/arvpathcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/inpathcd") != model.getValue("/root/main/item1/clbs/inpathcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/ordrsltcd") != model.getValue("/root/main/item1/clbs/ordrsltcd")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/insuno") != model.getValue("/root/main/item1/clbs/insuno")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initclbs/clbs/certno") != model.getValue("/root/main/item1/clbs/certno")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initmemo/memo/judgmemo") != model.getValue("/root/main/item1/memo/judgmemo")) {
- clbsupdatadata = true;
- }
- else if (model.getValue("/root/hidden/item1/initmemo/memo/edimemo") != model.getValue("/root/main/item1/memo/edimemo")) {
- clbsupdatadata = true;
- }
- if (clbsupdatadata == false) {
- var clodupdtdata = getGridUpdateData(grd_clodhist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- var clopupdtdata = getGridUpdateData(grd_oprcphist);
- if (clodupdtdata || clopupdtdata) { // 처방, 원외처방이 수정된 경우
- isChange = true;
- } else {
- // 특정내역
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(i, false);
- i--;
- }
- }
- var clspupdtdata = getGridUpdateData(grd_clsphist);
- if (clspupdtdata) {
- isChange = true;
- } else {
- // 상병
- for (var i = 1; i < grd_cldihist.rows; i++) {
- var rowstatus = grd_cldihist.rowstatus(i);
- var diagcd = model.getValue("/root/main/list1/cldi["+ i +"]/diagcd");
- // 상병코드와 진료개시일이 입력되지 않은 경우
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- if (diagcd == "") {
- // 줄을 삭제한다.
- grd_cldihist.deleteRow(i, false);
- i--;
- }
- }
- }
- // 상병의 경우 기본적으로 추가된 줄을 삭제한 후 체크한다.
- cldiupdtdata = getGridUpdateData(grd_cldihist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (cldiupdtdata) {
- isChange = true;
- }
- }
- }
- } else {
- isChange = true;
- }
- }
- if (isChange) {
- var ans = messageBox("수정사항이 있습니다. 저장", "S001"); ///수정사항이 있습니다. 저장하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes
- var rslt = fSaveOutAftJudg("B"); // 저장
- if (rslt != "true") {
- return false;
- }
- }
- else if (ans == 2) { // 6: yes, 7:no, 2:cancel
- if (grd_clsphist.rows == 1) {
- fSpclGridInsertRow(); // 특정내역 줄추가
- }
- if (cldiupdtdata) { // 상병 Grid가 변경된 경우
- }
- return false;
- }
- } else {
- }
- return true;
- }
-
- //----------------------------------------
- // 1) 심사대상자 조회 Popup을 호출하기 전
- // 2) 이전, 이후 대상자를 조회하기 전
- //---------------------------------------
- /*
- 1.저장버튼 클릭 fGetInAftJudgMngt -> fInitSrchData
- 2.이전,다음명세서 버튼클릭 fGetInAftJudgMngt -> fSaveInAftJudg -> fInitSrchData
- 3.완료,미심,보류,삭제 버튼클릭 fGetInAftJudgMngt -> fSaveInAftJudg -> fInitSrchData
- 4.이전명세서 더블클릭시 화면 떠있는 경우 fActivatePreDocuWindow -> fInitSrchData
- 5.심사전명세서 클릭 fActivatePreDocuWindow -> fInitSrchData
- 6.등록번호 엔터 fInitSrchData
- 7.등록번호 value-changed fInitSrchData
- 8.환자조회 버튼클릭 fInitSrchData
- 9.종료시 fInitSrchData
-
- 심사중해제해야하는 경우!!
- 수정전체크해야하는 경우!!
- /root/hidden/changecheckyn
-
- 6.등록번호 엔터
- 7.등록번호 value-changed
- 8.환자조회버튼 클릭
- 9.종료시
- 2.이전,다음명세서버튼 클릭
- */
- function fInitSrchData() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
-
- if (clamym) {
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- if (judgendyn == "B") {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "N") { // 청구완료여부 A:샘생성전
- if (btn_save.disabled == false || btn_unjudg.disabled == false) {
- // 기존 조회 내역 중 수정 사항이 있는 경우 저장할 것인지를 물어본다.
- var rslt = fCheckChangeSave();
- if (rslt == false) { // 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- }
- else {
- // 동일환자 저장 후 재조회가 아닌경우에만 '심사중' 상태 해제를 한다.
- if (model.getValue("/root/hidden/reselect") == "N") {
- // "심사중" 상태를 해제한다. 원래 심사상태로 변경한다.
- var judgendyn = "";
- if (model.getValue("/root/hidden/orgjudgendyn") == "") {
- judgendyn = "A";
- } else {
- judgendyn = model.getValue("/root/hidden/orgjudgendyn");
- }
- model.removeNodeset("/root/send/item4");
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/clamdg", clamdg);
- model.makeValue("/root/send/item4/endclbs/pid", pid);
- model.makeValue("/root/send/item4/endclbs/pidsn", pidsn);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- submit("TXPID20302");
- // 대상자조회 심사상태 변경
- fSetJudgSaveState(judgendyn);
- }
- }
- }
- }
- }
- }
-
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- fInitUIControlSize();
-
- // 대상자 화면과 이전명세서 화면을 제외한 자식창을 닫는다.
- var judgWindow1 = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- var judgWindow2 = getChildWindow("SMPID20500"); // SMPID20500_외래사후심사관리.xrw
- var judgWindow3 = getChildWindow("SMPID20300"); // SMPID20300_입원사후심사관리.xrw
- var judgWindow4 = getChildWindow("SPPIZ00600ML"); // SPPIZ00600_상병및처방별치식.xrw
-
- if (judgWindow1 == null && judgWindow2 == null && judgWindow3 == null && judgWindow4 == null) {
- var childCnt = window.children.length;
- for( var i = childCnt; i > 0; i-- ) {
- var child = window.children.item(i-1);
- if (window.children.item(i-1).window.type != "modal") {
- window.children.item(i-1).close();
- }
- }
- } else{
- var childCnt = window.children.length;
- for( var i = childCnt; i > 0; i-- ) {
- var isClose = "true";
- var child = window.children.item(i-1);
- var curWinID = child.model.getValue("/root/properties/uid/myself");
- if (judgWindow1 != null) {
- var judgWinID = judgWindow1.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow2 != null) {
- var judgWinID = judgWindow2.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow3 != null) {
- var judgWinID = judgWindow3.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow4 != null) {
- var judgWinID = judgWindow4.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (isClose != "false") {
- if (window.children.item(i-1).window.type != "modal") {
- window.children.item(i-1).close();
- }
- }
- }
- }
-
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- model.resetInstanceNode("/root/main/item1/clbs");
- model.resetInstanceNode("/root/main/item1/memo");
- model.resetInstanceNode("/root/main/item2/incd");
- model.removeNodeset("/root/main/item3/supp");
- model.removeNodeset("/root/main/list1/cldi");
- model.removeNodeset("/root/main/list2/clod");
- model.removeNodeset("/root/main/list3/clsp");
- model.resetInstanceNode("/root/main/item5/mech");
- model.removeNodeset("/root/main/list4/clbs");
- model.removeNodeset("/root/main/list5/clod");
- model.removeNodeset("/root/main/list6/delclod");
- model.removeNodeset("/root/main/list7/clop");
- model.removeNodeset("/root/main/ordddlist/list");
- model.removeNodeset("/root/hidden/rarecancermsg"); // 중증 및 희귀번호 초기화 20091123 박창원
- cmb_rarecancermsg.visible = false;
-
- // 20100208 주석처리 ( fGetOutAftJudgMngt 내에서 2번 중복 호출됨 fInitSrchData, fSetAftJudgTrgtManSrchData )
- //fSetJudgStatBtnAuth(); // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn 권한을 설정한다.
-
- /* 2008-10-05 주석처리
- // 수술(유) Btn
- btn_opyn.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- btn_opyn.visible = true;
- // 중증질환 Btn
- btn_esscdiag.attribute("left") = "215px";
- */
-
- model.removeNodeset("/root/send/item7"); // 원외처방 특정내역
- model.resetInstanceNode("/root/send");
- model.resetInstanceNode("/root/hidden/item1/clbs"); // hidden을 모두 초기화하면 children의 wid 삭제됨
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- model.resetInstanceNode("/root/hidden/item1/initmemo/memo");
- model.resetInstanceNode("/root/hidden/list1");
- model.resetInstanceNode("/root/hidden/list2/cloditem1");
- model.resetInstanceNode("/root/hidden/list3");
- model.resetInstanceNode("/root/hidden/item5/clod");
- model.removeNodeset("/root/hidden/list4/clbs");
- model.resetInstanceNode("/root/hidden/list7/clop");
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch"); // SMPIC00200_수가조회
- model.resetInstanceNode("/root/hidden/smpic00200/rslt");
- model.resetInstanceNode("/root/hidden/smpid20400/cond"); // SMPID20400_외래사후심사대상자조회
- model.resetInstanceNode("/root/hidden/smpid20400/rslt");
- model.resetInstanceNode("/root/hidden/smpid20300/cond"); // SMPID20300_입원사후심사관리
- model.resetInstanceNode("/root/hidden/smpid20500/cond"); // SMPID20500_외래사후심사관리
- model.resetInstanceNode("/root/hidden/sppid21300/cond"); // SPPID21300_심사전후차액조회
- model.resetInstanceNode("/root/hidden/sppid21400/cond"); // SPPID21400_외래미시행처방조회
-
- model.resetInstanceNode("/root/hidden/smpiz00100/cond"); // SMPIZ00100_외래입원상병이력조회
- model.resetInstanceNode("/root/hidden/smpiz00100/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00200/cond/clsp"); // SPPIZ00200_첨부물자료관리
- model.resetInstanceNode("/root/hidden/sppiz00200/rslt/clsp");
- model.resetInstanceNode("/root/hidden/sppiz00300/rslt"); // SPPIZ00300_메모이력조회
- model.resetInstanceNode("/root/hidden/sppiz00400/cond"); // SPPIZ00400_상병코드조회
- model.resetInstanceNode("/root/hidden/sppiz00400/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00500/cond"); // SPPIZ00500_특정내역상세관리
- model.resetInstanceNode("/root/hidden/sppiz00500/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00600/cond"); // SPPIZ00600_상병및처방별치식
- model.resetInstanceNode("/root/hidden/sppiz00600/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond"); // SPPIZ00700_심사Comment조회
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00800/cond"); // SPPIZ00800_산정코드조회
- model.resetInstanceNode("/root/hidden/sppiz00800/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01000/cond"); // SPPIZ01000_심사수정사유관리
- model.resetInstanceNode("/root/hidden/sppiz01000/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01100/cond"); // SPPIZ01100_확인코드조회
- model.resetInstanceNode("/root/hidden/sppiz01100/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01300/cond"); // SPPIZ01300_수술정보조회
- model.resetInstanceNode("/root/hidden/sppiz01400/cond"); // SPPIZ01400_특정내역코드상세조회
- model.resetInstanceNode("/root/hidden/sppiz01400/rslt");
- model.resetInstanceNode("/root/hidden/smpmc01300/cond"); // SMPMC01300_특이환자관리
- model.resetInstanceNode("/root/hidden/smpmc01300/rslt");
- model.resetInstanceNode("/root/hidden/sppmc02500/cond"); // SPPMC02500_환자조회
- model.resetInstanceNode("/root/hidden/sppid22800/cond"); // SPPID22800_재청구차액발생사유관리
- model.resetInstanceNode("/root/hidden/sppid22800/rslt");
- model.resetInstanceNode("/root/hidden/sppid23100/cond"); // SPPID23100_급비변경관리
- model.resetInstanceNode("/root/hidden/sppid23100/rslt");
-
- //---------------------------------------------------------------------------
- // 조회 조건의 초기값을 설정한다.
- //---------------------------------------------------------------------------
- // 특정내역Grid용 필터링 Radio 초기값
- model.setValue("/root/hidden/list3/selectedUnitFlag", "-");
-
- // 처방 조회부 항목구분 Radio item의 굵은 표시를 취소한다.
- /*
- var itemRadioList = instance1.selectSingleNode("/root/hidden/list2/cloditem1");
- var itemNode = itemRadioList.childNodes;
- for (var i = 0; i < itemNode.length; i++) {
- rdo_item1.item(i).attribute("font-weight") = "normal";
- }
- */
-
- // 처방Grid 배경색을 초기화한다.
- grd_clodhist.rebuildStyle();
- grd_cldihist.rebuildStyle();
-
- // 처방Grid 필터용 조회조건을 초기화한다.
- fInitOrderFilter();
-
- // 원외처방Grid - 항목구분 (기본값 : 급여)
- model.setValue("/root/hidden/list7/clop/selectedRdoPay", "0");
- rdo_cloppayflag.refresh()
- cmb_orddeptcd.choices.itemset.attribute("nodeset") = "/root/init/orddeptcd2/orddeptcdlist";
- cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid2/orddridlist";
-
- //삭제상세사유 group을 초기화시킨다. by 박영우 2011.06.07
- grp_desc.visible = false;
- model.makeValue("/root/main/item1/clbs/adjtresndesc", "");
-
- return true;
- }
-
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- function fInitUIControlSize() {
- cap_grptemp.visible = false;
- grp_predoculist.visible = false; // 이전 명세서 목록용 Group
- grp_delclodlist.visible = false; // 처방 휴지통 Group
- grp_delorderlist.visible = false; // 심사변경 목록 Group
- case_spclspec.selected = false;
- case_judgrmemo.selected = false;
- case_ediclammemo.selected = false;
- //fCutSwitchSize();
- grd_oprcphist.mergecells = "byrestriccol"; // 원외처방 merge
- }
- // 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다.
- function fSetOrderControlSize() {
-
- var lb_prcpmaxyn = false;
- // 처방그리드
- if (cap_clod.attribute("top") == "230") {
- grp_cldihist.attribute("top") = "30"; // 상병창
- lb_prcpmaxyn = true;
- grp_clsphist.attribute("top") = "30"; // 특정내역창
-
- cap_clod.attribute("top") = "158";
-
- } else { // 확대된 경우임
- grp_cldihist.attribute("top") = "102"; // 상병창
- // grp_cldihist.attribute("height") = "1614"; // KNUH 20110519 최원돈
- grp_clsphist.attribute("top") = "102"; // 특정내역창
- cap_clod.attribute("top") = "230";
-
- }
-
- var icap_top = parseInt(cap_clod.attribute("top"));
-
- ln_clodhist.attribute("y1") = icap_top + 16;
- ln_clodhist.attribute("y2") = icap_top + 16;
- grd_clodhist.attribute("top") = icap_top + 20;
- grp_ordsrch.attribute("top") = icap_top - 65; // 조회부 그룹
- grp_calendar.attribute("top") = icap_top + 41; // 진료일자달력 그룹
-
- // 20091210 김용민 원외처방 그리드 사이즈 조정
- //if ( gClopSize == "FULL" ) {
- if ( gClopSize == "MAX" ) {
- if (lb_prcpmaxyn)
- {
- grd_clodhist.attribute("height") = "460";
- }
- else
- {
- grd_clodhist.attribute("height") = "90"; // 처방Grid 타이틀 32 + data 2줄 23*2 + 스크롤 18 + 2 = 98
- }
- grp_clop.attribute("top") = parseInt(cap_clod.attribute("top"))
- + parseInt(grd_clodhist.attribute("height")) + 25 ; // 123 = 처방 Grid 98 + 처방 title 부분간격 25
- grp_clop.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grd_clodhist.attribute("height")) - 6;
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- } else {
- if (lb_prcpmaxyn)
- {
- grd_clodhist.attribute("height") = "460";
- }
- else
- {
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(cap_clod.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 26;
- }
- }
- }
-
- // 더블클릭시 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다. 20110616 박황백 추가
- function fSetOrderControlSize2() {
-
- var lb_prcpmaxyn = false;
- // 처방그리드
- if (cap_clod.attribute("top") == "230") {
- grp_cldihist.attribute("top") = "30"; // 상병창
- lb_prcpmaxyn = true;
- grp_clsphist.attribute("top") = "30"; // 특정내역창
-
- cap_clod.attribute("top") = "158";
-
- } else { // 확대된 경우임
- grp_cldihist.attribute("top") = "102"; // 상병창
- // grp_cldihist.attribute("height") = "1614"; // KNUH 20110519 최원돈
- grp_clsphist.attribute("top") = "102"; // 특정내역창
- cap_clod.attribute("top") = "230";
-
- }
-
- var icap_top = parseInt(cap_clod.attribute("top"));
-
- ln_clodhist.attribute("y1") = icap_top + 16;
- ln_clodhist.attribute("y2") = icap_top + 16;
- grd_clodhist.attribute("top") = icap_top + 20;
- grp_ordsrch.attribute("top") = icap_top - 65; // 조회부 그룹
- grp_calendar.attribute("top") = icap_top + 41; // 진료일자달력 그룹
-
- // 20091210 김용민 원외처방 그리드 사이즈 조정
- //if ( gClopSize == "FULL" ) {
- if ( gClopSize == "MAX" ) {
- if (lb_prcpmaxyn)
- {
- // grd_clodhist.attribute("height") = "460";
- grd_clodhist.attribute("height") = "360";
- // 20110615 박황백 원외처방 그리드 사이즈 조정 - 심사팀요청
- grp_clop.attribute("top") = "541";
- grp_clop.attribute("height") = "96";
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
-
- }
- else
- {
- grd_clodhist.attribute("height") = "90"; // 처방Grid 타이틀 32 + data 2줄 23*2 + 스크롤 18 + 2 = 98
- }
-
- grp_clop.attribute("top") = parseInt(cap_clod.attribute("top"))
- + parseInt(grd_clodhist.attribute("height")) + 25 ; // 123 = 처방 Grid 98 + 처방 title 부분간격 25
- grp_clop.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grd_clodhist.attribute("height")) - 6;
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- } else {
- if (lb_prcpmaxyn)
- {
- //grd_clodhist.attribute("height") = "460";
-
- grd_clodhist.attribute("height") = "360";
-
- grp_clop.attribute("top") = "541";
- grp_clop.attribute("height") = "96";
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
-
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 6;
- }
- else
- {
- fClopSizeChange("AUTO");
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(cap_clod.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 26;
-
- }
- }
- }
- // 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다. // 20100408 백업
- function fSetOrderControlSize_bakup() {
- var otherGrp = true;
-
- // 처방그리드
- if (cap_clod.attribute("top") == "230") {
- otherGrp = false;
- cap_clod.attribute("top") = "60";
- } else { // 확대된 경우임
- otherGrp = true;
- cap_clod.attribute("top") = "230";
- //grd_clodhist.attribute("height") = "260";
- }
- //messageBox(grd_clodhist.attribute("top"),"");
-
- // 20091210 김용민 원외처방 그리드 사이즈 조정
- if ( gClopSize == "FULL" ) {
- grd_clodhist.attribute("height") = "90"; // 처방Grid 타이틀 32 + data 2줄 23*2 + 스크롤 18 + 2 = 98
- grp_clop.attribute("top") = parseInt(cap_clod.attribute("top")) + 125 ; // 123 = 처방 Grid 98 + 처방 title 부분간격 25
- grp_clop.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grp_clop.attribute("top"));
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- } else {
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(cap_clod.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 30;
- }
-
- /*
- if (grp_clop.attribute("top") == "541" || grp_clop.attribute("top") == "541px") { // 원외처방 Grid 축소된 초기 상태임
- if (cap_clod.attribute("top") == "228") { // 처방 title 초기상태
- grd_clodhist.attribute("height") = "270"; // 처방 Grid를 축소한다.
- } else {
- grd_clodhist.attribute("height") = "425"; // 처방 Grid를 확대한다.
- }
- } else {
- grd_clodhist.attribute("height") = "75"; // 처방Grid 타이틀 32 + data 2줄 23*2 + 스크롤 18 + 2 = 98
- grp_clop.attribute("top") = parseInt(cap_clod.attribute("top")) - 5 + 123; // 123 = 처방 Grid 98 + 처방 title 부분간격 25
- if (cap_clod.attribute("top") == "228") { // 처방 title 초기상태
- grp_clop.attribute("height") = 290 + 50 + 71 - 123;
- } else {
- grp_clop.attribute("height") = 445 + 50 + 71 - 123;
- }
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- }
- */
- grp_cldihist.visible = otherGrp;
- grp_clsphist.visible = otherGrp;
- //grp_calendar.visible = otherGrp;
- var icap_top = parseInt(cap_clod.attribute("top"));
-
- ln_clodhist.attribute("y1") = icap_top + 24;
- ln_clodhist.attribute("y2") = icap_top + 24;
- grd_clodhist.attribute("top") = icap_top + 28;
- btn_delordlist.attribute("top") = icap_top - 18; // 처방휴지통 버튼
- btn_delordsrch.attribute("top") = icap_top - 18; // 심사변경 버튼
- btn_bfjudgdocu.attribute("top") = icap_top - 18; // 심사전명세서 버튼
- cmb_adjtresncd.attribute("top") = icap_top - 18; // 심사수정사유 콤보
- cmb_docudelresncd.attribute("top") = icap_top - 18; // 명세서삭제사유 콤보
- cmb_abdresncd.attribute("top") = icap_top - 39; // 반송부제기사유 콤보
- grp_ordsrch.attribute("top") = icap_top - 57; // 조회부 그룹
- grp_calendar.attribute("top") = icap_top + 49; // 진료일자달력 그룹
- }
-
- // 이전명세서, 처방휴지통, 삭제처방 Group의 컨트롤 크기를 설정한다.
- function fSetDelOrdPreDocuSize() {
- var icap_top = parseInt(cap_clod.attribute("top"));
- var igrd_hei = parseInt(grd_clodhist.attribute("height"));
- //cap_grptemp.attribute("top") = icap_top;
-
- // 이전 명세서 목록
- if (grp_predoculist.visible == true) {
- cap_grptemp.text = "이전 명세서 목록";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "500";
- ln_clodhist.attribute("x2") = "560";
- grp_predoculist.attribute("top") = icap_top + 20;
- grp_predoculist.attribute("height") = igrd_hei;
- //grd_predocu.attribute("height") = igrd_hei - 52;
- //btn_closepredoculist.attribute("top") = parseInt(grp_predoculist.attribute("height")) - 32;
- //btn_readpopup.attribute("top") = parseInt(grp_predoculist.attribute("height")) - 32;
- //btn_judgmode.attribute("top") = parseInt(grp_predoculist.attribute("height")) - 32;
- }
- // 처방 휴지통
- if (grp_delclodlist.visible == true) {
- cap_grptemp.text = "처방 휴지통";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- grp_delclodlist.attribute("top") = icap_top + 15;
- grp_delclodlist.attribute("height") = igrd_hei;
- grd_delclod.attribute("height") = igrd_hei - 28;
- btn_closedelclodlist.attribute("top") = parseInt(grp_delclodlist.attribute("height")) - 23;
- }
- // 심사변경 목록
- if (grp_delorderlist.visible == true) {
- cap_grptemp.text = "심사변경 목록";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- grp_delorderlist.attribute("top") = icap_top + 15;
- grp_delorderlist.attribute("height") = igrd_hei;
- grd_delorder.attribute("height") = igrd_hei - 28;
- btn_closedelorderlist.attribute("top") = parseInt(grp_delorderlist.attribute("height")) - 23;
- }
- // 특정내역 / 심사자메모 / EDI메모 창이 확대된 경우 겹쳐져 보이므로 창을 작게 한다.
- //fCutSwitchSize();
- }
-
- // 이전명세서 목록 조회
- function fSrchPreDocuList() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
-
- // 상병 및 주석 복사 버튼 (외래이면서 동일 청구월일경우에만 활성화 시킴 - 20091127 박창원
- var refterm = model.getValue("/root/send/list4/refterm");
- var ioflag = model.getValue("/root/send/list4/ioflag");
-
- if (refterm == "7" && ioflag == "O") {
- btn_copydiag.disabled = false;
- btn_copyedimemo.disabled= false;
- btn_copydiagedimemo.disabled = false;
- } else {
- btn_copydiag.disabled = true;
- btn_copyedimemo.disabled= true;
- btn_copydiagedimemo.disabled = true;
- }
-
- if (clamym) { // 조회된 심사대상자가 있음
- //model.resetInstanceNode("/root/send/list4");
- var refterm = model.getValue("/root/send/list4/refterm");
- if (refterm == "0") {
- var fromdd = model.getValue("/root/send/list4/fromdd");
- var todd = model.getValue("/root/send/list4/todd");
- if (isValidDateTime(fromdd)) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- if (isValidDateTime(todd)) {
- var dateDif = getDateInterval(fromdd, todd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); ///검색 시작일자가 종료일자 보다 이후 입니다.
- return;
- }
- } else {
- return;
- }
- } else {
- return;
- }
- }
- model.setValue("/root/send/list4/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/send/list4/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- if (model.getValue("/root/send/list4/allordfild") != "Y") {
- model.setValue("/root/send/list4/ordfildcd", model.getValue("/root/main/item1/clbs/ordfildcd"));
- } else {
- model.resetInstanceNode("/root/send/list4/ordfildcd");
- }
- submit("TRPID20304");
- model.copyNode("/root/hidden/list4", "/root/main/list4");
- grd_predocu.rebuildStyle();
- for (var i = 1; i < grd_predocu.rows; i++) {
- if ((clamym == model.getValue("/root/main/list4/clbs["+ i +"]/clamym")) &&
- (clamdg == model.getValue("/root/main/list4/clbs["+ i +"]/clamdg")) &&
- (pid == model.getValue("/root/main/list4/clbs["+ i +"]/pid")) &&
- (pidsn == model.getValue("/root/main/list4/clbs["+ i +"]/pidsn"))) {
- grd_predocu.rowStyle(i, "data", "background-color") = "#4d4d4d"; // common.css (input)
- grd_predocu.rowStyle(i, "data", "background-image") = "../../../com/commonweb/images/grid_bg.gif";
- grd_predocu.rowStyle(i, "data", "background-repeat") = "repeat-x";
- i = grd_predocu.rows;
- }
- }
- }
- }
-
- // 이전월/년, 다음월/년에 해당하는 일자를 표시한다.
- function setCalendar(dateObj) {
- var firstDay = dateObj.getDateFormat("YYYY") + dateObj.getDateFormat("MM") +"01";
- dateObj = firstDay.toDate();
-
- // 그리드 초기화
- model.removeNodeset("/root/hidden/calendar/weeklist/list");
- grd_calendar.addRow(false);
- grd_calendar.rebuild();
- grd_calendar.rowhidden(0) = true;
-
- var startDay = dateObj.getDay(); // 요일
- var days = dateObj.getMonthDay(); // 마지막 일
- var colIndex = startDay;
- for( var i = 1; i <= days; i++ ) {
- grd_calendar.valueMatrix(1, colIndex) = i;
- colIndex++;
- }
-
- for (var j = 0; j <42; j++) {
- grd_calendar.colHidden(j) = false;
- if (grd_calendar.valueMatrix(1, j) == "") {
- grd_calendar.colHidden(j) = true;
- }
- }
- }
-
- // 조회된 심사대상자의 실제진료일과 그달의 진료일자를 진료달력에 표시한다.
- function setOrdCalendar() {
- // 진료달력을 표시한다.
- var isDate = model.getValue("/root/main/item1/clbs/ordfromdd").toDate();
- var YYYY = isDate.getDateFormat("YYYY");
- var MM = isDate.getDateFormat("MM");
- model.setValue("/root/hidden/calendar/year", YYYY);
- model.setValue("/root/hidden/calendar/month", MM);
- // 이전 명세서 팝업의 경우, 바뀐 날짜의 시작일자가 적용되지 않으므로 설정함
- model.setValue("/root/hidden/calendar/ordddlist/fromdd", YYYY + MM + "01");
- model.setValue("/root/hidden/calendar/ordddlist/todd", YYYY + MM + isDate.getMonthDay());
- setOrdSrchCalendar();
- }
- // 이전월/년, 다음월/년에 해당하는 일자와 해당년월에 진료한 일자를 표시한다.
- function setOrdSrchCalendar() {
- // 진료달력을 표시한다.
- var isDate = model.getValue("/root/main/item1/clbs/ordfromd").toDate();
- var isDay = isDate.getDateFormat("DD");
-
- // 이전명세서 팝업의 경우 fromdd 로 계산시 바뀐 날짜가 아님
- var dateObj = model.getValue("/root/hidden/calendar/ordddlist/fromdd").toDate();
-
- // 그리드 초기화
- model.removeNodeset("/root/hidden/calendar/weeklist/list");
- grd_calendar.addRow(false);
- grd_calendar.rebuild();
- grd_calendar.rowhidden(0) = true;
-
- var startDay = dateObj.getDay(); // 요일
- var days = dateObj.getMonthDay(); // 마지막 일
- var colIndex = startDay;
- for( var i = 1; i <= days; i++ ) {
- grd_calendar.valueMatrix(1, colIndex) = i;
- colIndex++;
- }
- grd_calendar.rebuildStyle();
-
- var ordddList = instance1.selectSingleNode("/root/main/ordddlist/list");
- if (ordddList != null) {
- ordddList = instance1.selectSingleNode("/root/main/ordddlist");
- var ordddNode = ordddList.childNodes;
- for (var i = 1; i <= ordddNode.length; i++) {
- var dd = parseInt(model.getValue("/root/main/ordddlist/list["+ i +"]/ordfromdd").substr(6, 2), 10);
- colIndex = dd+startDay-1;
-
- if (grd_calendar.cellStyle("background-color", 1, colIndex) == "white") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#fcd2c1"; // class="color_1" 연한핑크
- }
- else if (grd_calendar.cellStyle("background-color", 1, colIndex) == "#fcd2c1") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#ffe79d"; // class="color_2" 개나리색
- }
- else if (grd_calendar.cellStyle("background-color", 1, colIndex) == "#ffe79d") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#7be6b7"; // class="color_4"
- }
- else if (grd_calendar.cellStyle("background-color", 1, colIndex) == "#7be6b7") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#b9e5fb"; // class="color_5"
- }
- else if (grd_calendar.cellStyle("background-color", 1, colIndex) == "#b9e5fb") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#c8e67b"; // class="color_9"
- }
- else if (grd_calendar.cellStyle("background-color", 1, colIndex) == "#c8e67b") {
- grd_calendar.cellStyle("background-color", 1, colIndex) = "#43c8f5"; // class="color_10"
- }
- grd_calendar.cellStyle("border-color", 1, colIndex) = "#b0b0b0"; // "#8ebcff"; // common.css (그리드의 border style)
- }
- }
-
- var YYYY = model.getValue("/root/hidden/calendar/year");
- var MM = model.getValue("/root/hidden/calendar/month");
- var isCurMon = false;
- if (isDate.getDateFormat("YYYYMM") == (YYYY+MM)) {
- isCurMon = true; // 이전,이후 년월로 이동한 경우에는 일자에 굵은색 표시를 없애기 위해 체크함
- }
-
- for (var j = 0; j <42; j++) {
- grd_calendar.colHidden(j) = false;
- grd_calendar.cellStyle("font-weight", 1, j) = "normal";
- if (grd_calendar.valueMatrix(1, j) == "") {
- grd_calendar.colHidden(j) = true;
- }
- var dd = grd_calendar.valueMatrix(1, j);
- if (isCurMon && dd) { // 현재 명세서와 동일한 년월인 경우에만 해당 일자에 굵은색으로 표시하도록 함
- if (parseInt(dd, 10) == parseInt(isDay, 10)) { // indd (실제 진료일 표시)
- grd_calendar.cellStyle("font-weight", 1, j) = "bold";
- }
- }
- }
-
- }
-
- /**
- * @group :
- * @ver :
- * @by : jumi
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 등록번호를 입력하고 Enter 키를 누르면 외래사후심사대상자 조회 Popup으로 등록번호를 전달하고 해당 환자를 조회하여 보여준다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
-
- function fGetOutAftJudgTrgtManPidSrch() {
-
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
-
- var patunitsrch1 = model.getValue("/root/main/item1/clbs/pid");
-
- if (trgtManWindow == null) {
- // pid가 변경되었는데 조회창을 여는 경우 기존 조회된 data 초기화를 위해 저장해둔다.
- model.setValue("/root/hidden/smpid20400/cond/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20400/rslt/oldPid", patunitsrch1);
- open("SMPID20400", "2", "10", "10", "SMPID20400", "/root/hidden/smpid20400/cond/pid", "/root/send/item1/patunitsrch1", "", ""); // SMPID20400_외래사후심사대상자조회
- } else {
- var oldPid = model.getValue("/root/hidden/smpid20400/rslt/oldPid");
- model.setValue("/root/hidden/smpid20400/cond/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20400/rslt/oldPid", patunitsrch1);
- if (oldPid == "") {
- if (patunitsrch1 == "") { // 환자번호 입력 없이 대상자를 조회하는 경우
- trgtManWindow.grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- activateChild("SMPID20400");
- } else { // 기존 심사대상자는 없는데 pid가 입력된 경우 또는 변경된 정보를 저장 후에 조회하는 경우
- trgtManWindow.javascript.fSetPatUnitSrch1pidSrch();
- }
- } else {
- if (patunitsrch1 != oldPid) { // 조회된 pid가 변경된 상태에서 조회하는 경우
- model.setValue("/root/main/item1/clbs/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20400/cond/pid", patunitsrch1);
- trgtManWindow.javascript.fSetPatUnitSrch1pidSrch();
- } else { // 기존 심사대상자는 있는데 pid가 변경되지 않은 경우
- trgtManWindow.grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- activateChild("SMPID20400");
- }
- }
- model.refresh();
- }
- }
-
- // 1) "저장" 이후에 현재 대상자 정보를 다시 조회한다.
- // 2) 대상자조회 화면에서 선택한 환자의 pid를 기준으로 이전, 이후 대상자를 조회한다.
- function fGetOutAftJudgMngt() {
- var clamym = model.getValue("/root/hidden/smpid20400/rslt/clamym");
- var clamdg = model.getValue("/root/hidden/smpid20400/rslt/clamdg");
- var pid = model.getValue("/root/hidden/smpid20400/rslt/pid");
- var pidsn = model.getValue("/root/hidden/smpid20400/rslt/pidsn");
- var cutprcpyn = model.getValue("/root/hidden/smpid20400/rslt/cutprcpyn");
- var selectedRow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- var judgendyn = model.getValue("/root/hidden/smpid20400/rslt/judgendyn");
- var tootpopupyn = model.getValue("/root/hidden/smpid20400/rslt/tootpopupyn");
- //var ordfildcd = model.getValue("/root/hidden/smpid20400/rslt/ordfildcd");
- var judgenddd = model.getValue("/root/hidden/smpid20400/rslt/judgenddd");
- if (clamym) {
- var rslt = fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- }
- model.makeValue("/root/send/item1/clbs/clamym", clamym);
- model.makeValue("/root/send/item1/clbs/clamdg", clamdg);
- model.makeValue("/root/send/item1/clbs/pid", pid);
- model.makeValue("/root/send/item1/clbs/pidsn", pidsn);
- model.makeValue("/root/send/item1/clbs/ioflag", "O");
- model.makeValue("/root/send/item1/clbs/workflag", "12");
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", selectedRow);
- // 20100302 삭감조회 여부
- if ( cutprcpyn != "" ) {
- model.makeValue("/root/send/item1/clbs/cutviewyn","Y");
- } else {
- model.makeValue("/root/send/item1/clbs/cutviewyn","N");
- }
- // 20100328 치식팝업
- model.makeValue("/root/send/item1/clbs/tootpopupyn",tootpopupyn);
-
-
- submit("TRPID20301"); // 2008-08-01 김상진 : 입원으로 통합.
- // 원외처방 그리드 상태를 급여구분 기본값인 "급여"로 필터링한다.
- for (var j = 1; j < grd_oprcphist.rows; j++) {
- if (model.getValue("/root/main/list7/clop["+ j +"]/payflag") == "0") {
- grd_oprcphist.rowHidden(j) = false;
- } else {
- grd_oprcphist.rowHidden(j) = true;
- }
- }
-
- model.makevalue("/root/main/item1/clbs/orddiag","");
- model.makeValue("/root/main/diaghist01/list01","");
- model.makeValue("/root/send/diag/ioflag", "O");
- model.makeValue("/root/send/diag/deptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeValue("/root/send/diag/orddd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.makeValue("/root/send/diag/clamym", model.getValue("/root/send/item1/clbs/clamym"));
- model.makeValue("/root/send/diag/clamdg", model.getValue("/root/send/item1/clbs/clamdg"));
- model.makeValue("/root/send/diag/pid", model.getValue("/root/send/item1/clbs/pid"));
- model.makeValue("/root/send/diag/pidsn", model.getValue("/root/send/item1/clbs/pidsn"));
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한줄추가(); 20090918 정승우
- //rdo_unitflag.dispatch("xforms-select"); //20091013 정승우 JT001 제외 기능 추가---
- // 특정내역 Radio button dispatch 대신 아래함수로변경 이경민
- fSelectSpclRadio();
- // pid가 변경되었는데 조회창을 여는 경우 기존 조회된 data 초기화를 위해 저장해둔다.
- model.setValue("/root/hidden/smpid20400/rslt/oldPid", model.getValue("/root/main/item1/clbs/pid"));
- // 20100209 대상자조회창의 심사상태를 비교하기 위해 저장
- model.setValue("/root/hidden/smpid20400/rslt/judgendyn",judgendyn);
- model.setValue("/root/hidden/smpid20400/rslt/judgenddd",judgenddd);
- if ((getNodesetCount("/root/main/diaghist01/list01/mmohdiag1") > 0
- && getNodesetCount("/root/main/diaghist01/list01/mmohdiag2") == 0 )
- || (getNodesetCount("/root/main/diaghist01/list01/mmohdiag1") > 0
- && getNodesetCount("/root/main/diaghist01/list01/mmohdiag2") > 0) ) {
- model.makeValue("/root/main/item1/clbs/orddiag", model.getValue("/root/main/diaghist01/list01/mmohdiag1[1]/diagcd"));
- } else if (getNodesetCount("/root/main/diaghist01/list01/mmohdiag1") == 0
- && getNodesetCount("/root/main/diaghist01/list01/mmohdiag2") > 0 ) {
- model.makeValue("/root/main/item1/clbs/orddiag", model.getValue("/root/main/diaghist01/list01/mmohdiag2[1]/diagcd"));
- } else {
- model.makeValue("/root/main/item1/clbs/orddiag", "");
- }
- cbo_diag.refresh();
-
- fSetAftJudgTrgtManSrchData();
- // 수정추가 : 20090818 : JHP : 대상자조회에서 대상자 선택하여 넘어올때 메세지 여부 확인
- // 20100305 김용민 삭제 (이것때문에 속도 느려짐
- // 메인조회 쿼리에 포함시키는게 낳을듯.. pam.pmchipms pid 인덱스 없어, 추가 작업후 해야함
- //fGetPatMsgYn();
-
- //cmb_orddrid.refresh();
- //fDiagGridInsertRowMulti(); //20090917 정승우 대상자 선택시 자동으로 상병 5줄 가져오기 추가
-
- // 20100302 삭감팝업 추가
- var cutpopwindow = getChildWindow("SMPIS00600");
- if ( cutpopwindow != null ) { cutpopwindow.close(); }
- if ( model.getValue("/root/main/item1/clbs/cutprcpyn") == "Y" ){
- if ( cutprcpyn == "2" ) {
- setParameter("openflag", 'O');
- setParameter("pid", pid);
- open("SMPIS00600", "", "50", "50" ,"SMPIS00600", "", "");
- }
- }
-
- // 20100309 치식팝업 추가(치과일때만 해당)
- var tootpopwindow = getChildWindow("SPPIZ00600ML");
- if ( tootpopupyn == "Y"
- && model.getValue("/root/main/item1/clbs/ordfildcd") == "6"
- ){
- fDiagOrderToothInputDiret("Diag");
- //inputEnterKey("button4", "DOMActivate");
- //opener.javascript.toothclick();
- } else {
- if ( tootpopwindow != null ) { tootpopwindow.close(); }
- }
-
- }
- }
- // 상단에 환자정보 기입하기
- function fSetOutPatPamInfo() {
- // emr/prcpmngtweb/xrw/SPMMO08900_환자기본정보설정.xrw
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var orddd = model.getValue("/root/main/item1/clbs/indd");
- var cretno = model.getValue("/root/main/item1/clbs/cretno");
- var instcd = model.getValue("/root/main/item1/clbs/instcd");
-
- // 20091214 김용민 응급실 6시간 미만 때문에 추가
- var stsioflag = model.getValue("/root/main/item1/clbs/stsioflag");
- var indd = model.getValue("/root/main/item1/clbs/indd");
- var ordtodd = model.getValue("/root/main/item1/clbs/ordtodd");
- var srchdd = ""
- // 20100201 응급실 주과구분(C) 추가
- if (stsioflag == "E" || stsioflag == "C" ) {
- ioflag = "E";
- srchdd = indd;
- }
- else {
- ioflag = "O";
- srchdd = ordtodd;
- }
-
- if (cretno) {
-
- // 외래환자 parameter 구조 ioflag▦pid▦orddd▦cretno▦instcd▦acptseqno▦orgorddd
- //var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
- var param = ioflag + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + srchdd; ; // 20091214 김용민 6시간 미만건 때문에 수정
- setParameter("condparam", param);
- // 원무에 환자정보가 없는 경우 에러메시지 화면을 보이지 않게 처리함
- setParameter("errflag", "Y");
- modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var useyn = getParameter("SPMMO08900_rtn_useyn");
- if (useyn == "Y") {
- setParameter("SPMMO08900_rtn_useyn", "");
- }else{
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- }
- } else {
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- }
- }
- function fSetAftJudgTrgtManSrchData() {
-
- // 상단에 환자정보 기입하기
- if (!isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
- fSetOutPatPamInfo();
- }
-
- // 조회된 심사대상자의 특이 인적사항, 보조/요율 등을 계산하여 보여준다.
- fGetPersonalData();
-
- // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn 권한을 설정한다.
- fSetJudgStatBtnAuth();
-
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- // fSortSpclNo();
-
- // 특정코드 줄단위 였던 row가 명세서 단위 row로 바뀌는 경우, 특정코드 값이 표시되지 않으므로 다시 확인한다.
- //for (var i = 1; i < grd_clsphist.rows; i++) {
- // grd_clsphist.cellComboNodeset(i, grd_clsphist.colRef("spclcd")) = "/root/init/P0117list/P0117";
- //}
-
- // 재료행위/급여/항목구분 Radio 선택
- // 2008-12-02
- //fGetSelectedOrderData();
-
- if (model.getValue("/root/hidden/reselect") == "N") { // 저장후 재조회가 아닐 경우만..(속도개선)
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- }
-
- // 항목별 금액소계표시 2011.01.04 김상진보류
- //fSetSubtotal();
-
- // 처방 그리드 상태를 초기화 한다.
- grd_clodhist.row = 0; // 그리드의 첫줄부터 표시되도록 포커스를 0으로 설정한다.
-
- // 원외처방 그리드 상태를 급여구분 기본값인 "급여"로 필터링한다.
- //rdo_cloppayflag.dispatch("xforms-select");
- fGetCoppayFlagSelect();
-
- // "저장" Btn 클릭시에 인적사항이 변경되었는지 여부를 알기 위해 조회한 항목을 임시로 저장해두고 추후에 비교한다.
- model.copyNode("/root/hidden/item1/initclbs/clbs", "/root/main/item1/clbs");
- model.copyNode("/root/hidden/item1/initmemo/memo", "/root/main/item1/memo");
-
- // "급여구분" 조회위한 급여처방을 임시로 저장해 둔다.
- model.copyNode("/root/hidden/initclodlist/list2", "/root/main/list2");
-
- // 진료결과 nodeset (산재:P0297, 보험,보호,자보:P0110)
- if (model.getValue("/root/main/item1/clbs/insukindcd") == "41") {
- cmb_ordrsltcd.choices.itemset.attribute("nodeset") = "/root/init/P0297list/P0297";
- } else {
- cmb_ordrsltcd.choices.itemset.attribute("nodeset") = "/root/init/P0110list/P0110";
- }
- //cmb_ordrsltcd.refresh(); // 20091217 밑에 refresh 가 있어서 삭제..
-
- // 조회된 심사대상자의 실제진료일과 그달의 진료일자를 진료달력에 표시한다.
- //setOrdCalendar();
-
- if (getNodesetCount("/root/main/dupidlist/dupid") > 0 ) {
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var duppid = model.getValue("/root/main/dupidlist/dupid/newpid");
- if (pid == duppid ) {
- duppid = model.getValue("/root/main/dupidlist/dupid/oldpid")
- }
-
- messageBox("★★★ 합번정보 : 해당 환자는 "+duppid+" 챠트번호와 합번정보가 있으며, " +
- "진료개시일이 동일한 "+duppid+"의 명세서가 존재하니 반드시 청구여부 확인하시기 바랍니다. ★★★", "I"); /// 잠금설정되어있는 상태입니다. 수정할 수 없습니다.
- }
-
- if (model.getValue("/root/main/item1/clbs/clamkey")) {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "Y") {
- messageBox("잠금설정되어있는 상태입니다. 수정", "E001"); /// 잠금설정되어있는 상태입니다. 수정할 수 없습니다.
- }
- } else {
- // 해당 심사대상자가 없는 경우
- return;
- }
-
- // 상병 Grid의 상병순서를 체크림하고, 마지막 줄에 줄추가를 한다.
- //fSortDiagNo(true);
-
- if (grd_cldihist.rows == 1) {
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한줄추가
- }
-
- // 진료일표시
- fViewOrddddisp();
-
- // 환자호출시 기본적으로 특정내역 탭을 선택하여 보여준다 - 20091112 박창원 -- 병원별 차등적용으로 변경
- // 환자호출시 병원별로 차별화 해서 디스플레이 해줌 - 20091117 박창원
- var dispclsp = model.getValue("/root/main/item1/clbs/dispclsp");
-
- if (dispclsp == "S") { // 특정내역우선
- btn_spclspec.selected = true;
- btn_judgrmemo.selected = false;
- btn_ediclammemo.selected = false;
- //btn_spclspec.dispatch("DOMActivate");
- fGeCaseSelect("case_spclspec", true);
- } else if (dispclsp == "E") {
- btn_spclspec.selected = false;
- btn_judgrmemo.selected = false;
- btn_ediclammemo.selected = true;
- //btn_ediclammemo.dispatch("DOMActivate");
- fGeCaseSelect("case_ediclammemo", false);
- } else if (dispclsp == "U") {
- btn_spclspec.selected = false;
- btn_judgrmemo.selected = true;
- btn_ediclammemo.selected = false;
- //btn_judgrmemo.dispatch("DOMActivate");
- fGeCaseSelect("case_judgrmemo", false);
- }
-
-
- //model.refresh(); // 20091217 밑에 refresh 가 또 있어서 삭제..
-
- //메모여부에 따른 색깔분류 - 박창원 20091102
- var edimemo = model.getValue("/root/main/item1/memo/edimemo");
- var usermemo = model.getValue("/root/main/item1/memo/judgmemo");
-
- var edilength = edimemo.length;
- var userlength = usermemo.length;
-
- if (edilength > 0) {
- btn_ediclammemo.attribute("background-image") = "../../../com/commonweb/images/tab_hide_orange.gif";
- } else if (edilength == 0) {
- btn_ediclammemo.attribute("class") = "btn_sw"; // 표준에서 정한 기본 버튼으로 설정
- }
- if (userlength > 0) {
- btn_judgrmemo.attribute("background-image") = "../../../com/commonweb/images/tab_hide_orange.gif";
- } else if (userlength == 0) {
- btn_judgrmemo.attribute("class") = "btn_sw"; // 표준에서 정한 기본 버튼으로 설정
- }
- /* 20091217 다시 삭제.. 크기 고정
- // 20091210 김용민 추가 - 사이즈 자동모드인경우 원외처방그리드 사이즈 조정
- if ( gClopSize == "AUTO" ) {
- fClopSizeChange("AUTO");
- // 이전명세서, 처방휴지통, 삭제처방 Group의 컨트롤 크기를 설정한다.
- //fSetDelOrdPreDocuSize();
- }
- */
- // 20100209 대상자조회 창은 미심상태이나 실제 명세서 내역이 심사완료이면 메세지 표시
- if ( model.getValue("/root/hidden/smpid20400/rslt/judgendyn") == "A" // 대상자조회창
- && ( model.getValue("/root/main/item1/clbs/judgendyn") == "C" // 심사화면 심사완료
- || model.getValue("/root/main/item1/clbs/judgendyn") == "Z" // 심사화면 일괄완료
- )
- ) {
- messageBox("심사 완료되어 있는 명세서", "I005"); //심사 완료되어 있는 명세서입니다.
- }
- else if ( model.getValue("/root/hidden/smpid20400/rslt/judgendyn") == "A" // 대상자조회창
- && model.getValue("/root/main/item1/clbs/judgendyn") == "N" // 심사화면 보류
- ) {
- messageBox("심사 보류되어 있는 명세서", "I005"); //심사 보류되어 있는 명세서입니다.
- }
-
- // 20100402 주민반송일 경우 온라인 주민번호 확인메세지 추가
- if ( model.getValue("/root/main/item1/clbs/lockyn") != "Y"
- && getStringLength(model.getValue("/root/main/item1/clbs/realrgstno")) == 13 // 자리수 체크
- && model.getValue("/root/main/item1/clbs/realrgstno") != model.getValue("/root/main/item1/clbs/patrrgstno")
- && model.getValue("/root/main/item1/clbs/preresncd").substr(0,2) == "91"
- ) {
- var ans = messageBox( "명세서상의 주민번호와 온라인 상의 주민번호가 상이합니다. " + "\n\n"
- + "온라인 상의 주민번호는 ( "
- + model.getValue("/root/main/item1/clbs/realrgstno").substr(0,6)
- + "-"
- + model.getValue("/root/main/item1/clbs/realrgstno").substr(6,7)
- + " ) 입니다." + "\n\n"
- + "주민번호를 변경 "
- , "S001");
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- model.setValue("/root/main/item1/clbs/patrrgstno",model.getValue("/root/main/item1/clbs/realrgstno"));
- ipt_patrrgstno.refresh();
- }
- }
- /*
- 2008-08-11
- model.setFocus("grd_cldihist");
- grd_cldihist.row = grd_cldihist.rows-1;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- grd_cldihist.editCell();
- */
-
- }
- // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn 권한을 설정한다.
- function fSetJudgStatBtnAuth() {
- // 1. 팝업이 아닌 경우 "11100000" // RXP권한
- // 2. 심사전 명세서 팝업 "00100000"
- // 3. 이전 명세서 팝업 "11100000"
- // 4. 그외 팝업 "10100000"
- var xAuth = checkAuth("X"); // 처리권한(입력, 수정, 삭제 등) - RXP
- if (xAuth == true) {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "N") { // 청구완료여부 A:샘생성전
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
-
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- // 심사중이면
- if (judgendyn == "B") {
- // 계속 심사중이 아니면...
- if (model.getValue("/root/hidden/reselect") != "Y") {
- var lastupdtrid = model.getValue("/root/main/item1/clbs/lastupdtrid");
- if (lastupdtrid == userid) {
- //rowstat = "ing";
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- //btn_cretdel.disabled = false;
- messageBox("기존에 심사중이었던", "I005"); ///기존에 심사중이었던 환자입니다.
- } else {
- btn_save.disabled = true;
- btn_end.disabled = true;
- btn_unjudg.disabled = true;
- btn_rete.disabled = true;
- btn_del.disabled = true;
- //btn_cretdel.disabled = true;
- // 심사중인 환자이므로 메시지 처리한다.
- messageBox("다른 심사자가 심사중인", "I005"); ///다른 심사자가 심사중인 환자입니다.
- }
- // -------------------------------------------------
- // 원래 심사상태를 저장해준다.(심사중해제를 위해서)
- // -------------------------------------------------
- //model.setValue("/root/hidden/orgjudgendyn", judgendyn)
- // 계속 심사중이면...
- } else {
-
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- //btn_cretdel.disabled = false;
-
- // -------------------------------------------------
- // 저장후재조회여부 초기화
- // -------------------------------------------------
- model.setValue("/root/hidden/reselect", "N");
- }
- }
- // 심사중이 아니면...
- else if (judgendyn != "B") {
- // 심사자ID이고 미심(A)인경우만 심사중으로 변경
- if (model.getValue("/root/init/item3/judgidyn") == "Y" && judgendyn == 'A') {
- // "심사중" 상태로 설정한다.
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- model.removeNodeset("/root/send/item4");
- model.makeValue("/root/send/item4/endclbs/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.makeValue("/root/send/item4/endclbs/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.makeValue("/root/send/item4/endclbs/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/send/item4/endclbs/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.makeValue("/root/send/item4/endclbs/judgendyn", "B");
- submit("TXPID20302");
-
- model.setValue("/root/main/item1/clbs/judgendyn", "B");
- model.setValue("/root/main/item1/clbs/lastupdtrid", userid);
- model.refreshpart("/root/main/item1/clbs/judgendyn");
- fSetJudgSaveState("B"); // 심사완료여부 (P0151) - B: 심사중
- }
- // -------------------------------------------------
- // 원래 심사상태를 저장해준다.(심사중해제를 위해서)
- // -------------------------------------------------
- model.setValue("/root/hidden/orgjudgendyn", judgendyn)
-
- if (judgendyn == "D") { // D: 삭제
- btn_save.disabled = true;
-
- //2012.5.23 이경민 심사완료일자가 15일 이후면 완료버튼 비활성화 추가.
- var judgenddd = model.getValue("/root/hidden/smpid20400/rslt/judgenddd");
- judgenddd = judgenddd.toDate();
- var bfday15 = getCurrentDate().toDate().getAddDate(-15,'D');
-
- if ( judgenddd < bfday15 ) {
- btn_end.disabled = true;
- } else {
- btn_end.disabled = false;
- }
-
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = true; // 삭제
- //btn_cretdel.disabled = false; // 생성삭제 Btn
- }
- else if (judgendyn == "C" || judgendyn == "E" || judgendyn == "Z") { // C: 심사완료, E: 통합완료, Z: 일괄완료
- btn_save.disabled = false;
- btn_end.disabled = false; // 완료
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- //btn_cretdel.disabled = false; // 생성삭제 Btn
- }
- else if (judgendyn == "A") { // A: 미심사
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = true; // 미심사
- btn_rete.disabled = false;
- btn_del.disabled = false;
- //btn_cretdel.disabled = false; // 생성삭제 Btn
- }
- else if (judgendyn == "N") { // N: 보류
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = true; // 보류
- btn_del.disabled = false;
- //btn_cretdel.disabled = false; // 생성삭제 Btn
-
- } else { // B: 심사중
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- //btn_cretdel.disabled = false; // 생성삭제 Btn
- }
- } // if (judgendyn == "B")
- } // if (clamendyn == "A")
- else {
- // 청구완료여부 A:샘생성전 이 아닌 경우
- btn_save.disabled = true;
- btn_end.disabled = true;
- btn_unjudg.disabled = true;
- btn_rete.disabled = true;
- btn_del.disabled = true;
- //btn_cretdel.disabled = true; // 생성삭제 Btn
- }
- } // if (xAuth == true)
-
- // 유형보조가 정상(00)이 아닐 경우
- var suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd");
- if (suppkindcd != "" && suppkindcd != "00") {
- opt_suppkind.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색 //"#cece9c";
- opt_payownbrate.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색 //"#cece9c";
- } else {
- opt_suppkind.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- opt_payownbrate.attribute("background-color") = "#f2f2f2";
- }
-
- // 특이환자 버튼 설정
- if (model.getValue("/root/main/item1/clbs/patspcfyn") == "Y") {
- btn_patspcfyn.attribute("background-image") = "../../../com/commonweb/images/icon_btn_s.gif"; // 주황색
- } else {
- btn_patspcfyn.attribute("background-image") = "../../../com/commonweb/images/icon_btn.gif"; // 파란색
- }
-
- // 수술환자의 경우 수술(유) 버튼을 설정한다.
- if (model.getValue("/root/main/item1/clbs/opyn") == "Y") {
- btn_opyn.visible = true;
- btn_opyn.attribute("class") = "btn5_letter4";
- btn_opyn.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- // 중증질환 Btn
- btn_esscdiag.attribute("left") = "215px";
- } else {
- btn_opyn.visible = false;
- btn_opyn.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- // 중증질환 Btn
- btn_esscdiag.attribute("left") = "282px";
- }
-
- // 상병이력 버튼 설정
- if (model.getValue("/root/main/item1/clbs/diaghist") == "Y") {
- btn_diagHist.attribute("class") = "btn5_letter4";
- btn_diagHist.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_diagHist.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- }
-
- // 메모이력 버튼 설정
- if (model.getValue("/root/main/item1/clbs/memohist") == "Y") {
- btn_memohist.attribute("class") = "btn5_letter4";
- btn_memohist.attribute("color") = "#cc3333"; //#ff0066"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_memohist.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- }
- // (특정내역) 반복 버튼 설정
- if (model.getValue("/root/main/item1/memo/judgmemorepeat") == "R") {
- btn_judgmemorepeat.attribute("class") = "btn5_letter6";
- btn_judgmemorepeat.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_judgmemorepeat.attribute("class") = "btn2_letter6"; // 표준에서 정한 기본 버튼으로 설정
- }
- if (model.getValue("/root/main/item1/memo/edimemorepeat") == "R") {
- btn_edimemorepeat.attribute("class") = "btn5_letter6";
- btn_edimemorepeat.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_edimemorepeat.attribute("class") = "btn2_letter6"; // 표준에서 정한 기본 버튼으로 설정
- }
-
- // 이전명세서 버튼 설정
- if (model.getValue("/root/main/item1/clbs/predocuyn") == "Y") {
- btn_predocu.attribute("class") = "btn5_letter5";
- btn_predocu.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_predocu.attribute("class") = "btn2_letter5"; // 표준에서 정한 기본 버튼으로 설정
- }
-
- // 미시행처방 버튼 설정
- if (model.getValue("/root/main/item1/clbs/unexecord") == "Y") {
- btn_unexecord.attribute("class") = "btn5_letter5";
- btn_unexecord.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_unexecord.attribute("class") = "btn2_letter5"; // 표준에서 정한 기본 버튼으로 설정
- }
-
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
-
- // 동일진료일명세서 버튼 설정
- // 20100225 버튼이 잘못지정되어 있어서 수정함
- if (model.getValue("/root/main/item1/clbs/samedateyn") == "Y") {
- btn_samedateyn.attribute("class") = "btn5_letter5";
- btn_samedateyn.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_samedateyn.attribute("class") = "btn2_letter5"; // 표준에서 정한 기본 버튼으로 설정
- }
-
- // 같은 청구월(일)에 동일진료과명세서가 존재하는 경우
- if (model.getValue("/root/main/item1/clbs/samedocuyn") == "Y") {
- // if (model.getValue("/root/main/item1/clbs/instcd") == "031") {
- messageBox("동일진료일자 동일진료과 명세서가 존재합니다.", "I007"); //확인하십시오 !
- // } else {
- // messageBox("동일청구월 동일진료과 명세서가 존재합니다.", "I007"); //확인하십시오 !
- // }
- }
-
- // 같은 청구월(일)에 입원 진료과명세서가 존재하는 경우
- if (model.getValue("/root/main/item1/clbs/samedocuioyn") == "Y") {
- messageBox("동일진료일자 동일진료과 입원 명세서가 존재합니다.", "I007"); //확인하십시오 !
- }
-
- //16세미만, 35세 이상 초산 산모 필수 진단 체크
- var chk_R= model.getValue("/root/main/list2/clod[snglcalcscorcd='R4351' " +
- "or snglcalcscorcd='R3131' " +
- "or snglcalcscorcd='R3141' " +
- "or snglcalcscorcd='R4361' " +
- "or snglcalcscorcd='R4519' " +
- "]/snglcalcscorcd"); // 초산 상병체크
- var patage = parseInt(model.getValue("/root/main/item1/clbs/patage"));
-
- //진찰료 1회 이상인 경우 메세지
- //진찰료 횟수와 면허번호 갯수 불일치 시 메세지
- var chk_tims = model.getValue("/root/main/list2/clod[item='0101' and tims>=2 or item='0102' and tims>=2]/tims");
- var licnscnt = model.getValue("/root/main/list2/clod[item='0101' and tims>=2 or item='0102' and tims>=2]/licnsno");
- var clod_snglcalcscorcd = model.getValue("/root/main/list2/clod[item='0101' or item='0102']/snglcalcscorcd");
- var stsioflag = model.getValue("/root/main/item1/clbs/stsioflag");
- licnscnt = licnscnt.split('/');
-
- if (chk_R.length > 0 && (patage >= 35 || patage < 16) ) {
- messageBox("어린 초임부 또는 고령초임부","I009");
- }
-
- if(chk_tims>=2){
- if (stsioflag != "E") { // 응급실 외퇴 환자가 아닌 경우에만 진찰료 횟수 체크한다. (20160828 LEJ)
- messageBox("진찰료 횟수가 1회 이상","I009");
- }
- if (chk_tims != licnscnt.length) {
- messageBox("진찰료 횟수와 면허번호 갯수가","E004");
- }
- }
-
- var holigbn = model.getValue("/root/main/item1/clbs/holigbn");
- var holifromdd = model.getValue("/root/main/item1/clbs/holifromdd");
- var holitodd = model.getValue("/root/main/item1/clbs/holitodd");
- if(holigbn == "Y" && clod_snglcalcscorcd.length > 0){
- messageBox("진료의가 "+holifromdd+" ~ "+holitodd+" 기간동안 해외 출장입니다. 진료의사를 변경하세요.","E");
- }
-
- // 자보한도액 버튼 설정 20090327
- // 자보한도액 초과자 체크 : 자보환자일때만 자보발생금액 버튼 활성화 초과자는 자보발생금액 버튼 색깔변경 - 20080923 박창원
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- var suppkind = model.getValue("/root/main/item1/clbs/suppkindcd");
- if ( insukind == "31" && suppkind == "18" && model.getValue("/root/main/item1/clbs/paylimamt") != "0") {
- btn_autolimit.attribute("background-image") = "../../../com/commonweb/images/icon_btn_s.gif"; // 주황색
- } else {
- btn_autolimit.attribute("background-image") = "../../../com/commonweb/images/icon_btn.gif"; // 파란색
- }
- // 자보산재 보험유형별 caption 설정 20090327
- if (insukind == "31") {
- cap_insdnm.attribute("text") = "사고일자";
- cap_certno.attribute("text") = "접수번호";
- }
- else if (insukind == "41") {
- cap_insdnm.attribute("text") = "사고일자";
- cap_certno.attribute("text") = "관리번호";
- }
- else {
- cap_insdnm.attribute("text") = "가입자";
- cap_certno.attribute("text") = "증번호";
- }
- //삭감처방여부에 따라 삭감처방버튼 색 변경
- if ( model.getValue("/root/main/item1/clbs/cutprcpyn") == "Y" ){
- button3.attribute("class") = "btn5_letter4";
- button3.attribute("color") = "#cc3333";
- } else {
- button3.attribute("class") = "btn2_letter4";
- }
-
- // 20100317 환자별 메세지 버튼 추가 (별도 조회되던것을 기본정보 조회에 포함 처리)
- if ( model.getValue("/root/main/item1/clbs/patmsgyn") == "Y" ) {
- img_msg.visible = true;
- } else{
- img_msg.visible = false;
- }
-
- }
-
- //---------------------------------------------------------------------
- // 다음 대상자 찾기 : 선별심사 아닌 경우
- //---------------------------------------------------------------------
- function fSrchNextJudgTrgtManCLBS(trgtManWindow, selectedRow, judgendyn) { // selectedRow: 현재 선택된 row
- var judgendcheck;
- var nowjudgendyn;
- var selectjudgendyn;
- var nextclamkey = "";
- var trgtmanclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/clamkey");
- var selectjudgendyn = trgtManWindow.model.getValue("/root/send/item1/judgendyn");
- // 현재 row 이후의 대상자 중 미심사 상태
- for (var i = parseInt(selectedRow, 10) + 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (trgtmanclamkey != trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
-
-
-
- // 조회조건이 심사완료, 통합완료, 일괄완료인경우는 바로 다음 대상자를 조회
- if (selectjudgendyn == "C" || selectjudgendyn == "E" || selectjudgendyn == "Z") {
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_clbsmast.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
-
- // 나머지는 미심사, 보류, 심사중인 다음 대상자를 조회한다.
- } else {
- nowjudgendyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/judgendyn");
-
- if (nowjudgendyn == "A" || nowjudgendyn == "N" || nowjudgendyn == "B" ) {
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_clbsmast.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- }
-
- }
- }
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- //-----------------------------------------------------------------------------------------
- // 다음 대상자 찾기 : 선별심사 아닌 경우(이전명세서조회에서 선택명세서심사 버튼 선택한 경우
- //-----------------------------------------------------------------------------------------
- function fSrchNextJudgTrgtMan_DailyJudgMode_CLBS(trgtManWindow, JudgClamkey) { // selectedRow: 현재 선택된 row
- var judgendcheck;
- var nextclamkey = "";
-
- // 현재 대상자중에서 조회대상자를 찾는다.
- for (var i = 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (JudgClamkey == trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_clbsmast.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- }
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
-
-
- //---------------------------------------------------------------------
- // 다음 대상자 찾기 : 선별심사인 경우
- //---------------------------------------------------------------------
- function fSrchNextJudgTrgtManSPEC(trgtManWindow, selectedRow, judgendyn) { // selectedRow: 현재 선택된 row / judgendyn: 심사완료여부
- var judgendcheck;
- var nowjudgendyn;
- var nextclamym = "";
- var nextclamkey = "";
- var trgtmanclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/clamkey");
- var selectjudgendyn = trgtManWindow.model.getValue("/root/send/item1/judgendyn");
- var userid = getUserId();
-
- for (var i = 1; i < trgtManWindow.grd_specclbs.rows; i++) {
-
- if (trgtmanclamkey == trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/lastupdtrid", userid);
-
- if (btn_attData.attribute("class") == "btn5_letter4") {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/prepdata", "Y");
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/prepdata", "");
- }
-
-
- } else if (i > selectedRow && nextclamkey == "") { // 현재 row 이후의 대상자 중 미심사 상태
-
-
- // 조회조건이 심사완료, 통합완료, 일괄완료인경우는 바로 다음 대상자를 조회
- if (selectjudgendyn == "C" || selectjudgendyn == "E" || selectjudgendyn == "Z") {
-
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_specclbs.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
-
- // 나머지는 미심사, 보류, 심사중인 다음 대상자를 조회한다.
- } else {
- nowjudgendyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/judgendyn");
-
- if (nowjudgendyn == "A" || nowjudgendyn == "N" || nowjudgendyn == "B" ) {
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_specclbs.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
- }
- }
-
-
- }
-
- }
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- //---------------------------------------------------------------------
- // 다음 대상자 찾기 : 선별심사인 경우
- //---------------------------------------------------------------------
- function fSrchNextJudgTrgtMan_DailyJudgMode_SPEC(trgtManWindow, JudgClamkey) { // selectedRow: 현재 선택된 row / judgendyn: 심사완료여부
- var judgendcheck;
- var nextclamym = "";
- var nextclamkey = "";
-
- for (var i = 1; i < trgtManWindow.grd_specclbs.rows; i++) {
- if (JudgClamkey == trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", i);
- trgtManWindow.grd_specclbs.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey");
- return nextclamkey;
- }
- }
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- //--------------------------------------------------
- // "완료"~"삭제" 처리 후 다음 심사대상자를 조회한다.
- //--------------------------------------------------
- function fGetNextAftJudgTrgtMan(judgendyn) {
-
- //완료, 삭제시 심사대상자를 제외한 팝업창 제거
- var judgWindow1 = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- var judgWindow2 = getChildWindow("SMPID20500"); // SMPID20500_외래사후심사관리.xrw
- var judgWindow3 = getChildWindow("SMPID20300"); // SMPID20300_입원사후심사관리.xrw
- var judgWindow4 = getChildWindow("SPPIZ00600ML"); // SPPIZ00600_상병및처방별치식.xrw
-
-
- if (judgWindow1 == null && judgWindow2 == null && judgWindow3 == null && judgWindow4 == null) {
- var childCnt = window.children.length;
- for( var i = childCnt; i > 0; i-- ) {
- var child = window.children.item(i-1);
- if (window.children.item(i-1).window.type != "modal") {
- window.children.item(i-1).close();
- }
- }
- } else{
- var childCnt = window.children.length;
- for( var i = childCnt; i > 0; i-- ) {
- var isClose = "true";
- var child = window.children.item(i-1);
- var curWinID = child.model.getValue("/root/properties/uid/myself");
- if (judgWindow1 != null) {
- var judgWinID = judgWindow1.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow2 != null) {
- var judgWinID = judgWindow2.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow3 != null) {
- var judgWinID = judgWindow3.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow4 != null) {
- var judgWinID = judgWindow4.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (isClose != "false") {
- if (window.children.item(i-1).window.type != "modal") {
- window.children.item(i-1).close();
- }
- }
- }
- }
-
- // 상병그리드에서 editmode인상태에서 F7 단축키 누렀을 경우 에러발생방지 위함. 절대 지우지 말것.
- model.setFocus("grd_clodhist");
-
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
-
- if (pid) {
- var rslt = fSaveOutAftJudg(judgendyn);
- if (rslt == null || rslt == "") {
- return;
- }
- else {
- if (rslt == "false") { // 변경된 데이터가 없는 경우
- model.removeNodeset("/root/send/item4");
- if (model.getValue("/root/send/item4/endclbs/suppkind")) {
- model.makeValue("/root/send/item4/endclbs/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item4/endclbs/ordtodd", model.getValue("/root/main/item1/clbs/ordtodd"));
- }
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/clamdg", clamdg);
- model.makeValue("/root/send/item4/endclbs/pid", pid);
- model.makeValue("/root/send/item4/endclbs/pidsn", pidsn);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- submit("TXPID20302");
-
- fSetJudgSaveState(judgendyn); // 대상자조회 심사완료여부 (P0151)
-
- model.setValue("/root/main/item1/clbs/judgendyn", judgendyn);
- model.refreshpart("/root/main/item1/clbs/judgendyn")
- }
-
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- model.setValue("/root/main/item1/clbs/lastupdtrid", userid);
- model.setValue("/root/main/item1/clbs/judgendyn", judgendyn);
- }
- // 다음 심사대상자로 넘어간다.
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- var selectedRow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- var reloadyn = trgtManWindow.instance1.getXPathString("/root/temp/reloadyn");
- var patunitsrch1 = trgtManWindow.instance1.getXPathString("/root/send/item1/patunitsrch1");
-
- if (reloadyn == "Y" && patunitsrch1.length == 0 ) {
- trgtManWindow.javascript.fGetOutAftJudgTrgtManList("listSrch");
- trgtManWindow.javascript.fGetResetOptList();
- selectedRow = parseInt(selectedRow)-1;
- }
- if (selectedRow) {
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1/clbs");
- if (trgtmanlist == null) { // 조회된 대상자 목록이 없는 경우
- messageBox("조회된 심사대상자 목록이", "I004"); ///조회된 심사대상자 목록이 없습니다.
- } else {
- trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1");
- var maxRow = trgtmanlist.childNodes.length;
- var nextclamkey = "";
- if (selectedRow < maxRow) {
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- // 다음대상자조회
- nextclamkey = fSrchNextJudgTrgtManSPEC(trgtManWindow, selectedRow, judgendyn);
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/lastupdtrid", userid);
-
- if (btn_attData.attribute("class") == "btn5_letter4") {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "Y");
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "");
- }
-
- // 다음대상자조회
- nextclamkey = fSrchNextJudgTrgtManCLBS(trgtManWindow, selectedRow, judgendyn);
- }
- if (nextclamkey) {
- var irow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- var clamym = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/clamym");
- var clamdg = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/clamdg");
- var pid = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/pid");
- var pidsn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/pidsn");
- var gridjudgendyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/judgendyn");
- //var gridcutprcpyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/cutprcpyn");
- var gridcutprcpyn = trgtManWindow.model.getValue("/root/send/item1/cutprcpsel");
- var gridtootpopyn = trgtManWindow.model.getValue("/root/temp/tootpopupyn");
-
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", pidsn);
- model.setValue("/root/hidden/smpid20400/rslt/judgendyn", gridjudgendyn);
- model.setValue("/root/hidden/smpid20400/rslt/cutprcpyn", gridcutprcpyn);
- model.setValue("/root/hidden/smpid20400/rslt/tootpopupyn", gridtootpopyn);
-
- fGetOutAftJudgMngt();
- trgtManWindow.javascript.setPopupRefresh(pid);
-
- return;
- } else {
- messageBox("다음 심사 대상자의 정보가", "I004"); ///다음 심사 대상자의 정보가 없습니다.
- }
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/lastupdtrid", userid);
-
- if (btn_attData.attribute("class") == "btn5_letter4") {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "Y");
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "");
- }
-
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- // 마지막 줄인 경우 이후 대상자가 없다.
- messageBox("조회된 마지막 심사대상자 입니다. 이후 심사 대상자가", "I004"); ///조회된 마지막 심사대상자 입니다. 이후 심사 대상자가 없습니다.
- }
- }
- }
- else {
- messageBox("화면이 변경되었으므로 다음 대상자를 다시", "C002"); ///화면이 변경되었으므로 다음 대상자를 다시 선택하십시오.
- }
-
- if (model.getValue("/root/send/item4/endclbs/suppkind")) {
- // 요율이 바뀌었으므로 현재 대상자 정보를 다시 조회해서 보여줘야 함
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- model.resetInstanceNode("/root/hidden/smpid20400/rslt");
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", pidsn);
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", selectedRow);
- model.setValue("/root/hidden/smpid20400/rslt/cutprcpyn", trgtManWindow.model.getValue("/root/send/item1/cutprcpsel")); // 20200302 추가
- fGetOutAftJudgMngt();
- }
-
- return;
- }
-
- }
- }
- //------------------------------------------------------
- // 이전명세서조회에서 해당명세서를 심사모드로 조회할경우
- //-----------------------------------------------------
- function fGetPreDocuAftJudgTrgtMan(judgendyn) {
-
- // 상병그리드에서 editmode인상태에서 F7 단축키 누렀을 경우 에러발생방지 위함. 절대 지우지 말것.
- model.setFocus("grd_clodhist");
-
- var datachange=false;
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
-
-
- if (grd_predocu.row >= grd_predocu.fixedrows) {
- var row = grd_predocu.row;
- var selclamym = model.getValue("/root/main/list4/clbs["+ row +"]/clamym");
- var selclamdg = model.getValue("/root/main/list4/clbs["+ row +"]/clamdg");
- var selpid = model.getValue("/root/main/list4/clbs["+ row +"]/pid");
- var selpidsn = model.getValue("/root/main/list4/clbs["+ row +"]/pidsn");
-
- if ((selclamym == clamym)
- && (selclamdg == clamdg)
- && (selpid == pid)
- && (selpidsn == pidsn)) {
- messageBox("현재 심사중인 명세서와 동일한 명세서가", "E005"); ///현재 심사중인 명세서와 동일한 명세서가 선택되었습니다.
- return;
- }
- }
- //alert("1");
- if (pid) {
- //alert("2");
- // 인적사항
- var initclbs = instance1.selectNodesXml("/root/hidden/item1/initclbs/clbs");
- var currentclbs = instance1.selectNodesXml("/root/main/item1/clbs");
- if (initclbs != currentclbs) {
- datachange = true;
- }
-
- // 심사메모
- var initmemo = instance1.selectNodesXml("/root/hidden/item1/initmemo/memo");
- var currentmemo = instance1.selectNodesXml("/root/main/item1/memo");
- if (initmemo != currentmemo) {
- datachange = true;
- }
-
- var initmemo = instance1.selectNodesXml("/root/hidden/item1/initmemo/memo");
- var currentmemo = instance1.selectNodesXml("/root/main/item1/memo");
- if (initmemo != currentmemo) {
- // 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo").getTrim();
- var edimemo = model.getValue("/root/main/item1/memo/edimemo").getTrim();
- var noChange = true;
- if (judgmemo != model.getValue("/root/hidden/item1/initmemo/memo/judgmemo").getTrim()) {
- noChange = false; // 심사자메모가 변경된 경우임
- }
- if (edimemo != model.getValue("/root/hidden/item1/initmemo/memo/edimemo").getTrim()) {
- noChange = false; // EDI청구메모가 변경된 경우임
- }
- if (noChange == false) {
- datachange = true;
- }
- }
-
- // 상병
- var cldiupdtdata = getGridUpdateData(grd_cldihist);
- if (cldiupdtdata != "" && grd_cldihist.rows > 1) {
- datachange = true;
- }
-
- // 처방
- var clodupdtdata = getGridUpdateData(grd_clodhist);
- if (clodupdtdata != "" && (grd_clodhist.rows > 1 || grd_delclod.rows > 1)) {
- datachange = true;
- }
-
- // 특정내역
- var clspupdtdata = getGridUpdateData(grd_clsphist);
- if (clspupdtdata != "" && grd_clsphist.rows > 1) {
- datachange = true;
- }
-
- // 원외처방
- var clopupdtdata = getGridUpdateData(grd_oprcphist);
- if (clopupdtdata != "" && grd_oprcphist.rows > 1) {
- datachange = true;
- }
-
- if (datachange == true) {
- var ans = messageBox("수정사항이 있습니다. 저장", "S001"); ///수정사항이 있습니다. 저장하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- fSaveOutAftJudg("B"); // 저장
- }
- }
-
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- //alert("3");
- // 다음 심사대상자로 넘어간다.
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- //alert("4");
- var selectedRow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- if (selectedRow) {
- //alert("5");
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1/clbs");
- if (trgtmanlist == null) { // 조회된 대상자 목록이 없는 경우
- messageBox("조회된 심사대상자 목록이", "I004"); ///조회된 심사대상자 목록이 없습니다.
- }
- else {
- //alert("6");
- var row = grd_predocu.row;
- var clamkey = model.getValue("/root/main/list4/clbs["+ row +"]/clamkey");
-
- trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1");
- var maxRow = trgtmanlist.childNodes.length;
- var nextclamkey = "";
- if (selectedRow < maxRow) {
- //alert("7");
- // 이전명세서조회 그리드를 닫는다.
- //btn_closepredoculist.dispatch("DOMActivate");
- fGetClosepredocuList();
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- nextclamkey = fSrchNextJudgTrgtMan_DailyJudgMode_SPEC(trgtManWindow, clamkey);
- } else {
- //trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/judgendyn", judgendyn);
- //trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/lastupdtrid", userid);
- nextclamkey = fSrchNextJudgTrgtMan_DailyJudgMode_CLBS(trgtManWindow, clamkey);
- }
- if (nextclamkey) {
- //alert("8");
- var irow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- var clamym = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/clamym");
- var clamdg = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/clamdg");
- var pid = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/pid");
- var pidsn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ irow +"]/pidsn");
-
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", pidsn);
-
- fGetOutAftJudgMngt();
- trgtManWindow.javascript.setPopupRefresh(pid);
-
- return;
- } else {
- //alert("9");
- // 화면에 대상자가 존재하지 않은 경우 이전명세서에서 선택된 명세서를 바로 조회한다.
- //if (grd_predocu.isCell(event.target) && grd_predocu.mouseRow >= grd_predocu.fixedrows) {
- if (grd_predocu.row >= grd_predocu.fixedrows) {
- var row = grd_predocu.row;
- var clamym = model.getValue("/root/main/list4/clbs["+ row +"]/clamym");
- var clamdg = model.getValue("/root/main/list4/clbs["+ row +"]/clamdg");
- var pid = model.getValue("/root/main/list4/clbs["+ row +"]/pid");
- var pidsn = model.getValue("/root/main/list4/clbs["+ row +"]/pidsn");
-
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", pidsn);
-
- fGetOutAftJudgMngt();
- trgtManWindow.javascript.setPopupRefresh(pid);
- }
- }
- } else {
- //alert("10");
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/lastupdtrid", userid);
-
- if (btn_attData.attribute("class") == "btn5_letter4") {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "Y");
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ selectedRow +"]/prepdata", "");
- }
-
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- // 마지막 줄인 경우 이후 대상자가 없다.
- messageBox("조회된 마지막 심사대상자 입니다. 이후 심사 대상자가", "I004"); ///조회된 마지막 심사대상자 입니다. 이후 심사 대상자가 없습니다.
- }
- }
- }
- else {
- //alert("11");
- //if (grd_predocu.isCell(event.target) && grd_predocu.mouseRow >= grd_predocu.fixedrows) {
- if (grd_predocu.row >= grd_predocu.fixedrows) {
- //alert("12");
- var row = grd_predocu.row;
- var clamym = model.getValue("/root/main/list4/clbs["+ row +"]/clamym");
- var clamdg = model.getValue("/root/main/list4/clbs["+ row +"]/clamdg");
- var pid = model.getValue("/root/main/list4/clbs["+ row +"]/pid");
- var pidsn = model.getValue("/root/main/list4/clbs["+ row +"]/pidsn");
-
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", pidsn);
-
- fGetOutAftJudgMngt();
- }
- }
-
- return;
- }
-
- }
- }
- //-------------------------------------------------------------------------
- // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- //-------------------------------------------------------------------------
- function fGetSelectedOrderData() {
- var selectedRdoPay = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- var selectedRdoItem = model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem");
-
- var pre_ediitem1 = "";
- var pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
- var insukind = model.getValue("/root/main/Item1/clbs/insukindcd");
- insukind = insukind.substr(1,1);
-
- for (var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i ++ ) {
- grd_clodhist.rowHidden(i) = false;
-
- if (selectedRdoPay == "" || selectedRdoPay == "-") { // 전체
- } else {
- if (selectedRdoPay == "0") {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "0" && grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "9") {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != selectedRdoPay) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- }
-
- if (selectedRdoItem == "" || selectedRdoItem == "-") { // 전체
- } else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("item1")) != selectedRdoItem) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
-
-
- }
- }
- //------------------------------------------
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- //------------------------------------------
- function fSetOrderData() {
- model.resetInstanceNode("/root/hidden/list2/cloditem1");
- // 20100305 초기화 추가
- grd_oprcphist.initStyle("color");
- grd_clodhist.initStyle("color");
- grd_clodhist.initStyle("background-color");
-
- var pre_item1 = "";
- var pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
-
-
-
- for (var i = 1; i <= grd_cldihist.rows; i++) {
- var col_vcode = grd_cldihist.colRef("vcode");
- var col_diagcd = grd_cldihist.colRef("diagcd");
- var srchnm = grd_cldihist.valueMatrix(i, col_diagcd).substr(0, 2);
- var t_vcode = grd_cldihist.valueMatrix(i, col_vcode);
- var rowno, rn = 0;
-
- rowno = grd_cldihist.findRow(srchnm,grd_cldihist.fixedrows ,col_diagcd, true, false);
- if (t_vcode != "V252" && t_vcode != "V193") {
- while( rowno > 0){
- var s_vcode = grd_cldihist.valueMatrix(rowno, col_vcode );
- var t_diagcd = grd_cldihist.valueMatrix(rowno, col_diagcd).substr(0, 2);
- if (rowno != i && t_diagcd != "" && t_vcode != "" && srchnm == t_diagcd && t_vcode == s_vcode ) {
- grd_cldihist.cellStyle("background-color", rowno, grd_cldihist.colRef("rowstat"), rowno, grd_cldihist.colRef("workflag")) = "#ffff9c"; //#ffff9c=연한노랑
- }
- rowno = grd_cldihist.findRow(srchnm,rowno + 1 ,col_diagcd, true, false);
- }
- }
-
- var srchnm2 = grd_cldihist.valueMatrix(i, col_diagcd).substr(0, 3);
- rn = grd_cldihist.findRow(srchnm2,grd_cldihist.fixedrows ,col_diagcd, true, false);
- while( rn > 0){
- var t_diagcd = grd_cldihist.valueMatrix(rn, col_diagcd).substr(0, 3);
- if (rn != i && srchnm2 == t_diagcd && t_diagcd != "") {
- grd_cldihist.cellStyle("background-color", rn, grd_cldihist.colRef("rowstat"), rn, grd_cldihist.colRef("workflag")) = "#ffff9c"; //#ffff9c=연한노랑
- }
- rn = grd_cldihist.findRow(srchnm2 ,rn + 1 ,col_diagcd, true, false);
- }
- }
-
- // 상병그리드 해당상병보다 큰 5단이상의 세부상병이 있는 경우 표시해준다.
- var col_kcd6chk = grd_cldihist.colRef("kcd6chk");
- var rn = grd_cldihist.findRow("Y",grd_cldihist.fixedrows ,col_kcd6chk, true, false);
- while( rn > 0){
- var t_diagcd = grd_cldihist.valueMatrix(rn, col_kcd6chk).substr(0, 3);
- grd_cldihist.cellStyle("background-color", rn, grd_cldihist.colRef("rowstat"), rn, grd_cldihist.colRef("diagnm")) = "#6699ff"; // #0000ff=파랑
- rn = grd_cldihist.findRow("Y" ,rn + 1 ,col_kcd6chk, true, false);
- }
-
- //종료상병을 표시한다.
- var col_endyn = grd_cldihist.colRef("endyn");
- rn = grd_cldihist.findRow("Y",grd_cldihist.fixedrows ,col_endyn, true, false);
- while( rn > 0){
- var t_diagcd = grd_cldihist.valueMatrix(rn, col_endyn).substr(0, 3);
- grd_cldihist.cellStyle("background-color", rn, grd_cldihist.colRef("rowstat"), rn, grd_cldihist.colRef("diagnm")) = "#ff0000"; // #ff0000=빨강
- rn = grd_cldihist.findRow("Y" ,rn + 1 ,col_endyn, true, false);
- }
-
- // 원외처방 선별심사 색깔구분 추가 - 20090814 박창원
- for (var i = 1; i <= grd_oprcphist.rows; i++) {
- // 선별심사 처방 색깔 구분
- var spcljudgyn = model.getValue("/root/main/list7/clop["+ i +"]/spcljudgyn");
- // 20100402 필수심사 처방 색깔 구분
- var surecdyn = model.getValue("/root/main/list7/clop["+ i +"]/surecdyn");
-
- // 선별심사
- if (spcljudgyn == "Y") {
- //grd_clodhist.rowStyle(i, "data", "color") = "#ff3333"; // ff3333=붉은색
- grd_oprcphist.rowStyle(i, "data", "color") = "#ff3333"; // ff3333=붉은색 // 20100305 그리드 잘못지정되어 있어 수정
- }
- // 20100402 필수심사
- else if ( surecdyn == "Y" ) { // 20100402 추가 필수+선별은 선별우선
- grd_oprcphist.rowStyle(i, "data", "color") = "#0000ff"; // 0000ff=파란색
- } else {
- // //grd_clodhist.rowStyle(i, "data", "color") = "#000000"; // 000000=검은색
- grd_oprcphist.rowStyle(i, "data", "color") = "#000000"; // 000000=검은색 // 20100305 그리드 잘못지정되어 있어 수정
- }
- }
-
-
- for (var i = 1; i <= grd_clodhist.rows; i++) { // 처방 개수만큼 돌면서
- // 선별심사 처방 색깔 구분
- var spcljudgyn = model.getValue("/root/main/list2/clod["+ i +"]/spcljudgyn");
- // 20100402 필수심사 처방 색깔 구분
- var surecdyn = model.getValue("/root/main/list2/clod["+ i +"]/surecdyn");
- // 선별심사
- if (spcljudgyn == "Y") {
- grd_clodhist.rowStyle(i, "data", "color") = "#ff3333"; // ff3333=붉은색
- }
- // 20100402 필수심사
- else if ( surecdyn == "Y" ) { // 20100402 추가 필수+선별은 선별우선
- grd_clodhist.rowStyle(i, "data", "color") = "#0000ff"; // 0000ff=파란색
- }
- else {
- grd_clodhist.rowStyle(i, "data", "color") = "#000000"; // 000000=검은색
- }
-
- if (grd_clodhist.rowHidden(i) == false) {
- // 항목의 항 별로 흰색/회색 구분표시
- var item1 = model.getValue("/root/main/list2/clod["+ i +"]/ediitem1");
- if (item1 != pre_item1) { // 항목의 항이 변경된 경우
- pre_item1 = item1;
- if (pre_backcolor == "#f4f4f4") {
- pre_backcolor = "#ffffff"; // 배경색 없음 // #ffffff = White
- } else {
- pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
- }
- }
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("edilnno")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem1")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem2")) = pre_backcolor;
- }
-
- // 조정사유코드 입력된 처방 색깔 구분
- var adjtresncd = model.getValue("/root/main/list2/clod["+ i +"]/adjtresncd");
- if (adjtresncd != "" && adjtresncd != "-") {
- // 처방 Grid 배경색을 설정한다. - 심사사유있는 row (카키색)
- fOrderBkColorResn(i);
- }
-
- // 단가오류, 계산착오인 처방색깔 구분 : 심사자에게 알려주기 위함 2009-03-20
- if (model.getValue("/root/main/list2/clod["+ i +"]/erroramtyn") == "Y") {
- var error_backcolor = "#ffff9c"; // ffff9c=연한노랑
- //grd_clodhist.rowStyle(i, "data", "background-color") = "#ffff9c"; // ffff9c=연한노랑
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("rowstat")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("edilnno")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem1")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem2")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ordfromdd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("grupsnglflag")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("grupcalcscorcd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("matractflag")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("grupcalcscorcd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("snglcalcscorcd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("basecd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("edicd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("estmmncd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("estmcd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("hosinresncd")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("hngnm")) = error_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("payflag")) = error_backcolor;
- }
-
- // --------------------------------------------------------------------------
- // 2008-08-25 김상진. 줄단위 특정내역 색깔구분 일단 뺀다 나중에 오픈 후 처리
- // --------------------------------------------------------------------------
- /*
- // 줄단위 특정내역 입력된 처방 색깔 구분
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn");
- if (lnunitspclspecyn) {
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var j = 1; j < grd_clsphist.rows; j++) {
- if (grd_clsphist.rowstatus(j) != 4) {
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ j +"]/edilnno");
- if (spclLnNo == model.getValue("/root/main/list2/clod["+ i +"]/edilnno")) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- }
- else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } else {
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- */
-
- // --------------------------------------------------------------------------
- // 2008-08-25 김상진. 줄단위 특정내역 색깔구분 일단 뺀다 나중에 오픈 후 처리
- // --------------------------------------------------------------------------
- /*
- // 항목구분 조회부 Radio에 해당하는 처방이 있는지 여부를 확인한다.
- var item1 = model.getValue("/root/main/list2/clod["+ i +"]/item1");
- if (item1) {
- var path = "/root/hidden/list2/cloditem1/ediitem1_"+ item1;
- var node = instance1.selectSingleNode(path);
- if (node != null) {
- model.setValue(path, item1);
- }
- }
- */
- }
-
- // --------------------------------------------------------------------------
- // 2008-08-25 김상진. 줄단위 특정내역 색깔구분 일단 뺀다 나중에 오픈 후 처리
- // --------------------------------------------------------------------------
- /*
- if (grd_clodhist.rows > 1) { // 타이틀만 있는 경우 grd_clodhist.rows = 1
- rdo_item1.item(0).attribute("font-weight") = "bold"; // "전체" 항목은 default 로 굵게 표시한다.
- } else {
- rdo_item1.item(0).attribute("font-weight") = "normal";
- }
- // 처방 조회부 항목구분 Radio에서 해당 처방이 있는 item을 굵게 표시한다.
- var itemRadioList = instance1.selectSingleNode("/root/hidden/list2/cloditem1");
- var itemNode = itemRadioList.childNodes;
- for (var i = 1; i < itemNode.length; i++) {
- var item1 = itemNode.item(i).value;
- if (item1) {
- rdo_item1.item(i).attribute("font-weight") = "bold";
- } else {
- rdo_item1.item(i).attribute("font-weight") = "normal";
- }
- }
- */
- }
- //-------------------------------------------
- // 항목별 금액소계(item1별로 금액sum)
- //-------------------------------------------
- function fSetSubtotal() {
-
- // ****************************************************************************************************************
- // 항목별소계 subtotal 김상진 20101223
- // ****************************************************************************************************************
- // #ffff0| 밝은노랑
- // #d9e3fe 옅은파랑
- // #eeddff 옅은보라
- // #b9fcf8 밝은하늘
- // #cefcfa 옅은하늘
- grd_clodhist.subtotalposition= "below";
- grd_clodhist.subtotal("sum", grd_clodhist.colRef("item1"), grd_clodhist.colRef("amt"),"format:(-)#,###; roundmode:round; roundposition:0", "background-color:#cefcfa; color:#0000ff;font-weight:bold; ", grd_clodhist.colRef("hngnm"), "", false);
- grd_clodhist.subtotal("sum", grd_clodhist.colRef("item1"), grd_clodhist.colRef("ediamt"),"format:(-)#,###; roundmode:round; roundposition:0", "background-color:#cefcfa; color:#0000ff;font-weight:bold; ", grd_clodhist.colRef("hngnm"), "항목별소계", false);
-
- var fild1 = "0";
- var fild2 = "0";
-
- for(var i = grd_clodhist.fixedRows; i <= grd_clodhist.rows; i++){
- fild1 = grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm"));
- if(fild1 == "항목별소계" && fild2 != ""){
- if(fild2 == "01"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "진찰료 소계";
- }else if(fild2 == "02"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "입원료 소계";
- }else if(fild2 == "03"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "투약료 소계";
- }else if(fild2 == "04"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "주사료 소계";
- }else if(fild2 == "05"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "마취료 소계";
- }else if(fild2 == "06"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "이학료 소계";
- }else if(fild2 == "07"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "정신료 소계";
- }else if(fild2 == "08"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "수술료 소계";
- }else if(fild2 == "09"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "검사료 소계";
- }else if(fild2 == "10"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "방사선 소계";
- }else if(fild2 == "SS"){
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "특수 소계";
- }
- }
- fild2 = grd_clodhist.valueMatrix(i, grd_clodhist.colRef("item1"));
- }
-
- }
- //----------------------------------------
- // 처방 Grid 필터용 조회조건을 초기화한다.
- //----------------------------------------
- function fInitOrderFilter() {
- // 처방Grid용 조회부의 Radio 초기값을 "전체"로 설정한다.
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoPay", "0");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoItem", "-");
- rdo_payflag.refresh();
- rdo_item1.refresh();
- }
- //---------------------------------------------------------------------
- // 조회된 심사대상자의 특이 인적사항, 보조/요율 등을 계산하여 보여준다.
- //---------------------------------------------------------------------
- function fGetPersonalData() {
- // 인적사항 타이틀 옆 output
- var srchrslt = "";
- // 2008-06-23 neverdie 윤영옥선생님 요청 (사망환자 메시지 막아주세요)
- //if (model.getValue("/root/main/item1/clbs/dethyn") == "Y") {
- // srchrslt = " [사망환자입니다.]";
- //}
- // 중증및 희귀정보가 모두다 존재할때에는 콤보에 등록암우선으로 보여준다. - 20091123 박창원
- // 중증 등록정보를 유형에 맞게 보여준다 - 20091021 박창원
- var suppkind = model.getValue("/root/main/item1/clbs/suppkindcd");
- var rooamsgcnt = getNodesetCount("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00']/msg");
- var sdoamsgcnt = getNodesetCount("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd='00']/msg");
- var rooamsg = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00']/msg");
- var sdoamsg = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd='00']/msg");
- var rooamsgtooth = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00' and rgstkindcd!='01']/msg");
-
- if ((rooamsgcnt > 0) && (sdoamsgcnt > 0)) {
- cmb_rarecancermsg.visible = true;
-
- // 등록암 보조유형일경우(06.등록암, 11.가정간호등록암, 32.차상위1종, 40.차상위2종등록암
- if (suppkind == "06" || suppkind == "11" || suppkind == "32" || suppkind == "40") {
- model.makeValue("/root/hidden/rarecancermsg/msg", sdoamsg);
- } else if (suppkind == "87" || suppkind == "88" || suppkind == "89") {
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsgtooth,true);
- } else {
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsg,true);
- }
-
- } else if (rooamsgcnt > 0) {
- if (suppkind == "87" || suppkind == "88" || suppkind == "89") {
- if (rooamsgcnt == 1) {
- srchrslt += rooamsgtooth; // 희귀등록번호
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsgtooth,true);
- }
-
- } else {
- if (rooamsgcnt == 1) {
- srchrslt += rooamsg; // 희귀등록번호
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsg,true);
-
- }
- }
-
- } else if (sdoamsgcnt > 0) {
- if (sdoamsgcnt == 1) {
- srchrslt += sdoamsg; // 중증등록정보
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", sdoamsg,true);
-
- }
- }
- model.setValue("/root/hidden/item1/clbs/srchrslt", srchrslt);
- model.refreshpart("/root/hidden/item1/clbs/srchrslt");
- // 보조유형ID과 요율%로 combo 의 value
- var suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd");
- var payownbrate = model.getValue("/root/main/item1/clbs/payownbrate");
- var supprate = suppkindcd+"/"+payownbrate; // 보조유형ID과 요율%로 combo 의 value
- model.setValue("/root/hidden/item1/clbs/patsupprate", supprate);
- cmb_supprate.refresh();
- cmb_rarecancermsg.refresh();
- }
- //--------------------------------------------------------------------------------------------
- // 보조유형 및 요율 combo(cmb_supprate)의 선택 값이 변경된 경우 각각을 해당 output에 설정한다.
- //--------------------------------------------------------------------------------------------
- function fSetPatSuppRate() {
- // 보조유형ID과 요율%로 combo 의 value
- // 보조유형NM과 요율%로 combo 의 label
- var patsupprate = model.getValue("/root/hidden/item1/clbs/patsupprate");
- var suppkindcd = patsupprate.substr(0, 2);
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- var payownbrate = patsupprate.substr(3, patsupprate.length);
- model.setValue("/root/main/item1/clbs/suppkindcd", suppkindcd);
- model.setValue("/root/main/item1/clbs/payownbrate", payownbrate);
- model.setValue("/root/main/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
-
- // 공상구분(offcharm) :1:공상, C:차상위본인부담경감자, 0:무
- if (suppkindcd == "42") {
- model.setValue("/root/main/item1/clbs/offcharm", "1");
- cmb_offcharm.refresh();
- }
- else if (suppkindcd == "32") {
- model.setValue("/root/main/item1/clbs/offcharm", "C");
- cmb_offcharm.refresh();
- }
- //else if ((insukindcd != "11" || suppkindcd != "32") && model.getValue("/root/main/item1/clbs/offcharm") == "C") {
- else {
- model.setValue("/root/main/item1/clbs/offcharm", "0");
- cmb_offcharm.refresh();
- }
-
- opt_payownbrate.refresh();
- opt_suppkind.refresh();
- if (suppkindcd != "" && suppkindcd != "00") {
- opt_suppkind.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색 //"#cece9c";
- opt_payownbrate.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색 //"#cece9c";
- } else {
- opt_suppkind.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- opt_payownbrate.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- }
-
- /*
- mechVO.set("calcappyn", "Y"); // 계산적용여부
-
- var clodList = instance1.selectSingleNode("/root/main/list2"); //root/main/list2
- if (clodList == null) {
- return false;
- }
-
- if (insukindcd == "21" || insukindcd == "22") {
-
- }
-
- var clodNode = clodList.childNodes; //root/main/list2/clod
- for (var i = 1; i <= clodNode.length; i++) {
- var payflag = model.getValue("/root/main/list2/clod["+ i +"]/payflag");
-
- if (payflag == "0" || payflag == "9") {
- model.setValue("/root/main/list2/clod["+ i +"]/calcappflag", "Y");
- model.setValue("/root/main/list2/clod["+ i +"]/status", "u");
- }
- }
-
- nodelist = instance1. /root/main/list2/clod
-
- if ( mechVO.getString("insukind").equals("21") || mechVO.getString("insukind").equals("22") ) {
- // 인공신장투석
- if ( mechVO.getString("suppkind").equals("02")
- //&& mechVO.getString("orddeptcd").equals("2010700000") // 20100721 신장내과만
- && mechVO.getString("clamdeptcd").equals("0105") // 20100724 신장내과만
- && !mechVO.getString("basecd").equals("O9991")
- ) {
- mechVO.set("calcappyn", "N"); // 계산적용여부
- // 20100907 약제상한액 계산적용안되는 항목은 제외
- //if ( !mechVO.getString("druglimitamt").equals("0") ) {
- // mechVO.set("druglimitamt" ,"0");
- // mechVO.set("edidruglimitamt","0");
- //}
- }
- // 정신과정액 2009-01-15 (ANP05-ANP09) 추가 ('ANP01','ANP02','ANP03','ANP04','ANP05','ANP06','ANP07','ANP08')
- else if ( mechVO.getString("suppkind").equals("14")
- && !((mechVO.getString("snglcalcscorcd") + "000").substring(0,3).equals("AR"))
- && !((mechVO.getString("ediitem1")+"00").substring(0,2).equals("XX")) // 20100607 추가
- ) {
- mechVO.set("calcappyn", "N"); // 계산적용여부
- // 20100907 약제상한액 계산적용안되는 항목은 제외
- //if ( !mechVO.getString("druglimitamt").equals("0") ) {
- // mechVO.set("druglimitamt" ,"0");
- // mechVO.set("edidruglimitamt","0");
- //}
- }
- }
- */
- }
- //--------------------------------------------------------------------------------------------
- // 6세미만구분 셋팅
- //--------------------------------------------------------------------------------------------
- function fSetUndersixageyn() {
- var undersixageyn = model.getValue("/root/main/item1/clbs/undersixageyn");
- model.setValue("/root/main/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- if (undersixageyn == "Y") {
- cmb_undersixageyn.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색 //"#cece9c";
- } else {
- cmb_undersixageyn.attribute("background-color") = "#f2f2f2";
- }
- }
- // 조합기호(ipt_insuno)를 입력하면 해당 조합명칭을 조회한다.
- function fGetOutAftJudgTrgtManInsunm() {
- model.makeValue("/root/send/item2/incd/insucd", model.getValue("/root/main/item1/clbs/insuno"));
- model.makeValue("/root/send/item2/incd/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- submit("TRPID20302");
- var insucdnm = model.getValue("/root/main/item2/incd/insucdnm");
- if (insucdnm) {
- model.setValue("/root/main/item1/clbs/insunm", insucdnm);
- model.refreshpart("/root/main/item1/clbs/insunm");
- } else {
- model.resetInstanceNode("/root/main/item1/clbs/insunm");
- model.refreshpart("/root/main/item1/clbs/insunm");
- ipt_insuno.dispatch("onbuttonclick");
- }
- }
-
- // [2007.04.23] function 작성: (통합팀) 김선희 대리님
- // 주민번호를 이용한 나이 계산의 경우, 유효하지 않은 주민번호에 대해서는 -1 값만을 반환하므로,
- // 주민번호 앞자리를 이용해서 yyyymmdd 형태로 만든다.
- function getBirthDate(pResidentNo) {
- if (isNaN(pResidentNo)) return -1;
- gender = pResidentNo.substr(6, 1);
- if (gender == "3" || gender == "4" || gender == "7" || gender == "8") {
- regYY = "20";
- } else if(gender == "0" || gender == "9") {
- regYY = "18";
- } else {
- regYY = "19";
- }
- var rtn = regYY + pResidentNo.substr(0 , 6);
- return rtn;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // 특정 환자에 대해 그동안 작성된 심사자메모, 청구메모 내역을 조회한다.
- function fGetMemoHistList() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있고
- model.removeNodeset("/root/hidden/sppiz00300/rslt");
- // SPPIZ00300_메모이력조회.xrw 에서 /root/hidden/sppiz00300 로 결과값을 전달하므로 cond 노드를 makeValue 해야함
- model.makeValue("/root/hidden/sppiz00300/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/hidden/sppiz00300/cond/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeValue("/root/hidden/sppiz00300/cond/ioflag", "O");
- model.makeValue("/root/hidden/sppiz00300/cond/refterm", "2");
- model.makeValue("/root/hidden/sppiz00300/cond/anofildinclyn", "Y");
- model.makeValue("/root/hidden/sppiz00300/cond/fromdd", "");
- model.makeValue("/root/hidden/sppiz00300/cond/todd", "");
- model.makeValue("/root/hidden/sppiz00300/cond/clamym", clamym);
- model.makeValue("/root/hidden/sppiz00300/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.makeValue("/root/hidden/sppiz00300/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
-
- modal("SPPIZ00300", "1", "10", "10", "SPPIZ00300", "/root/hidden/sppiz00300/cond", "/root/init", "", ""); // SPPIZ00300_메모이력조회.xrw
-
- var SelectMemo = instance1.selectSingleNode("/root/hidden/sppiz00300/rslt");
- if (SelectMemo != null) {
- var choimemo = model.getValue("/root/hidden/sppiz00300/rslt/choimemo").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
- var choiedicd = model.getValue("/root/hidden/sppiz00300/rslt/edicd");
-
- if (choimemo) {
- model.setValue("/root/hidden/sppiz00300/rslt/choimemo", choimemo);
- var destRef = model.getValue("/root/hidden/sppiz00300/rslt/destRef");
- if (destRef == "judgmemo") {
- // 심사메모로 전달
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo");
- if (judgmemo) { // 기존 심사메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/judgmemo", judgmemo +" \n"+ choimemo);
- } else {
- if (choiedicd) { // 처방별 메모를 전달하는 경우임
- // 동일한 EDI 코드가 있을 경우만 추가
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var clodedicd = model.getValue("/root/main/list2/clod["+ j +"]/basecd");
- if (choiedicd == clodedicd) {
- model.setValue("/root/main/item1/memo/judgmemo", choimemo);
- j = grd_clodhist.rows;
- }
- }
- } else {
- model.setValue("/root/main/item1/memo/judgmemo", choimemo);
- }
- }
- tar_judgrmemo.refresh();
- model.toggle("case_judgrmemo"); // 해당 tab 으로 토글시킨다.
- }
- else if (destRef == "edimemo") {
- // 청구메모로 전달
- var edimemo = model.getValue("/root/main/item1/memo/edimemo");
- if (edimemo) { // 기존 청구메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/edimemo", edimemo +" \n"+ choimemo);
- } else {
- if (choiedicd) { // 처방별 메모를 전달하는 경우임
- // 동일한 EDI 코드가 있을 경우 * 표시
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var clodedicd = model.getValue("/root/main/list2/clod["+ j +"]/basecd");
- if (choiedicd == clodedicd) {
- model.setValue("/root/main/item1/memo/edimemo", choimemo);
- j = grd_clodhist.rows;
- }
- }
- } else {
- model.setValue("/root/main/item1/memo/edimemo", choimemo);
- }
- }
- tar_ediclammemo.refresh();
- model.toggle("case_ediclammemo"); // 해당 tab 으로 토글시킨다.
- }
- else if (destRef == "prcpmemo") {
- // 처방별 주석로 전달
- // 동일한 EDI 코드가 있을 경우 * 표시
- for (var i = 1; i < grd_clodhist.rows; i++) {
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- var edicd = model.getValue("/root/main/list2/clod["+ i +"]/basecd");
- var seqno = model.getValue("/root/main/list2/clod["+ i +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ i +"]/edilnno");
- if (choiedicd == edicd) {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn");
- var rowNum = "";
- if (lnunitspclspecyn) {
- for (var j = 1; j < grd_clsphist.rows; j++) {
- if (grd_clsphist.rowstatus(j) != 4) {
- var clodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno");
- if (clodseqno == seqno) {
- if (model.getValue("/root/main/list3/clsp["+ j +"]/spclcd") == "JX999") {
- rowNum = j;
- j = grd_clsphist.rows;
- }
- }
- }
- }
- if (rowNum) {
- var ans = messageBox(edilnno + "번 줄에 등록된 메모가 있어 기존 내역에 덧붙이거나 삭제후 추가할 수 있습니다.\n덧붙여 추가", "S001");
- ///***번 줄에 등록된 메모가 있어 기존 내역에 덧붙이거나 삭제후 추가할 수 있습니다.\n덧붙여 추가 하시려면 예(Yes
- if (ans == 6) { // 6: yes
- var spclspec = model.getValue("/root/main/list3/clsp["+ rowNum +"]/spclspec");
- model.setValue("/root/main/list3/clsp["+ rowNum +"]/spclspec", spclspec + "\n"+ choimemo);
- var rowstatus = grd_clsphist.rowstatus(rowNum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rowNum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- else if (ans == 7) { // 7:no
- model.setValue("/root/main/list3/clsp["+ rowNum +"]/spclspec", choimemo);
- var rowstatus = grd_clsphist.rowstatus(rowNum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rowNum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- else if (ans == 2) { // 2:cancel
- }
- } else { // 기존에 입력된 JX999가 없는 경우
- // 'JX999' 코드를 추가한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", choimemo);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- // JX999 + 다른 코드도 있는 경우가 된다.
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else { // 기존에 입력된 줄단위 특정내역이 없는 경우
- // 'JX999' 코드를 추가한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", choimemo);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn", "*");
- // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- fSetOrderChangeRowStat(i); // 처방의 수정된 row 상태를 표시한다.
- } // lnunitspclspecyn == ""
- } // if (choiedicd == clodedicd)
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
-
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- model.toggle("case_spclspec"); // 해당 tab 으로 토글시킨다.
- } // if (destRef == "prcpmemo")
- //model.refresh();
- } // if (choimemo)
- } // if (SelectMemo != null)
- } // if (clamym)
- }
-
- // 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- function fSetJudgEDIMemo(spclmemo, usermemoyn) {
- var delclspNode = instance1.selectSingleNode("/root/send/item3/delclsp");
- var max = 1;
- if (delclspNode != null) {
- max = delclspNode.childNodes.length + 1;
- }
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delunitflag", "M");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delspclcd", "MX999");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delusermemoyn", usermemoyn);
- model.makeNode("/root/send/item3/delclsp/delmemo["+ max +"]/delcalcscorcd");
- model.makeNode("/root/send/item3/delclsp/delmemo["+ max +"]/deledilnno");
- model.makeNode("/root/send/item3/delclsp/delmemo["+ max +"]/delseqno");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delclsoyn", "N");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delmpsno", "");
-
- var item3Path = "";
- var item3Node = "";
- var repeat = ""; // 특정내역 반복 설정 rowstat = 'R'
- if (usermemoyn == "Y") {
- item3Path = "/root/send/item3/judgmemo[";
- item3Node = "judg";
- repeat = model.getValue("/root/main/item1/memo/judgmemorepeat");
- } else {
- item3Path = "/root/send/item3/edimemo[";
- item3Node = "edi";
- repeat = model.getValue("/root/main/item1/memo/edimemorepeat");
- }
- var iSpclCdCnt = 0; // DB에 저장될 MX999 코드 개수
- var iSpclCdTotLength = getStringLength(spclmemo); // (stringHelper.js) 문자열의 길이를 구한다.
- var insCharTotCnt = 0; // 특정내역으로 잘라진 총 글자 수
- if (iSpclCdTotLength > 350) { // 새로 입력된 특정코드가 700byte를 넘는다.
- // 영문(700자), 한글(350자) 길이로 잘라서 n개의 특정코드를 만든다.
- var iLen = 0; // 특정내역 길이가 700 byte가 되었는지 계산
- var iStartInx = 0; // 특정내역 시작 index
- var iCharCnt = 0; // 몇글자로 구성되는지 계산
- for (var i=0; i < spclmemo.length; i++) {
- var sBit = spclmemo.charAt(i);
- iCharCnt++;
- if (escape(sBit).length > 4) {
- iLen = iLen + 2;
- } else {
- iLen = iLen + 1;
- }
- if (iLen == 350 || iLen > 350) { // 영문(700자), 한글(350자)
- iSpclCdCnt++;
- //model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"usermemoyn", usermemoyn);
- if (iLen == 350) { // 700byte로 길이가 끝난 경우
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"spclspec", spclmemo.substr(iStartInx, iCharCnt));
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"rowstat", repeat);
- iStartInx += iCharCnt;
- insCharTotCnt += 350;
- }
- else if (iLen > 350) { // 영문(700자), 한글(350자)를 넘는 경우
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"spclspec", spclmemo.substr(iStartInx, iCharCnt - 1));
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"rowstat", repeat);
- iStartInx += (iCharCnt - 1);
- i--;
- insCharTotCnt += 349;
- }
- iCharCnt = 0;
- iLen = 0;
- }
- }
- if (iSpclCdTotLength != insCharTotCnt) {
- iSpclCdCnt++;
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"spclspec", spclmemo.substring(iStartInx, spclmemo.length));
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"rowstat", repeat);
- }
- }
- else if (iSpclCdTotLength > 0) { // 새로 추가된 내용이 있다.
- iSpclCdCnt++;
- //model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"usermemoyn", usermemoyn);
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"spclspec", spclmemo);
- model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node +"rowstat", repeat);
- //}
- }
- }
- // 심사Comment 조회 Popup에서 선택한 심사자메모를 설정한다.
- function fSetJudgMemoRefresh(){
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo");
- if (memo) {
- if (judgmemo) { // 기존 심사메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/judgmemo", judgmemo +" \n"+ memo);
- } else {
- model.setValue("/root/main/item1/memo/judgmemo", memo);
- }
- model.refreshpart("/root/main/item1/memo/judgmemo");
- }
- }
- // 심사Comment 조회 Popup에서 선택한 EDI메모를 설정한다.
- function fSetEdiMemoRefresh(){
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var edimemo = model.getValue("/root/main/item1/memo/edimemo");
- if (memo) {
- if (edimemo) { // 기존 청구메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/edimemo", edimemo +" \n"+ memo);
- } else {
- model.setValue("/root/main/item1/memo/edimemo", memo);
- }
- model.refreshpart("/root/main/item1/memo/edimemo");
- }
- }
- // 처방사유조회
- function fPrcpResnRef(){
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; //사용자번호
- var usernm = UserInfosS_Array[1]; //사용자이름
- var posinstcd = UserInfosS_Array[6]; //근무지기관코드
- var posinstnm = UserInfosS_Array[7]; //근무지기관명
- var posdeptcd = UserInfosS_Array[4]; //소속부서코드
- var posdeptnm = UserInfosS_Array[5]; //소속부서명
-
- model.makeValue("/root/tmp/prcpresnref/info/pid", model.getValue("/root/main/item1/clbs/pid")); // 등록번호
- model.makeValue("/root/tmp/prcpresnref/info/fromdd", model.getValue("/root/main/item1/clbs/ordfromdd")); // 처방시작일 default indd
- model.makeValue("/root/tmp/prcpresnref/info/todd", model.getValue("/root/main/item1/clbs/ordfromdd")); // 처방종료일 default dschdd
- model.makeValue("/root/tmp/prcpresnref/info/orddeptcd", "-"); // 진료과 : 주진료과
- model.makeValue("/root/tmp/prcpresnref/info/orddrid", "-"); // 주치의 : default "-"
- model.makeValue("/root/tmp/prcpresnref/info/mainjudgid", "-"); // 심사자 : 현재심사자
-
- //model.makeValue("/root/tmp/prcpresnref/info/prcpcd", model.getvalue("/root/main/list2/iscllist[" + grd_clodhist.row + "]/grupcalcscorcd")); // 수가코드 : 그룹코드
-
- model.makeValue("/root/tmp/prcpresnref/info/prcpcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("grupcalcscorcd"))); // 수가코드 : 그룹코드
-
- model.makeValue("/root/tmp/prcpresnref/info/insukind", model.getValue("/root/main/item1/clbs/insukindcd")); // 보험유형 : 환자보험유형
- model.makeValue("/root/tmp/prcpresnref/info/ioflag", "O"); // 내원유형 : default "-"
- model.makeValue("/root/tmp/prcpresnref/info/resncd", "FF"); // 사유구분 : default "FF" 중복처방
- model.makeValue("/root/tmp/prcpresnref/info/popup", "judg"); // 팝업사용처구분 : judg(심사)
-
-
- modal("SPMMO19000_중복처방사유조회", "", "400", "300", "", "/root/tmp/prcpresnref/info", "/root/tmp/prcpresnref/info");
- model.removeNode("/root/tmp/prcpresnref");
-
- }
- ///////////////////////////////////////////////////////////////////////////
- // 특정 환자에 대한 상병이력을 조회한다.
- function fGetDiagHistList() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있으면
- // 심사대상자의 등록번호를 조건으로 하여 전체 청구 상병이력을 조회한다.
- model.removeNodeset("/root/hidden/smpiz00100/rslt");
- model.setValue("/root/hidden/smpiz00100/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/smpiz00100/cond/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/smpiz00100/cond/ordtodd", model.getValue("/root/main/item1/clbs/dschdd"));
- //model.setValue("/root/hidden/smpiz00100/cond/srchflag", "pam"); // 검색구분 Radio : 청구
- modal("SMPIZ00100", "1", "10", "10", "SMPIZ00100", "/root/hidden/smpiz00100/cond", "/root/init", "", ""); // SMPIZ00100_외래입원상병이력조회.xrw
-
- var rsltNode = instance1.selectSingleNode("/root/hidden/smpiz00100/rslt");
- if (rsltNode != null) {
- for (var i = 1; i <= rsltNode.childNodes.length; i++) {
- var diagcd = model.getValue("/root/hidden/smpiz00100/rslt/diag["+ i +"]/diagcd");
- var isSame = false;
- for (var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- if ( diagcd == model.getValue("/root/main/list1/cldi["+ j +"]/diagcd")
- //&& grd_cldihist.rowstatus(j) != 4 // 20100308 추가 // 저장시 문제있음
- ) {
- // 동일한 상병이 존재하는 경우
- isSame = true;
- j = grd_cldihist.rows;
- }
- }
- if (isSame == false) {
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- fDiagGridInsertRow("Y","Y");
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd", model.getValue("/root/hidden/smpiz00100/rslt/diag["+ i +"]/diagkindcd"));
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq", grd_cldihist.row);
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagcd", model.getValue("/root/hidden/smpiz00100/rslt/diag["+ i +"]/diagcd"));
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagnm", model.getValue("/root/hidden/smpiz00100/rslt/diag["+ i +"]/diaghngnm"));
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagengnm", model.getValue("/root/hidden/smpiz00100/rslt/diag["+ i +"]/diagengnm"));
- // 20100308 특정내역 조회 추가
- model.setValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode", fGetDiagVcode(diagcd));
- // 20100329 MT002 입력체크
- if ( model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode") != ""
- && model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/diagkindcd") != "R"
- ) {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi["+ grd_cldihist.row +"]/vcode"));
- }
-
- var nowRow = grd_cldihist.row;
- }
- }
-
- fSortDiagNo(true);
- grd_cldihist.row = nowRow;
- }
- }
- }
- ///////////////////////////////////////////////////////////////////////////
- // 줄단위 특정내역 중 기타메모(JX999)를 특정내역 형식에 맞춰 설정한다.
- function fSetSpclSpecJX999() {
-
- var iTotSpclCdCnt = 0; // DB에 저장될 JX999 코드 개수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var snglcalcscorcd = model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd");
- var edilnno = model.getValue("/root/main/list3/clsp["+ i +"]/edilnno");
- var clodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var seqno = model.getValue("/root/main/list3/clsp["+ i +"]/seqno");
- var clsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- var mpsno = model.getValue("/root/main/list3/clsp["+ i +"]/mpsno");
-
- if (rowstatus != 0 && spclcd == "JX999") {
- var delclspNode = instance1.selectSingleNode("/root/send/item3/delclsp");
- var max = 1;
- if (delclspNode != null) {
- max = delclspNode.childNodes.length + 1;
- }
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delunitflag", "J");
- var oldspclcd = model.getValue("/root/main/list3/clsp["+ i +"]/oldspclcd");
- if (oldspclcd) {
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delspclcd", oldspclcd);
- } else {
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delspclcd", spclcd);
- }
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delusermemoyn", "N");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delcalcscorcd", snglcalcscorcd);
- if (rowstatus == 2) { // JX999는 seqno로 기존 코드를 삭제하는 것이 아니라 줄번호로 삭제하므로 조회해온 초기 줄번호를 전달한다.
- var initedilnno = model.getValue("/root/main/list3/clsp["+ i +"]/initedilnno");
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/deledilnno", initedilnno);
- } else {
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/deledilnno", edilnno);
- }
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delseqno", seqno);
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delclsoyn", clsoyn);
- model.makeValue("/root/send/item3/delclsp/delmemo["+ max +"]/delmpsno", mpsno);
- }
- // 해당 청구키의 JX999는 모두 삭제하고 새로 추가하므로 "삭제" 상태가 아닌 모든 경우를 전송한다.
- if (rowstatus != 0 && rowstatus != 4 && spclcd == "JX999") { // 0 : new, 4: delete
- var iSpclCdCnt = 0;
- var spclmemo = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- var repeat = model.getValue("/root/main/list3/clsp["+ i +"]/rowstat"); // 특정내역 반복 설정 rowstat = 'R'
-
- var iSpclCdTotLength = getStringLength(spclmemo); // (stringHelper.js) 문자열의 길이를 구한다.
- var insCharTotCnt = 0; // 특정내역으로 잘라진 총 글자 수
- if (iSpclCdTotLength > 350) { // 새로 입력된 특정코드가 700byte를 넘는다.
- // 영문(700자), 한글(350자) 길이로 잘라서 n개의 특정코드를 만든다.
- var iLen = 0; // 특정내역 길이가 700 byte가 되었는지 계산
- var iStartInx = 0; // 특정내역 시작 index
- var iCharCnt = 0; // 몇글자로 구성되는지 계산
- for (var j = 0; j < spclmemo.length; j++) {
- var sBit = spclmemo.charAt(j);
- iCharCnt++;
- if (escape(sBit).length > 4) {
- iLen = iLen + 2;
- } else {
- iLen = iLen + 1;
- }
- if (iLen == 350 || iLen > 350) { // 영문(700자), 한글(350자)
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- if (iLen == 350) { // 700byte로 길이가 끝난 경우
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitspclspec", spclmemo.substr(iStartInx, iCharCnt));
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitrowstat", repeat);
- iStartInx += iCharCnt;
- insCharTotCnt += 350;
- }
- else if (iLen > 350) { // 영문(700자), 한글(350자)를 넘는 경우
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitspclspec", spclmemo.substr(iStartInx, iCharCnt - 1));
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitrowstat", repeat);
- iStartInx += (iCharCnt - 1);
- j--;
- insCharTotCnt += 349;
- }
- iCharCnt = 0;
- iLen = 0;
- }
- }
- if (iSpclCdTotLength != insCharTotCnt) {
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitspclspec", spclmemo.substring(iStartInx, spclmemo.length));
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitrowstat", repeat);
- }
- }
- else if (iSpclCdTotLength > 0) { // 새로 추가된 내용이 있다.
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitspclspec", spclmemo);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo["+ iTotSpclCdCnt +"]/lnunitrowstat", repeat);
- }
- }
- }
- }
-
- // 줄단위 특정내역을 수정/입력한다.
- function fSetLnUnitSpclSpec() { // 'T' 필드 더블클릭시 호출한다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
-
- var row = grd_clodhist.row;
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
- if (seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- /*
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", "0");
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeNode("/root/hidden/sppiz00500/cond/spclcd");
- model.makeNode("/root/hidden/sppiz00500/cond/detldesc");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeNode("/root/hidden/sppiz00500/cond/spclformat");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeNode("/root/hidden/sppiz00500/cond/cdnm");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- */
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
-
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
- var rowcnt = 1;
- var setrow = 0;
-
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- }
- }
- }
- if (setrow > 0) {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp["+ setrow +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp["+ setrow +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 JX999가 없는 경우
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- }
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclformat");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/detldesc");
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- model.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- cnt++;
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- }
- else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (cnt > 0) {
- model.setValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } else {
- model.resetInstanceNode("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- } // 처리 건수 if end
- } else {
- messageBox("처방번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- }
- }
- // 줄단위 원외처방특정내역 수정/입력(처방주석입력 팝업메뉴 클릭시)
- function fCallClsoSpclSpec() {
- fSetLnUnitClsoSpclSpec("grd_oprcphist");
- }
- // 줄단위 원외처방특정내역을 수정/입력한다3
- function fSetLnUnitClsoSpclSpec(sgrid) { // 'T' 필드 더블클릭 또는 특정내역 더블클릭
- model.removeNodeset("/root/hidden/sppiz01700/rslt"); // SPPIZ01700_원외처방특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz01700/cond");
-
- // 1. 원외처방에서 "더블클릭"한 경우
- if (sgrid == "grd_oprcphist" ) {
- var row = grd_oprcphist.row;
-
- var seqno = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("seqno"));
- var edilnno = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("edilnno"));
- var snglcalcscorcd = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("snglcalcscorcd"));
- var clopdd = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("clopdd"));
- var clopno = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("clopno"));
- var mpsno = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("mpsno"));
- /*
- var seqno = model.getValue("/root/main/list7/clop["+ row +"]/clopseqno");
- var edilnno = model.getValue("/root/main/list7/clop["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd");
- var clopdd = model.getValue("/root/main/list7/clop["+ row +"]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop["+ row +"]/clopno");
- var mpsno = model.getValue("/root/main/list7/clop["+ row +"]/mpsno");
- */
- // 2. 특정내역에서 "더블클릭"한 경우
- } else if (sgrid == "grd_clsphist") {
- var row = grd_clsphist.row;
- var seqno = model.getValue("/root/main/list3/clsp["+ row +"]/clodseqno");
- var edilnno = model.getValue("/root/main/list3/clsp["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list3/clsp["+ row +"]/snglcalcscorcd");
- var clopdd = model.getValue("/root/main/list3/clsp["+ row +"]/mpsno").substr(0,8);
- var clopno = model.getValue("/root/main/list3/clsp["+ row +"]/mpsno").substr(8,5);
- var mpsno = model.getValue("/root/main/list3/clsp["+ row +"]/mpsno");
- }
-
- if (seqno != "0") {
- if (sgrid == "grd_oprcphist") {
- var lnunitspclspecyn = grd_oprcphist.valueMatrix(row, grd_oprcphist.colRef("spclspecyn"));
- } else if (sgrid == "grd_clsphist") {
- var lnunitspclspecyn = "*";
- }
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", "");
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", "");
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
- var rowcnt = 1;
- var setrow = 0;
-
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "Y") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/flag", "");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopdd", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(0,8));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopno", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(8,5));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- }
- }
- }
- if (setrow > 0) {
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", model.getValue("/root/main/list3/clsp["+ setrow +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", model.getValue("/root/main/list3/clsp["+ setrow +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", model.getValue("/root/main/list3/clsp["+ setrow +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
- } else { // 기존에 입력된 JX999가 없는 경우
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", "");
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", "");
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
- }
- }
- modal("SPPIZ01700", "1", "10", "10", "SPPIZ01700", "/root/hidden/sppiz01700", "/root/hidden/clsp", "", ""); // sppiz01700_원외처방특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz01700/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/spclformat");
- var newdetldesc = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/detldesc");
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- if( newspclcd == 'CT001' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", '-');
- }else if( newspclcd == 'CT002' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", '-');
- }else{
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- }
-
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외청방수
- var clopdd = model.getValue("/root/main/list7/clop[1]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop[1]/clopno");
- if (snglcalcscorcdcnt > 0) {
- if (mpsno == ""){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/mpsno", clopdd +""+clopno);
- }else{
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/mpsno", mpsno);
- }
- }
-
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
-
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "Y"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- model.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spcmpsno = model.getValue("/root/main/list3/clsp["+ i +"]/mpsno");
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- if (spcmpsno == mpsno && spcClodseqno == seqno && spcClsoyn == "Y") {
- cnt++;
- break;
- }
- }
- }
- if (cnt > 0) {
- var nodeList = instance1.selectNodes("/root/main/list7/clop");
- for (var i = 1; i <= nodeList.length; i++) {
- var mpsno = model.getValue("/root/main/list7/clop["+ i +"]/mpsno");
- var seqno = model.getValue("/root/main/list7/clop["+ i +"]/seqno");
- if (spcmpsno == mpsno && spcClodseqno == seqno && spcClsoyn == "Y") {
- model.setValue("/root/main/list7/clop["+ i +"]/spclspecyn", "*");
- break;
- }
- }
- }
-
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_oprcphist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- } // 처리 건수 if end
- } else {
- messageBox("처방번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- }
- }
- function fCallClsoSpclAllSpec() {
- fSetLnUnitClsoSpclAllSpec("grd_oprcphist");
- }
- function fSetLnUnitClsoSpclAllSpec(sgrid) { // 'T' 필드 더블클릭 또는 특정내역 더블클릭
- model.removeNodeset("/root/hidden/sppiz01700/rslt"); // SPPIZ01700_원외처방특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz01700/cond");
- var grid_obj = document.controls.item(sgrid);
- // 1. 원외처방에서 "더블클릭"한 경우
- var rowcnt = 1;
- var setrow = 0;
-
- for (var k=0; k < grid_obj.selectedRows; k++ ) {
- var row = grid_obj.selectedRow(k);
- var seqno = grid_obj.valueMatrix(row, grid_obj.colRef("seqno"));
- var edilnno = grid_obj.valueMatrix(row, grid_obj.colRef("edilnno"));
- var snglcalcscorcd = grid_obj.valueMatrix(row, grid_obj.colRef("snglcalcscorcd"));
- var mpsno = grid_obj.valueMatrix(row, grid_obj.colRef("mpsno"));
- if (sgrid == "grd_oprcphist" ) {
- var clopdd = grid_obj.valueMatrix(row, grid_obj.colRef("clopdd"));
- var clopno = grid_obj.valueMatrix(row, grid_obj.colRef("clopno"));
- // 2. 특정내역에서 "더블클릭"한 경우
- } else if (sgrid == "grd_clsphist") {
- var clopdd = grid_obj.valueMatrix(row, grid_obj.colRef("mpsno")).substr(0,8);
- var clopno = grid_obj.valueMatrix(row, grid_obj.colRef("mpsno")).substr(8,5);
- }
-
- if (seqno != "0") {
- if (sgrid == "grd_oprcphist") {
- var lnunitspclspecyn = grid_obj.valueMatrix(row, grid_obj.colRef("spclspecyn"));
- } else if (sgrid == "grd_clsphist") {
- var lnunitspclspecyn = "*";
- }
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", "");
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", "");
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
-
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/rownum", "");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclspec", "");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/unitflag", "J");
-
- rowcnt = rowcnt+1;
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
-
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "Y") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclcdJX999 = model.getValue("/root/main/list3/clsp[insntstat!='D' and spclcd='JX999' and snglcalcscorcd='"+snglcalcscorcd+"' ]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && spclcd == "JX999" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", model.getValue("/root/main/list3/clsp["+ i +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
-
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/flag", "");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopdd", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(0,8));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopno", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(8,5));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- } else if (spclcd != "" && spclcd != "JT001" && spclcdJX999 == "" && grd_clsphist.rowstatus(i) != 4) {
- model.makeValue("/root/hidden/sppiz01700/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopdd", clopdd);
- model.makeValue("/root/hidden/sppiz01700/cond/clopno", clopno);
- model.makeValue("/root/hidden/sppiz01700/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz01700/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz01700/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz01700/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeValue("/root/hidden/sppiz01700/cond/spclspec", "");
- model.makeValue("/root/hidden/sppiz01700/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz01700/cond/rownum", "");
- model.makeValue("/root/hidden/sppiz01700/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz01700/cond/unitflag", "J");
-
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/flag", "I");
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopdd", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(0,8));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clopno", model.getValue("/root/main/list3/clsp["+ i +"]/mpsno").substr(8,5));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz01700/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
-
- rowcnt = rowcnt+1;
- }
- }
- }
- }
- } else {
- messageBox("처방번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- }
- }
- modal("SPPIZ01700", "1", "10", "10", "SPPIZ01700", "/root/hidden/sppiz01700", "/root/hidden/clsp", "", ""); // sppiz01700_원외처방특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz01700/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz01700/rslt/list[last()]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/spclformat");
- var newdetldesc = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/detldesc");
- var newclodseqno = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/clodseqno");
- var newsnglcalcscorcd = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/snglcalcscorcd");
- var newedilnno = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/edilnno");
-
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- if( newspclcd == 'CT001' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", '-');
- }else if( newspclcd == 'CT002' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", 0);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", '-');
- }else{
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", newclodseqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", newsnglcalcscorcd);
- }
-
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외청방수
- var clopdd = model.getValue("/root/main/list7/clop[1]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop[1]/clopno");
- if (snglcalcscorcdcnt > 0) {
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/mpsno", clopdd +""+clopno);
- }
-
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
-
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "Y"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", newsnglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- model.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz01700/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.valueMatrix(rownum, grd_clsphist.colRef("insntstat")) = "D";
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spcmpsno = model.getValue("/root/main/list3/clsp["+ i +"]/mpsno");
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn");
- if (spcmpsno == mpsno && spcClodseqno == seqno && spcClsoyn == "Y") {
- cnt++;
- break;
- }
- }
- }
- if (cnt > 0) {
- var nodeList = instance1.selectNodes("/root/main/list7/clop");
- for (var i = 1; i <= nodeList.length; i++) {
- var mpsno = model.getValue("/root/main/list7/clop["+ i +"]/mpsno");
- var seqno = model.getValue("/root/main/list7/clop["+ i +"]/seqno");
- if (spcmpsno == mpsno && spcClodseqno == seqno && spcClsoyn == "Y") {
- model.setValue("/root/main/list7/clop["+ i +"]/spclspecyn", "*");
- break;
- }
- }
- }
-
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_oprcphist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- } // 처리 건수 if end
- }
-
- // 명세서단위 특정내역을 수정/입력한다.
- function fSetDocRefLnSpclSpec(){ // 특정내역 Grid의 row 더블클릭시 호출한다.
-
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
-
- var row = grd_clsphist.row;
- var clodseqno = model.getValue("/root/main/list3/clsp["+ row +"]/clodseqno");
- var edilnno = model.getValue("/root/main/list3/clsp["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list3/clsp["+ row +"]/snglcalcscorcd");
- var unitflag = model.getValue("/root/main/list3/clsp["+ row +"]/unitflag");
-
- if (unitflag == "J") {
- // 삭제상태인 경우 처방Grid에서 입력,수정은 가능하지만 특정내역Grid에서는 편집할 수 없다.
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- messageBox("삭제된 특정내역은 수정할 수", "I004"); ///삭제된 특정내역은 수정할 수 없습니다.
- return;
- }
- }
-
- var rowcnt = 1;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == clodseqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- rowcnt = rowcnt+1;
- }
- }
- }
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", clodseqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp["+ row +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp["+ row +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp["+ row +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp["+ row +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", row);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp["+ row +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", unitflag);
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
-
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/detldesc");
- if (flag == "I") {
- // 특정코드 추가인 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
-
- if( newspclcd == 'CT001' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- }else if( newspclcd == 'CT002' ){
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "C");
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외청방수
- var clopdd = model.getValue("/root/main/list7/clop[1]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop[1]/clopno");
- if (snglcalcscorcdcnt > 0) {
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/mpsno", clopdd + "" + clopno);
- }
- } else{
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", unitflag);
- }
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", clodseqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- } else if (flag == "U") {
- // 특정코드 변경인 경우
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- grd_clsphist.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- } else if (flag == "D" && rownum != "" ) {
- // 특정코드 삭제인 경우
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- if (unitflag == "M") { // 명세서 단위
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
-
- if (flag == "I" || flag == "U") {
- // MT018:본인부담코드 변경시 clbs-ownbflag도 변경해줌
- if (newspclcd == "MT018" && newspclspec != "") {
- model.setValue("/root/main/item1/clbs/ownbflag", newspclspec);
- cmb_ownbflag.refresh();
- }
- }
- } else { // 줄단위인 경우
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
-
- var spcClodseqno = model.getValue("/root/main/list3/clsp[clodseqno='"+clodseqno+"' and clsoyn='N' and insntstat != 'D']/clodseqno");
- if (spcClodseqno.length > 0) {
- cnt = spcClodseqno.length;
- jx999cnt = getNodesetCount("/root/main/list3/clsp[spclcd='JX999']/spclcd");
- nonjx999cnt = getNodesetCount("/root/main/list3/clsp[spclcd!='JT001']/spclcd");
- }
-
- if (cnt > 0) {
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod["+ j +"]/seqno");
- if (seqno == clodseqno) {
- model.setValue("/root/main/list2/clod["+ j +"]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- j = grd_clodhist.rows;
- }
- }
- } else {
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod["+ j +"]/seqno");
- if (seqno == clodseqno) {
- model.resetInstanceNode("/root/main/list2/clod["+ j +"]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- j = grd_clodhist.rows;
- }
- }
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- } // 처리 건수 if end
- }
-
- /// 특정내역 Grid 에서 선택한 확인코드를 조회하고 줄단위 특정내역을 수정/입력한다.
- function fSetCnfmCdSpclSpec() {
- var row = grd_clsphist.row;
- model.removeNodeset("root/hidden/sppiz01100/rslt");
- model.setValue("/root/hidden/sppiz01100/cond/code", model.getValue("/root/main/list3/clsp["+ row +"]/spclspec"));
- modal("SPPIZ01100", "1", "10", "10", "SPPIZ01100", "/root/hidden/sppiz01100", "/root/init/sppiz01100", "", ""); // SPPIZ01100_확인코드조회
- if (instance1.selectSingleNode("root/hidden/sppiz01100/rslt")) {
- var cnfmcd = model.getValue("root/hidden/sppiz01100/rslt/code");
- var clodseqno = model.getValue("/root/main/list3/clsp["+ row +"]/clodseqno");
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod["+ j +"]/seqno");
- if (seqno == clodseqno) {
- model.setValue("/root/main/list2/clod["+ j +"]/cnfmcd", cnfmcd);
- j = grd_clodhist.rows;
- }
- }
- var rowstatus = grd_clsphist.rowstatus(row);
- if (cnfmcd) {
- model.setValue("/root/main/list3/clsp["+ row +"]/spclspec", cnfmcd);
- model.setValue("/root/hidden/list3/msgspclformat", "확인코드 - JT001 / 입력코드내역 : "+ cnfmcd +" / 기재형식 : X(5)");
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- } else {
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclspec");
- //grd_clsphist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else {
- grd_clsphist.rowstatus(row) = 4;
- model.setValue("/root/main/list3/clsp["+ row +"]/insntstat","D");
- }
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 확인코드 내역이 없습니다.");
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- }
- }
- // 특정내역 / 심사자메모 / EDI메모 창을 작게 한다.
- function fCutSwitchSize() {
- grp_clsphist.attribute("height") = "168";
- var igrd_hei = parseInt(grp_clsphist.attribute("height"));
- swt_spclmemo.attribute("height") = igrd_hei - 24;
- grd_clsphist.attribute("height") = igrd_hei - 59;
- tar_judgrmemo.attribute("height") = igrd_hei - 59;
- tar_ediclammemo.attribute("height") = igrd_hei - 59;
-
- if (grp_predoculist.visible == false && grp_delclodlist.visible == false && grp_delorderlist.visible == false) {
- grd_clodhist.attribute("width") = "1114";
- ln_clodhist.attribute("x2") = "1114";
- }
- }
- // 특정내역 / 심사자메모 / EDI메모 창을 크게 한다.
- function fExpandSwitchSize() {
- grp_clsphist.attribute("height") = "632";
- var igrd_hei = parseInt(grp_clsphist.attribute("height"));
- swt_spclmemo.attribute("height") = igrd_hei - 24;
- grd_clsphist.attribute("height") = igrd_hei - 59;
- tar_judgrmemo.attribute("height") = igrd_hei - 59;
- tar_ediclammemo.attribute("height") = igrd_hei - 59;
- // 처방 Grid 을 축소하고, Grid Group이 겹쳐져 보이므로 visible = false 처리한다.
- if (grp_predoculist.visible == true || grp_delclodlist.visible == true || grp_delorderlist.visible == true) {
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- } else {
- grd_clodhist.attribute("width") = "480";
- ln_clodhist.attribute("x2") = "480";
- }
- }
- ///////////////////////////////////////////////////////////////////////////
- // 특정내역 중 MT004 내역을 설정한다.
- function fSetSpclMT004() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있고
- if (btn_mt0004.attribute("class") == "btn5_letter4") { // 특정내역에 'MT004' 코드가 있는 경우
- // 'MT004' 코드를 삭제한다.
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var gridrowstatus = grd_clsphist.rowstatus(i);
- if (spclcd == "MT004" && gridrowstatus != 4) {
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ i +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ i +"]/spclspec");
- //grd_clsphist.deleteRow(i, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(i) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- btn_mt0004.attribute("class") = "btn2_letter4";
- } else { // 특정내역에 'MT004' 코드가 없는 경우
- // 'MT004' 코드를 추가한다.
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- var clsprow = grd_clsphist.row;
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", "MT004");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", "소명자료 구분");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", "Y");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", "X(1)");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", "소명자료를 첨부하는 경우 'Y'를 기재");
-
- btn_mt0004.attribute("class") = "btn5_letter4";
- btn_mt0004.attribute("color") = "#cc3333"; // cc3333=붉은색
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- }
- // 특정내역 중 MT015, MT016 내역을 조회하여 "소명자료" Btn (첨부물 자료관리) Popup 화면에 표시한다.
- function fGetAttachedDataList() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있고
- model.removeNodeset("/root/hidden/sppiz00200/cond");
- var index = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var gridrowstatus = grd_clsphist.rowstatus(i);
- if (spclcd == "MT015" || spclcd == "MT016") {
- index++;
- model.makeValue("/root/hidden/sppiz00200/cond/clsp["+ index +"]/spclcd", model.getValue("/root/main/list3/clsp["+ i +"]/spclcd"));
- model.makeValue("/root/hidden/sppiz00200/cond/clsp["+ index +"]/seqno", model.getValue("/root/main/list3/clsp["+ i +"]/seqno"));
- model.makeValue("/root/hidden/sppiz00200/cond/clsp["+ index +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 Grid에서 "행 삭제"한 경우 MT015 / MT016 자료를 표시하지 않도록 하도록 rowstatus를 전달함
- model.makeValue("/root/hidden/sppiz00200/cond/clsp["+ index +"]/rowstat", gridrowstatus);
- }
- }
- if (instance1.selectSingleNode("/root/hidden/sppiz00200/cond") == null) {
- model.makeNode("/root/hidden/sppiz00200/cond");
- }
- modal("SPPIZ00200", "1", "10", "10", "SPPIZ00200", "", "", "", ""); // SPPIZ00200_첨부물자료관리.xrw
- fDisplayAttachedDataList();
- }
- }
- // "소명자료" Btn (첨부물 자료관리) Popup 화면에서 특정내역 중 MT015, MT016 정보가 입력된 환자인지를 확인한다.
- function fDisplayAttachedDataList() {
- var isAttachedDataList = false;
- var cSrcNode = instance1.selectSingleNode("/root/hidden/sppiz00200/rslt/clsp");
- if (cSrcNode == null) { // 특정내역이 없는 경우임
- return;
- }
- if (model.getValue("/root/hidden/sppiz00200/rslt/clsp/unitflag") == "") { // "취소" 선택시에 버튼 색이 변경되지 않도록
- return;
- }
- var cSrcChildNodeList = cSrcNode.childNodes;
- for (var i = 1; i <= cSrcChildNodeList.length; i++) {
- var spclcd = model.getValue("/root/hidden/sppiz00200/rslt/clsp["+i+"]/spclcd");
- if (spclcd == "MT015" || spclcd == "MT016") {
- var rowstat = model.getValue("/root/hidden/sppiz00200/rslt/clsp["+i+"]/rowstat")
- if (rowstat != "D") {
- var spclspec = model.getValue("/root/hidden/sppiz00200/rslt/clsp["+i+"]/spclspec");
- if (spclspec) {
- isAttachedDataList = true;
- }
- // 특정내역 Grid 에서 해당 내용을 삽입 또는 수정한다.
- if (rowstat == "I") { // 삽입
- fSpclGridInsertRow();
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/spclcd", spclcd);
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/spclspec", spclspec);
- if (spclcd == "MT015") {
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/cdnm", "제출자료 목록표");
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/spclformat", "X(2)");
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/detldesc", "제출자료코드/제출자료코드/... 형태로 입력");
- } else {
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/cdnm", "제출자료 목록표(기타)");
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/spclformat", "X(200)");
- model.setValue("/root/main/list3/clsp["+ grd_clsphist.row +"]/detldesc", "영문(200자), 한글(100자)");
- }
- } else if (rowstat == "U") { // 수정
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var gridspclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- var gridspclspec = model.getValue("/root/main/list3/clsp["+ j +"]/spclspec");
- var gridrowstatus = grd_clsphist.rowstatus(j);
- if (gridspclcd == spclcd) {
- model.setValue("/root/main/list3/clsp["+ j +"]/spclspec", spclspec);
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
- }
- } else { // 삭제
- // 특정내역 Grid 에서 해당 내용을 삭제한다.
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var gridspclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- var gridspclspec = model.getValue("/root/main/list3/clsp["+ j +"]/spclspec");
- var gridrowstatus = grd_clsphist.rowstatus(j);
- if (gridspclcd == spclcd) {
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclspec");
- //grd_clsphist.deleteRow(j, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- }
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- if (isAttachedDataList) {
- btn_attData.attribute("class") = "btn5_letter4";
- btn_attData.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_attData.attribute("class") = "btn2_letter4";
- }
- }
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- function fCheckSpclSpecData() {
- // 삭제된 상태가 아닌 소명자료 내역이 있는지 파악하여 "소명자료" Btn 색을 설정한다.
- // 특정코드 MT004 가 있는지를 파악하여 "MT004" Btn 색을 설정한다.
- var isAttachedDataList = false;
- var isMT004DataList = false;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd == "MT015" || spclcd == "MT016") {
- if (grd_clsphist.rowstatus(i) != 4) {
- isAttachedDataList = true;
- }
- }
- else if (spclcd == "MT004") {
- if (grd_clsphist.rowstatus(i) != 4) {
- isMT004DataList = true;
- }
- }
- }
- // 소명자료 Btn
- if (isAttachedDataList) {
- btn_attData.attribute("class") = "btn5_letter4";
- btn_attData.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_attData.attribute("class") = "btn2_letter4";
- }
- // MT004 Btn
- if (isMT004DataList) {
- btn_mt0004.attribute("class") = "btn5_letter4";
- btn_mt0004.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_mt0004.attribute("class") = "btn2_letter4";
- }
- }
- ///////////////////////////////////////////////////////////////////////////
- // 상병 및 처방 치식 입력
- function fDiagOrderToothInput(flag) {
- if (flag == "Diag") {
- var row = grd_cldihist.row;
- var diagcd = model.getValue("/root/main/list1/cldi["+ row +"]/diagcd");
- if (diagcd) {
- model.setValue("/root/hidden/sppiz00600/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppiz00600/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppiz00600/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/list1/cldi["+ row +"]/toot"));
- fSetToothPop(row, "1");
- model.removeNodeset("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- modal("SPPIZ00600", "1", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- fGetToothPop();
- }
- }
- else if (flag == "Order") {
- var row = grd_clodhist.row;
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- if (edilnno) {
- model.setValue("/root/hidden/sppiz00600/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppiz00600/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppiz00600/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/list2/clod["+ row +"]/toot"));
- fSetToothPop(row, "2");
- model.removeNodeset("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- modal("SPPIZ00600", "1", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- fGetToothPop();
- }
- }
- }
-
- //대상자에서 치식자동팝업체크시 타는 로직
- function fDiagOrderToothInputDiret(flag) {
-
- var trgtManWindow = getChildWindow("SPPIZ00600ML"); // SPPIZ00600_상병및처방별치식.xrw
- var row = "1";
- if (flag == "Diag") {
-
- //var diagcd = model.getValue("/root/main/list1/cldi["+ row +"]/diagcd");
- //if (diagcd) {
- model.setValue("/root/hidden/sppiz00600/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppiz00600/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppiz00600/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/list1/cldi["+ row +"]/toot"));
- model.setValue("/root/hidden/sppiz00600/cond/popyn", "SMPID20500");
- fSetToothPop(row, "1");
- model.removeNodeset("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- if ( trgtManWindow == null ) {
- //open("SPPIZ00600", "1", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- //open("SPPIZ00600", "2", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- open("SPPIZ00600", "2", "10", "10", "SPPIZ00600ML", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- } else {
- trgtManWindow.model.copyNode("/root/hidden/cond",root.hidden.sppiz00600.cond);
- activateChild("SPPIZ00600ML");
- trgtManWindow.javascript.fInitialize();
- }
- //fGetToothPop(); // 모달리스 타입이라..여기선 의미없음
- //}
- }
-
- }
-
-
- // 현재 상병, 처방 Grid 상에서 입력상태의 치식을 팝업 화면에 전달하기 위해 리스트 형태로 만든다.
- function fSetToothPop(row, flag) {
- model.removeNodeset("/root/hidden/sppiz00600/cond/list");
- model.makeNode("/root/hidden/sppiz00600/cond/list");
- // model.resetInstanceNode("/root/hidden/sppiz00600/cond/list");
- // 상병
- var cntcldi = getNodesetCount("/root/main/list1/cldi");
- // 처방
- var cntclod = getNodesetCount("/root/main/list2/clod");
- // grd_clodhist.rows는 타이틀을 포함하지만 getNodesetCount는 타이틀을 제외한 data 갯수를 반환
- var cd = "";
- var cdnm = "";
- var orddd = "";
- var toot = "";
- var rowcnt = 1;
- // for (i=1; i<cntcldi; i++) {
- for (var i = 1; i <= cntcldi; i++) {
- cd = model.getValue("/root/main/list1/cldi["+ i + "]/diagcd");
- cdnm = model.getValue("/root/main/list1/cldi["+ i + "]/diagnm");
- orddd = model.getValue("/root/main/list1/cldi["+ i + "]/ordfromdd");
- toot = model.getValue("/root/main/list1/cldi["+ i + "]/toot");
-
- if (toot != "-" && toot != "" && toot != " ") {
- var milktoothstr = "ABCDE000";
- var subTootStr = "";
-
- for (var inx = 0; inx < 32; inx++) {
- var tootnum = toot.substr(inx,1);
- if (tootnum == "*") { // 선택된 영구치의 경우 1~8 사이 숫자로 표시한다.
- if (inx < 8) {
- subTootStr += (8 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += (inx - 7);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += (24 - inx);
- } else {
- subTootStr += (inx - 23);
- }
- } else if (tootnum == "#") { // 선택된 유치의 경우 A~E 사이 알파벳으로 표시한다.
- if (inx < 8) {
- subTootStr += milktoothstr.charAt(7 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += milktoothstr.charAt(inx - 8);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += milktoothstr.charAt(23 - inx);
- } else {
- subTootStr += milktoothstr.charAt(inx - 24);
- }
- } else { // if (tootnum == "0") 선택되지 않은 경우 공백으로 처리한다.
- subTootStr += " ";
- }
- }
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- //치식 표기를 설정한다.
- if (row == i && flag == "1") {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- } else {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "false");
- }
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", subTootStr.substr(0, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", subTootStr.substr(8, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", subTootStr.substr(16, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", subTootStr.substr(24, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", toot);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- } else {
- if (row == i && flag == "1") {
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- }
- }
- }
- for (var i = 1; i <= cntclod; i++) {
- // for (i=1; i<cntclod; i++) {
- cd = model.getValue("/root/main/list2/clod["+ i + "]/snglcalcscorcd");
- cdnm = model.getValue("/root/main/list2/clod["+ i + "]/hngnm");
- orddd = model.getValue("/root/main/list2/clod["+ i + "]/orddd");
- toot = model.getValue("/root/main/list2/clod["+ i + "]/toot");
- estmcls = model.getValue("/root/main/list2/clod["+ i + "]/estmcls");
-
-
- if ((toot != "-" && toot != "") || estmcls == "U"){
- var milktoothstr = "ABCDE000";
- var subTootStr = "";
-
- var tmpStr = "";
- for (var inx = 0; inx < 32; inx++) {
- var tootnum = toot.substr(inx,1);
- if (tootnum == "*") { // 선택된 영구치의 경우 1~8 사이 숫자로 표시한다.
- if (inx < 8) {
- subTootStr += (8 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += (inx - 7);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += (24 - inx);
- } else {
- subTootStr += (inx - 23);
- }
- } else if (tootnum == "#") { // 선택된 유치의 경우 A~E 사이 알파벳으로 표시한다.
- if (inx < 8) {
- subTootStr += milktoothstr.charAt(7 - inx);
- }
- else if (inx > 7 && inx < 16) {
- subTootStr += milktoothstr.charAt(inx - 8);
- }
- else if (inx > 15 && inx < 24) {
- subTootStr += milktoothstr.charAt(23 - inx);
- } else {
- subTootStr += milktoothstr.charAt(inx - 24);
- }
- } else { // if (tootnum == "0") 선택되지 않은 경우 공백으로 처리한다.
- subTootStr += " ";
- }
- }
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- //치식 표기를 설정한다.
- if (row == i && flag == "2") {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- } else {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "false");
- }
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "처방");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", subTootStr.substr(0, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", subTootStr.substr(8, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", subTootStr.substr(16, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", subTootStr.substr(24, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", toot);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- } else {
- if (row == i && flag == "2") {
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "처방");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt+1;
- }
- }
- }
- }
- // SPPIZ00600_상병및처방별치식 선택 결과를 반영한다.
- function fGetToothPop() {
- var tootSelectcnt = getNodesetCount("/root/hidden/sppiz00600/rslt/list");
- var flag = "";
- var row = "";
- var toot = "";
- tootSelectcnt = eval(tootSelectcnt) + 1;
-
- for (var i = 1; i < tootSelectcnt; i++) {
- flag = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/flag");
- row = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/row");
- var rlsttoot = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/toot");
- var rlsttoot1 = model.getValue("/root/hidden/sppiz00600/rslt/list["+ i +"]/toot1");
- if (rlsttoot == "") {
- rlsttoot = "-";
- }
- if (rlsttoot1 == "") {
- rlsttoot1 = "-";
- }
- if (flag == "1") {
- toot = model.getValue("/root/main/list1/cldi["+ row +"]/toot");
- model.setValue("/root/main/list1/cldi["+ row +"]/toot", rlsttoot);
- model.setValue("/root/main/list1/cldi["+ row +"]/toot1", rlsttoot1);
- if (rlsttoot != toot) { // 치식번호가 변경된 경우
- var cldistatus = grd_cldihist.rowstatus(row);
- if (cldistatus == 0 || cldistatus == 2) { // 0 : new, 2 : update
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- }
- } else if (flag == "2") {
- toot = model.getValue("/root/main/list2/clod["+ row +"]/toot");
- model.setValue("/root/main/list2/clod["+ row +"]/toot", rlsttoot);
- model.setValue("/root/main/list2/clod["+ row +"]/toot1", rlsttoot1);
- if (rlsttoot != toot) { // 치식번호가 변경된 경우
- // 처방의 수정된 row 상태를 표시한다.
- fSetOrderChangeRowStat(row);
- }
- }
- }
- }
- // 심사사유, 조정사유, 수정사유 입력
- function fSetAdjtResnCd() {
- var oldcd = model.getValue("/root/main/list2/clod["+ grd_clodhist.row +"]/adjtresncd");
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", oldcd);
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- var newcd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- var newdesc = model.getValue("/root/hidden/sppiz01000/rslt/adjtresndesc");
- if (newcd) {
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- var row = grd_clodhist.selectedrow(i);
- model.setValue("/root/main/list2/clod["+ row +"]/adjtresncd", newcd);
- model.setValue("/root/main/list2/clod["+ row +"]/adjtresndesc", newdesc);
- if (newcd != oldcd) {
- if (grd_clodhist.rowStatus(row) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(row) = 2;
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(row);
- }
- }
- }
- return newcd;
- }
- ///////////////////////////////////////////////////////////////////////////
- // 대상자 화면 "심사상태"로 갱신
- function fSetJudgSaveState(judgendyn) {
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- var selectedRow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow");
- if (selectedRow) {
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1/clbs");
- if (trgtmanlist == null) { // 조회된 대상자 목록이 없는 경우
- } else {
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- for (var i = 1; i < trgtManWindow.grd_specclbs.rows; i++) {
- if (clamkey == trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
- if (trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/judgendyn") != "Z")
- {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/judgendyn", judgendyn);
- }
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/lastupdtrid", userid);
- }
- }
- } else {
- for (var i = 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (clamkey == trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/clamkey")) {
- if (trgtManWindow.model.getValue("/root/main/list1/clbs["+ i +"]/judgendyn") != "Z")
- {
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/judgendyn", judgendyn);
- }
- trgtManWindow.model.setValue("/root/main/list1/clbs["+ i +"]/lastupdtrid", userid);
- }
- }
- }
-
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- }
- }
- }
- }
- //---------------------------------
- // 저장 버튼을 누르면
- //---------------------------------
- function fSaveOutAftJudg(judgendyn) {
- // 상병그리드에서 editmode인상태에서 F7 단축키 누렀을 경우 에러발생방지 위함. 절대 지우지 말것.
- model.setFocus("grd_clodhist");
-
- model.resetInstanceNode("/root/send/item1/clbs");
- model.removeNodeset("/root/send/item2");
- model.removeNodeset("/root/send/item3"); // 저장 오류가 난 경우 다시 "저장" Btn 누르면 새로 메모 내역이 생성되어야 하므로
- model.removeNodeset("/root/send/item4");
- model.removeNodeset("/root/send/list1"); //cldi
- model.removeNodeset("/root/send/list2"); //clod
- model.removeNodeset("/root/send/list3"); //clsp
- model.removeNodeset("/root/send/item5");
- model.removeNodeset("/root/send/list7"); //clop
- model.removeNodeset("/root/send/item6");
- // /root/send/list4 이전명세서 조건
-
- var selectedRow = model.getValue("/root/hidden/smpid20400/rslt/selectedRow"); // 대상자 화면에서 선택했던 줄
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- var isValidCheck = true;
- var cutprcpyn = "";
- var tootpopupyn = "";
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- cutprcpyn = trgtManWindow.model.getValue("/root/send/item1/cutprcpsel"); // 20100302 추가
- tootpopupyn = trgtManWindow.model.getValue("/root/temp/tootpopupyn"); // 20100402 추가
- }
-
- if (clamym) {
-
- var saveNoMsg = "";
- var saveOkMsg = "[계산]";
-
- // CLBS 저장전 점검
- if (fCheckSaveOutAftJudgCLBS()) {
- //--------------------------
- // KDRG 3.2 DRG분류번호 조회
- //--------------------------
- //pidfGetKDRGCode();
-
- // 인적사항
- var initclbs = instance1.selectNodesXml("/root/hidden/item1/initclbs/clbs");
- var currentclbs = instance1.selectNodesXml("/root/main/item1/clbs");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- if ((initclbs == currentclbs) && (insukind != "31")) {
- saveNoMsg = "[인적사항] ";
- // 인적사항 변경이 없는 경우에도 사용되는 진료과 / 진료의사 정보를 send data에 설정한다.
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "N"); // 인적사항 저장여부
- } else {
- saveOkMsg = "[인적사항] ";
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "Y"); // 인적사항 저장여부
- //------------------------------------------------------------------------------
- // 재계산할 항목이 변경된 경우 체크(외래)
- //------------------------------------------------------------------------------
- // 1. 공상구분
- var init_offcharm = model.getValue("/root/hidden/item1/initclbs/clbs/offcharm");
- var current_offcharm = model.getValue("/root/main/item1/clbs/offcharm");
- if (init_offcharm != current_offcharm) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
-
- // 2. 6세미만
- var init_undersixageyn = model.getValue("/root/hidden/item1/initclbs/clbs/undersixageyn");
- var current_undersixageyn = model.getValue("/root/main/item1/clbs/undersixageyn");
- if (init_undersixageyn != current_undersixageyn) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
-
- // 3. 진료횟수(의료급여 정액계산)
- var init_ordtims = model.getValue("/root/hidden/item1/initclbs/clbs/ordtims");
- var current_ordtims = model.getValue("/root/main/item1/clbs/ordtims");
-
- // 4. 직접조제횟수(의료급여 정액계산)
- var init_direcprcptims = model.getValue("/root/hidden/item1/initclbs/clbs/direcprcptims");
- var current_direcprcptims = model.getValue("/root/main/item1/clbs/direcprcptims");
-
- var instcd = model.getValue("/root/main/item1/clbs/instcd");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- // 외래 의료급여 1종 본인부담 정액
- if (insukind == "21") {
- if (init_ordtims != current_ordtims) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- } else if (init_direcprcptims != current_direcprcptims) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- }
- // 외래 의료급여 2종 본인부담 정액 [제2차의료급여기관 만성질환자] : 012.강남성모병원, 013.여의도성모병원을 제외한 병원
- else if (insukind == "22" && !(instcd == "012" || instcd == "013")) {
- if (init_ordtims != current_ordtims) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- } else if (init_direcprcptims != current_direcprcptims) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- }
-
- // 4. 의료급여 본인부담코드
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukind.substr(0, 1) == "2") {
- var init_ownbflag = model.getValue("/root/hidden/item1/initclbs/clbs/ownbflag");
- var current_ownbflag = model.getValue("/root/main/item1/clbs/ownbflag");
- init_ownbflag = init_ownbflag.substr(0, 1)
- current_ownbflag = current_ownbflag.substr(0, 1)
- if (init_ownbflag != current_ownbflag) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- }
-
- // 5. 예약검사구분
- var init_rsvordgubn = model.getValue("/root/hidden/item1/initclbs/clbs/rsvordgubn");
- var current_rsvordgubn = model.getValue("/root/main/item1/clbs/rsvordgubn");
- if (init_rsvordgubn != current_rsvordgubn) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- }
- // 심사상태를 '저장' 또는 '심사완료' 상태로 저장한다.
- model.makeValue("/root/send/item1/clbs/judgendyn", judgendyn); // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- } else {
- isValidCheck = false;
- }
-
- // 심사메모
- var initmemo = instance1.selectNodesXml("/root/hidden/item1/initmemo/memo");
- var currentmemo = instance1.selectNodesXml("/root/main/item1/memo");
- if (initmemo != currentmemo) {
- // 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo").getTrim();
- var judgmemorepeat = model.getValue("/root/main/item1/memo/judgmemorepeat");
- var edimemo = model.getValue("/root/main/item1/memo/edimemo").getTrim();
- var edimemorepeat = model.getValue("/root/main/item1/memo/edimemorepeat");
- var noChange = true;
- if (judgmemo != model.getValue("/root/hidden/item1/initmemo/memo/judgmemo").getTrim()) {
- fSetJudgEDIMemo(judgmemo, "Y");
- noChange = false; // 심사자메모가 변경된 경우임
- }
- else if (judgmemo != "" && judgmemorepeat != model.getValue("/root/hidden/item1/initmemo/memo/judgmemorepeat")) {
- fSetJudgEDIMemo(judgmemo, "Y");
- noChange = false; // 심사자메모 반복 설정이 변경된 경우임
- }
- if (edimemo != model.getValue("/root/hidden/item1/initmemo/memo/edimemo").getTrim()) {
- fSetJudgEDIMemo(edimemo, "N");
- noChange = false; // EDI청구메모가 변경된 경우임
- }
- else if (edimemo != "" && edimemorepeat != model.getValue("/root/hidden/item1/initmemo/memo/edimemorepeat")) {
- fSetJudgEDIMemo(edimemo, "N");
- noChange = false; // EDI청구메모 반복 설정이 변경된 경우임
- }
- if (noChange == false) {
- saveOkMsg += "[심사메모] ";
- } else {
- saveNoMsg += "[심사메모] ";
- }
- } else {
- saveNoMsg += "[심사메모] ";
- }
-
- // CLDI 저장전 점검
- if (fCheckSaveOutAftJudgInfoCLDI(judgendyn)) {
- // 상병
- var licnsflag = "";
- var licnsno = "";
- var diagseq = "";
- for (var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- diagseq = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("diagseq"));
- licnsflag = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("licnsflag"));
- licnsno = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("licnsno"));
- if (grd_cldihist.rowstatus(j) == 4 && diagseq.substr(0, 1) == "D") {
- model.setValue("/root/main/list1/cldi["+ j +"]/diagseq", diagseq.substr(1, diagseq.length));
- }
- if ((diagseq == "1" && grd_cldihist.rowstatus(j) == 0) && (licnsflag == "" || licnsflag == "-" || licnsno == "-" || licnsno == "-")) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- var updtdata = getGridUpdateData(grd_cldihist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list1/cldi", updtdata);
- }
- if (updtdata != "" && grd_cldihist.rows > 1) { // 타이틀 부분으로 인해 data가 없어도 rows = 1 임.
- // <table id="list1/cldi" count_ref="cldi" min_count="1"> 로 인해 빈줄이 제거된 경우에도 delete 처리를 하므로
- // Grid 상에 데이터가 있는지를 확인한다.
- saveOkMsg += "[상병] ";
- } else {
- saveNoMsg += "[상병] ";
- }
- } else {
- isValidCheck = false;
- }
-
- // CLSP 저장전 점검
- if (fCheckSaveOutAftJudgInfoCLSP()) {
- var updtdata = getGridUpdateData(grd_clsphist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
- if (updtdata != "" && grd_clsphist.rows > 1) {
- saveOkMsg += "[특정내역] ";
- } else {
- saveNoMsg += "[특정내역] ";
- }
- } else {
- isValidCheck = false;
- }
-
- // CLOD 저장전 점검
- if (fCheckSaveOutAftJudgInfoCLOD()) {
- // 처방
- var updtdata = getGridUpdateData(grd_clodhist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list2/clod", updtdata);
- }
- if (updtdata != "" && (grd_clodhist.rows > 1 || grd_delclod.rows > 1)) {
- saveOkMsg += "[처방] ";
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- } else {
- saveNoMsg += "[처방] ";
- }
-
- } else {
- isValidCheck = false;
- }
-
- // CLOP 저장전 점검
- if (fCheckSaveOutAftJudgInfoCLOP()) {
- // 처방
- var updtdata = getGridUpdateData(grd_oprcphist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list7/clop", updtdata);
- }
- if (updtdata != "" && grd_oprcphist.rows > 1) {
- saveOkMsg += "[원외처방] ";
- model.makeValue("/root/send/item1/clbs/reclopedilnnoyn", "Y"); // 저장 시에 줄번호생성 다시할지 여부를 설정함
- } else {
- saveNoMsg += "[원외처방] ";
- }
- } else {
- isValidCheck = false;
- }
-
-
- // PIFHIUNC 재청구 차액발생사유 점검....
- if (fCheckSaveReClamChangeAmt()) {
- var resncd = fSetReClamChgAmtResncd();
-
- if (resncd) {
- saveOkMsg += "[재청구 차액발생사유] ";
- } else {
- saveNoMsg += "[재청구 차액발생사유] ";
- }
- }
-
- //2011-03-23 저장시 무조건 재계산 한다.
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
-
- if(btn_end.disabled == true && model.getValue("/root/main/item1/clbs/judgendyn") == "D") {
- messageBox( "버튼이 비활성화 이거나 심사일로 부터 15일이 경과 된 경우 완료 할 수", "I004");
- return false;
- }
-
- //기재점검 중증, 산정특례 여부 체크
- if (fGetDiagSpclcdCheck() == false) {
- return false;
- } else {
- //fSaveOutAftJudg("B");
- }
-
-
- if (isValidCheck) {
-
- if (saveOkMsg) {
-
- if (model.getValue("/root/send/list3/clsp")) {
- // 특정내역 삭제상태 값 설정은 submit을 보내기 전에 한다.
- for (var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ j +"]/seqno");
- if (spclLnNo.substr(0, 1) == "D") {
- model.setValue("/root/main/list3/clsp["+ j +"]/seqno", spclLnNo.substr(1, spclLnNo.length));
- }
- }
- // 줄단위 특정내역 중 기타메모(JX999)를 특정내역 형식에 맞춰 설정한다.
- fSetSpclSpecJX999();
-
- var updtdata = getGridUpdateData(grd_clsphist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
-
- if (submit("TXPID20301")) {
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- grd_cldihist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- grd_clsphist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- grd_clodhist.clearStatus();
- grd_delclod.clearStatus();
- grd_oprcphist.clearStatus();
-
- /*
- // 중증, 산정특례 여부 체크
- btn_esscdiag.dispatch("DOMActivate"); // 중증질환
- if (model.getValue("/root/send/item4/endclbs/suppkind")) {
- model.makeValue("/root/send/item4/endclbs/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item4/endclbs/ordtodd", model.getValue("/root/main/item1/clbs/ordtodd"));
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- if (judgendyn != "B") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- model.setValue("/root/main/item1/clbs/judgendyn", judgendyn);
- }
- submit("TXPID20302");
- }
- */
-
- if (judgendyn == "B") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- // 저장 후 결과를 다시 조회하기 위해
- model.resetInstanceNode("/root/hidden/smpid20400/rslt");
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid" , pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn" , pidsn);
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", selectedRow);
- model.setValue("/root/hidden/smpid20400/rslt/cutprcpyn", cutprcpyn); // 20100302 추가
- model.setValue("/root/hidden/smpid20400/rslt/tootpopupyn", tootpopupyn); // 20100402 추가
- // 저장후 재조회 여부
- model.setValue("/root/hidden/reselect", "Y");
- fGetOutAftJudgMngt();
- fSetJudgSaveState("B"); // 심사완료여부 (P0151) - B: 심사중
- }
- // C: 심사완료의 경우, 저장 후 결과를 다시 조회하기 위해
- return "true";
- }
- }
- else if (saveNoMsg) {
- // 중증, 산정특례 여부 체크
- //btn_esscdiag.dispatch("DOMActivate"); // 중증질환
- if (judgendyn != "B") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- return "false";
- } else {
- /*
- if (model.getValue("/root/send/item4/endclbs/suppkind")) {
- model.makeValue("/root/send/item4/endclbs/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item4/endclbs/ordtodd", model.getValue("/root/main/item1/clbs/ordtodd"));
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/clamdg", clamdg);
- model.makeValue("/root/send/item4/endclbs/pid", pid);
- model.makeValue("/root/send/item4/endclbs/pidsn", pidsn);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- submit("TXPID20302");
- //model.setValue("/root/main/item1/clbs/rowstat", "");
- // 요율이 바뀌었으므로 현재 대상자 정보를 다시 조회해서 보여줘야 함
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- model.resetInstanceNode("/root/hidden/smpid20400/rslt");
- model.setValue("/root/hidden/smpid20400/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid" , pid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn" , pidsn);
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", selectedRow);
- fGetOutAftJudgMngt();
- fSetJudgSaveState("B"); // 심사완료여부 (P0151) - B: 심사중
- }
- */
- }
- }
- } else { // isValidCheck == false
- // 상병
- for (var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- if (grd_cldihist.rowstatus(j) == 4) { // && diagseq.substr(0, 1) == "D"
- var diagseq = model.getValue("/root/main/list1/cldi["+ j +"]/diagseq");
- model.setValue("/root/main/list1/cldi["+ j +"]/diagseq", "D" + diagseq);
- }
- }
- if (grd_clsphist.rows == 1) {
- fSpclGridInsertRow(); // 특정내역 줄추가
- }
- }
-
- } else {
- messageBox("변경된 정보를 저장할 사후심사 대상자가", "I004"); ///변경된 정보를 저장할 사후심사 대상자가 없습니다.
- }
- }
- //----------------------------------
- // CLBS 저장전 점검
- //----------------------------------
- function fCheckSaveOutAftJudgCLBS() {
-
- if (model.getValue("/root/main/item1/clbs/clamym") == "") {
- messageBox("청구년월이", "I004"); ///청구년월이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/clamdg") == "") {
- messageBox("청구차수가", "I004"); ///청구차수가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/pid") == "") {
- messageBox("등록번호가", "I004"); ///등록번호가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/patnm") == "") {
- messageBox("환자이름이", "I004"); ///환자이름이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/patrrgstno") == "") {
- messageBox("주민번호가", "I004"); ///주민번호가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/insukindcd") == "") {
- messageBox("보험유형이", "I004"); ///보험유형이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/suppkindcd") == "") {
- messageBox("보조유형이", "I004"); //보조유형이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/payownbrate") =="") {
- messageBox("올바른 보조유형을", "C002"); ///올바른 보조유형을 선택하십시오.
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/ordrsltcd") == "") {
- messageBox("진료결과가", "I004"); ///진료결과가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/insuno") == "") {
- messageBox("조합기호가", "I004"); ///조합기호가 없습니다
- return false;
- }
- if (!model.getValue("/root/main/item1/clbs/insukind") == "31") {
- if (model.getValue("/root/main/item1/clbs/certno") == "") {
- messageBox("증번호가", "I004"); ///증번호가 없습니다
- return false;
- }
- }
- if ( model.getValue("/root/main/item1/clbs/suppkind") != model.getValue("/root/main/item1/clbs/suppkindcd") ) {
- if (model.getValue("/root/main/item1/clbs/suppkindchgresn") == "") {
- messageBox("자격수정사유가", "I004"); ///증번호가 없습니다
- return false;
- }
- }
- return true;
- }
-
- //----------------------------------
- // CLDI 저장전 점검
- //----------------------------------
- function fCheckSaveOutAftJudgInfoCLDI(judgendyn) {
-
- // 먼저 빈 줄을 삭제한다.
- var delcldiCheck = false;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- var rowstatus = grd_cldihist.rowstatus(i);
- var diagcd = model.getValue("/root/main/list1/cldi["+ i +"]/diagcd");
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- if (diagcd == "") {
- // 줄을 삭제한다.
- grd_cldihist.deleteRow(i, false);
- i--;
- delcldiCheck = true;
- }
- }
- }
- // 빈줄을 삭제한 경우 상병순서를 다시 부여한다.
- if (delcldiCheck) {
- var seq = 1;
- for (var i = 1; i < grd_cldihist.rows; i++) {
- var rowstatus = grd_cldihist.rowstatus(i);
- if (rowstatus != 4) {
- model.setValue("/root/main/list1/cldi["+ i +"]/diagseq", seq++);
- }
- }
- }
- // 저장할 정보를 체크한다.
- var cldiList = instance1.selectSingleNode("/root/main/list1"); //root/main/list1
- if (cldiList == null) {
- return false;
- }
- var cldiNode = cldiList.childNodes; //root/main/list1/cldi
-
-
- if (cldiNode.length == 0 && (judgendyn == "C")) {
- messageBox("상병이 입력되지", "E007"); ///상병이 입력되지 않았습니다.
- return false;
- } else {
- for (var i = 1; i <= cldiNode.length; i++) {
- var diagcd = model.getValue("/root/main/list1/cldi["+ i +"]/diagcd");
- var toot = model.getValue("/root/main/list1/cldi["+ i +"]/toot");
-
- if (diagcd == "") {
- //messageBox("상병코드가 입력되지", "E007"); ///상병코드가 입력되지 않았습니다.
- //return false;
- model.removeNode("/root/main/list1/cldi["+ i +"]");
- grd_cldihist.refresh();
- }
- else {
- var diagseq = model.getValue("/root/main/list1/cldi["+ i +"]/diagseq");
- for (var j = 1; j < i; j++) {
- var prediagseq = model.getValue("/root/main/list1/cldi["+ j +"]/diagseq");
- var prediagcd = model.getValue("/root/main/list1/cldi["+ j +"]/diagcd");
- var pretoot = model.getValue("/root/main/list1/cldi["+ j +"]/toot");
-
- if (grd_cldihist.rowstatus(i) != 4) {
- // 중복된 상병 NO가 있는 경우
- if (diagseq == prediagseq) {
- messageBox("상병순서 '"+ diagseq +"'가", "E006"); ///상병순서 '***'가 중복되었습니다.
- return false;
- }
- // 중복된 상병코드가 있는 경우(상병과 치식을 모두 체크한다.)
- if (diagcd == prediagcd && toot == pretoot) {
- messageBox("상병코드 '"+ diagcd +"'가", "E006"); ///상병코드 '***'가 중복되었습니다.
- return false;
- }
- }
- }
- if (model.getValue("/root/main/list1/cldi["+ i +"]/toot") == "") { // 치식이 입력되지 않은 경우
- model.setValue("/root/main/list1/cldi["+ i +"]/toot", "-");
- }
- }
- }
- }
- return true;
- }
-
- //--------------------------------------
- // CLSP 저장전 점검
- //--------------------------------------
- function fCheckSaveOutAftJudgInfoCLSP() {
- // 먼저 빈 줄을 삭제한다.
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(i, false);
- i--;
- }
- }
- // 저장할 정보를 체크한다.
- var clspList = instance1.selectSingleNode("/root/main/list3"); //root/main/list3
- if (clspList == null) {
- return false;
- }
- var clspNode = clspList.childNodes; //root/main/list3/clsp
- for (var i = 1; i <= clspNode.length; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- if (spclcd == "" || spclspec == "") {
- //2009-01-29
- //messageBox("특정코드 또는 특정내역이 입력되지", "E007"); ///특정코드 또는 특정내역이 입력되지 않았습니다.
- model.removeNode("/root/main/list3/clsp["+i+"]");
- grd_clsphist.refresh();
- //return false;
- }
- else if (spclcd == "MX999" || spclcd == "MT015" || spclcd == "MT016" || spclcd == "MT004") {
- for (var j = 1; j < i; j++) {
- var prespclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- // 중복된 명세서 단위 특정코드가 있는 경우
- if (grd_clsphist.rowstatus(i) != 4 && spclcd == prespclcd) {
- messageBox("명세서 단위 특정코드 '"+ spclcd +"'가", "E006"); ///명세서 단위 특정코드 '***'가 중복되었습니다.
- return false;
- }
- }
- }
- }
- return true;
- }
-
- //--------------------------------------
- // CLOD 저장전 점검
- //--------------------------------------
- function fCheckSaveOutAftJudgInfoCLOD() {
- // 먼저 빈 줄을 삭제한다.
- for (var i = 1; i < grd_clodhist.rows; i++) {
- var rowstatus = grd_clodhist.rowstatus(i);
- var seqno = model.getValue("/root/main/list2/clod["+ i +"]/seqno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- var basecd = model.getValue("/root/main/list2/clod["+ i +"]/basecd");
- var drugqty = model.getValue("/root/main/list2/clod["+ i +"]/drugqty");
- var edidrugqty = model.getValue("/root/main/list2/clod["+ i +"]/edidrugqty");
- var tims = model.getValue("/root/main/list2/clod["+ i +"]/tims");
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- var edidayno = model.getValue("/root/main/list2/clod["+ i +"]/edidayno");
- var ordfromdd = model.getValue("/root/main/list2/clod["+ i +"]/ordfromdd");
-
- // 처방일련번호가 부여되지 않고,
- // 수가코드, EDI코드, 투여량, 횟수, 일수, 처방일자가 입력되지 않은 경우
- if (rowstatus != 4 && seqno == "" && snglcalcscorcd == "" && basecd == "" && drugqty == "" && tims == "" && dayno == "" && edidrugqty == "" && edidayno == "" && ordfromdd == "") {
- // 줄을 삭제한다.
- grd_clodhist.deleteRow(i, false);
- i--;
- }
- }
- // 저장할 정보를 체크한다.
- // 처방 Grid
- var clodList = instance1.selectSingleNode("/root/main/list2"); //root/main/list2
- if (clodList == null) {
- return false;
- }
- var clodNode = clodList.childNodes; //root/main/list2/clod
- for (var i = 1; i <= clodNode.length; i++) {
- var seqno = model.getValue("/root/main/list2/clod["+ i +"]/seqno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- var basecd = model.getValue("/root/main/list2/clod["+ i +"]/basecd");
- var drugqty = model.getValue("/root/main/list2/clod["+ i +"]/drugqty");
- var edidrugqty = model.getValue("/root/main/list2/clod["+ i +"]/edidrugqty");
- var tims = model.getValue("/root/main/list2/clod["+ i +"]/tims");
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- var edidayno = model.getValue("/root/main/list2/clod["+ i +"]/edidayno");
- var ordfromdd = model.getValue("/root/main/list2/clod["+ i +"]/ordfromdd");
- if (snglcalcscorcd != "" && basecd != "") {
- if (ordfromdd == "") {
- messageBox("수가코드 '"+ snglcalcscorcd +"'의 처방일자 정보가", "I004"); ///수가코드 '***'의 처방일자 정보가 없습니다.
- return false;
- }
- else if (drugqty == "" || tims == "" || dayno == "" || edidrugqty == "" || edidayno == "") {
- messageBox("수가코드 '"+ snglcalcscorcd +"'의 투여량 정보가", "I004"); ///수가코드 '***'의 투여량 정보가 없습니다.
- return false;
- }
- }
- }
- return true;
- }
- //--------------------------------------
- // CLOP 저장전 점검
- //--------------------------------------
- function fCheckSaveOutAftJudgInfoCLOP() {
- // 저장할 정보를 체크한다.
- // 원외처방 Grid
- var clopList = instance1.selectSingleNode("/root/main/list7"); //root/main/list7
- if (clopList == null) {
- return true;
- }
- var clopNode = clopList.childNodes; //root/main/list7/clop
- for (var i = 1; i <= clopNode.length; i++) {
- //if ( !isValidDateTime(model.getValue("/root/main/list7/clop["+ i +"]/clopdd"),"YYYYMMDD") ) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- // messageBox("올바른 형식의 원외처방 교부일자를", "C001"); ///올바른 형식의 원외처방 교부일자를 입력하십시오.
- // return false;
- //}
- if ( model.getValue("/root/main/list7/clop["+ i +"]/snglcalcscorcd") == "" ) {
- messageBox("원외처방 수가코드를", "C001"); ///원외처방 수가코드를 입력하십시오.
- return false;
- }
- // 20100512 일단제외.. 9(병원가)..
- //if ( model.getValue("/root/main/list7/clop["+ i +"]/edicdflag") != "3" ) {
- // messageBox("입력된 원외처방이 약제가 아닌것이", "E005"); ///입력된 원외처방이 약제가 아닌것이 선택되었습니다.
- // return false;
- //}
-
- //var clopdd = model.getValue("/root/main/list7/clop["+ i +"]/clopdd");
- //var clopno = model.getValue("/root/main/list7/clop["+ i +"]/clopno");
- //if (isValidDateTime(clopdd)) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- // if (clopno == "") {
- // messageBox("원외처방 교부일자 '"+ clopdd +"'의 교부번호가", "I004"); ///원외처방 교부일자 '***'의 교부번호가 없습니다.
- // return false;
- // } else {
- // messageBox("올바른 형식의 원외처방 교부일자를", "C001"); ///올바른 형식의 원외처방 교부일자를 입력하십시오.
- // return false;
- // }
- //}
- }
- return true;
- }
- //----------------------------
- // 이전 명세서 목록
- //----------------------------
- function fPreListOnDblClick() {
-
- //if (grd_predocu.isCell(event.target) && grd_predocu.mouseRow >= grd_predocu.fixedrows) {
- if (grd_predocu.row >= grd_predocu.fixedrows) {
- var row = grd_predocu.row;
- var clamym = model.getValue("/root/main/list4/clbs["+ row +"]/clamym");
- var clamdg = model.getValue("/root/main/list4/clbs["+ row +"]/clamdg");
- var pid = model.getValue("/root/main/list4/clbs["+ row +"]/pid");
- var pidsn = model.getValue("/root/main/list4/clbs["+ row +"]/pidsn");
- if ((clamym == model.getValue("/root/main/item1/clbs/clamym"))
- && (clamdg == model.getValue("/root/main/item1/clbs/clamdg"))
- && (pid == model.getValue("/root/main/item1/clbs/pid"))
- && (pidsn == model.getValue("/root/main/item1/clbs/pidsn"))) {
- messageBox("현재 심사중인 명세서와 동일한 명세서가", "E005"); ///현재 심사중인 명세서와 동일한 명세서가 선택되었습니다.
- return;
- }
- if (clamym) {
- var ioflag = model.getValue("/root/main/list4/clbs["+ row +"]/ioflag");
- if (ioflag == "I") {
- var preDocuWindow = getChildWindow("SMPID20500");
- if (preDocuWindow != null) {
- var rslt = preDocuWindow.javascript.fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- activateChild("SMPID20500");
- return false;
- }
- preDocuWindow.close();
- }
- preDocuWindow = getChildWindow("SMPID20300");
- if (preDocuWindow == null) {
- model.setValue("/root/send/item1/clbs/workflag", "12");
- model.setValue("/root/send/item1/clbs/clamym", clamym);
- model.setValue("/root/send/item1/clbs/clamdg", clamdg);
- model.setValue("/root/send/item1/clbs/pid", pid);
- model.setValue("/root/send/item1/clbs/pidsn", pidsn);
- model.setValue("/root/send/item1/clbs/ioflag", "I");
- open("SMPID20300", "2", "10", "10", "SMPID20300", "/root/send/item1/clbs", "/root/send/item1/clbs", "", ""); // SMPID20300_입원사후심사관리
- } else { // 이전명세서 용도의 SMPID20300_입원사후심사관리 Popup 화면이 이미 열려있는 경우
- model.setValue("/root/hidden/smpid20300/cond/workflag", "12");
- model.setValue("/root/hidden/smpid20300/cond/clamym", clamym);
- model.setValue("/root/hidden/smpid20300/cond/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20300/cond/pid", pid);
- model.setValue("/root/hidden/smpid20300/cond/pidsn", pidsn);
- model.setValue("/root/hidden/smpid20300/cond/ioflag", "I");
- preDocuWindow.javascript.fActivatePreDocuWindow();
- activateChild("SMPID20300");
- }
- } else {
- var preDocuWindow = getChildWindow("SMPID20300");
- if (preDocuWindow != null) {
- var rslt = preDocuWindow.javascript.fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- activateChild("SMPID20300");
- return false;
- }
- preDocuWindow.close();
- }
- preDocuWindow = getChildWindow("SMPID20500"); // SMPID20500_외래사후심사관리.xrw
- if (preDocuWindow == null) {
- model.setValue("/root/send/item1/clbs/workflag", "12");
- model.setValue("/root/send/item1/clbs/clamym", clamym);
- model.setValue("/root/send/item1/clbs/clamdg", clamdg);
- model.setValue("/root/send/item1/clbs/pid", pid);
- model.setValue("/root/send/item1/clbs/pidsn", pidsn);
- model.setValue("/root/send/item1/clbs/ioflag", "O");
- open("SMPID20500", "2", "10", "10", "SMPID20500", "/root/send/item1/clbs", "/root/send/item1/clbs", "", ""); // SMPID20500_외래사후심사관리
- } else {
- model.setValue("/root/hidden/smpid20500/cond/workflag", "12");
- model.setValue("/root/hidden/smpid20500/cond/clamym", clamym);
- model.setValue("/root/hidden/smpid20500/cond/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20500/cond/pid", pid);
- model.setValue("/root/hidden/smpid20500/cond/pidsn", pidsn);
- model.setValue("/root/hidden/smpid20500/cond/ioflag", "O");
- preDocuWindow.javascript.fActivatePreDocuWindow();
- activateChild("SMPID20500");
- }
- }
- }
- }
- }
- // 트리뷰 조회 ( 타메뉴조회시 )
- function fTrvOnClick(trgtWindow) {
-
- // 1.이력조회 - 환자진료정보
- if (trgtWindow == "SMMMO02500") {
- fOpenSMMMO02500_1(model.getValue("/root/main/item1/clbs/pid"));
-
- // 1.이력조회 - 환자상세내역
- } else if (trgtWindow == "SMPMC01900") {
- fOpenSMPMC01900(model.getValue("/root/main/item1/clbs/pid"));
-
- // 1.이력조회 - 외래등록조회
- } else if (trgtWindow == "SMPMO00600") {
- fOpenSMPMO00600(model.getValue("/root/main/item1/clbs/pid"));
-
- // 1.이력조회 - 청구및자료수집이력
- } else if (trgtWindow == "SMPIS00100") {
- fOpenSMPIS00100("O"
- , ""
- , model.getValue("/root/main/item1/clbs/pid")
- );
-
- // 1.이력조회 - 환자별 삭감이력
- } else if (trgtWindow == "SMPID20900") {
- fOpenSMPID20900(model.getValue("/root/main/item1/clbs/pid"));
-
- // 1.이력조회 - 처방별 환자조회(처방/시행)
- } else if (trgtWindow == "SMPIS00500") {
- fOpenSMPIS00500("P"
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , "O"
- , ""//model.getValue("/root/main/item1/clbs/orddeptcd")
- , ""//model.getValue("/root/main/item1/clbs/orddrid")
- , "calcscorcd"
- , ""
- , model.getValue("/root/main/item1/clbs/pid")
- );
-
- // 1.이력조회 - 처방별 환자조회(청구/삭감)
- } else if (trgtWindow == "SMPIS00600") {
- fOpenSMPIS00600(model.getValue("/root/main/item1/clbs/clamflagcd")
- , model.getValue("/root/main/item1/clbs/clamym")
- , model.getValue("/root/main/item1/clbs/clamym")
- , model.getValue("/root/main/item1/clbs/clamdg")
- , model.getValue("/root/main/item1/clbs/clamym")
- , model.getValue("/root/main/item1/clbs/clamdg")
- , ""//model.getValue("/root/main/item1/clbs/insukindcd")
- , model.getValue("/root/main/item1/clbs/ioflag")
- , model.getValue("/root/main/item1/clbs/clamdeptcd")
- , ""//model.getValue("/root/main/item1/clbs/orddeptcd")
- , ""//model.getValue("/root/main/item1/clbs/orddrid")
- , "calcscorcd"
- , ""
- , model.getValue("/root/main/item1/clbs/pid")
- );
-
- // 2.환자정보 - 입원의뢰서
- } else if (trgtWindow == "SPMMO00100") {
- return;
-
- // 2.환자정보 - 카덱스조회
- } else if (trgtWindow == "SMMNB00200") {
- return;
-
- // 2.환자정보 - 병기분류조회
- } else if (trgtWindow == "SPMMO08500") {
- fOpenSPMMO08500();
-
- // 2.환자정보 - 중증등록신청서
- } else if (trgtWindow == "SMMRD00200") {
- fOpenSMMRD00200(model.getValue("/root/main/item1/clbs/pid"), "O");
-
- // 2.환자정보 - 중증등록사항
- } else if (trgtWindow == "SPMRD00900") {
- fOpenSPMRD00900(model.getValue("/root/main/item1/clbs/pid"), "O");
-
- // 2.환자정보 - 병원감염대상자기록
- } else if (trgtWindow == "SMASI00100") {
- return;
-
- // 2.환자정보 - 환자별영양관리
- } else if (trgtWindow == "SMANC00300") {
- return;
-
- // 2.환자정보 - NST환자관리
- } else if (trgtWindow == "SMADC02600") {
- return;
-
- // 2.환자정보 - 피부욕창기록
- } else if (trgtWindow == "SMMNW04700") {
- return;
-
- // 2.환자정보 - 중증도및위험사정
- } else if (trgtWindow == "SMMNW04000") {
- return;
-
- // 2.환자정보 - 투석간호정보
- } else if (trgtWindow == "SMMND00300") {
- fOpenSMMND00300();
-
- // 2.환자정보 -희귀난치등록신청서
- } else if (trgtWindow == "SMMRD02000") {
- fOpenSMMRD02000(model.getValue("/root/main/item1/clbs/pid"));
-
- // 2.환자정보 -휘귀난치등록사항
- }else if (trgtWindow == "SPMRD02100") {
- fOpenSPMRD02100(model.getValue("/root/main/item1/clbs/pid"));
-
- // 2.환자정보 - 항암제투여현황
- } else if (trgtWindow == "SMPIJ02900") {
- fOpenSMPIJ02900(model.getValue("/root/main/item1/clbs/pid"));
-
- // 3.자격정보 - 환자기본정보관리
- } else if (trgtWindow == "SMPMC01400") {
- fOpenSMPMC01400(model.getValue("/root/main/item1/clbs/pid"), "1");
-
- // 3.자격정보 - 재원변경관리
- } else if (trgtWindow == "SMPMI00400") {
- return;
-
- // 3.자격정보 - 자보환자관리
- } else if (trgtWindow == "SMPMC02600") {
- fOpenSMPMC02600(model.getValue("/root/main/item1/clbs/pid"));
-
- // 3.자격정보 - 산재공상환자관리
- } else if (trgtWindow == "SMPMC02700") {
- fOpenSMPMC02700(model.getValue("/root/main/item1/clbs/pid"));
-
- // 3.자격정보 - 장애인환자관리
- } else if (trgtWindow == "SMPMC01700") {
- fOpenSMPMC01700();
-
- // 3.자격정보 - 선택진료관리
- } else if (trgtWindow == "SMPMC06500") {
- fOpenSMPMC06500(model.getValue("/root/main/item1/clbs/pid"));
-
- // 4.처방조회 - 처방상태조회
- } else if (trgtWindow == "SMPIJ01200") {
- var todd = getCurrentDate();
- fOpenSMPIJ01200_1(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- , ""
- , model.getValue("/root/main/item1/clbs/indd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , todd
- , "5"
- );
-
- // 4.처방조회 - 식사력조회
- } else if (trgtWindow == "SMANT01000") {
- return;
-
- // 4.처방조회 - 수혈조회
- } else if (trgtWindow == "SMMNR01000") {
- fOpenSMMNR01000(model.getValue("/root/main/item1/iteminfo/pid"), "OPRC2");
-
- // 4.처방조회 - 수혈현황조회
- } else if (trgtWindow == "SMMNR04600") {
- fOpenSMMNR04600();
-
- // 4.처방조회 - 검사진행현황
- } else if (trgtWindow == "SMAEA00500") {
- var fromdd = getCurrentDate().toDate().getAddDate(-1,"M").getDateFormat("YYYYMMDD");
- var todd = getCurrentDate();
- fOpenSMAEA00500("prcpdd"
- , fromdd
- , todd
- , ""
- , ""
- , model.getValue("/root/main/item1/clbs/orddeptcd")
- , "I"
- , ""
- , model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- );
-
- // 4.처방조회 - 개인별예약현황
- } else if (trgtWindow == "SMAEA00300") {
- fOpenSMAEA00300(model.getValue("/root/main/item1/clbs/pid"));
- // 4.처방조회 - CRRT내역
- } else if (trgtWindow == "SMMNW09100") {
- return;
- // 4.처방조회 - 입원기간중외래미실행오더조회
- } else if (trgtWindow == "SMMNW09100") {
- return;
-
- // 4.처방조회 - 시행부서 처방
- } else if (trgtWindow == "SMMMO00200") {
- return;
- // 4.처방조회 - 판독신청
- } else if (trgtWindow == "SMAEF00100") {
- fOpenSMAEF00100(model.getValue("/root/main/item1/clbs/pid"));
- // 4.처방조회 - 수혈심사
- } else if (trgtWindow == "SPPIZ01800") {
- fOpenSPPIZ01800(model.getValue("/root/main/item1/iteminfo/pid")
- , model.getValue("/root/main/item1/iteminfo/patnm")
- , model.getValue("/root/main/item1/iteminfo/age")
- , model.getValue("/root/main/item1/iteminfo/gender")
- , model.getValue("/root/main/item1/iteminfo/indd"));
-
- // 4.처방조회 - 처방조회
- } else if (trgtWindow == "SPPIZ01800") {
- fOpenSPPIZ01800(model.getValue("/root/main/item1/iteminfo/pid")
- , model.getValue("/root/main/item1/iteminfo/patnm"));
-
- // 4.처방조회 - 특수조제실처방조회
- } else if (trgtWindow == "SPPIZ01800") {
- fOpenSPPIZ01800(model.getValue("/root/main/item1/iteminfo/pid"));
-
- // 4.처방조회 - 병리조직결과조회
- } else if (trgtWindow == "SPPIZ01800") {
- fOpenSPPIZ01800(model.getValue("/root/main/item1/iteminfo/pid"));
-
-
-
- // 5.투약정보 - 투약이력
- } else if (trgtWindow == "SPMMO02400") {
- fOpenSPMMO02400_1(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- , model.getValue("/root/main/item1/clbs/gender")
- , model.getValue("/root/main/item1/clbs/patage")
- , model.getValue("/root/main/item1/clbs/ioflag")
- );
-
- // 5.투약정보 - 투약기록
- } else if (trgtWindow == "SMMNR04500") {
- var medrfromdd = model.getValue("/root/main/item1/clbs/indd").substr(0,6) + "01";
- fOpenSMMNR04500_1(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/indd")
- , model.getValue("/root/main/item1/clbs/cretno")
- , medrfromdd
- , model.getValue("/root/main/item1/clbs/indd")
- );
-
- // 5.투약정보 - 제한항생제
- } else if (trgtWindow == "SMASI00800") {
- var todd = getCurrentDate();
- fOpenSMASI00800("P"
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , todd
- , ""
- , "-"
- , model.getValue("/root/main/item1/clbs/orddeptcd")
- , model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- );
- // 5.투약정보 - 항암프로토콜
- } else if (trgtWindow == "SMADB01020") {
- model.setValue("/root/send/srchdata/pid", model.getValue("/root/main/item1/clbs/pid"));
- submit("TRADB01007");
-
- model.makevalue("/root/hidden/SMADB01020_cond/pid", model.getValue("/root/main/prtlhislist/item/pid"));
- model.makevalue("/root/hidden/SMADB01020_cond/cpgappno", model.getValue("/root/main/prtlhislist/item/cpgappno"));
- model.refreshpart("/root/hidden/SMADB01020_cond");
-
- fOpenSMADB01020_2();
- //} else if (trgtWindow == "SMADB01000") {
- // fOpenSMADB01000();
-
- // 5.투약정보 - 주사실액팅조회
- } else if (trgtWindow == "SMMNI00400") {
- fOpenSMMNI00400();
-
-
-
- // 6.진료비 - 진료비누적(사후)
- } else if (trgtWindow == "SPPID21300") {
- fOpenSPPID21300(model.getValue("/root/main/item1/clbs/clamym")
- , model.getValue("/root/main/item1/clbs/clamdg")
- , model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/pidsn")
- , model.getValue("/root/main/item1/clbs/insukindcd")
- , model.getValue("/root/main/item1/clbs/suppkindcd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- );
-
- // 6.진료비 - 입원진료비상세
- } else if (trgtWindow == "SMPAI00200") {
- return;
-
- // 6.진료비 - 외래수납조회
- } else if (trgtWindow == "SMPAO00300") {
- fOpenSMPAO00300(model.getValue("/root/main/item1/clbs/pid"));
- // 6.진료비 - 외래처방계산내역조회
- } else if (trgtWindow == "SMPMOTMP00") {
- fOpenSMPMOTMP00(model.getValue("/root/main/item1/clbs/pid"));
- // 6.진료비 - 예상진료비조회
- } else if (trgtWindow == "SMPAI00400") {
- fOpenSMPAI00400();
-
- // 6.진료비 - 급종변경전후금액조회
- } else if (trgtWindow == "SMPAI03600") {
- fOpenSMPAI03600(model.getValue("/root/main/item1/clbs/pid"));
-
-
- // 7.각종조회 - 약품편람
- } else if (trgtWindow == "SMADB01900") {
- fOpenSMADB01900();
-
- // 7.각종조회 - 의약품정보조회
- } else if (trgtWindow == "SMADB00100") {
- fOpenSMADB00100();
- // 7.각종조회 - 수가관리
- } else if (trgtWindow == "SMPIC00100") {
- fOpenSMPIC00100();
- // 7.각종조회 - 수가세부조회
- } else if (trgtWindow == "SMPIC00700") {
- fOpenSMPIC00700();
- // 7.각종조회 - 보험인정기준
- } else if (trgtWindow == "SPPIZ01600") {
- fOpenSPPIZ01600();
-
- // 7.각종조회 - 격리신청서
- } else if (trgtWindow == "SMASB02100") {
- fOpenSMASB02100(model.getValue("/root/main/item1/clbs/pid"));
- // 7.각종조회 - 수술마취스케줄조회
- } else if (trgtWindow == "SMMMO05100") {
- var optodd = getCurrentDate();
- fOpenSMMMO05100(model.getValue("/root/main/item1/clbs/ordfromdd")
- , optodd
- , model.getValue("/root/main/item1/clbs/patnm")
- , model.getValue("/root/main/item1/clbs/pid")
- , ""
- , ""
- , "T"
- , "00"
- , "-"
- , "-"
- , ""
- , ""
- , "T"
- , ""
- , ""
- );
- // 7.각종조회 - 수술마취의뢰서등록
- } else if (trgtWindow == "SPMMO00200") {
- var todd = getCurrentDate();
- fOpenSPMMO00200("O"
- , model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- , model.getValue("/root/main/item1/clbs/patage")
- , model.getValue("/root/main/item1/clbs/orddeptcd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , ""
- , ""
- , model.getValue("/root/main/item1/clbs/insukindcd")
- , model.getValue("/root/main/item1/clbs/suppkindcd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , todd
- );
-
- // 7.각종조회 - 수술심사대상조회
- } else if (trgtWindow == "SMMMO05101") {
- return;
-
- // 7.각종조회 - 입원/퇴원/재원조회
- } else if (trgtWindow == "SMPMI00700") {
- fOpenSMPMI00700("1"
- , "1"
- , ""
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , model.getValue("/root/main/item1/clbs/instcd")
- );
-
- // 7.각종조회 - 임상시험약속처방
- } else if (trgtWindow == "SMMMB08300") {
- fOpenSMMMB08300();
-
- // 7.각종조회 - 신규항암프로토콜조회
- } else if (trgtWindow == "SMADB00900") {
- fOpenSMADB00900();
-
- // 7.각종조회 - 보험유형코드관리
- } else if (trgtWindow == "SMPMB00200") {
- fOpenSMPMB00200();
-
- // 7.각종조회 - CP검색
- } else if (trgtWindow == "SPMMP01200_CP") {
- fOpenSPMMP01200_CP();
-
-
-
- // 8.EMR - 입퇴원요약기록지, 경과기록지
- } else if (trgtWindow == "SSMMR01100") {
- return;
-
- // 8.EMR - CONSULT
- } else if (trgtWindow == "SMMMR05000") {
- fOpenSMMMR05000_1(model.getValue("/root/main/item1/clbs/pid"));
-
- // 8.EMR - 임상관찰기록지
- } else if (trgtWindow == "SMMNR00900") {
- fOpenSMMNR00900_1(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , model.getValue("/root/main/item1/clbs/cretno")
- , model.getValue("/root/main/item1/clbs/instcd")
- );
- // 혈당간호기록
- } else if (trgtWindow == "SMMNR02500") {
- fOpenSMMNR02500();
- /*
- // 8.EMR - 간호일지
- } else if (trgtWindow == "SMMNR00700") {
- fOpenSMMNR00700();
- */
- // 8.EMR - 통합기록전체조회
- } else if (trgtWindow == "SMMRI00400") {
- fOpenSMMRI00400(model.getValue("/root/main/item1/clbs/pid"));
- // 9.응급실정보 - ERcensus
- } else if (trgtWindow == "SMMNE01300") {
- fOpenSMMNE01300();
- // 9.응급실정보 - 응급실triage
- } else if (trgtWindow == "SPMNE04400") {
- var sex = model.getValue("/root/main/item1/clbs/gender");
- if (sex == "남") {
- sex = "M";
- } else if (sex == "여") {
- sex = "F";
- }
- fOpenSPMNE04400_1(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , model.getValue("/root/main/item1/clbs/cretno")
- , sex
- , model.getValue("/root/main/item1/clbs/patage")
- , model.getValue("/root/main/item1/clbs/patnm")
- );
- // 9.응급실정보 - 응급의료관리료
- } else if (trgtWindow == "SMMMO06300") {
- fOpenSMMMO06300(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- );
- // 9.응급실정보 - 응급간호기록
- } else if (trgtWindow == "SMMNE04300") {
- fOpenSMMNE04300();
- // 10.이식정보 - HSCT원무관리
- } else if (trgtWindow == "SMPMC01600") {
- fOpenSMPMC01600();
-
- // 10.이식정보 - HSCT스케줄조회
- } else if (trgtWindow == "SMABO00800") {
- fOpenSMABO00800();
- // 10.이식정보 - HSCT환자별스케줄
- } else if (trgtWindow == "SMMMR02100") {
- fOpenSMMMR02100();
-
- // 10.이식정보 - 조혈모처리현황
- } else if (trgtWindow == "SMABC00900") {
- fOpenSMABC00900(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/patnm")
- , "main"
- );
-
- // 10.이식정보 - HSCT환자관리
- } else if (trgtWindow == "SMABO00100") {
- fOpenSMABO00100(model.getValue("/root/main/item1/clbs/pid"));
-
- // 10.이식정보 - 조혈모보관해동현황
- } else if (trgtWindow == "SMABC00300") {
- fOpenSMABC00300(model.getValue("/root/main/item1/clbs/pid")
- , model.getValue("/root/main/item1/clbs/ordfromdd")
- , ""
- , ""
- , ""
- );
- // 10.이식정보 - 장기이식
- } else if (trgtWindow == "SMPIB02400") {
- fOpenSMPIB02400();
- }
-
- }
- // 특정내역 Radio button
- function fSelectSpclRadio() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있으면
- var visibleRow = 0;
- var rdounitflag = model.getValue("/root/hidden/list3/selectedUnitFlag");
- if (rdounitflag == "-") {
- for (var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- } else if (model.getValue("/root/chkJT001") == 'Y' && (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JT001" || grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JX998") ) { //20091013 정승우 JT001제외 추가
- grd_clsphist.rowHidden(i) = true;
- } else {
- visibleRow++;
- }
- }
- } else if (rdounitflag == "M") {
- for (var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- }
- else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("unitflag")) != "M" ) {
- grd_clsphist.rowHidden(i) = true;
- } else {
- visibleRow++;
- }
- }
- } else if (rdounitflag == "J") {
- for (var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- }
- else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("unitflag")) != "J" ) {
- grd_clsphist.rowHidden(i) = true;
- }
- if (model.getValue("/root/chkJT001") == 'Y' && (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JT001" || grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JX998") ) {
- grd_clsphist.rowHidden(i) = true;
- }
- }
- visibleRow = 1; // 줄단위가 선택된 상태에서는 자동으로 행추가를 하지 않는다.
- } else { // rdounitflag == "JX999"
- for (var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- }
- else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) != "JX999" ) {
- grd_clsphist.rowHidden(i) = true;
- }
- }
- visibleRow = 1; // 줄단위가 선택된 상태에서는 자동으로 행추가를 하지 않는다.
- }
- if (checkAuth("X") && visibleRow == 0) { // 모든 row가 삭제 상태인 경우
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- } else {
- grd_clsphist.row = 0;
- }
- }
- }
- function fSpclGridChanged() {
-
- var row = grd_clsphist.row;
- var newspclcd = model.getValue("/root/main/list3/clsp["+ row +"]/spclcd");
- var newspclspec = model.getValue("/root/main/list3/clsp["+ row +"]/spclspec");
- var newsmpsno = model.getValue("/root/main/list3/clsp["+ row +"]/mpsno");
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외청방수
- var clopdd = model.getValue("/root/main/list7/clop[1]/clopdd");
- var clopno = model.getValue("/root/main/list7/clop[1]/clopno");
- if (grd_clsphist.col == grd_clsphist.colRef("spclcd")) {
- if( newspclcd == 'CT001'){
- model.setValue("/root/main/list3/clsp["+ row +"]/unitflag", "C");
- }
- if( newspclcd == 'CT002'){
- model.setValue("/root/main/list3/clsp["+ row +"]/unitflag", "C");
- if (snglcalcscorcdcnt > 0 || newsmpsno.length == 0 ) {
- model.setValue("/root/main/list3/clsp["+ row +"]/mpsno", clopdd + "" + clopno);
- }
- }
- var unitflag = model.getValue("/root/main/list3/clsp["+ row +"]/unitflag");
- if (unitflag == "M" && newspclcd != "") { // 명세서 단위
- if (newspclcd == "MT004" || newspclcd == "MT015" || newspclcd == "MT016" || newspclcd == "MX999") {
- // 중복된 특정코드가 있는지를 확인한다.
- var oth_spclcd = model.getValue("/root/main/list3/clsp[position()!="+row+" and spclcd='"+newspclcd+"' and insntstat!='D']/spclcd");
- if (newspclcd == oth_spclcd) {
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclspec");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclformat");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/cdnm");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/detldesc");
- model.setValue("/root/hidden/list3/msgspclformat", "명세서 단위 특정코드 '"+ newspclcd +"'가 중복되었습니다.");
- //model.refresh();
- model.refreshpart("/root/main/list3/clsp");
- return;
- }
- }
- // MT018:본인부담코드 변경시 clbs-ownbflag도 변경해줌
- if (newspclcd == "MT018" && newspclspec != "") {
- model.setValue("/root/main/item1/clbs/ownbflag", newspclspec);
- }
-
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
- } else { // 줄단위
- if (newspclcd == "JX999" || newspclcd == "JT001") {
- // 중복된 특정코드가 있는지를 확인한다.
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ row +"]/edilnno");
- var oth_spclcd = model.getValue("/root/main/list3/clsp[position()!="+row+" and spclcd='"+newspclcd+"' and edilnno='"+spclLnNo+"' and insntstat!='D' ]/spclcd");
-
- if (newspclcd == oth_spclcd) {
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclspec");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/spclformat");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/cdnm");
- model.resetInstanceNode("/root/main/list3/clsp["+ row +"]/detldesc");
- model.setValue("/root/hidden/list3/msgspclformat", "줄번호 "+ spclLnNo +"의 줄단위 특정코드 '"+ newspclcd +"'가 중복되었습니다.");
- //model.refresh();
- model.refreshpart("/root/main/list3/clsp");
- return;
- }
- } // if (newspclcd == "JX999" || newspclcd == "JT001")
-
- // JS010(특정코드:야간가산)의 hhmm이 야간(18~09시)가 아니면 특정내역 Grid에 빨간색으로 표시
- grd_clsphist.rowStyle(row, "data", "color") = "#000000"; // 000000=검은색
-
- if (newspclcd == "JS010") { // JS010 야간가산
- var js010chk = false;
- if (newspclspec.length >= 12) { // <spclformat>ccyymmddhhmm</spclformat>
- var ccyymmddhhmm = newspclspec.substr(0, 12);
- if (isValidDateTime(ccyymmddhhmm, "YYYYMMDDhhmm")) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- var hhmm = parseInt(newspclspec.substr(8, 4), 10); // '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- if (hhmm >= 1800 || hhmm < 900) {
- js010chk = true;
- }
- }
- }
- if (js010chk == false) {
- grd_clsphist.rowStyle(row, "data", "color") = "#ff3333"; // ff3333=붉은색
- }
- } // if (newspclcd == "JS010")
- } // if (unitflag == "M" && newspclcd != "") 가 아닌 경우
-
- var cdid = model.getValue("/root/init/P0117list/P0117[cdid='"+newspclcd+"']/cdid");
- var cdnm = model.getValue("/root/init/P0117list/P0117[cdid='"+newspclcd+"']/cdnm");
- var cdval = model.getValue("/root/init/P0117list/P0117[cdid='"+newspclcd+"']/cdval");
- var detldesc = model.getValue("/root/init/P0117list/P0117[cdid='"+newspclcd+"']/detldesc");
-
- if (cdid == newspclcd) {
- model.setValue("/root/main/list3/clsp["+ row +"]/cdnm", cdnm);
- model.setValue("/root/main/list3/clsp["+ row +"]/spclformat", cdval);
- model.setValue("/root/main/list3/clsp["+ row +"]/detldesc", detldesc);
- }
-
- var rowstatus = grd_clsphist.rowstatus(row);
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- var cdnm = model.getValue("/root/main/list3/clsp["+ row +"]/cdnm");
- var spclformat = model.getValue("/root/main/list3/clsp["+ row +"]/spclformat");
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ cdnm +" / 내역: "+ newspclspec +" / 형식: "+ spclformat);
- model.refresh();
- } else { // grd_clsphist.colRef("spclcd") 가 아닌 경우
- var unitflag = model.getValue("/root/main/list3/clsp["+ row +"]/unitflag");
- if (unitflag == "J") {
- if (newspclcd == "JT001") { // JT001 확인코드
- var clsplnno = model.getValue("/root/main/list3/clsp["+ row +"]/edilnno");
- var clodlnno = model.getValue("/root/main/list2/clod[edilnno='"+clsplnno+"']/edilnno");
- if (clsplnno == clodlnno) {
- model.setValue("/root/main/list2/clod["+ j +"]/cnfmcd", newspclspec);
- }
-
- if (newspclspec == "") { // 확인코드의 특정내역이 삭제된 경우임
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var unitflag = model.getValue("/root/main/list3/clsp["+ j +"]/unitflag");
- if (unitflag == "J") {
- var spclLnno = model.getValue("/root/main/list3/clsp["+ j +"]/edilnno");
- var spclSpclcd = model.getValue("/root/main/list3/clsp["+ j +"]/spclcd");
- if (spclLnno == clsplnno && spclSpclcd == "JT001") {
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp["+ j +"]/spclspec");
- //grd_clsphist.deleteRow(j, false); // 해당 라인을 Grid에서 삭제한다.
- } else {
- grd_clsphist.rowstatus(j) = 4;
- }
- }
- }
- }
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 확인코드 내역이 없습니다.");
- //model.refresh();
- // 처방 행 삭제 or 삭제취소 후에 특정내역 sorting 작업
- fSortSpclNo();
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- return;
- } // if (newspclspec == "")
- } // if (newspclcd == "JT001")
- } // if (unitflag == "J")
- else if (unitflag == "M") {
-
- // MT018:본인부담코드 변경시 clbs-ownbflag도 변경해줌
- if (newspclcd == "MT018" && newspclspec != "") {
- model.setValue("/root/main/item1/clbs/ownbflag", newspclspec);
- }
- }
- var rowstatus = grd_clsphist.rowstatus(row);
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- var cdnm = model.getValue("/root/main/list3/clsp["+ row +"]/cdnm");
- var spclformat = model.getValue("/root/main/list3/clsp["+ row +"]/spclformat");
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ cdnm +" / 내역: "+ newspclspec +" / 형식: "+ spclformat);
- //model.refresh();
- // 처방 행 삭제 or 삭제취소 후에 특정내역 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- } // grd_clsphist.colRef("spclcd") 가 아닌 경우
- }
-
- // 2008.03.12. / smartselly / 빈줄 삭제
- function fDeleteBlankRow(grdName) {
- if ( grdName == "" ) {
- return;
- } else {
-
- var obj = document.controls(grdName);
- for (var i = 1; i < obj.rows; i++) {
-
- var rowstatus = obj.rowstatus(i);
-
- if ( grdName == "grd_cldihist" ) {
- var diagcd = model.getValue("/root/main/list1/cldi["+ i +"]/diagcd");
- var diagnm = model.getValue("/root/main/list1/cldi["+ i +"]/diagnm");
- var diagengnm = model.getValue("/root/main/list1/cldi["+ i +"]/diagengnm");
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- if (diagcd == "" && diagnm == "" && diagengnm == "") {
- obj.deleteRow(i, false);
- i--;
- }
- }
- } else if ( grdName == "grd_clsphist" ) {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp["+ i +"]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- obj.deleteRow(i, false);
- i--;
- }
- } else if ( grdName == "grd_clodhist" ) {
- var edilnno = model.getValue("/root/main/list2/clod["+ i +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd");
- var basecd = model.getValue("/root/main/list2/clod["+ i +"]/basecd");
- var drugqty = model.getValue("/root/main/list2/clod["+ i +"]/drugqty");
- var tims = model.getValue("/root/main/list2/clod["+ i +"]/tims");
- var dayno = model.getValue("/root/main/list2/clod["+ i +"]/dayno");
- var ordfromdd = model.getValue("/root/main/list2/clod["+ i +"]/ordfromdd");
-
- // 줄번호없고, 수가코드, EDI코드, 투여량, 횟수, 일수, 처방일자가 입력되지 않은 경우
- if (rowstatus != 4 && edilnno == "" && snglcalcscorcd == "" && basecd == "" && drugqty == "" && tims == "" && dayno == "" && ordfromdd == "") {
- obj.deleteRow(i, false);
- i--;
- }
- }
- }
- obj.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2008.05.20
- * @by : smartselly
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 심사화면에서 주민번호 변경시 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCheckPidRegNo() {
-
- var patrrgstno = model.getValue("/root/main/item1/clbs/patrrgstno");
-
- if (isResidentNo(patrrgstno) == false)
- {
- var message = messageBox("유효하지 않은 주민번호입니다! 그래도 저장하시겠습니까?","Q999","");
- if( message == 6 ){
- return true;
- } else {
- model.setFocus("ipt_patrrgstno");
- model.refresh();
- return false;
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.03
- * @by : smartselly
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 심사화면에서 [<<]:이전 [>>]:이후 버튼클릭 ( 다음 심사대상자 조회 )
- * @param : flag : "P" : previous, "N" : next
- * @return :
- * @---------------------------------------------------
- */
- function fClickPrevNext(flag){
-
- var iCompVal = 0;
-
-
- var trgtManWindow = getChildWindow("SMPID20400"); // SMPID20400_외래사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- var selectedRow = "";
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- selectedRow = trgtManWindow.grd_specclbs.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- } else {
- selectedRow = trgtManWindow.grd_clbsmast.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- }
- if (selectedRow && selectedRow != -1) {
-
- if ( flag == "N" ) { // 이후선택
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1");
- var maxRow = trgtmanlist.childNodes.length;
- iCompVal = maxRow;
- } else { // 이전선택
- iCompVal = 1;
- }
-
- if (( flag == "P" && selectedRow > iCompVal ) || ( flag == "N" && selectedRow < iCompVal )) {
- if (btn_save.disabled == false || btn_unjudg.disabled == false) {
- // "심사중" 상태를 해제한다. "심사저장" 상태로 대상자 화면 갱신
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- fSetJudgSaveState(judgendyn);
- }
-
- if ( flag == "N" ) {
- selectedRow = parseInt(selectedRow) + 1;
- } else {
- selectedRow = parseInt(selectedRow) - 1;
- }
-
- model.setValue("/root/hidden/smpid20400/rslt/selectedRow", selectedRow);
-
- var trgtmanclamym = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/clamym");
- var trgtmanclamdg = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/clamdg");
- var trgtmanpid = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/pid");
- var trgtmanpidsn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/pidsn");
- //var trgtmancutprcpyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/cutprcpyn");
- var trgtmancutprcpyn = trgtManWindow.model.getValue("/root/send/item1/cutprcpsel");
- var trgtmanjudgendyn = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/judgendyn");
- var trgtmantootpopyn = trgtManWindow.model.getValue("/root/temp/tootpopupyn");
- var judgenddd = trgtManWindow.model.getValue("/root/main/list1/clbs["+ selectedRow +"]/judgenddd");
-
- if (trgtmanclamym) {
- model.setValue("/root/hidden/smpid20400/rslt/clamym", trgtmanclamym);
- model.setValue("/root/hidden/smpid20400/rslt/clamdg", trgtmanclamdg);
- model.setValue("/root/hidden/smpid20400/rslt/pid", trgtmanpid);
- model.setValue("/root/hidden/smpid20400/rslt/pidsn", trgtmanpidsn);
- model.setValue("/root/hidden/smpid20400/rslt/cutprcpyn", trgtmancutprcpyn);
- model.setValue("/root/hidden/smpid20400/rslt/judgendyn", trgtmanjudgendyn);
- model.setValue("/root/hidden/smpid20400/rslt/tootpopupyn", trgtmantootpopyn);
- model.setValue("/root/hidden/smpid20400/rslt/judgenddd", judgenddd);
-
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- trgtManWindow.grd_specclbs.row = selectedRow;
- } else {
- trgtManWindow.grd_clbsmast.row = selectedRow;
- }
- //trgtManWindow.model.refresh();
-
- fGetOutAftJudgMngt();
-
- trgtManWindow.javascript.setPopupRefresh(trgtmanpid);
- }
-
- return;
- } else { // 마지막 줄인 경우 이후 대상자가 없다.
- messageBox("조회된 마지막 심사대상자 입니다. 이후 심사 대상자가", "I004"); ///조회된 마지막 심사대상자 입니다. 이후 심사 대상자가 없습니다.
- return;
- }
- }
- }
- messageBox("외래사후심사대상자 조회에서 선택된 심사 대상자가", "I004"); ///외래사후심사대상자 조회에서 선택된 심사 대상자가 없습니다.
-
- }
- //-------------------
- // edi 관련 컬럼 표시
- //---------------------
- function fEdiCheck(){
-
- var sEdiCheck = "";
-
- sEdiCheck = model.getValue("/root/hidden/edicheck");
- /*
- if ( sEdiCheck == "Y" ) {
- grd_clodhist.colHidden(grd_clodhist.colRef("ediunitcost")) = false;
- grd_clodhist.colHidden(grd_clodhist.colRef("edidrugqty")) = false;
- grd_clodhist.colHidden(grd_clodhist.colRef("edidayno")) = false;
- grd_clodhist.colHidden(grd_clodhist.colRef("ediamt")) = false;
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = false;
- grd_oprcphist.colHidden(grd_oprcphist.colRef("edidrugqty")) = false;
- grd_oprcphist.colHidden(grd_oprcphist.colRef("edidrugdayno")) = false;
-
- } else {
- grd_clodhist.colHidden(grd_clodhist.colRef("ediunitcost")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("edidrugqty")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("edidayno")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("ediamt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = true;
- grd_oprcphist.colHidden(grd_oprcphist.colRef("edidrugqty")) = true;
- grd_oprcphist.colHidden(grd_oprcphist.colRef("edidrugdayno")) = true;
- }
- */
- // 20100128 edi 관련 컬럼 조회기준으로 변경 (재원비교로 변경)
- if ( sEdiCheck == "Y" ) {
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = false; // EDI코드
- grd_clodhist.colHidden(grd_clodhist.colRef("unitcost")) = false; // 단가
- grd_clodhist.colHidden(grd_clodhist.colRef("drugqty")) = false; // 1회량
- grd_clodhist.colHidden(grd_clodhist.colRef("dayno")) = false; // 일수
- grd_clodhist.colHidden(grd_clodhist.colRef("amt")) = false; // 금액
- grd_clodhist.colHidden(grd_clodhist.colRef("druglimitamt")) = false; // 약제상한가
- grd_clodhist.colHidden(grd_clodhist.colRef("limitdiffamt")) = false; // 약제상한차액
- grd_oprcphist.colHidden(grd_oprcphist.colRef("drugqty")) = false; // 원외 1회량
- grd_oprcphist.colHidden(grd_oprcphist.colRef("drugdayno")) = false; // 원외 일수
-
- } else {
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = true; // EDI코드
- grd_clodhist.colHidden(grd_clodhist.colRef("unitcost")) = true; // 단가
- grd_clodhist.colHidden(grd_clodhist.colRef("drugqty")) = true; // 1회량
- grd_clodhist.colHidden(grd_clodhist.colRef("dayno")) = true; // 일수
- grd_clodhist.colHidden(grd_clodhist.colRef("amt")) = true; // 금액
- grd_clodhist.colHidden(grd_clodhist.colRef("druglimitamt")) = true; // 약제상한가
- grd_clodhist.colHidden(grd_clodhist.colRef("limitdiffamt")) = true; // 약제상한차액
- grd_oprcphist.colHidden(grd_oprcphist.colRef("drugqty")) = true; // 원외 1회량
- grd_oprcphist.colHidden(grd_oprcphist.colRef("drugdayno")) = true; // 원외 일수
- }
-
- grd_clodhist.refresh();
- grd_oprcphist.refresh();
- }
- /**
- * @group :
- * @ver : 2008.08.22
- * @by : 김상진
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상세계산내역조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetOsclClamData(chkAll, grid){
- if (model.getValue("/root/main/item1/clbs/mig") != "") {
- messageBox("전환데이터는 상세계산내역을 조회할 수", "I004"); //없습니다 !
- }
- else {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- var ctrlObj;
- var row;
- var col;
- var seqno;
- var hngnm;
- var grupcd;
- var calcscorcd;
- var edicd;
- var clopyn;
-
- if (chkAll != "ALL" && chkAll != "N") {
- chkAll = "N";
- }
-
-
- if (grid != "grd_clodhist" && grid != "grd_oprcphist") {
- grid = "grd_clodhist";
- }
-
-
- if (clamkey) {
-
- // 상세계산내역화면 call
- model.setValue("/root/hidden/sppid22100/cond/instcd", model.getValue("/root/main/item1/clbs/instcd"));
- model.setValue("/root/hidden/sppid22100/cond/clamkey", model.getValue("/root/main/item1/clbs/clamkey"));
- model.setValue("/root/hidden/sppid22100/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppid22100/cond/patnm", model.getValue("/root/main/item1/clbs/patnm"));
- model.setValue("/root/hidden/sppid22100/cond/gender", model.getValue("/root/main/item1/clbs/gender"));
- model.setValue("/root/hidden/sppid22100/cond/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.setValue("/root/hidden/sppid22100/cond/stsioflag", model.getValue("/root/main/item1/clbs/stsioflag"));
- model.setValue("/root/hidden/sppid22100/cond/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.setValue("/root/hidden/sppid22100/cond/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.setValue("/root/hidden/sppid22100/cond/scrhdate", "execdd");
- model.setValue("/root/hidden/sppid22100/cond/fromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/sppid22100/cond/todd", model.getValue("/root/main/item1/clbs/ordtodd"));
-
- // 원내처방그리드이면....
- if (grid == "grd_clodhist"){
- ctrlObj = document.controls.item(grid);
- row = ctrlObj.row;
- col = ctrlObj.col;
- seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- hngnm = model.getValue("/root/main/list2/clod["+ row +"]/hngnm");
- grupcd = model.getValue("/root/main/list2/clod["+ row +"]/grupcalcscorcd");
- calcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd")
- edicd = model.getValue("/root/main/list2/clod["+ row +"]/edicd")
- clopyn = "N"; //원외처방여부
- }
- // 원외처방그리드이면...
- else if (grid == "grd_oprcphist") {
- ctrlObj = document.controls.item(grid);
- row = ctrlObj.row;
- col = ctrlObj.col;
- seqno = model.getValue("/root/main/list7/clop["+ row +"]/clopseqno");
- hngnm = model.getValue("/root/main/list7/clop["+ row +"]/hngnm");
- grupcd = "";
- calcscorcd = model.getValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd");
- edicd = model.getValue("/root/main/list7/clop["+ row +"]/edicd");
- clopyn = "Y"; //원외처방여부
- }
- model.setValue("/root/hidden/sppid22100/cond/clopyn", clopyn); //원외처방여부
-
-
- // 전체 상세내역이면...
- if (chkAll == "ALL") {
- model.setValue("/root/hidden/sppid22100/cond/clamcretdd", "0");
- model.setValue("/root/hidden/sppid22100/cond/hngnm", "");
- model.setValue("/root/hidden/sppid22100/cond/choicdsrch", "calcscorcd");
- model.setValue("/root/hidden/sppid22100/cond/calcscorcd", "");
- }
- // 각처방코드별 상세내역이면...
- else {
- model.setValue("/root/hidden/sppid22100/cond/clamcretdd", seqno);
- model.setValue("/root/hidden/sppid22100/cond/hngnm", hngnm);
-
- if (col == ctrlObj.colRef("grupcalcscorcd")) {
- model.setValue("/root/hidden/sppid22100/cond/choicdsrch", "grupcd");
- model.setValue("/root/hidden/sppid22100/cond/calcscorcd", grupcd);
- } else if (col == ctrlObj.colRef("snglcalcscorcd")) {
- model.setValue("/root/hidden/sppid22100/cond/choicdsrch", "calcscorcd");
- model.setValue("/root/hidden/sppid22100/cond/calcscorcd", calcscorcd);
- } else if (col == ctrlObj.colRef("basecd") || col == ctrlObj.colRef("edicd")) {
- model.setValue("/root/hidden/sppid22100/cond/choicdsrch", "edicd");
- model.setValue("/root/hidden/sppid22100/cond/calcscorcd", edicd);
- } else {
- model.setValue("/root/hidden/sppid22100/cond/choicdsrch", "calcscorcd");
- model.setValue("/root/hidden/sppid22100/cond/calcscorcd", calcscorcd);
- }
- }
-
- modal("SPPID22100", "1", "10", "10", "SPPID22100", "/root/hidden/sppid22100/cond", "/root/send/data1", "", ""); // SPPID22100_상세계산내역조회.xrw
- }
- }
- }
- //--------------------------
- // 진료달력 진료일표시
- //--------------------------
- function fViewOrddddisp() {
-
- // 그리드 초기화
- model.resetInstanceNode("/root/hidden/orddddisp");
-
- for (var i=1; i<=41;i++) {
- model.makeValue("/root/hidden/orddddisp[1]/col"+i, "");
- model.makeValue("/root/hidden/orddddisp[2]/col"+i, "");
- }
-
- var firstDay = model.getValue("/root/main/item1/clbs/ordfromdd").substr(0,6)+"01";
- dateObj = firstDay.toDate();
-
- var startDay = dateObj.getDay(); // 요일
- var days = dateObj.getMonthDay(); // 마지막 일
- var colIndex = startDay;
- colIndex++;
- // 날짜 표시
- for( var i = 1; i <= days + startDay ; i++ ) {
- if ( i <= days ) {
- model.setValue("/root/hidden/orddddisp[1]/col"+colIndex, i);
- } else {
- //
- }
- colIndex++;
- }
-
- grd_ordddcalc.refresh();
- grd_ordddcalc.rowhidden(0) = true;
- var sOrddddisp = model.getValue("/root/main/item1/clbs/orddddisp");
- var j = 0;
-
- // 실시일자 표시
- for ( var i = 0; i < 42; i++ ) {
- j = i + startDay +1;
-
- grd_ordddcalc.valueMatrix(2, j) = ""
-
- if ( sOrddddisp.substr(i,1) != "0" && sOrddddisp.substr(i,1) != "" ) {
- model.setValue("/root/hidden/orddddisp[2]/col"+j, sOrddddisp.substr(i,1));
- grd_ordddcalc.cellStyle("font-weight", 1, j-1) = "bold";
- } else {
- grd_ordddcalc.cellStyle("font-weight", 1, j-1) = "normal";
- }
-
-
- if (grd_ordddcalc.valueMatrix(1, i) == "") {
- grd_ordddcalc.colHidden(i) = true;
- } else {
- grd_ordddcalc.colHidden(i) = false;
- }
- }
-
- grd_ordddcalc.cellStyle("font-weight", 2, 1, 2, 41) = "bold";
- grd_ordddcalc.refresh();
- grd_ordddcalc.row = 1;
- }
-
- //-----------------------------------------------------------------------------------
- // 진료달력 진료일 체크 (진료일표시, 진료일수(내원일수), 진료개시일, 진료종료일 계산)
- //-----------------------------------------------------------------------------------
- function fClickOrdYN(iRow, iCol) {
-
- var EditDay = 0;
- var ordfromdd = "";
- var ordtodd = "";
- var mindd = 32;
- var maxdd = -1;
- var sOrdCnt = 0;
- var sMedCnt = 0;
- var iCnt = 0;
- var jCnt = 0;
- var sOrddddisp = "";
- var ordym = model.getValue("/root/main/item1/clbs/ordfromdd").substr(0,6);
-
- if ( iRow != "2" ) {
- return;
- }
-
- if ( iRow < 0 || iCol < 0 ) {
- return;
- }
-
- sOrdCnt = model.getValue("/root/main/item1/clbs/chosindayno");
- sMedCnt = model.getValue("/root/main/item1/clbs/medcaredayno");
-
- // 진료일수 계산
- if ( grd_ordddcalc.textmatrix(iRow,iCol) == "1" ) {
- grd_ordddcalc.valueMatrix(iRow, iCol) = "";
- sOrdCnt--;
- sMedCnt--;
- grd_ordddcalc.cellStyle("font-weight", 1, iCol) = "normal";
- } else if ( grd_ordddcalc.textmatrix(iRow,iCol) == "" ) {
- grd_ordddcalc.valueMatrix(iRow, iCol) = "1";
- sOrdCnt++;
- sMedCnt++
- grd_ordddcalc.cellStyle("font-weight", 1, iCol) = "bold";
- }
- sEditDay = grd_ordddcalc.textmatrix(1, iCol);
-
- if ( sOrdCnt < 0 ) {
- sOrdCnt = 0;
- }
- if ( sMedCnt < 0 ) {
- sMedCnt = 0;
- }
- //"/root/main/item1/clbs/medcaredayno"
- // 진료일수 셋팅
- model.setValue("/root/main/item1/clbs/chosindayno", sOrdCnt);
- // 요양일수 셋팅
- model.setValue("/root/main/item1/clbs/medcaredayno", sMedCnt);
-
- // 진료일표시 계산
- for ( var iCnt = 0; iCnt < 42; iCnt++ ) {
-
- if ( grd_ordddcalc.colHidden(iCnt) == false ) {
- if ( grd_ordddcalc.textmatrix(2, iCnt) == "1" ) {
- sOrddddisp = sOrddddisp + "1";
-
- // 진료시작일, 종료일 계산
- EditDay = parseInt(grd_ordddcalc.textmatrix(1, iCnt));
-
- if ( EditDay < mindd ) mindd = EditDay;
- if ( EditDay > maxdd ) maxdd = EditDay;
-
- }
- else {
- sOrddddisp = sOrddddisp + "0";
- }
- jCnt++;
- }
- }
-
- if ( jCnt != 31 ) {
- for ( var iCnt = 0; iCnt < 31 - jCnt; iCnt++ ) {
- sOrddddisp = sOrddddisp + "0";
- }
- }
- // 진료일표시 셋팅
- model.setValue("/root/main/item1/clbs/orddddisp", sOrddddisp);
-
- // 진료시작일, 종료일 계산
- if (mindd > 0 && mindd < 10) {
- ordfromdd = ordym + "0" + mindd;
- }
- else if (mindd > 9) {
- ordfromdd = ordym + mindd;
- }
- if (maxdd > 0 && maxdd < 10) {
- ordtodd = ordym + "0" + maxdd;
- }
- else if (maxdd > 9) {
- ordtodd = ordym + maxdd;
- }
- // 진료시작일, 종료일 셋팅
- model.setValue("/root/main/item1/clbs/ordfromdd", ordfromdd);
- model.setValue("/root/main/item1/clbs/ordtodd", ordtodd);
-
- //model.refresh();
- grd_ordddcalc.refresh();
- model.refreshpart("/root/main/item1/clbs/chosindayno");
- model.refreshpart("/root/main/item1/clbs/medcaredayno");
- }
- //----------------------------------------------
- // PIFHIUNC 재청구 저장시 차액이 발생했는지 체크
- //----------------------------------------------
- function fCheckSaveReClamChangeAmt() {
-
- //if (model.getValue("/root/send/item1/clbs/recalcyn") == "Y") {
- if (model.getValue("/root/main/item1/clbs/clamflagcd") == "1" && model.getValue("/root/send/item1/clbs/recalcyn") == "Y") {
- return true;
- } else {
- return false;
- }
- }
- //---------------------------------
- // 재청구 차액발생 사유입력
- //---------------------------------
- function fSetReClamChgAmtResncd() {
- model.resetInstanceNode("/root/hidden/sppid22800");
- //model.setValue("/root/hidden/sppiz01000/cond/cdid", "");
- modal("SPPID22800", "1", "500", "450", "SPPID22800", "/root/hidden/sppid22800/cond", "/root/hidden/sppid22800/cond", "", ""); // SPPID22800_재청구차액발생사유관리.xrw
- var resncd = model.getValue("/root/hidden/sppid22800/rslt/cdid");
- if (resncd) {
- model.setValue("/root/send/item8/pifhiunc/chgamtresncd", resncd);
- }
-
- return resncd;
- }
-
-
- //------------------------------------------------------------
- // 동일진료일명세서 조회(SMPID22900_동일진료일명세서조회.xrw)
- //------------------------------------------------------------
- function fGetSamedate(chkAll, grid){
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- var ordym = model.getValue("/root/main/item1/clbs/ordym");
-
- if (clamym && clamdg && pid && pidsn) {
- // 동일진료일명세서조회화면 call
- model.setValue("/root/hidden/smpid22900/cond/clamym", clamym);
- model.setValue("/root/hidden/smpid22900/cond/clamdg", clamdg);
- model.setValue("/root/hidden/smpid22900/cond/pid", pid);
- model.setValue("/root/hidden/smpid22900/cond/pidsn", pidsn);
- model.setValue("/root/hidden/smpid22900/cond/ordym", ordym);
-
- modal("SMPID22900", "1", "10", "10", "SMPID22900", "/root/hidden/smpid22900/cond", "/root/hidden/item1", "", ""); // SMPID22900_동일진료일명세서조회.xrw
- }
- }
- //------------------------------------------------------------
- // 진료정보조회 : SMMMO02500_환자진료정보.xrw
- //------------------------------------------------------------
- function fGetEmrInformation() {
- var pid = model.getValue("/root/main/item1/clbs/pid");
- if (pid) {
- fOpenSMMMO02500_1(pid); // SMMMO02500_환자진료정보
- }
- }
- //---------------------------------
- // 급여구분 변경
- //---------------------------------
- function fSetPayflag() {
- var oldpayflag = model.getValue("/root/main/list2/clod["+ grd_clodhist.row +"]/payflag");
- model.resetInstanceNode("/root/hidden/sppid23100");
- model.setValue("/root/hidden/sppid23100/cond/cdid", oldpayflag);
- modal("SPPID23100", "1", "500", "500", "SPPID23100", "/root/hidden/sppid23100/cond", "/root/hidden/sppid23100/cond", "", ""); // SPPID23100_급비변경관리.xrw
- var newpayflag = model.getValue("/root/hidden/sppid23100/rslt/cdid");
- if (newpayflag) {
- if (newpayflag != oldpayflag) {
-
- var adjtresncd = model.getValue("/root/main/list2/clod["+ grd_clodhist.row +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
-
- model.setValue("/root/main/list2/clod["+ grd_clodhist.row +"]/payflag", newpayflag);
- if (newpayflag == "0" || newpayflag == "9") {
- model.setValue("/root/main/list2/clod["+ grd_clodhist.row +"]/calcappyn", "Y"); // 계산적용구분
- } else {
- model.setValue("/root/main/list2/clod["+ grd_clodhist.row +"]/calcappyn", "N"); // 계산적용구분
- }
-
- var matractflag = model.getValue("/root/main/list2/clod["+ grd_clodhist.row +"]/matractflag");
- // 청구가능선택진료 + 가산행위(2)는 가산안함으로 변경
- if (newpayflag == "9" && matractflag == "2") {
- model.setValue("/root/main/list2/clod["+ grd_clodhist.row +"]/matractflag", "3"); // 재료행위(3:가산없는 행위)
- }
-
- if (grd_clodhist.rowStatus(grd_clodhist.row) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(grd_clodhist.row) = 2;
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(grd_clodhist.row);
-
- grd_clodhist.refresh();
-
- fSetTotDrugQtyAmt();
- grd_clodhist.refresh();
- }
- }
- }
- //------------------------------------------------------------
- // 원외처방 "교부번호 전체삭제"
- //------------------------------------------------------------
- function fClopGridAllDeleteRow() {
-
- var cloprow = grd_oprcphist.row;
- if (cloprow < 1) {
- return;
- }
- // 삭제할 원외처방 교부번호
- if ( model.getValue("/root/main/list7/clop["+ cloprow +"]/newmpsno") == "" ) {
- var mpsno = model.getValue("/root/main/list7/clop["+ cloprow +"]/mpsno");
- } else {
- var mpsno = model.getValue("/root/main/list7/clop["+ cloprow +"]/newmpsno");
- }
- var oldclopdd = model.getValue("/root/main/list7/clop["+ cloprow +"]/oldclopdd");
- var oldclopno = model.getValue("/root/main/list7/clop["+ cloprow +"]/oldclopno");
- var clspdelcnt = 0;
-
- var ans = messageBox("[ 교부일자 : " + oldclopdd + ", 교부번호 : " + oldclopno + " ] 전체삭제하시려면", "S001"); /// 예(Yes)\n아니면 아니오(No)
-
- if (ans == 6) { // 6: yes
- // 삭제사유 입력
- var adjtresncd = model.getValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd == "" || cmbAdjtresncd == "-" ) {
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", adjtresncd);
-
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- adjtresncd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- } else {
- adjtresncd = cmbAdjtresncd;
- }
- }
- if (adjtresncd == "" || adjtresncd == "-") {
- return;
- }
- var nodeList = instance1.selectNodes("/root/main/list7/clop");
- for (var row = 1; row <= nodeList.length; row++) {
- var clopseqno = model.getValue("/root/main/list7/clop["+ row +"]/clopseqno");
- if ( model.getValue("/root/main/list7/clop["+ row +"]/newmpsno") == "" ) {
- var nowmpsno = model.getValue("/root/main/list7/clop["+ row +"]/mpsno");
- } else {
- var nowmpsno = model.getValue("/root/main/list7/clop["+ row +"]/newmpsno");
- }
- if (mpsno == nowmpsno) {
- // 1. 줄단위 원외처방 특정내역을 삭제한다.
- if (model.getValue("/root/main/list7/clop["+ row +"]/spclspecyn")) {
- // 줄단위 특정내역이 입력된 경우
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spclmpsno = model.getValue("/root/main/list3/clsp["+ j +"]/mpsno"); // mpsno
- var spclClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno"); // seqno
- var clsoyn = model.getValue("/root/main/list3/clsp["+ j +"]/clsoyn"); // 원외처방 특정내역 여부
- if (spclmpsno == mpsno && spclClodseqno == clopseqno && clsoyn == "Y") {
- var clspstatus = grd_clsphist.rowstatus(j);
- if (clspstatus != 1 && clspstatus != 3) {
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- clspdelcnt++;
- } else {
- grd_clsphist.deleteRow(j, false);
- }
- }
- }
- }
-
- // 2. 해당 원외처방을 삭제한다.
- var clopstatus = grd_oprcphist.rowstatus(row);
- if (clopstatus != 1 && clopstatus != 3) {
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", adjtresncd); // 삭제사유
- grd_oprcphist.rowstatus(row) = 4;
- grd_oprcphist.rowHidden(row) = true;
- } else {
- grd_oprcphist.deleteRow(row, false);
- }
-
- }
- }
- if (clspdelcnt > 0) {
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- grd_oprcphist.refresh();
- }
- }
- //------------------------------------------------------------
- // 원외처방 "행 삭제"
- //------------------------------------------------------------
- function fClopGridDeleteRow() {
-
- var cloprow = grd_oprcphist.row;
- if (cloprow < 1) {
- return;
- }
- // 삭제할 원외처방 교부번호, 교부일자, 줄번호, 수가코드
- if ( grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("newmpsno")) == "" ) {
- var mpsno = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("mpsno"));
- } else {
- var mpsno = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("newmpsno"));
- }
- var clopdd = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("clopdd"));
- var clopno = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("clopno"));
- var edilnno = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("edilnno"));
- var snglcalcscorcd = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("snglcalcscorcd"));
- var seqno = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("seqno"));
- var spclspecyn = grd_oprcphist.valueMatrix(cloprow, grd_oprcphist.colRef("spclspecyn"));
- var clspdelcnt = 0;
-
- var ans = messageBox("[ 교부일자 : " + clopdd + ", 교부번호 : " + clopno + ", 줄번호 : " + edilnno + ", 수가코드 : " + snglcalcscorcd + " ] 삭제하시려면", "S001"); /// 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes
- // 삭제사유 입력
- var adjtresncd = model.getValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd == "" || cmbAdjtresncd == "-" ) {
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", adjtresncd);
-
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- adjtresncd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- } else {
- adjtresncd = cmbAdjtresncd;
- }
- }
- if (adjtresncd == "" || adjtresncd == "-") {
- return;
- } else {
- model.setValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd", adjtresncd);
- }
- // 1. 줄단위 원외처방 특정내역을 삭제한다.
- if (spclspecyn) {
- // 줄단위 특정내역이 입력된 경우
- var nodeList = instance1.selectNodes("/root/main/list3/clsp");
- for (var j = 1; j <= nodeList.length; j++) {
- var spclmpsno = model.getValue("/root/main/list3/clsp["+ j +"]/mpsno"); // mpsno
- var spclClodseqno = model.getValue("/root/main/list3/clsp["+ j +"]/clodseqno"); // seqno
- var clsoyn = model.getValue("/root/main/list3/clsp["+ j +"]/clsoyn"); // 원외처방 특정내역 여부
- if (spclmpsno == mpsno && spclClodseqno == seqno && clsoyn == "Y") {
- var clspstatus = grd_clsphist.rowstatus(j);
- if (clspstatus != 1 && clspstatus != 3) {
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- clspdelcnt++;
- } else {
- grd_clsphist.deleteRow(j, false);
- }
- }
- }
- }
-
- // 2. 해당 원외처방을 삭제한다.
- var clopstatus = grd_oprcphist.rowstatus(cloprow);
- if (clopstatus != 1 && clopstatus != 3) {
- grd_oprcphist.rowstatus(cloprow) = 4;
- grd_oprcphist.rowHidden(cloprow) = true;
- } else {
- grd_oprcphist.deleteRow(cloprow, false);
- }
- if (clspdelcnt > 0) {
- // 3. 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- grd_oprcphist.refresh();
-
- }
-
- }
- //------------------------------------------------------------
- // 급여구분별 처방조회
- //------------------------------------------------------------
- function fClodSelectByPayflag() {
- //fGetSelectedOrderData(); // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- var payflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
-
- // 처방Grid 배경색을 초기화한다.
- grd_clodhist.rebuildStyle();
-
- if (payflag == '0') {
- model.copyNode("/root/main/list2", "/root/hidden/initclodlist/list2");
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- grd_clodhist.refresh();
- grd_clodhist.row = 1;
- } else {
- var datasave=false;
- var clodupdtdata = getGridUpdateData(grd_clodhist);
- if (clodupdtdata) {
- var ans = messageBox("급여처방에 수정사항이 있습니다. 저장", "S001"); ///수정사항이 있습니다. 저장하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- fSaveOutAftJudg("B"); // 저장
- datasave = true;
- }
- else {
- datasave = false;
- }
- }
- // 수정사항을 저장하지 않은 경우 OR 수정사항이 없는 경우
- if (datasave == false) {
- var nodeList;
- model.removeNodeset("/root/main/list2/clod");
-
- // 급여구분에 따라 해당되는 처방만 보여준다.
- if (payflag == '-') { // 전체
- model.copyNode("/root/main/list2", "/root/main/list8");
- } else { // 전액본인부담, 일반, 선택
- nodeList = instance1.selectNodes("/root/main/list8/clod[payflag = " + payflag + "]");
- for (var i=0; i < nodeList.length; i++ ) {
- model.duplicate("/root/main/list2", nodeList.item(i));
- }
- }
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- grd_clodhist.refresh();
- grd_clodhist.row = 1;
- }
- }
- }
- // 처방별환자조회(계산)_수가코드
- function fOpenSMPIS00500DetailSnglCD() {
- pidfOpenSMPIS00500("O", "D", "SnglCD");
- }
- // 처방별환자조회(계산)_EDI코드
- function fOpenSMPIS00500DetailEdicd() {
- pidfOpenSMPIS00500("O", "D", "Edicd");
- }
- // 처방별환자조회(청구/삭감)
- function fOpenSMPIS00600Detail() {
- pidfOpenSMPIS00600("O", "D");
- }
- // -----------------------------
- // 1회량 일괄수정
- // -----------------------------
- function fAllSetDrugqtyCol() {
- if (grd_clodhist.selectedRows > 1) {
-
- // 수정할 Row
- var setrow = grd_clodhist.row;
-
- // 수정할 1회량 저장
- var drugqty = model.getValue("/root/main/list2/clod["+ setrow +"]/drugqty");
- if (drugqty == "" || drugqty == "0") {
- return;
- }
-
- var rowArray = new Array();
- var rCnt = 0;
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
- model.setValue("/root/main/list2/clod["+ clodrow +"]/drugqty", drugqty);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", "A") //조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
- }
- }
- }
- for (var i = 0; i <= rCnt-1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("drugqty");
- fSetTotDrugQtyAmt(); //1회량수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- // -----------------------------
- // 횟수 일괄수정
- // -----------------------------
- function fAllSetTimsCol() {
- if (grd_clodhist.selectedRows > 1) {
-
- // 수정할 Row
- var setrow = grd_clodhist.row;
-
- // 현재 Row 횟수 저장
- var tims = model.getValue("/root/main/list2/clod["+ setrow +"]/tims");
- if (tims == "" || tims == "0") {
- return;
- }
-
- var rowArray = new Array();
- var rCnt = 0;
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
- model.setValue("/root/main/list2/clod["+ clodrow +"]/tims", tims);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", "A") //조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
- }
- }
- }
- for (var i = 0; i <= rCnt-1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("tims");
- fSetTotDrugQtyAmt(); //횟수수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- // -----------------------------
- // 일수 일괄수정
- // -----------------------------
- function fAllSetDaynoCol() {
- if (grd_clodhist.selectedRows > 1) {
-
- // 수정할 Row
- var setrow = grd_clodhist.row;
-
- // 현재 Row 횟수 저장
- var dayno = model.getValue("/root/main/list2/clod["+ setrow +"]/dayno");
- if (dayno == "" || dayno == "0") {
- return;
- }
-
- var rowArray = new Array();
- var rCnt = 0;
- for (var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
-
- model.setValue("/root/main/list2/clod["+ clodrow +"]/dayno", dayno);
- model.setValue("/root/main/list2/clod["+ clodrow +"]/adjtresncd", "A") //조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
-
- var Sdayno = model.getValue("/root/main/list2/clod["+ clodrow +"]/dayno");
- var dayno = parseInt(Sdayno);
- var ordfromdd = model.getValue("/root/main/list2/clod["+ clodrow +"]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod["+ clodrow +"]/ordtodd");
- var item1 = model.getValue("/root/main/list2/clod["+ clodrow +"]/item1");
-
- // 진료개시일과 종료일 사이의 일자인지 체크
- var clbsordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- var clbsordtodd = model.getValue("/root/main/item1/clbs/ordtodd");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
-
- if (Sdayno == "" || dayno <= 0) {
- }
- else if (ordfromdd) {
- var fromDate = ordfromdd.toDate();
- var toDate = fromDate.getAddDate(dayno - 1, "D"); // (dateHelper.js) 특정일자의 상대일자(+/-)를 계산
- ordtodd = toDate.getDateFormat("YYYY") + toDate.getDateFormat("MM") + toDate.getDateFormat("DD");
- if (insukind == "41" && clbsordfromdd && clbsordtodd) {
- if (ordtodd > clbsordtodd) {
- model.setValue("/root/main/item1/clbs/ordtodd", ordtodd);
- }
- model.setValue("/root/main/list2/clod["+ row +"]/ordtodd", ordtodd);
- }
- }
- }
- }
- }
- ipt_ordtodd.refresh();
- for (var i = 0; i <= rCnt-1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("dayno");
- fSetTotDrugQtyAmt(); //일수수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- /* 대상자조회에서 대상자 선택하여 넘어올때 메세지 여부 확인, JHP. 2009.08.17 */
- function fGetPatMsgYn(){
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var orddd = model.getValue("/root/main/item1/clbs/indd");
- var cretno = model.getValue("/root/main/item1/clbs/cretno");
-
- // 1. 환자의 작성된 메세지를 조회한다.
- if (pid && orddd && cretno) {
- model.removeNodeset("/root/send/msg01");
- model.makeValue("/root/send/msg01/pid" , pid);
- model.makeValue("/root/send/msg01/orddd" , orddd);
- model.makeValue("/root/send/msg01/cretno" , cretno);
- model.makeValue("/root/send/msg01/mskind" , "M");
- model.makeValue("/root/send/msg01/ordtype" , "O");
-
- model.makeNode("/root/main/msglist/list");
-
- if(submit("TRPIZ01903")){
- var cnt = getNodesetCount("/root/main/msglist/list");
- if(cnt > 0){
- img_msg.visible = true;
- }else{
- img_msg.visible = false;
- }
- }else{
- messageBox("환자 메세지 조회건수가 ","I011");
- }
- }
- }
- /* 환자기준 전송메세지작성, JHP. 2009.08.17 */
- function fPatJudgPatMsgTrsm() {
- if (!isNull(model.getvalue("/root/main/item1/clbs/pid"))) {
-
- // 인스턴스생성
- model.makeNode("/root/tmp/msgtrsm/info/instcd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtedd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrteno");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtehistno");
- model.makeNode("/root/tmp/msgtrsm/info/histstat");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/orddrnm");
-
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.makeNode("/root/tmp/msgtrsm/info/kindflag");
- model.makeNode("/root/tmp/msgtrsm/info/grupcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/snglcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/ordqty");
- model.makeNode("/root/tmp/msgtrsm/info/ordtims");
- model.makeNode("/root/tmp/msgtrsm/info/orddays");
- model.makeNode("/root/tmp/msgtrsm/info/prcpdd");
- model.makeNode("/root/tmp/msgtrsm/info/prcpno");
- model.makeNode("/root/tmp/msgtrsm/info/prcppayflag");
-
- model.makeNode("/root/tmp/msgtrsm/info/rgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/rgstdd");
- model.makeNode("/root/tmp/msgtrsm/info/rgsttm");
- model.makeNode("/root/tmp/msgtrsm/info/sendphone");
- model.makeNode("/root/tmp/msgtrsm/info/anybodyyn");
-
- model.makeNode("/root/tmp/msgtrsm/info/sendflag");
- model.makeNode("/root/tmp/msgtrsm/info/senddate");
- model.makeNode("/root/tmp/msgtrsm/info/sendid");
- model.makeNode("/root/tmp/msgtrsm/info/deliveid");
- model.makeNode("/root/tmp/msgtrsm/info/recvdate");
- model.makeNode("/root/tmp/msgtrsm/info/recvid");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmyn");
-
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmid");
- model.makeNode("/root/tmp/msgtrsm/info/sendmsg");
- model.makeNode("/root/tmp/msgtrsm/info/recvmsg");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstdt");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtrid");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtdt");
-
- // 값셋팅
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; //사용자번호
- var usernm = UserInfosS_Array[1]; //사용자이름
- var posinstcd = UserInfosS_Array[6]; //근무지기관코드 2009.04.15
- var posinstnm = UserInfosS_Array[7]; //근무지기관명 2009.04.15
- var posdeptcd = UserInfosS_Array[4]; //소속부서코드
- var posdeptnm = UserInfosS_Array[5]; //소속부서명
- if (userid == null || userid == "" || userid == " " || userid == "-") userid = "pam";
-
- model.setValue("/root/tmp/msgtrsm/info/instcd", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtedd", getCurrentDate()); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrteno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtehistno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/histstat", "Y"); // chk
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs//cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
-
- var drid = model.getValue("/root/main/item1/clbs/orddrid")
- var drnm = model.getValue("/root/init/orddrid2/orddridlist[cd = '" + drid + "']/nm");
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/orddrnm", drnm); // chk, TABLE에 적용안함.(값만확인)
-
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "O"); // 외래기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/kindflag", "P"); // 환자기준 'P', chk
- model.setValue("/root/tmp/msgtrsm/info/grupcalcscorcd", "-"); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/grupcalcscorcd")); chk
- model.setValue("/root/tmp/msgtrsm/info/snglcalcscorcd", "-"); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/snglcalcscorcd")); chk
- model.setValue("/root/tmp/msgtrsm/info/ordqty", 0); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/ordqty")); chk
- model.setValue("/root/tmp/msgtrsm/info/ordtims", 0); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/ordtims")); chk
- model.setValue("/root/tmp/msgtrsm/info/orddays", 0); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/orddays")); chk
- model.setValue("/root/tmp/msgtrsm/info/prcpdd", "-"); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/prcpdd")); chk
- model.setValue("/root/tmp/msgtrsm/info/prcpno", 0); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/prcpno")); chk
- model.setValue("/root/tmp/msgtrsm/info/prcppayflag", "-"); //model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/prcppayflag")); chk
-
- model.setValue("/root/tmp/msgtrsm/info/rgstrid", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgstdd", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgsttm", "-"); // 서버단에서 조회하여 가져와야함. chk
-
- model.setValue("/root/tmp/msgtrsm/info/sendphone", ""); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/anybodyyn", "N"); // 누구나 기본 'N', chk
-
- model.setValue("/root/tmp/msgtrsm/info/sendflag", "O"); // 진료기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/senddate", ""); //쿼리에서 timestamp chk
- model.setValue("/root/tmp/msgtrsm/info/sendid", userid); //chk
-
- model.setValue("/root/tmp/msgtrsm/info/deliveid", "-"); // 화면에서선택. chk
- model.setValue("/root/tmp/msgtrsm/info/recvdate", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmyn", "N"); // 기본 비연속 'N', chk
-
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmid", userid); //chk
-
- //var sendmsgvalue1 = model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/snglcalcscorcd");
- //var sendmsgvalue2 = model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/hngnm");
- //var sendmsgvalue = sendmsgvalue1 + ', ' + sendmsgvalue2;
- model.setValue("/root/tmp/msgtrsm/info/sendmsg", ""); //sendmsgvalue); // 기본 처방코드, 처방명값가지고 시작. chk
- model.setValue("/root/tmp/msgtrsm/info/recvmsg", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstdt", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtdt", ""); // chk
-
- } else {
- messageBox("기본정보가 ", "I004");
- }
- model.refresh();
- modal("SPPIZ01900_심사환자메세지작성", "", "400", "300", "", "/root/tmp/msgtrsm/info", "/root/main/patinfo");
- model.removenode("/root/tmp/msgtrsm");
- }
- /* 처방기준 전송메세지작성, JHP. 2009.08.17 */
- function fOrderJudgPatMsgTrsm() {
- if (!isNull(model.getvalue("/root/main/item1/clbs/pid"))) {
-
- // 인스턴스생성
- model.makeNode("/root/tmp/msgtrsm/info/instcd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtedd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrteno");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtehistno");
- model.makeNode("/root/tmp/msgtrsm/info/histstat");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/orddrnm");
-
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.makeNode("/root/tmp/msgtrsm/info/kindflag");
- model.makeNode("/root/tmp/msgtrsm/info/grupcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/snglcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/ordqty");
- model.makeNode("/root/tmp/msgtrsm/info/ordtims");
- model.makeNode("/root/tmp/msgtrsm/info/orddays");
- model.makeNode("/root/tmp/msgtrsm/info/prcpdd");
- model.makeNode("/root/tmp/msgtrsm/info/prcpno");
- model.makeNode("/root/tmp/msgtrsm/info/prcppayflag");
-
- model.makeNode("/root/tmp/msgtrsm/info/rgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/rgstdd");
- model.makeNode("/root/tmp/msgtrsm/info/rgsttm");
-
- model.makeNode("/root/tmp/msgtrsm/info/sendphone");
- model.makeNode("/root/tmp/msgtrsm/info/anybodyyn");
-
- model.makeNode("/root/tmp/msgtrsm/info/sendflag");
- model.makeNode("/root/tmp/msgtrsm/info/senddate");
- model.makeNode("/root/tmp/msgtrsm/info/sendid");
- model.makeNode("/root/tmp/msgtrsm/info/deliveid");
- model.makeNode("/root/tmp/msgtrsm/info/recvdate");
- model.makeNode("/root/tmp/msgtrsm/info/recvid");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmyn");
-
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmid");
- model.makeNode("/root/tmp/msgtrsm/info/sendmsg");
- model.makeNode("/root/tmp/msgtrsm/info/recvmsg");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstdt");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtrid");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtdt");
-
- // 값셋팅
- // 처방이므로 처방row선택여부 확인
- if(grd_clodhist.row <= 0){
- return;
- }
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; //사용자번호
- var usernm = UserInfosS_Array[1]; //사용자이름
- var posinstcd = UserInfosS_Array[6]; //근무지기관코드 2009.04.15
- var posinstnm = UserInfosS_Array[7]; //근무지기관명 2009.04.15
- var posdeptcd = UserInfosS_Array[4]; //소속부서코드
- var posdeptnm = UserInfosS_Array[5]; //소속부서명
- if (userid == null || userid == "" || userid == " " || userid == "-") userid = "pam";
-
- model.setValue("/root/tmp/msgtrsm/info/instcd", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtedd", getCurrentDate()); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrteno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtehistno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/histstat", "Y"); // chk
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs/cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
-
- var drid = model.getValue("/root/main/item1/clbs/orddrid")
- var drnm = model.getValue("/root/init/orddrid2/orddridlist[cd = '" + drid + "']/nm");
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/orddrnm", drnm); // chk, TABLE에 적용안함.(값만확인)
-
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "O"); // 외래기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/kindflag", "O"); // 처방기준 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/grupcalcscorcd", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd")); //chk
- model.setValue("/root/tmp/msgtrsm/info/snglcalcscorcd", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/snglcalcscorcd")); //chk
- model.setValue("/root/tmp/msgtrsm/info/ordqty", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/drugqty")); //chk
- model.setValue("/root/tmp/msgtrsm/info/ordtims", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/tims")); //chk
- model.setValue("/root/tmp/msgtrsm/info/orddays", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/dayno")); //chk
- model.setValue("/root/tmp/msgtrsm/info/prcpdd", ""); //chk, 화면에 미존재 서버단에서 조회하여 가져와야함.
- model.setValue("/root/tmp/msgtrsm/info/prcpno", ""); //chk, 화면에 미존재 서버단에서 조회하여 가져와야함.
- model.setValue("/root/tmp/msgtrsm/info/prcppayflag", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/payflag")); //chk
-
- model.setValue("/root/tmp/msgtrsm/info/rgstrid", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgstdd", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgsttm", "-"); // 서버단에서 조회하여 가져와야함. chk
-
- model.setValue("/root/tmp/msgtrsm/info/sendphone", ""); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/anybodyyn", "N"); // 누구나 기본 'N', chk
-
- model.setValue("/root/tmp/msgtrsm/info/sendflag", "O"); // 진료기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/senddate", ""); //쿼리에서 timestamp chk
- model.setValue("/root/tmp/msgtrsm/info/sendid", userid); //chk
-
- model.setValue("/root/tmp/msgtrsm/info/deliveid", "-"); // 화면에서선택. chk
- model.setValue("/root/tmp/msgtrsm/info/recvdate", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmyn", "N"); // 기본 비연속 'N', chk
-
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmid", userid); //chk
-
- //var sendmsgvalue1 = model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/snglcalcscorcd");
- //var sendmsgvalue2 = model.getvalue("/root/main/list2/oscl[" + grd_clodhist.row + "]/hngnm");
- //var sendmsgvalue = sendmsgvalue1 + ', ' + sendmsgvalue2;
-
- model.setValue("/root/tmp/msgtrsm/info/sendmsg", ""); // 기본 처방코드, 처방명값가지고 시작. chk -> 변경 화면에서 그룹코드 명 조회하여 넣어줌. chk
- model.setValue("/root/tmp/msgtrsm/info/recvmsg", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstdt", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtdt", ""); // chk
-
- } else {
- messageBox("기본정보가 ", "I004");
- }
- model.refresh();
- modal("SPPIZ01900_심사환자메세지작성", "", "400", "300", "", "/root/tmp/msgtrsm/info", "/root/main/patinfo");
- model.removenode("/root/tmp/msgtrsm");
- }
- // 환자 전체 메세지 내용 조회하여 하나씩 보기.JHP. 2009.08.17
- function fJudgPatMsgTrsmRef(){
- model.makeNode("/root/tmp/msgtrsm/info/refyn");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.setValue("/root/tmp/msgtrsm/info/refyn","Y");
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs/cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "O"); // 외래기본 'O', chk
-
- modal("SMPIJ02600_메세지현황", "", "100", "100", "", "/root/tmp/msgtrsm/info", "/root/init/openchk");
- model.removeNode("/root/tmp/msgtrsm");
- }
- // 20091210 원외처방 그리드 사이즈 조정
- function fClopSizeChange(tSize) {
- var clop_rows = 0;
- var selectedRdoPay = "";
- var totclopcnt = "";
- if ( tSize == "CHANGE" ) {
- if ( gClopSize == "MAX" ) {
- tSize = "MIN";
- } else if ( gClopSize == "AUTO" ) {
- tSize = "MAX";
- } else {
- tSize = "AUTO";
- }
- }
- // 20091217 그냥 사이즈 고정시켜달라고 하여 삭제
- clop_rows = 6;
- /*
- if ( tSize == "AUTO" ) {
- selectedRdoPay = model.getValue("/root/hidden/list7/clop/selectedRdoPay");
- totclopcnt = getNodesetCount("/root/main/list7/clop");
-
- if ( selectedRdoPay == "0" ) {
- for (var j = 1; j <= totclopcnt ; j++) {
- if (model.getValue("/root/main/list7/clop["+ j +"]/payflag") == "0") {
- clop_rows = clop_rows + 1;
- }
- }
- } else if ( selectedRdoPay == "1" ) {
- for (var j = 1; j <= totclopcnt ; j++) {
- if (model.getValue("/root/main/list7/clop["+ j +"]/payflag") == "0") {
- clop_rows = clop_rows + 1;
- }
- }
- } else {
- clop_rows = totclopcnt;
- }
- //clop_rows = grd_oprcphist.rows - 1;
- if ( clop_rows < 3 ) {
- clop_rows = 2;
- } else if ( clop_rows > 6 ) {
- clop_rows = 6;
- }
- }
- */
- if ( tSize == "MAX" ) {
- grd_clodhist.attribute("height") = "90"; // 처방Grid 타이틀 32 + data 2줄 23*2 + 스크롤 18 + 2 = 98
- grp_clop.attribute("top") = parseInt(cap_clod.attribute("top"))
- + parseInt(grd_clodhist.attribute("height")) + 25;
- grp_clop.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grd_clodhist.attribute("height")) - 6;
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- } else if (tSize == "MIN") {
- grp_clop.attribute("top") = "541";
- grp_clop.attribute("height") = "96";
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
-
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 6;
- } else if (tSize == "AUTO") {
- grp_clop.attribute("top") = 541 - ((clop_rows-2)*25);
- grp_clop.attribute("height") = 96 + ((clop_rows-2)*25);
- grd_oprcphist.attribute("height") = parseInt(grp_clop.attribute("height")) - 25;
- grd_clodhist.attribute("height") = parseInt(grp_clodhist.attribute("height"))
- - parseInt(grd_clodhist.attribute("top"))
- - parseInt(grp_clop.attribute("height")) - 6;
- }
- gClopSize = tSize;
- }
- // 상병 및 심사메모복사
- function fCopyDiagMemo(imode) {
- /*
- <col checkvalue="Y,N" ref="chk" type="checkbox"/>
- */
-
- var selcnt = 0;
- var ans = "";
- var smsg = "";
-
- model.resetInstanceNode("/root/send/item9/copylist");
-
- for (var i=1; i < grd_predocu.rows; i++) {
- if (model.getValue("/root/main/list4/clbs[ " + i + "]/chk") == "Y") {
- selcnt++;
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/orgclamym" ,model.getValue("/root/main/item1/clbs/clamym"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/orgclamdg" ,model.getValue("/root/main/item1/clbs/clamdg"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/orgpid" ,model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/orgpidsn" ,model.getValue("/root/main/item1/clbs/pidsn"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/mode" ,imode);
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/targetclamym",model.getValue("/root/main/list4/clbs[" + i + "]/clamym"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/targetclamdg",model.getValue("/root/main/list4/clbs[" + i + "]/clamdg"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/targetpid" ,model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/send/item9/copylist[" + selcnt + "]/targetpidsn" ,model.getValue("/root/main/list4/clbs[" + i + "]/pidsn"));
- }
- }
-
- if ( selcnt == 0 ) {
- messageBox("선택된 복사대상 명세서가 ", "I004"); ///선택된 복사대상 명세서가 없습니다.
- return false;
- }
- // 사용자 최종확인
- smsg = "선택된 " + selcnt + "개의 명세서에 ";
- if ( imode == "1" ) {
- smsg = smsg + "상병을 복사합니다.";
- } else if ( imode == "2" ) {
- smsg = smsg + "청구메모를 복사합니다.";
- } else if ( imode == "3" ) {
- smsg = smsg + "상병과 청구메모를 복사합니다.";
- } else {
- messageBox("error","");
- return false;
- }
- smsg = smsg + " \n\n 계속 진행"
- ans = messageBox(smsg, "S001");
- if (ans != 6) { // 6: yes
- return false;
- }
-
- if ( !submit("TXPID20305") ) { return false; }
-
- return true;
- }
- // 20100405 원외처방 수정 이벤트 추가
- // xrw 에 있는것 옮긴후 작업
- function fClopOnEndEdit() {
- var row = grd_oprcphist.row;
- var col = grd_oprcphist.col;
- // 수정된내역 없으면 종료
- if ( model.getValue("/root/hidden/list7/clop/oldclopdd") == model.getValue("/root/main/list7/clop["+ row +"]/clopdd")
- && model.getValue("/root/hidden/list7/clop/oldclopno") == model.getValue("/root/main/list7/clop["+ row +"]/clopno")
- && model.getValue("/root/hidden/list7/clop/oldsnglcalcscorcd") == model.getValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd")
- && model.getValue("/root/hidden/list7/clop/oldedicd") == model.getValue("/root/main/list7/clop["+ row +"]/edicd")
- && model.getValue("/root/hidden/list7/clop/oldedidrugqty") == model.getValue("/root/main/list7/clop["+ row +"]/edidrugqty")
- && model.getValue("/root/hidden/list7/clop/olddrugtims") == model.getValue("/root/main/list7/clop["+ row +"]/drugtims")
- && model.getValue("/root/hidden/list7/clop/oldedidrugdayno") == model.getValue("/root/main/list7/clop["+ row +"]/edidrugdayno")
- ) {
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus"); // 수정상태
- return;
- }
- var adjtresncd = model.getValue("/root/main/list7/clop["+ row +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd == "" || cmbAdjtresncd == "-" ) {
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", adjtresncd);
-
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- adjtresncd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- } else {
- adjtresncd = cmbAdjtresncd;
- }
- }
- if (adjtresncd == "" || adjtresncd == "-") {
- // 사유 없으면 원상복귀
- model.setValue("/root/main/list7/clop["+ row +"]/clopdd", model.getValue("/root/hidden/list7/clop/oldclopdd")); // 교부일자
- model.setValue("/root/main/list7/clop["+ row +"]/clopno", model.getValue("/root/hidden/list7/clop/oldclopno")); // 교부번호
- model.setValue("/root/main/list7/clop["+ row +"]/oldsnglcalcscorcd", model.getValue("/root/hidden/list7/clop/snglcalcscorcd")); // 수가코드
- model.setValue("/root/main/list7/clop["+ row +"]/oldedicd", model.getValue("/root/hidden/list7/clop/edicd")); // EDI코드
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugqty", model.getValue("/root/hidden/list7/clop/oldedidrugqty")); // edi수량
- model.setValue("/root/main/list7/clop["+ row +"]/drugtims", model.getValue("/root/hidden/list7/clop/olddrugtims")); // 횟수
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugdayno", model.getValue("/root/hidden/list7/clop/oldedidrugdayno")); // edi일수
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus"); // 수정상태
- return;
- }
-
-
- var newclopdd = model.getValue("/root/main/list7/clop["+ row +"]/clopdd");
- var newclopno = model.getValue("/root/main/list7/clop["+ row +"]/clopno");
- var curmpsno = model.getValue("/root/main/list7/clop["+ row +"]/mpsno");
- var newmpsno = newclopdd+newclopno;
-
-
- // 교부일자
- if (col == grd_oprcphist.colRef("clopdd")) {
-
- if ( !isValidDateTime(newclopdd) || curmpsno == newmpsno ) { // (dateHelper.) 유효한 날짜, 시간 인지 점검
- model.setValue("/root/main/list7/clop["+ row +"]/clopdd", model.getValue("/root/hidden/list7/clop/oldclopdd"));
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- } else {
- for (var i = 1; i < grd_oprcphist.rows; i++) {
- var mpsno = model.getValue("/root/main/list7/clop["+ i +"]/mpsno");
- if (curmpsno == mpsno) { // 수정된 row와 처방전 교부번호가 같은 경우
- model.setValue("/root/main/list7/clop["+ i +"]/clopdd", newclopdd);
- model.setValue("/root/main/list7/clop["+ i +"]/newmpsno", newmpsno);
- model.setValue("/root/main/list7/clop["+ i +"]/adjtresncd", adjtresncd); // 조정사유
-
- //if ( model.getValue("/root/hidden/list7/clop/oldrowstatus") == 0 ) {
- if ( grd_oprcphist.rowstatus(i) == 0 ) {
- grd_oprcphist.rowstatus(i) = 2;
- }
- }
- }
-
- // 원외처방 특정내역이 있는 경우
- var clsoList = instance1.selectNodes("/root/main/list3/clsp");
- for (var j = 1; j <= clsoList.length; j++) {
- var spclmpsno = model.getValue("/root/main/list3/clsp["+ j +"]/mpsno"); // mpsno
- var clsoyn = model.getValue("/root/main/list3/clsp["+ j +"]/clsoyn"); // 원외처방 특정내역 여부
- if (curmpsno == mpsno && clsoyn == "Y") {
- model.setValue("/root/main/list3/clsp["+ j +"]/mpsno",newmpsno);
- if ( grd_clsphist.rowstatus(j) == 0 ) {
- grd_clsphist.rowstatus(j) = 2;
- }
- }
- }
- }
- }
- // 교부번호
- else if (col == grd_oprcphist.colRef("clopno")) {
- if ( newclopno == "" || curmpsno == newmpsno ) {
- model.setValue("/root/main/list7/clop["+ row +"]/clopno", model.getValue("/root/hidden/list7/clop/oldclopno"));
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- } else {
- for (var i = 1; i < grd_oprcphist.rows; i++) {
- var mpsno = model.getValue("/root/main/list7/clop["+ i +"]/mpsno");
- if (curmpsno == mpsno) { // 수정된 row와 처방전 교부번호가 같은 경우
- model.setValue("/root/main/list7/clop["+ i +"]/clopno", newclopno);
- model.setValue("/root/main/list7/clop["+ i +"]/newmpsno", newmpsno);
- model.setValue("/root/main/list7/clop["+ i +"]/adjtresncd", adjtresncd); // 조정사유
-
- //if ( model.getValue("/root/hidden/list7/clop/oldrowstatus") == 0 ) {
- if ( grd_oprcphist.rowstatus(i) == 0 ) {
- grd_oprcphist.rowstatus(i) = 2;
- }
- }
- }
- // 원외처방 특정내역이 있는 경우
- var clsoList = instance1.selectNodes("/root/main/list3/clsp");
- for (var j = 1; j <= clsoList.length; j++) {
- var spclmpsno = model.getValue("/root/main/list3/clsp["+ j +"]/mpsno"); // mpsno
- var clsoyn = model.getValue("/root/main/list3/clsp["+ j +"]/clsoyn"); // 원외처방 특정내역 여부
- if (curmpsno == mpsno && clsoyn == "Y") {
- model.setValue("/root/main/list3/clsp["+ j +"]/mpsno",newmpsno);
- if ( grd_clsphist.rowstatus(j) == 0 ) {
- grd_clsphist.rowstatus(j) = 2;
- }
- }
- }
- }
- }
- // 수가코드, EDI코드
- else if (col == grd_oprcphist.colRef("snglcalcscorcd") || col == grd_oprcphist.colRef("edicd") ) {
- fSetSrchOutCalcScorCd(adjtresncd);
- }
- // edi수량
- else if (col == grd_oprcphist.colRef("edidrugqty")) {
- var oldedidrugqty = model.getValue("/root/hidden/list7/clop/oldedidrugqty");
- var edidrugqty = model.getValue("/root/main/list7/clop["+ row +"]/edidrugqty");
-
- if ( edidrugqty == "" || edidrugqty == "0" ) {
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugqty", oldedidrugqty);
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- } else {
- model.setValue("/root/main/list7/clop["+ row +"]/drugqty", edidrugqty); // 수량 같이 변경
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", adjtresncd); // 조정사유
- if ( model.getValue("/root/hidden/list7/clop/oldrowstatus") == 0 ) {
- grd_oprcphist.rowstatus(i) = 2;
- }
- }
- }
- // 횟수
- else if (col == grd_oprcphist.colRef("drugtims")) {
- var olddrugtims = model.getValue("/root/hidden/list7/clop/olddrugtims");
- var drugtims = model.getValue("/root/main/list7/clop["+ row +"]/drugtims");
-
- if ( drugtims == "" || drugtims == "0" ) {
- model.setValue("/root/main/list7/clop["+ row +"]/drugtims", olddrugtims);
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- } else {
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", adjtresncd); // 조정사유
- if ( model.getValue("/root/hidden/list7/clop/oldrowstatus") == 0 ) {
- grd_oprcphist.rowstatus(i) = 2;
- }
- }
- }
- // edi일수
- else if (col == grd_oprcphist.colRef("edidrugdayno")) {
- var oldedidrugdayno = model.getValue("/root/hidden/list7/clop/oldedidrugdayno");
- var edidrugdayno = model.getValue("/root/main/list7/clop["+ row +"]/edidrugdayno");
-
- if ( edidrugdayno == "" || edidrugdayno == "0" ) {
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugdayno", oldedidrugdayno);
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- } else {
- model.setValue("/root/main/list7/clop["+ row +"]/drugdayno", edidrugdayno); // 일수 같이 변경
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", adjtresncd); // 조정사유
- if ( model.getValue("/root/hidden/list7/clop/oldrowstatus") == 0 ) {
- grd_oprcphist.rowstatus(i) = 2;
- }
- }
- }
- grd_oprcphist.refresh();
- }
- // 심사사유, 조정사유, 수정사유 입력
- function fSetAdjtResnCdClop() {
- var oldcd = model.getValue("/root/main/list7/clop["+ grd_oprcphist.row +"]/adjtresncd");
-
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", oldcd);
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- var newcd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- if (newcd) {
- for (var i = 0; i < grd_oprcphist.selectedRows; i++) {
- var row = grd_oprcphist.selectedrow(i);
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", newcd);
- if (newcd != oldcd) {
- if (grd_oprcphist.rowStatus(row) == 0) { // 0 : new, 2 : update
- grd_oprcphist.rowStatus(row) = 2;
- }
- }
- }
- }
- return newcd;
- }
- // 수가코드, EDI코드를 조회한 후 원외처방으로 행 추가를 한다.
- function fSetSrchOutCalcScorCd(adjtresncd) {
- var col = grd_oprcphist.col;
- var row = grd_oprcphist.row;
- //grd_oprcphist.mergerow(row) = false;
-
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch"); // SMPIC00200_수가조회에 전달할 조건값
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303") 용
-
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "N"); // 단가변경여부
- model.makeValue("/root/send/item5/mech/ediupdateyn", "N"); // edi변경여부
-
- if (col == grd_oprcphist.colRef("snglcalcscorcd")) { // 수가코드
- var oldsnglcalcscorcd = model.getValue("/root/hidden/list7/clop/oldsnglcalcscorcd");
- var snglcalcscorcd = model.getValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd");
- if (snglcalcscorcd == "") {
- model.setValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd", oldsnglcalcscorcd);
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- return;
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", snglcalcscorcd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/basecd", "");
- }
- else if (col == grd_oprcphist.colRef("edicd")) { // EDI코드
- var oldedicd = model.getValue("/root/hidden/list7/clop/oldedicd");
- var edicd = model.getValue("/root/main/list7/clop["+ row +"]/edicd");
- if (edicd == "") {
- model.setValue("/root/main/list7/clop["+ row +"]/edicd", oldedicd);
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- return;
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", edicd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/basecd", edicd); // submit("TRPID20303") 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- }
-
-
- var ordfromdd = model.getValue("/root/main/list7/clop["+ row +"]/clopdd");
-
- model.makeValue("/root/send/item5/mech/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordfromdd);
-
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- var edidrugqty = model.getValue("/root/main/list7/clop["+ row +"]/edidrugqty");
- var drugtims = model.getValue("/root/main/list7/clop["+ row +"]/drugtims");
- var edidrugdayno = model.getValue("/root/main/list7/clop["+ row +"]/edidrugdayno");
- model.makeValue("/root/send/item5/mech/drugqty", edidrugqty);
- model.makeValue("/root/send/item5/mech/tims", drugtims);
- model.makeValue("/root/send/item5/mech/dayno", edidrugdayno);
-
- model.makeValue("/root/send/item5/mech/adjtresncd", adjtresncd);
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", "-");
- model.makeValue("/root/send/item5/mech/payflag", model.getValue("/root/main/list2/clop["+ row +"]/payflag"));
- model.makeValue("/root/send/item5/mech/clbsordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- model.makeValue("/root/send/item5/mech/mode", "n");
- model.makeValue("/root/send/item5/mech/pid", model.getValue("/root/main/item1/clbs/pid"));
- var cloplength = 0;
- var clopSelect = "";
- var clop = "";
- if (submit("TRPID20303")) {
- clopSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- clop = clopSelect.childNodes; //root/main/item5/mech
- cloplength = clop.length;
- }
-
- // 입력한 코드에 대해 조회된 결과가 없거나, 하나의 EDI코드에 여러 수가코드가 존재할 때
- if (cloplength == 0) {
- // 검색된 결과가 여러 수가코드인 경우 이를 초기화하고 수가조회 Popup 창에서 새로 결과를 얻는다.
- model.resetInstanceNode("/root/main/item5");
-
- // insukindcd를 SMPIC00200_수가조회 화면에서 사용하는 조건값으로 변경한다.
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukindcd == "11") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- }
- else if (insukindcd == "21" || insukindcd == "22") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "proc");
- }
- else if (insukindcd == "31") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "autm");
- }
- else if (insukindcd == "41") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "indus");
- } else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- }
- // SMPIC00200_수가조회 화면의 그룹,싱글 combo 조건값 설정
- if (col == grd_oprcphist.colRef("snglcalcscorcd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
- }
- // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
- if (col == grd_oprcphist.colRef("edicd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "edicd");
- }
- else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "calcscorcd");
- }
- // 처방시작일을 수가조회 기준일자로 설정
- if (ordfromdd) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ordfromdd);
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con_ordinptflag", "PAM"); // 20100113 처방입력구분이 입력가능으로 된 수가도 조회하기 위해서 추가
- model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
- modal("SMPIC00200", "1", "10", "10", "SMPIC00200", "root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
-
- // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
- model.makeNode("/root/hidden/smpic00200/rslt/mech");
- model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
- model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
- model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
- model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접 전달되는 경로임
-
- if ( model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A"
- && model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "I" // 20100120 김용민 입력가능한 수가 제외
- ) { // 처방입력구분(코드군 P0141) A: 가능
- model.setValue("/root/main/list7/clop["+ row +"]/edicd", "");
- model.setValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd", "");
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- messageBox("처방이 불가한 코드", "E008"); ///처방이 불가한 코드입니다.
- return;
- }
-
- if (model.getValue("/root/hidden/smpic00200/rslt/mech/grupsnglflag") != "S") { // 그룹코드인 경우의 그룹코드에 속하는 싱글코드를 조회함.
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/mech/calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/snglcalcscorcd");
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- submit("TRPID20303");
- } else { // 싱글코드를 선택했을 때
- model.resetInstanceNode("/root/send/item5/mech/grupcalcscorcd");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- submit("TRPID20303");
- }
-
- }
- clopSelect = instance1.selectSingleNode("/root/main/item5"); //root/main/item5
- if (clopSelect != null) {
- var clop = clopSelect.childNodes; //root/main/item5/mech
- if (clop.length == 0) {
- model.setValue("/root/main/list7/clop["+ row +"]/edicd", "");
- model.setValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd", "");
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); ///처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가 없습니다.
- return;
- }
- for (var i = 1; i <= clop.length; i++) { // 싱글 수가코드 개수 만큼
- model.setValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd", model.getValue("/root/main/item5/mech["+i+"]/snglcalcscorcd") );
- model.setValue("/root/main/list7/clop["+ row +"]/edicd", model.getValue("/root/main/item5/mech["+i+"]/edicd") );
- model.setValue("/root/main/list7/clop["+ row +"]/hngnm", model.getValue("/root/main/item5/mech["+i+"]/hngnm") );
- model.setValue("/root/main/list7/clop["+ row +"]/ordnm", model.getValue("/root/main/item5/mech["+i+"]/ordnm") );
- model.setValue("/root/main/list7/clop["+ row +"]/payflag", model.getValue("/root/main/item5/mech["+i+"]/payflag") );
- model.setValue("/root/main/list7/clop["+ row +"]/edicdflag", model.getValue("/root/main/item5/mech["+i+"]/edicdflag") );
- model.setValue("/root/main/list7/clop["+ row +"]/efcyclscd", model.getValue("/root/main/item5/mech["+i+"]/efcyclscd") );
- model.setValue("/root/main/list7/clop["+ row +"]/efcyclsnm", model.getValue("/root/main/item5/mech["+i+"]/efcyclsnm") );
- model.setValue("/root/main/list7/clop["+ row +"]/efcynm2", model.getValue("/root/main/item5/mech["+i+"]/efcynm2") );
- model.setValue("/root/main/list7/clop["+ row +"]/efcynm3", model.getValue("/root/main/item5/mech["+i+"]/efcynm3") );
- model.setValue("/root/main/list7/clop["+ row +"]/adjtresncd", adjtresncd );
-
- // 신규입력된 처방은 seqno는 최종번호를 셋팅하고 maxseqno에 최종값을 +1한다.
- if ( model.getValue("/root/main/list7/clop["+ row +"]/seqno") == "0"
- || model.getValue("/root/main/list7/clop["+ row +"]/seqno") == ""
- ) {
- model.setValue("/root/main/list7/clop["+ row +"]/seqno", model.getValue("/root/main/item1/clbs/maxclopseqno"));
- model.setValue("/root/main/item1/clbs/maxclopseqno", parseInt(model.getValue("/root/main/item1/clbs/maxclopseqno")) + 1);
- }
- // 행 추가 후 싱글코드 조회 후에 다음 줄을 자동으로 한줄 추가함.
- if (i < clop.length) {
- grd_oprcphist.insertRow(row++, "below", false);
- var beforerow = row - 1 ;
- //grd_oprcphist.mergerow(row) = false;
- model.setValue("/root/main/list7/clop["+ row +"]/clopdd", model.getValue("/root/main/list7/clop["+ beforerow +"]/clopdd"));
- model.setValue("/root/main/list7/clop["+ row +"]/clopno", model.getValue("/root/main/list7/clop["+ beforerow +"]/clopno"));
- model.setValue("/root/main/list7/clop["+ row +"]/oldclopdd", model.getValue("/root/main/list7/clop["+ beforerow +"]/oldclopdd"));
- model.setValue("/root/main/list7/clop["+ row +"]/oldclopno", model.getValue("/root/main/list7/clop["+ beforerow +"]/oldclopno"));
- model.setValue("/root/main/list7/clop["+ row +"]/mpsno", model.getValue("/root/main/list7/clop["+ beforerow +"]/mpsno"));
- model.setValue("/root/main/list7/clop["+ row +"]/edilnno", model.getValue("/root/main/list7/clop["+ beforerow +"]/edilnno"));
- model.setValue("/root/main/list7/clop["+ row +"]/payflag", model.getValue("/root/main/list7/clop["+ beforerow +"]/payflag"));
- model.setValue("/root/main/list7/clop["+ row +"]/drugqty", model.getValue("/root/main/list7/clop["+ beforerow +"]/drugqty"));
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugqty", model.getValue("/root/main/list7/clop["+ beforerow +"]/edidrugqty"));
- model.setValue("/root/main/list7/clop["+ row +"]/drugtims", model.getValue("/root/main/list7/clop["+ beforerow +"]/drugtims"));
- model.setValue("/root/main/list7/clop["+ row +"]/drugdayno", model.getValue("/root/main/list7/clop["+ beforerow +"]/drugdayno"));
- model.setValue("/root/main/list7/clop["+ row +"]/edidrugdayno", model.getValue("/root/main/list7/clop["+ beforerow +"]/edidrugdayno"));
- model.setValue("/root/main/list7/clop["+ row +"]/workflag", "12");
- model.setValue("/root/main/list7/clop["+ row +"]/spclspecyn", "");
- }
- }
-
- } else {
- model.setValue("/root/main/list7/clop["+ row +"]/edicd", "");
- model.setValue("/root/main/list7/clop["+ row +"]/snglcalcscorcd", "");
- grd_oprcphist.rowstatus(row) = model.getValue("/root/hidden/list7/clop/oldrowstatus");
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); ///처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가 없습니다.
- return;
- }
-
- }
- // 원외처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fOutOrderGridInsertRow() {
- var cloprow = grd_oprcphist.row;
-
- grd_oprcphist.insertRow(cloprow++, "below", true, true); // 처방 Grid에 행 삽입
- grd_oprcphist.row = cloprow;
- //grd_oprcphist.mergerow(cloprow) = false;
- grd_oprcphist.mergecells = "never";
- // 기본값 입력
- model.setValue("/root/main/list7/clop["+ cloprow +"]/clopdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/main/list7/clop["+ cloprow +"]/clopno", "99999");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/oldclopdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/main/list7/clop["+ cloprow +"]/oldclopno", "99999");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/mpsno", model.getValue("/root/main/item1/clbs/ordfromdd")+"99999");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/edilnno", "0");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/payflag", "0");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/drugqty", "1");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/edidrugqty", "1");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/drugtims", "1");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/drugdayno", "1");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/edidrugdayno", "1");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/workflag", "12");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/spclspecyn", "");
-
- var adjtresncd = model.getValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd == "" || cmbAdjtresncd == "-" ) {
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", adjtresncd);
-
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- adjtresncd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- } else {
- adjtresncd = cmbAdjtresncd;
- }
- }
- if (adjtresncd == "" || adjtresncd == "-") {
- grd_oprcphist.deleteRow(cloprow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- } else {
- model.setValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd", adjtresncd);
- }
-
- }
- // 원외처방 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행복사"
- function fOutOrderGridCopyRow() {
- var cloprow = grd_oprcphist.row;
-
- var adjtresncd = model.getValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd == "" || cmbAdjtresncd == "-" ) {
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftout");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", adjtresncd);
-
- modal("SPPIZ01000", "1", "500", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- adjtresncd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- } else {
- adjtresncd = cmbAdjtresncd;
- }
- }
- if (adjtresncd == "" || adjtresncd == "-") {
- return;
- }
-
-
- grd_oprcphist.insertRow(cloprow++, "below", true, true); // 처방 Grid에 행 삽입
-
- model.copyNode("/root/main/list7/clop["+ cloprow +"]", "/root/main/list7/clop["+ (cloprow - 1) +"]");
-
- model.resetInstanceNode("/root/main/list7/clop["+ cloprow +"]/spclspecyn");
- model.resetInstanceNode("/root/main/list7/clop["+ cloprow +"]/clopseqno");
- model.setValue("/root/main/list7/clop["+ cloprow +"]/adjtresncd",adjtresncd);
-
- // seqno 셋팅
- model.setValue("/root/main/list7/clop["+ cloprow +"]/seqno", model.getValue("/root/main/item1/clbs/maxclopseqno"));
- model.setValue("/root/main/item1/clbs/maxseqno", parseInt(model.getValue("/root/main/item1/clbs/maxclopseqno")) + 1);
- model.setValue("/root/main/list7/clop["+ cloprow +"]/edilnno", "0");
-
- grd_oprcphist.refresh();
- }
- function fGetClamDiagHistList(){
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있으면
- // 심사대상자의 등록번호를 조건으로 하여 전체 청구 상병이력을 조회한다.
- model.removeNodeset("/root/hidden/smpiz00200/rslt");
-
- model.makeNode("/root/hidden/smpiz00200/cond/pid");
- model.makeNode("/root/hidden/smpiz00200/cond/ordfromdd");
- model.makeNode("/root/hidden/smpiz00200/cond/ordtodd");
- model.makeNode("/root/hidden/smpiz00200/cond/clamym");
-
- model.setValue("/root/hidden/smpiz00200/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/smpiz00200/cond/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/smpiz00200/cond/ordtodd", model.getValue("/root/main/item1/clbs/dschdd"));
- model.setValue("/root/hidden/smpiz00200/cond/clamym", ipt_clamym.value);
- //model.setValue("/root/hidden/smpiz00100/cond/srchflag", "pam"); // 검색구분 Radio : 청구
- modal("SMPIZ00200", "1", "10", "10", "SMPIZ00200", "/root/hidden/smpiz00200/cond", "/root/init", "", ""); // SMPIZ00100_외래입원상병이력조회.xrw
- }
- }
- function fGetCoppayFlagSelect() {
- var selectedRdoPay = model.getValue("/root/hidden/list7/clop/selectedRdoPay");
- if (selectedRdoPay == "0") {
- //grd_oprcphist.nodeset = "/root/main/list7/clop[payflag='"+ selectedRdoPay +"']"; // 급여구분1(P0104 -:해당사항없음, 0:급여, 1:전액본인부담, 2:일반)
- for (var j = 1; j < grd_oprcphist.rows; j++) {
- if (model.getValue("/root/main/list7/clop["+ j +"]/payflag") == "0") {
- grd_oprcphist.rowHidden(j) = false;
- } else {
- grd_oprcphist.rowHidden(j) = true;
- }
- }
- }
- else if (selectedRdoPay == "1") {
- for (var j = 1; j < grd_oprcphist.rows; j++) {
- if (model.getValue("/root/main/list7/clop["+ j +"]/payflag") != "0") {
- grd_oprcphist.rowHidden(j) = false;
- } else {
- grd_oprcphist.rowHidden(j) = true;
- }
- }
- } else {
- grd_oprcphist.nodeset = "/root/main/list7/clop";
- }
- grd_oprcphist.refresh();
- }
- function fGeCaseSelect(caseId, visible_val) {
- var caseObj = document.all.item(caseId);
-
- if (caseObj.selected) { // 기존에 이미 선택되어 있는 tab인데 해당 tab을 다시 선택한 경우
- //if (swt_spclmemo.attribute("height") == "608") { // 세로로 확대된 창을 원래대로 한다.
- if ( grp_clsphist.attribute("height") == "632" ) {
- fCutSwitchSize();
- } else { // textarea를 세로로 확대시킨다.
- fExpandSwitchSize();
- }
- } else { // 기존에 선택되지 않은 tab인 경우
- fCutSwitchSize();
- // fExpandSwitchSize();
- // model.refresh();
- }
- // JT001 체크박스는 특정내역 선택했을때만 보임 - 20091112 박창원
- chk_JT001.visible = visible_val;
- model.toggle(caseId); // 해당 tab 으로 토글시킨다.
- }
- function fGetClosepredocuList() {
- grd_clodhist.attribute("width") = "1114";
- ln_clodhist.attribute("x2") = "1114";
- cap_grptemp.visible = false;
- grp_predoculist.visible = false;
- }
- function fGetGrdCldihistEditCell() {
- // col@type = "input" 일 경우 onentercell시점에 EditMode 상태 만들기
- if (grd_cldihist.colType(grd_cldihist.col) == "input") {
- grd_cldihist.editCell();
- }
- }
- /*
- 심사완료전상병특정내역체크 2012.07.11 plet2
- 1. 중증/산정특례 상병 체크- 상병 화면 주상병(no=1)의 MT002에 V Code 있으면 중증/산정특례 V252, V027은 제외
- 2. 특정내역에 MT002 체크 - 중증/산정특례 특정기호 관련 특정내역
- 3. 특정내역에 MT014 체크 - 중증/산정특례 자격 번호 관련 특정내역
- //주상병이 v252이고 특정내역에 ct002코드가 없을때 발생 2012.07.05 plet2
- //특정내역이 ct002이고 주상병에 v252코드가 없을때 발생 2012.07.05 plet2
- //불완전상병체크
- */
- function fGetDiagSpclcdCheck(){
- var chk_vcode = model.getValue("/root/main/list1/cldi[diagseq='1']/vcode");
- var chk_vcodeR = model.getValue("/root/main/list1/cldi[diagseq='1' and diagkindcd != 'R']/vcode"); //룰아웃제외
- var chk_CT002 = model.getValue("/root/main/list3/clsp[spclcd='CT002' and insntstat !='D']/spclcd");
- var chk_MT002 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and insntstat !='D']/spclcd");
- var chk_F001 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F001' and insntstat !='D']/spclcd");
- var chk_F003 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F003' and insntstat !='D']/spclcd");
- var chk_F004 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F004' and insntstat !='D']/spclcd");
- var chk_F005 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F005' and insntstat !='D']/spclcd");
- var chk_V001 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='V001' and insntstat !='D']/spclspec");
- var chk_V008 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='V008' and insntstat !='D']/spclcd");
- var chk_MT014 = model.getValue("/root/main/list3/clsp[spclcd='MT014' and insntstat !='D']/spclcd");
- var kcd6chk = model.getValue("/root/main/list1/cldi[kcd6chk ='Y' and rowstat !='U']/kcd6chk"); // 불완전상병체크
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/clop"); //원외처방수
- var chk_396 = model.getValue("/root/main/list7/clop[efcyclscd='396']/efcyclscd");
- var chk_insukindcd = model.getValue("/root/main/item1/clbs/insukindcd"); //보험유형
- var chk_suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd"); //보조유형
- var chk_diagcd = model.getValue("/root/main/list1/cldi[diagseq='1']/diagcd"); //주상병코드
- var chk_diagcdR = model.getValue("/root/main/list1/cldi[diagseq='1' and diagkindcd != 'R']/diagcd"); //주상병코드룰아웃
- var chk_pid = model.getValue("/root/main/item1/clbs/pid"); //환자번호
- var chk_ioflag = model.getValue("/root/main/item1/clbs/ioflag"); //입원외래구분
- var chk_ordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- var chk_clamym = model.getValue("/root/main/item1/clbs/clamym"); //청군년월
- var chk_clamdg = model.getValue("/root/main/item1/clbs/clamdg"); //차수
- var chk_pidsn = model.getValue("/root/main/item1/clbs/pidsn"); //순번
- var chk_O3420 = model.getValue("/root/main/list1/cldi[diagcd='O3420']/diagcd");
- var chk_JT005 = model.getValue("/root/main/list3/clsp[spclcd='JT005' and insntstat !='D']/spclspec"); //임신주수
- var chk_MS004 = model.getValue("/root/main/list3/clsp[spclcd='MS004' and insntstat !='D']/spclspec"); //신생아체중
- var chk_O365 =model.getValue("/root/main/list1/cldi[diagcd='O365' or diagcd='O366' ]/diagcd"); //임신주수상병코드
- var chk_rareobstflag = model.getValue("/root/main/item1/clbs[suppamt>0 and rareobstflag='L']/rareobstflag"); //결핵이면서 지원금 있는
- var cnt_MT002 = getNodesetCount("/root/main/list3/clsp[spclcd='MT002' and insntstat !='D' and spclspec!='V206' and spclspec!='V246' and spclspec!='V231' and spclspec!='F008']/spclcd");
- var chk_orddeptcd = model.getValue("/root/main/item1/clbs/orddeptcd"); //진료과
-
- var result = true;
-
- //V252,V027,V191,V192제외
- //F004,F005제외
- //주상병 불일치
- //주상병이 N180~N189 이면서 Vcode가 V001아닌 경우 체크
- if ( chk_vcodeR != "V252" && chk_vcodeR != "V027" && chk_vcodeR != "V191" && chk_vcodeR != "V192" ) {
- if ((chk_MT002 == "" || chk_MT014 == "") && chk_vcodeR != "") {
- if ((chk_diagcdR >= "N180" && chk_diagcdR <= "N189") && chk_V001 == "V001" && chk_MT014 == "" ) {
- if(messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례)", "Q003") == 6){
- result = true;
- } else {
- result = false;
- }
- } else {
- //의료보호, 보조유형 1종 차상위는 제외
- //에이즈상병 제외 (V103)
- if ((chk_vcodeR == "V103")
- || (chk_insukindcd == "21" || chk_insukindcd == "22" )
- || (chk_insukindcd == "11" && (chk_suppkindcd == "32" || chk_suppkindcd == "60" || chk_suppkindcd == "88"))
- || chk_suppkindcd == "00")
- {
- result = true;
- } else {
- if(messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례).", "Q003") == 6){
- result = true;
- } else {
- result = false;
- }
- }
-
- }
- } else if ((chk_MT002 != "" || chk_MT014 != "") && chk_vcodeR == "") {
- if (chk_F003 != "" || chk_F004 != "" || chk_F005 != "" || chk_V008 || chk_F001 !="") {
- result = true;
- } else {
- if (((chk_MT002 != "" || chk_MT014 != "") && chk_vcodeR == "" && !((chk_insukindcd == "21" || chk_insukindcd == "22" ) && chk_suppkindcd == "00" )
- ) || ((chk_MT002 == "" || chk_MT014 == "") && chk_vcodeR != "") ) {
- if(messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례),", "Q003") == 6){
- result = true;
- } else {
- result = false;
- }
- }
- }
- } else if (chk_vcodeR == "V103" && chk_MT002 == "" ) {
- if(messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례)...", "Q003") == 6){
- result = true;
- } else {
- result = false;
- }
- } else if (chk_vcodeR != "" && chk_rareobstflag == "L" && cnt_MT002 > "0" ) {
- if(messageBox("결핵환자는 결핵관련 특정기호(MT002) 이외에는 기재 할 수 없습니다.", "Q003") == 6){
- result = true;
- } else {
- result = false;
- }
- }
-
- }
- //경증상병
- //CT002불일치
- //주상병이 경증 + 건강보험이 정상이면서 원외 처방이 있고, CT002없는 경우/반대의경우 체크
- if ((chk_vcodeR == "V252" && chk_CT002 == "" && snglcalcscorcdcnt > 0 && (chk_insukindcd == "11" && chk_suppkindcd == "00") )
- || (chk_vcodeR != "V252" && chk_CT002 != "" && snglcalcscorcdcnt > 0 && (chk_insukindcd == "11" && chk_suppkindcd == "00") ) ){
- if ((chk_diagcdR >= "E10" && chk_diagcdR <= "E149") && chk_396 != '396') {
- if(messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (경증)", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
-
- }
-
- if (kcd6chk == "Y") {
- if(messageBox("불완전상병이 존재 합니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
-
- if (chk_vcodeR.length > 0) {
- model.setValue("/root/send/chksuppkindflag/cond/diagcd",chk_diagcdR);
- model.setValue("/root/send/chksuppkindflag/cond/spclcd",chk_vcodeR);
- model.setValue("/root/send/chksuppkindflag/cond/ioflag",chk_ioflag);
- model.setValue("/root/send/chksuppkindflag/cond/ordfromdd", chk_ordfromdd);
- model.setValue("/root/send/chksuppkindflag/cond/clamym",chk_clamym);
- model.setValue("/root/send/chksuppkindflag/cond/clamdg",chk_clamdg);
- model.setValue("/root/send/chksuppkindflag/cond/pidsn",chk_clamdg);
- model.setValue("/root/send/chksuppkindflag/cond/pid",chk_pid);
- model.setValue("/root/send/chksuppkindflag/cond/insukindcd",chk_insukindcd);
-
- //상병 + 번호 + 처방
- //상병 + 번호
- //보조유형 불일치 체크
- submit("TRPID20314");
- var chksuppkindflag = model.getValue("/root/hidden/chksuppkindflag/rslt/chksuppkindflag");
- if (chksuppkindflag != "" && chksuppkindflag != chk_suppkindcd && chk_diagcdR != "" && chk_suppkindcd != "00" ) {
- if(messageBox("주상병과 보조유형이 일치 하지 않습니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
-
- //특정 분만진단에 필수 부진단 유무 체크
- //O820이 주상병인 환자가 O3420 상병이 없을 경우 체크
- if (chk_diagcd == 'O820' && chk_O3420.length == 0 ) {
- if(messageBox("반복제왕절개 환자입니다.", "Q003") == 6) {
- result = true;
- } else {
- var ans = messageBox("O3420 상병을 입력" , "S001");
- if (ans==6){
- model.setFocus("grd_cldihist");
- fDiagGridInsertRow("Y", "N");
- grd_cldihist.bottomRow = grd_cldihist.rows;
- model.refresh();
-
- var maxseq = model.getXPathValue("max(/root/main/list1/cldi[*]/diagseq)");
- model.setValue("/root/main/list1/cldi[diagseq='"+maxseq+"']/diagcd","O3420");
- model.setValue("/root/main/list1/cldi[diagseq='"+maxseq+"']/diagnm","이전의 제왕절개로 인한 흉터의 산모 관리");
- }
- result = false;
- }
- }
-
- //임신주수별 체중과 진단 체크
- //신생아 체중관련 상병누락입니다 (O365 or O366)
- if (chk_JT005.length > 0 && chk_MS004.length > 0) {
- var nwbabyweight = parseInt(chk_MS004);
- var minweight = parseInt(model.getValue("/root/main/nbwt/nbwtlist[prgntweek='"+chk_JT005+"']/minweight"));
- var maxweight = parseInt(model.getValue("/root/main/nbwt/nbwtlist[prgntweek='"+chk_JT005+"']/maxweight"));
-
- if (chk_O365.length == 0 && (nwbabyweight <= minweight || nwbabyweight >= maxweight ) ) {
- if(messageBox("신생아 체중관련 상병누락 환자입니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
-
- /* 1924863 보조유형 00일때 제외
- * // I20 ~I25 을 입력 하면 순환기,흉부외과는 주상병명이면 통과 하고타과 면 주상병명 으로 입력 하면 입력이 안되도록
- if ((chk_diagcd >= "I200" && chk_diagcd <= "I2599") && (chk_orddeptcd!="2070000000" || chk_orddeptcd!="2010400000") ) {
- if(messageBox("순환기내과, 흉부외과 외 주상병 할 수 없는 상병 입니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }*/
- var clbs_licnsno = model.getValue("/root/main/item1/clbs/licnsno");
- var cldi_licnsno = model.getValue("/root/main/list1/cldi[diagseq='1']/licnsno");
- var clod_licnsno = model.getValue("/root/main/list2/clod[item='0101' or item='0102']/licnsno");
- var clod_snglcalcscorcd = model.getValue("/root/main/list2/clod[item='0101' or item='0102']/snglcalcscorcd");
- if((clbs_licnsno != cldi_licnsno) || (clbs_licnsno != clod_licnsno) ){
- if (grd_cldihist.rowstatus(1) != 1 && grd_cldihist.rowstatus(1) != 3) {
- grd_cldihist.rowstatus(1) = 2;
- }
- if (grd_cldihist.rowstatus(1) != 1 && grd_cldihist.rowstatus(1) != 3) {
- grd_clodhist.rowstatus(grd_clodhist.findRow(clod_snglcalcscorcd,grd_clodhist.fixedRows,grd_clodhist.colRef("snglcalcscorcd"), false, true)) = 2;
- }
- }
-
- var holigbn = model.getValue("/root/main/item1/clbs/holigbn");
- var holifromdd = model.getValue("/root/main/item1/clbs/holifromdd");
- var holitodd = model.getValue("/root/main/item1/clbs/holitodd");
-
- if(holigbn == "Y" && clod_snglcalcscorcd.length > 0){
- if(messageBox("진료의가 "+holifromdd+" ~ "+holitodd+" 기간동안 해외 출장입니다. 진료의사를 변경하세요.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
-
- return result;
- }
- function fSaveClspList() {
- if (btn_save.disabled == false && "M"=="S") {
- // 인적사항
- var initclbs = instance1.selectNodesXml("/root/hidden/item1/initclbs/clbs");
- var currentclbs = instance1.selectNodesXml("/root/main/item1/clbs");
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "N"); // 인적사항 저장여부
-
- // 심사상태를 '저장' 또는 '심사완료' 상태로 저장한다.
- model.makeValue("/root/send/item1/clbs/judgendyn", "B"); // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
-
- for (var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp["+ j +"]/seqno");
-
- if (spclLnNo.substr(0, 1) == "D") {
- model.setValue("/root/main/list3/clsp["+ j +"]/seqno", spclLnNo.substr(1, spclLnNo.length));
- }
- }
-
- // 기타메모(JX999)를 특정내역 형식에 맞춰 설정
- fSetSpclSpecJX999();
-
- var updtdata = getGridUpdateData(grd_clsphist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
- submit("TXPID20315");
-
- //grd_clsphist.refresh();
- model.refreshpart("/root/main/list3");
- fSelectSpclRadio();
- }
- }
|