12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : PAM
- * Creator :
- * Make Date : 2014-11-25 --> 2016.08.06
- * Description : 외래등록작업을 하면서 kimdo3 변경
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-11-25 TF->XP
- * 2016-08-06 KIMDO3 외래등록작업중...
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // Lib Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_main.xjs";
- include 'emr_prcpmngtxp::MMO001.xjs';
- var arErrorCode = new HashArray(); // 이중으로 선언되면 어떻게 될까 ? 없을 수도 있는데, ....선언 안 할 수도 없고,....
- /**
- * @(#) PAM.js
- * 원무에서 공통으로 사용할 변수와 함수를 정의한다.
- * 수정이력
- * - 2007. 08. 08 / 최초작성자 / 최희경
- */
- /**
- * @desc : Global 변수선언
- * <pre>
- * 1. 보험유형
- * 2. 유형보조
- * </pre>
- * @---------------------------------------------------
- */
- //1.보험유형
- var gsInsu_BoHeom = "11"; //건강보험
- var gsInsu_BoHo1 = "21"; //의료급여1
- var gsInsu_BoHo2 = "22"; //의료급여2
- var gsInsu_HangYeo = "24"; //행여
- var gsInsu_JaboKind = "31"; //자보
- var gsInsu_SanJae = "41"; //산재
- var gsInsu_GongSang = "42"; //공상
- var gsInsu_IlBan = "51"; //일반
- var gsInsu_ForIn = "61"; //외국인
- var gsInsu_ImSang = "71"; //임상시험
- var gsInsu_Noin = "81"; //노인장기요양보험
- //2.유형보조
- var gsSupp_BASE = "00"; //정상
- var gsSupp_100 = "01"; //전액본인100%
- var gsSupp_INGONG = "02"; //인공신장투석
- var gsSupp_BOKMAK = "03"; //복막관류슐
- var gsSupp_TRANS = "04"; //장기이식
- var gsSupp_GAEDUGAESIM = "05"; //개두개심 10%
- var gsSupp_AM = "06"; //암 10%
- var gsSupp_SJTR = "07"; //보조 산정특례 20
- var gsSupp_LESSTHANSIXAGE = "08"; //입원6세미만
- var gsSupp_NATRBABY = "09"; //자연분만
- var gsSupp_HOMECARE = "10"; //가정간호
- var gsSupp_HOMECAREAM = "11"; //가정간호(등록암) 10%
- var gsSupp_SUTAK = "12"; //수탁
- var gsSupp_JSJA = "14"; //정신과정액
- //var gsSupp_HANDI = "71"; //장애인
- //var gsSupp_JABH = "B"; //전액보험자부담액(한도액)
- //var gsSupp_IMSANG = "T"; //임상연구
- //보험자기호 건강보험 디폴트 값
- var gsInsuCd_Default = "0015"; //건강보험 && !전액본인부담 일 경우, 디폴트 세팅
- //응급,분만실
- var gsOrddeptCd_ER = "2280000000" //응급의학과
- var gsWardCd_ER = "3050135000" //응급병동
- var gsWardCd_ER1 = "2280200000" //응급의료센터
- var gsWardCd_BABY = "2100300000" //분만실1
- var gsWardcd_DSC = "2360800000" //DSC병동
- var gsWardcd_CHEMO = "3120400000" //CHEMO병동
- var gsOrddeptcd_BABY = "2110000000" //소아청소년과 -- 소아청소년과 분과에 따른 사용금지:기존로직 에러방지를 위해 삭제는 하지 않으나 에러 방지 위해 유지 by 조중래 20140401
- //금액표시기 ocx
- var AmtDisplay = null;
- //수납VIP미수여부
- var VIPUNCOYN = 'N';
- //금액표시기 종류 체크
- var AmtDispKind = 'POPUP';
- // 추가이력 20100224 JHP SPPMC02500_환자조회 원무쪽과 원무이외의쪽 구분하는 구분 변수
- var PatRefPamFlag = "";
- /**
- * @desc : 주민번호 앞자리 체크
- * <pre>
- * 1. 주민번호 앞자리 길이 체크
- * 2. 숫자형태 체크
- * </pre>
- * @param : vRrgstno1 - 주민번호 앞자리, ctrlNm - 주민번호 앞자리 컨트롤이름
- * @return : true/false
- * @---------------------------------------------------
- */
- function fRrgstNo1Veri(vRrgstno1, ctrlNm){
- if (vRrgstno1 != null && vRrgstno1 != "" && vRrgstno1 != " " && vRrgstno1 != "-"){
- if (vRrgstno1.length != 6){
- sysf_messageBox("주민번호1은 6자리여야 합니다!","E999","");
- //model.setFocus(ctrlNm);
- ctrlNm.setFocus();
- ////model.refresh();
- return false;
- }
- if (vRrgstno1.isNumber() != true){
- sysf_messageBox("주민번호1은 숫자형태로 입력되어야 합니다!","E999","");
- ctrlNm.setFocus();
- ////model.refresh();
- return false;
- }
- }else{
- sysf_messageBox("주민번호1은 6자리여야 합니다!","E999","");
- ctrlNm.setFocus();
- ////model.refresh();
- return false;
- }
- }
- /**
- * @desc : 주민번호 뒷자리 체크
- * <pre>
- * 1. 주민번호 앞자리 길이
- * 2. 주민번호 뒷자리 길이
- * 3. 주민번호 앞자리 날짜형식 체크
- * 4. 생년월일 구하기
- * 5. 성별 구하기
- * 6. 나이 구하기
- * </pre>
- * @param : vRrgstno1 - 주민번호 앞자리, vRrgstno2 - 주민번호 뒷자리, ctrlNm1- 주민번호 앞자리 컨트롤이름, ctrlNm2- 주민번호 뒷자리 컨트롤이름
- * @return : true/false , 생년월일(8자리), 성별, 나이
- * @---------------------------------------------------
- */
- function fRrgstNo2Veri(vRrgstno1, vRrgstno2, ctrlNm1, ctrlNm2, rBrthdd, rSex, rAge){
- if(vRrgstno1.length != 6){
- sysf_messageBox("환자주민번호1은 6자리입니다!","E999","");
- ctrlNm1.setFocus();
- return false;
- }
- if(vRrgstno2.length != 7){
- sysf_messageBox("환자주민번호2은 7자리입니다!","E999","");
- ctrlNm2.setFocus();
- return false;
- }
- /*
- 9: 1800 ~ 1899년에 태어난 남성
- 0: 1800 ~ 1899년에 태어난 여성
- 1: 1900 ~ 1999년에 태어난 남성
- 2: 1900 ~ 1999년에 태어난 여성
- 3: 2000 ~ 2099년에 태어난 남성
- 4: 2000 ~ 2099년에 태어난 여성
- 5: 1900 ~ 1999년에 태어난 외국인 남성
- 6: 1900 ~ 1999년에 태어난 외국인 여성
- 7: 2000 ~ 2099년에 태어난 외국인 남성
- 8: 2000 ~ 2099년에 태어난 외국인 여성
- */
- var gubn = vRrgstno2.substr(0, 1);
- switch(gubn){
- case '0' :
- vBrthdd = '18'.concat(vRrgstno1);
- break;
- case '9' :
- vBrthdd = '18'.concat(vRrgstno1);
- break;
- case '1' :
- vBrthdd = '19'.concat(vRrgstno1);
- break;
- case '2' :
- vBrthdd = '19'.concat(vRrgstno1);
- break;
- case '3' :
- vBrthdd = '20'.concat(vRrgstno1);
- break;
- case '4' :
- vBrthdd = '20'.concat(vRrgstno1);
- break;
- case '5' :
- vBrthdd = '19'.concat(vRrgstno1);
- break;
- case '6' :
- vBrthdd = '19'.concat(vRrgstno1);
- break;
- case '7' :
- vBrthdd = '20'.concat(vRrgstno1);
- break;
- case '8' :
- vBrthdd = '20'.concat(vRrgstno1);
- break;
- default :
- vBrthdd = '19'.concat(vRrgstno1);
- break;
- }
- if (utlf_isValidDateTime(vBrthdd, "YYYYMMDD") == false){
- sysf_messageBox("주민번호 앞6자리 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
- ////model.refresh();
- ctrlNm1.setFocus();
- return false;
- }
- //성별
- //성별 utlf_getGender(에서 utlf_getSex로 변경되었고, 인자로 '13자리 주민번호전체가 넘겨짐'
- rSex = utlf_getSex(vRrgstno1 + vRrgstno2);
- //나이
- rAge = utlf_getFullAge(vBrthdd);
- rBrthdd = vBrthdd;
- var ptbs_rrgstno = vRrgstno1.concat(vRrgstno2);
- if(lf_isResidentNo(ptbs_rrgstno) == false){
- sysf_messageBox("유효하지 않은 주민번호입니다!", "E999", "");
- return false;
- }
- }
- /**
- * @desc : 주민번호 뒷자리 체크
- * <pre>
- * 1. 주민번호 앞자리 길이
- * 2. 주민번호 뒷자리 길이
- * 3. 주민번호 앞자리 날짜형식 체크
- * 4. 생년월일 구하기
- * 5. 성별 구하기
- * 6. 나이 구하기
- * </pre>
- * @param : vRrgstno1 - 주민번호 앞자리, vRrgstno2 - 주민번호 뒷자리, ctrlNm1- 주민번호 앞자리 컨트롤이름, ctrlNm2- 주민번호 뒷자리 컨트롤이름
- * @return : true/false , 생년월일(8자리), 성별, 나이
- * @---------------------------------------------------
- */
- function fRrgstNo3Veri(vRrgstno1, vRrgstno2, ctrlNm1, ctrlNm2, rBrthdd, rSex, rAge) {
-
- if (vRrgstno1.length != 6) {
-
- sysf_messageBox("환자주민번호1은 6자리입니다!", "E999", "");
-
- ctrlNm1.setFocus();
- return false;
- }
-
- if (vRrgstno2.length != 7) {
-
- sysf_messageBox("환자주민번호2은 7자리입니다!", "E999", "");
-
- ctrlNm2.setFocus();
- return false;
- }
-
- var gubn = vRrgstno2.substr(0,1);
-
- switch(gubn) {
- case "1" :
- case "2" :
- case "5" :
- case "6" :
- vBrthdd = "19".concat(vRrgstno1);
- break;
- case "3" :
- case "4" :
- case "7" :
- case "8" :
- vBrthdd = "20".concat(vRrgstno1);
- break;
- case "9" :
- case "0" :
- vBrthdd = "18".concat(vRrgstno1);
- break;
- default :
- vBrthdd = "19".concat(vRrgstno1);
- break;
- }
-
- if (utlf_isValidDateTime(vBrthdd, "YYYYMMDD") == false) {
-
- var result1 = sysf_messageBox("주민번호 앞6자리 형식오류입니다. 계속 진행하시겠습니까? (Y/N)","Q999","");
-
- if (result1 == "6") {
- return true;
- } else {
- ctrlNm1.setFocus();
- return false;
- }
- }
- //성별 utlf_getGender(에서 utlf_getSex로 변경되었고, 인자로 '13자리 주민번호전체가 넘겨짐'
- rSex = utlf_getSex(vRrgstno1 + vRrgstno2);
-
- //나이
- rAge = utlf_getFullAge(vBrthdd);
-
- rBrthdd = vBrthdd;
-
- var ptbs_rrgstno = vRrgstno1.concat(vRrgstno2);
-
- if (lf_isResidentNo(ptbs_rrgstno) == false) {
-
- var result = sysf_messageBox("유효하지 않은 주민번호입니다! 계속 진행하시겠습니까?.(Y/N)", "Q999", "");
-
- if (result == "6") {
- return true;
- } else {
- return false;
- }
- }
- }
- /**2010-01-18 김주희
- * @desc : 생년월일 날짜형식 체크
- * @param : vBrthdd - 생년월일, ctrlNm- 생년월일 컨트롤이름
- * @return : true/false
- */
- function fBrthddVeri(vBrthdd, ctrlNm){
- // 생년월일 형식 검증
- if (utlf_isValidDateTime(vBrthdd, "YYYYMMDD") == false){
- sysf_messageBox("생년월일 형식오류입니다. 올바른 일자형태로 입력하십시요!","E999","");
- //model.refresh();
- return false;
- }
- // 생년월일 미래일자 검증
- if (vBrthdd > utlf_getCurrentDate()) {
- sysf_messageBox("생년월일은 미래일자로 입력할 수 없습니다!","E999","");
- //model.refresh();
- return false;
- }
- return true;
- }
- /**
- * @desc : 보험정보 체크
- * <pre>
- * 1. 필수항목 입력 체크
- *
- * === 체크사항 ===
- * 추후, 진료의뢰서 제출구분 체크시, 파라미터 추가필요 2007.08.11
- * 보험유형 선택시, 피보험자와의 관계 [본인]으로 자동세팅 (건강보험은 제외시킬수 있음)
- * 보험유형과 보조유형을 선택 시, 환자의 보험정보 조회 - 보조유형이 전액본인부담이면, 보험정보 조회할 필요없음.(보험정보 저장하면 안됨)
- * </pre>
- * @param : vArrayInsu (vInsuKind, vSuppKind, vSuppkindResn, vInsuCd, vInsuNo, vInsdNm, vInsdRela, vInsdRrgstno1, vInsdRrgstno2, vFromdd, vTodd)
- * vArrayCtrl (vArrayCtrl[0],.....)
- * @return : true/false
- * 항목 체크를 통해 재세팅된 값 return
- * @---------------------------------------------------
- */
- function fInsuInfoVeri(vArrayInsu, vArrayCtrl){
- /*
- vArrayInsu[0] : InsuKind 보험유형
- vArrayInsu[1] : SuppKind 보조유형
- vArrayInsu[2] : SuppkindResn 보조유형사유
- vArrayInsu[3] : InsuCd 보험자기호
- vArrayInsu[4] : InsuNo 보험증번호
- vArrayInsu[5] : InsdNm 피보험자이름
- vArrayInsu[6] : InsdRela 피보험자와의 관계
- vArrayInsu[7] : InsdRrgstno1 피보험자주민번호1
- vArrayInsu[8] : InsdRrgstno2 피보험자주민번호2
- vArrayInsu[9] : Fromdd 자격취득일자
- vArrayInsu[10]: Todd 종료일자
- vArrayCtrl <= vArrayInsu 순서대로 컨트롤명
- */
- // 1. 보험정보 필수값 체크 (보험유형, 보조유형, 보조유형사유)
- if (utlf_isNull(vArrayInsu[0]) || vArrayInsu[0] == " " || vArrayInsu[0] == "-") {
- sysf_messageBox("확인! 보험유형을 입력해 주십시요!","E999","");
- vArrayCtrl[0].setFocus();
- return false;
- }
- if (utlf_isNull(vArrayInsu[1]) || vArrayInsu[1] == " " || vArrayInsu[1] == "-") {
- sysf_messageBox("확인! 보조유형을 입력해 주십시요!","E999","");
- vArrayCtrl[1].setFocus();
- return false;
- }
- // 2.보조유형 사유는 null이면 '-' 로 세팅
- if (utlf_isNull(vArrayInsu[2]) || vArrayInsu[2] == " " ) {
- vArrayInsu[2] = "-";
- }
- // 3.시작일자 체크
- if (utlf_isNull(vArrayInsu[9]) || vArrayInsu[9] == " " || vArrayInsu[9] == "-") {
- sysf_messageBox("확인! 시작일자를 입력해 주십시요!","E999","");
- vArrayCtrl[9].setFocus();
- return false;
- }
- // 4.종료일자 세팅
- if (utlf_isNull(vArrayInsu[10]) || vArrayInsu[10] == " " || vArrayInsu[10] == "-") {
- vArrayInsu[10] = "99991231";
- }
- // 5.건강보험 체크
- // gsInsu_BoHeom = 11 건강보험
- // gsSupp_100 = 01 전액본인100%
- if (vArrayInsu[0] == gsInsu_BoHeom && vArrayInsu[1] != gsSupp_100) {
- // 보험자기호 체크
- if (utlf_isNull(vArrayInsu[3]) || vArrayInsu[3] == " " || vArrayInsu[3] == "-") {
- vArrayInsu[3] = "0015";
- }
- // 보험증번호 체크
- if (utlf_isNull(vArrayInsu[4]) || vArrayInsu[4] == " " || vArrayInsu[4] == "-") {
- sysf_messageBox("확인! 보험증번호를 입력해 주십시요!","E999","");
- vArrayCtrl[4].setFocus();
- return false;
- }
- // 피보험자와의 관계
- if (utlf_isNull(vArrayInsu[6]) || vArrayInsu[6] == " " || vArrayInsu[6] == "-") {
- sysf_messageBox("확인! 피보험자와의 관계를 입력해 주십시요!","E999","");
- vArrayCtrl[6].setFocus();
- return false;
- }
- }
- // 6.의료급여 체크
- // gsInsu_BoHo1 = 21
- // gsInsu_BoHo2 = 22
- if (vArrayInsu[0] == gsInsu_BoHo1 || vArrayInsu[0] == gsInsu_BoHo2) {
- // 보험자기호 체크
- if (utlf_isNull(vArrayInsu[3]) || vArrayInsu[3] == " " || vArrayInsu[3] == "-") {
- sysf_messageBox("확인! 보험자기호를 입력해 주십시요!","E999","");
- vArrayCtrl[3].setFocus();
- return false;
- }
- }
- }
- /**
- * @(#) PAM.js
- * 이동식
- * - 2007. 4. 19
- * 진료과코드와 진료의ID를 가져온다.
- */
- function makePamResultRef(){ model.makeNode(pamResultRef); }
- function removePamResultRef(){ model.removeNode(pamResultRef); }
- /*
- * fromdd, todd 기준없이 전체 조회
- * - 20140401 pamGetDeptCDDrIDList 사용하는 화면이 많아서 파라미터 수정 불가 pamGetDeptCDDrIDList Copy
- */
- function pamGetDeptCDDrIDListAll(result_ref, ioflag){
- // submit("TRPAM00107");
- if(!utlf_isNull(ioflag)) {
- dsf_createDsRow("ds_tmp_req", [
- {col:"ioflag", type:"STRING", size:256, val: ioflag}
- ]);
- }
- else {
- dsf_createDs("ds_tmp_req", [
- {col:"ioflag", type:"STRING", size:256}
- ]);
- }
- var oParam = {};
- oParam.id = "TRPAM00107";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetDeptCDDrIDAll";
- oParam.inds = "req=ds_tmp_req";
- oParam.outds = "ds_hidden_tmp_orddeptcd=orddeptcd ds_hidden_tmp_orddrid=orddrid ds_hidden_tmp_centcd=centcd ds_hidden_tmp_subdeptcd=subdeptcd";
- oParam.async = false;
- oParam.callback = "cf_TRPAM00107";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRPAM00107") > -1 ) {
- // 기존에는 result_ref에 값을 넘겨 주는 형식이었는데,
- // 이와는 상관없이 ds_init_XXX dataset에다 넘겨주는 형식으로 바꿈.
- // 2016.8.6 kimdo3
- ds_init_orddeptcdlist.clearData();
- ds_init_orddridlist.clearData();
- ds_init_centcdlist.clearData();
- ds_init_subdeptcdlist.clearData();
- ds_init_orddeptcdlist.copyData(ds_hidden_tmp_orddeptcd);
- ds_init_orddridlist.copyData(ds_hidden_tmp_orddrid);
- ds_init_centcdlist.copyData(ds_hidden_tmp_centcd);
- ds_init_subdeptcdlist.copyData(ds_hidden_tmp_subdeptcd);
- ds_hidden_tmp_orddeptcd.clear();
- ds_hidden_tmp_orddrid.clear();
- ds_hidden_tmp_centcd.clear();
- ds_hidden_tmp_subdeptcd.clear();
- }
- }
- function cf_TRPAM00107(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @(#) PAM.js
- * 이동식
- * - 2007. 4. 19 / 진료과 / 진료의ID 조회
- //var pamResultRef = "/root/hidden/tmp";
- function makePamResultRef(){ model.makeNode(pamResultRef); }
- function removePamResultRef(){ model.removeNode(pamResultRef); }
- function pamGetDeptCDDrIDList(result_ref){
- //makePamResultRef();
- submit("TRPAM00101"); //getParameterPath(), zbcResultRef););
- if( result_ref == "" || result_ref == null ){
- model.makeNode("root/init/orddeptcd");
- model.makeNode("root/init/orddrid");
- model.makeNode("root/hidden/tmp/orddeptcd");
- model.makeNode("root/hidden/tmp/orddrid");
- model.copyNode("root/init/orddeptcd", "root/hidden/tmp/orddeptcd");
- model.copyNode("root/init/orddrid", "root/hidden/tmp/orddrid");
- model.removeNodeset("root/init/orddeptcd");
- model.removeNodeset("root/init/orddrid");
- model.removeNodeset("root/hidden/tmp/orddeptcd");
- model.removeNodeset("root/hidden/tmp/orddrid");
- }else{
- model.makeNode("root/hidden/tmp/orddeptcd");
- model.makeNode("root/hidden/tmp/orddrid");
- model.copyNode(result_ref, "root/hidden/tmp");
- model.removeNodeset("root/hidden/tmp/orddeptcd");
- model.removeNodeset("root/hidden/tmp/orddrid");
- }
- ////model.refresh();
- }
- //??? ??? ???? ??? ????.
- //??? TRUE && ??? FALSE
- function pamCompareNodes(originalNode, copyNode){
- var ins = document.models( 0 ).instances( 0 );
- // 1. ?????? ???? ??
- var original = ins.selectSingleNode(originalNode).xml;
- var copy = ins.selectSingleNode(copyNode).xml;
- //??? ???? ??? ????? ??? ?? ?? FALSE? ????.
- if(original == null || copy == null){
- return false;
- }else if (original == copy){
- return true;
- }else{
- return false;
- }
- }
- */
- /**
- * @desc : 카드승인,취소/현금영수증 승인,취소/수표조회( 파라미터 변경으로 신규생성 )
- * <pre>
- * 1. 거래구분 (11:신용카드승인요청, 12:신용카드승인응답,
- 21:신용카드취소요청, 22:신용카드취소응답,
- 31:수표조회요청, 32:수표조회응답,
- 41:현금영수증승인요청,42:현금영수증승인응답,
- 51:현금영수증취소요청,52:현금영수증취소응답)
- * </pre>
- * @param
- * data1 : vangb
- * data2 : ordergb
- * data3 : mdate
- * data4 : pano
- * data5 : iogb
- * data6 : deptcode
- * data7 : diagdate
- * data8 : clientid
- * data9 : entrymode
- * data10 : track2data
- * data11 : cardnumber
- * data12 : cardperiod
- * data13 : carddivide
- * data14 : netamt
- * data15 : oldappdate
- * data16 : oldapptime
- * data17 : oldappno
- * data18 : pregdmndyn
- * data19 : elctsignkey
- * data20 : elctsigncnts
- * data21 : vanflag
- *
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17) {
- fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, '-')
- }
- /**
- * @desc : 카드승인,취소/현금영수증 승인,취소/수표조회( 파라미터 변경으로 신규생성 )
- * <pre>
- * 1. 거래구분 (11:신용카드승인요청, 12:신용카드승인응답,
- 21:신용카드취소요청, 22:신용카드취소응답,
- 31:수표조회요청, 32:수표조회응답,
- 41:현금영수증승인요청,42:현금영수증승인응답,
- 51:현금영수증취소요청,52:현금영수증취소응답)
- * </pre>
- * @param : orderGubn - 거래구분
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18) {
- fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, '-', '-')
- }
- /**
- * @desc : 카드승인,취소/현금영수증 승인,취소/수표조회( 파라미터 변경으로 신규생성 )
- * <pre>
- * 1. 거래구분 (11:신용카드승인요청, 12:신용카드승인응답,
- 21:신용카드취소요청, 22:신용카드취소응답,
- 31:수표조회요청, 32:수표조회응답,
- 41:현금영수증승인요청,42:현금영수증승인응답,
- 51:현금영수증취소요청,52:현금영수증취소응답)
- * </pre>
- * @param : orderGubn - 거래구분
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20) {
- fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, '-')
- }
- /*
- 거래일련번호 추가 관련 생성
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, data21) {
- fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, data21, '-')
- }
- /*
- 원승인 단말기 번호 추가 관련
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, data21, data22) {
- fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, data21, data22, '-')
- }
- /**
- * @desc : 카드승인,취소/현금영수증 승인,취소/수표조회
- * <pre>
- * 1. 거래구분 (11:신용카드승인요청, 12:신용카드승인응답,
- 21:신용카드취소요청, 22:신용카드취소응답,
- 31:수표조회요청, 32:수표조회응답,
- 41:현금영수증승인요청,42:현금영수증승인응답,
- 51:현금영수증취소요청,52:현금영수증취소응답)
- * </pre>
- * @param : orderGubn - 거래구분
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fAppCardVanData(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
- data11, data12, data13, data14, data15, data16, data17, data18, data19, data20, data21, data22, data23) {
- if(data2 == "" || data2 == null) {
- sysf_messageBox("거래구분 Data가 없습니다..!","E999","");
- return false;
- }
-
- if (data21 == "" || data21 == null || data21 == "-") {
- sysf_messageBox("VAN구분 Data가 없습니다..!","E999","");
- return false;
- }
-
- // 비대면결제 승인 및 취소를 위한 처리구분 변경
- if (data2 == "21" && data9 == "E") {
- data2 = "U2";
- } else if (data2 == "11" && data9 == "E") {
- data2 = "U1";
- }
- //IC 결제를 위하여 DS 설정 부분을 위로 올림(2018/05/14 이정택)
- dsf_createDsRow("ds_send_card", [
- {col:"vangb" , type:"STRING", size:256, val: data1},
- {col:"ordergb" , type:"STRING", size:256, val: data2},
- {col:"mdate" , type:"STRING", size:256, val: data3},
- {col:"pano" , type:"STRING", size:256, val: data4},
- {col:"iogb" , type:"STRING", size:256, val: data5},
- {col:"deptcode" , type:"STRING", size:256, val: data6},
- {col:"diagdate" , type:"STRING", size:256, val: data7},
- {col:"clientid" , type:"STRING", size:256, val: data8},
- {col:"entrymode" , type:"STRING", size:256, val: data9},
- {col:"track2data" , type:"STRING", size:256, val: data10},
- {col:"cardnumber" , type:"STRING", size:256, val: data11},
- {col:"cardperiod" , type:"STRING", size:256, val: data12},
- {col:"carddivide" , type:"STRING", size:256, val: data13},
- {col:"netamt" , type:"STRING", size:256, val: data14},
- {col:"oldappdate" , type:"STRING", size:256, val: data15},
- {col:"oldapptime" , type:"STRING", size:256, val: data16},
- {col:"oldappno" , type:"STRING", size:256, val: data17},
- {col:"pregdmndyn" , type:"STRING", size:256, val: data18},
- {col:"elctsignkey" , type:"STRING", size:256, val: data19},
- {col:"elctsigncnts" , type:"STRING", size:256, val: data20},
- {col:"vanflag" , type:"STRING", size:256, val: data21},
- {col:"aprv_ordergb" , type:"STRING", size:256, val: ''},
- {col:"aprv_appdate" , type:"STRING", size:256, val: ''},
- {col:"aprv_apptime" , type:"STRING", size:256, val: ''},
- {col:"aprv_appno" , type:"STRING", size:256, val: ''},
- {col:"aprv_cardcmpycd" , type:"STRING", size:256, val: ''},
- {col:"aprv_trmnno" , type:"STRING", size:256, val: ''},
- {col:"aprv_cardtype" , type:"STRING", size:256, val: ''},
- {col:"aprv_replystat" , type:"STRING", size:256, val: ''},
- {col:"aprv_aprvunino" , type:"STRING", size:256, val: ''},
- {col:"aprv_cardnumber" , type:"STRING", size:256, val: ''},
- {col:"aprv_replymsg" , type:"STRING", size:256, val: ''},
- {col:"aprv_vangb" , type:"STRING", size:256, val: ''}
- ]);
-
- // KOCES_IC거래의 경우
- /*
- if (data21 == "KOCES_IC") {
- // ICPos거래 (ordergb, pano, iogb, carddivide, netamt, appno, appdate, entrymode, indInstFlag, qualCnfmNo)
- if (fReqICVanAprv(data2, data4, data5, data13, data14, data17, data15, data9, data13, data11)) {
- // 카드정보 처리는 신용카드 거래의 경우에만 처리
- if (data2 == "11" || data2 == "21") {
- // 정상적으로 처리된 경우 카드번호 + 서명이미지 설정
- data19 = ds_send_card.getColumn(0, "aprv_elctsignkey");
- data20 = ds_send_card.getColumn(0, "aprv_elctsigncnts"); //model.getValue("/root/send/card/
- // 신용카드정보 역전달(수납화면)을 위한 카드정보 설정
- if (data9 == "S") {
- data11 = ds_send_card.getColumn(0, "aprv_cardnumber");
- dsf_makeValue(ds_main_card2, "card_cardno", "string", data11);
- }
- // 신용카드 유효기간 마스킹처리
- if (data2 == "11") {
- data12 = "****";
- }
- }
- // 현금영수증 카드정보 처리는 현금영수증 경우에만 처리
- if ((data2 == "41" || data2 == "51")) {
- // 현금영수증 카드정보 역전달(수납화면)을 위한 카드정보 설정
- if (data9 == "S") {
- data11 = ds_send_card.getColumn(0, "aprv_cardnumber");
- dsf_makeValue(ds_main_cash2, "cash_qualcnfmno", "string", data11);
- }
- }
- // ICPos 거래 실패한 경우 결과값 9999 설정
- } else {
- dsf_makeValue(ds_tmp_appvanif, "replystat", "string", "9999")
- return false;
- }
- }
- */
- //IC거래의 경우
- if (data21 == "KOCES_IC") { // 본원/칠곡/치과에서 사용하는 밴사 명칭을 KOCES_IC로 통일함
- //trace("pano2" pano);
- /*
- // data1 vangb van사구분(01:KSNET, 02:KICC, 03:KOCES, 04:DAOU, 05:NICE, 06:KIS, 07:SMATRO, 08:FD, 09:KOVAN, 10:JNET)(PAM.PMCMCODE.CDGRUPID:0032, CDID:200, REMARK에서 관리)
- // data2 ordergb 거래구분
- // data3 mdate 회계일자
- // data4 pano 등록번호
- // data5 iogb 입외구분
- // data6 deptcode 진료과코드
- // data7 diagdate 진료일자
- // data8 clientid 수납자
- // data9 entrymode 입력구분
- // data10 track2data 트랙data
- // data11 cardnumber 카드번호
- // data12 cardperiod 유효기간
- // data13 carddivide 할부개월수
- // data14 netamt 금액
- // data15 oldappdate 원거래승인일자(취소시)
- // data16 oldapptime 원거래승인시간(취소시)
- // data17 oldappno 원거래승인번호(취소시)
- // data18 gPregDmndYN 산전진료비여부
- // data19 카드 서명
- // data20 카드 서명
- // data21 VAN구분
- // data22 aprvunino 거래일련번호
- // data23 trmnno 원승인단말기번호
- */
- // ICPos거래 (ordergb, pano, iogb, carddivide, netamt, appno, appdate, indInstFlag, qualCnfmNo, vangb, elctsignkey, aprvunino, diagdate, cardperiod, trmnno, deptcode, clientid)
-
- if (fReqICAprv(data2, data4, data5, data13, data14, data17, data15, data13, data11, data1, data19, data22, data7, data12, data23, data6, data8)) {
- if (data2 == "11" || data2 == "21" || data2 == "U1" || data2 == "U2") { //신용카드 승인/취소, 비대면 승인/취소의 경우
- // 비대면 승인 / 취소 이외의 경우
- if (data2 == "11" || data2 == "21") {
- dsf_makeValue(ds_main_card2, "card_cardno", "string", ds_send_card.getColumn(0, "aprv_cardnumber")); // pam.pamhcard에 insert 하기 위해서 필요
- dsf_makeValue(ds_main_card2, "card_valiterm", "string", '****'); // pam.pamhcard에 유효기간을 마스킹처리
- }
-
- ds_send_card.setColumn(0, "cardnumber", ds_send_card.getColumn(0, "aprv_cardnumber"));
- ds_send_card.setColumn(0, "vangb", ds_send_card.getColumn(0, "aprv_vangb")); // 실제 승인을 한 밴코드(OCX에서 리턴해줌)
- // 신용카드 유효기간 마스킹처리
- if (data2 == "11" || data2 == "U1") {
- ds_send_card.setColumn(0, "cardperiod", '****');
-
- }
- }else if (data2 == "41" || data2 == "51") { //현금영수증 승인/취소의 경우
- dsf_makeValue(ds_main_cash2, "cash_qualcnfmno", "string", ds_send_card.getColumn(0, "aprv_cardnumber")); // pam.pachcash에 insert 하기 위해서 필요
- ds_send_card.setColumn(0, "cardnumber", ds_send_card.getColumn(0, "aprv_cardnumber"));
- ds_send_card.setColumn(0, "vangb", ds_send_card.getColumn(0, "aprv_vangb")); // 실제 승인을 한 밴코드(OCX에서 리턴해줌)
- }else if (data2 == "31" || data2 == "U5" || data2 == "U4") { // 수표조회 / 비대면등록 / 비대면취소의 경우 OCX 통해서 조회후에 리턴처리
- dsf_makeValue(ds_tmp_appvanif, "replystat", "string", "0000")
- return true;
- }
- // ICPos 거래 실패한 경우 결과값 9999 설정
- } else {
- dsf_makeValue(ds_tmp_appvanif, "replystat", "string", "9999")
- return false;
- }
- }
- //IC 결제를 위하여 DS 설정 부분을 위로 올림(2018/05/14 이정택)
- /*
- dsf_createDsRow("ds_send_card", [
- {col:"vangb" , type:"STRING", size:256, val: data1},
- {col:"ordergb" , type:"STRING", size:256, val: data2},
- {col:"mdate" , type:"STRING", size:256, val: data3},
- {col:"pano" , type:"STRING", size:256, val: data4},
- {col:"iogb" , type:"STRING", size:256, val: data5},
- {col:"deptcode" , type:"STRING", size:256, val: data6},
- {col:"diagdate" , type:"STRING", size:256, val: data7},
- {col:"clientid" , type:"STRING", size:256, val: data8},
- {col:"entrymode" , type:"STRING", size:256, val: data9},
- {col:"track2data" , type:"STRING", size:256, val: data10},
- {col:"cardnumber" , type:"STRING", size:256, val: data11},
- {col:"cardperiod" , type:"STRING", size:256, val: data12},
- {col:"carddivide" , type:"STRING", size:256, val: data13},
- {col:"netamt" , type:"STRING", size:256, val: data14},
- {col:"oldappdate" , type:"STRING", size:256, val: data15},
- {col:"oldapptime" , type:"STRING", size:256, val: data16},
- {col:"oldappno" , type:"STRING", size:256, val: data17},
- {col:"pregdmndyn" , type:"STRING", size:256, val: data18},
- {col:"elctsignkey" , type:"STRING", size:256, val: data19},
- {col:"elctsigncnts", type:"STRING", size:256, val: data20},
- {col:"vanflag" , type:"STRING", size:256, val: data21},
- {col:"aprv_ordergb" , type:"STRING", size:256, val: ''},
- {col:"aprv_appdate" , type:"STRING", size:256, val: ''},
- {col:"aprv_apptime" , type:"STRING", size:256, val: ''},
- {col:"aprv_appno" , type:"STRING", size:256, val: ''},
- {col:"aprv_cardcmpycd" , type:"STRING", size:256, val: ''},
- {col:"aprv_trmnno" , type:"STRING", size:256, val: ''},
- {col:"aprv_cardtype" , type:"STRING", size:256, val: ''},
- {col:"aprv_replystat" , type:"STRING", size:256, val: ''}
- {col:"aprv_aprvunino" , type:"STRING", size:256, val: ''}
- ]);
- */
- //ds_tmp_h_passyn.clearData();
- ds_tmp_appvanif.clearData();
- //if(submit("TXPAC00101")) {
- dsf_createDs("ds_tmp_h_passyn", [
- {col:"passyn", type:"STRING", size:256}
- ]);
- var cardperiod = utlf_transNullToEmpty(ds_send_card.getColumn(0, 'cardperiod'));
- cardperiod = (cardperiod == '') ? '-' : cardperiod;
- ds_send_card.setColumn(0, 'cardperiod', cardperiod);
-
- var oParam = {};
- oParam.id = "TXPAC00101";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetCreditCard";
- oParam.inds = "req=ds_send_card";
- oParam.outds = "ds_tmp_appvanif=appvanif ds_tmp_h_passyn=h_passyn";
- oParam.async = false;
- oParam.callback = "cf_TXPAC00101";
- tranf_submit(oParam);
- if(arErrorCode.pop("TXPAC00101") > -1){
- if (ds_tmp_appvanif.getColumn(0, "replystat") == "0000") {
- var sordergb = ds_send_card.getColumn(0, "ordergb");
- if (sordergb == "11") {
- sysf_messageBox("[카드] 승인이", "I001");
- } else if (sordergb == "21") {
- sysf_messageBox("[카드취소] 승인이", "I001");
- } else if (sordergb == "41") {
- sysf_messageBox("[현금영수증] 승인이", "I001");
- } else if (sordergb == "51") {
- sysf_messageBox("[현금영수증취소] 승인이", "I001");
- } else if (sordergb == "31") {
- sysf_messageBox("[수표조회] 정상적으로", "I001");
- } else if (sordergb == "U1" || sordergb == "U2") {
- // 비대면 승인 / 취소의 경우 메세지처리 없이 결과값만 리턴
- return true;
- }
- //sysf_messageBox("승인성공", "E999", "");
- } else {
- sysf_messageBox("["+ ds_tmp_appvanif.getColumn(0, "cardname")+"] 확인한 후 재승인 바람", "E999", "");
- }
- }else{
- sysf_messageBox("전산오류로 승인이 정상적으로 처리되지 않았습니다. 정보지원팀에 문의하세요!!", "E999", "");
- return false;
- }
- ////model.refresh();
- }
- function cf_TXPAC00101(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 건진용(건진 오류 발생으로 인해 function 분리)
- function fGetPsnWorkInfoRrgstno(rrgstno){
- var retValue = '';
- //입력값 체크
- if (rrgstno.length != 13) {
- sysf_messageBox("주민번호가 입력되지 않았습니다.", "E999", "");
- return;
- }
- var rrgstno1 = rrgstno.substr(0,6);
- var rrgstno2 = rrgstno.substr(6,7);
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno" , type:"STRING", size:256, val: rrgstno}
- , {col:"rrgstno1" , type:"STRING", size:256, val: rrgstno1}
- , {col:"rrgstno2" , type:"STRING", size:256, val: rrgstno2 }
- , {col:"pid" , type:"STRING", size:256, val: ""}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- if( ds_temp_result_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- /**
- * @desc : 인사정보의 직원,직원가족정보 조회
- * <pre>
- * input : rrgstno (주민번호)
- * </pre>
- * @param : orderGubn - 거래구분
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fGetPsnWorkInfo(rrgstno){
- var retValue = '';
- //입력값 체크
- if (rrgstno.length != 13) {
- sysf_messageBox("주민번호가 입력되지 않았습니다.", "E999", "");
- return;
- }
- var rrgstno1 = rrgstno.substr(0,6);
- var rrgstno2 = rrgstno.substr(6,7);
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno" , type:"STRING", size:256, val: rrgstno}
- , {col:"rrgstno1" , type:"STRING", size:256, val: rrgstno1}
- , {col:"rrgstno2" , type:"STRING", size:256, val: rrgstno2 }
- , {col:"pid" , type:"STRING", size:256, val: ""}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- if( ds_temp_result_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- function fGetPsnWorkInfo_pid(pid){
- var retValue = '';
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno1" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno2" , type:"STRING", size:256, val: ""}
- , {col:"pid" , type:"STRING", size:256, val: pid}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- if( ds_temp_result_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- //2011-10-28 원무팀 요청으로 감면정보 조회시 주민번호 + 이름 으로 체크
- function fGetPsnWorkInfo(rrgstno, hngnm){
- var retValue = '';
- //입력값 체크
- if (rrgstno.length != 13) {
- sysf_messageBox("주민번호가 입력되지 않았습니다.", "E999", "");
- return;
- }
- var rrgstno1 = rrgstno.substr(0,6);
- var rrgstno2 = rrgstno.substr(6,7);
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: hngnm}
- , {col:"rrgstno" , type:"STRING", size:256, val: rrgstno}
- , {col:"rrgstno1" , type:"STRING", size:256, val: rrgstno1}
- , {col:"rrgstno2" , type:"STRING", size:256, val: rrgstno2}
- , {col:"pid" , type:"STRING", size:256, val: ""}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- if( ds_temp_result_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- function fGetPsnWorkInfo(rrgstno, hngnm, pid){
- var retValue = '';
- //입력값 체크
- if (rrgstno.length != 13) {
- sysf_messageBox("주민번호가 입력되지 않았습니다.", "E999", "");
- return;
- }
- var rrgstno1 = rrgstno.substr(0,6);
- var rrgstno2 = rrgstno.substr(6,7);
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: hngnm}
- , {col:"rrgstno" , type:"STRING", size:256, val: rrgstno}
- , {col:"rrgstno1" , type:"STRING", size:256, val: rrgstno1}
- , {col:"rrgstno2" , type:"STRING", size:256, val: rrgstno2}
- , {col:"pid" , type:"STRING", size:256, val: pid}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- //var ds_temp_result_famylist = new Dataset();
- //var ds_temp_uncolist = new Dataset();
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if( ds_temp_result_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- function fGetPsnWorkInfoDir(pid){
- var retValue = '';
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno1" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno2" , type:"STRING", size:256, val: ""}
- , {col:"pid" , type:"STRING", size:256, val: pid}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- dsf_createDs('ds_temp_result_famylist');
- dsf_createDs('ds_temp_uncolist');
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- if( ds_temp_result_famylist.rowcount > 0 ){
- //var objArg = new Object();
- //objArg.arg_main_result = ds_temp_result_famylist;
- //frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- //model.copynode("/root/main/result", "/root/temp/result");
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
-
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_famylist.clear();
- ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- //직원가족정보 조회 입원수납용
- function fGetPsnWorkInfo_i(rrgstno,pre_loading_yn) {
- var retValue = '';
- if(pre_loading_yn == "Y"){
- //만약 입원수납등 기화면에서 가족정보 미리 조회해오므로 submit 통과
- }
- if( ds_temp_result_h_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_h_famylist;
- objArg.arg_main_uncolist = ds_temp_uncolist;
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_h_famylist.clear();
- //ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- function fGetPsnWorkInfo_pid_i(rrgstno,pre_loading_yn) {
- var retValue = '';
- if(pre_loading_yn == "Y"){
- //만약 입원수납등 기화면에서 가족정보 미리 조회해오므로 submit 통과
- }
- if( ds_temp_result_h_famylist.rowcount > 0 ){
- var objArg = new Object();
- objArg.arg_main_result = ds_temp_result_h_famylist;
- objArg.arg_main_uncolist = 'undefined';
- frmf_modal("SPPMC03800", "SPPMC03800", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- retValue = fPsnParam(); //선택한 직원정보 세팅
- }
- ds_temp_result_h_famylist.clear();
- //ds_temp_uncolist.clear();
- ds_send_discpat.clear();
- return retValue;
- }
- //선택한 직원정보 세팅
- function fPsnParam() {
- var retValue = '';
- var emplno = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_emplid"));
- var emplnm = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_emplnm"));
- var discuncocd = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_discuncocd"));
- var famyrelcd = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_famyrelcd"));
- var famyrelnm = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_famyrelnm"));
- var preststatnm = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_preststatnm"));
- var profacptyn = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_profacptyn"));
- var profacptdd = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_profacptdd"));
- var remark = utlf_transNullToEmpty(frmf_getParameter("SPPMC03800_remark"));
- frmf_clearParameter("SPPMC03800_emplid");
- frmf_clearParameter("SPPMC03800_emplnm");
- frmf_clearParameter("SPPMC03800_discuncoflag");
- frmf_clearParameter("SPPMC03800_discuncocd");
- frmf_clearParameter("SPPMC03800_famyrelcd");
- frmf_clearParameter("SPPMC03800_famyrelnm");
- frmf_clearParameter("SPPMC03800_preststatnm");
- frmf_clearParameter("SPPMC03800_profacptyn");
- frmf_clearParameter("SPPMC03800_profacptdd");
- frmf_clearParameter("SPPMC03800_remark");
- if (emplno != '' && emplno != ' ') {
- retValue = emplno + '▦' +
- emplnm + '▦' +
- discuncocd + '▦' +
- famyrelnm + '▦' +
- preststatnm + '▦' +
- profacptyn + '▦' +
- profacptdd + '▦' +
- remark + '▦' +
- famyrelcd;
- }
- return retValue;
- }
- /**
- * 2007-12-07 이동식 수정.
- * @desc : 인사정보의 직원퇴직정보 조회
- * <pre>
- * input : rrgstno (주민번호)
- * </pre>
- * @param : orderGubn - 거래구분
- * @return : true/false , 응답전문
- * @---------------------------------------------------
- */
- function fGetPsnRetireInfo(rrgstno, orddd) {
- //입력값 체크
- if (rrgstno.length == 0) {
- sysf_messageBox("주민번호가 입력되지 않았습니다.", "E999", "");
- return;
- }
- // Return
- var ds_temp_psnworkinfo = new Dataset();
- //send dataset
- dsf_createDsRow("ds_send_req", [
- {col:"rrgstno" , type:"STRING", size:256, val: rrgstno}
- ]);
- //submit("TRPAC00101");
- var oParam = {};
- oParam.id = "TRPAC00101";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetPsnWorkInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_temp_psnworkinfo=psnwork";
- oParam.async = false;
- tranf_submit(oParam);
- if (ds_temp_psnworkinfo.rowcount > 0 ){
- var appfromdd = ds_temp_psnworkinfo.getColumn(0, "fromdd");
- var apptodd = ds_temp_psnworkinfo.getColumn(0, "todd");
- if( orddd == '' || orddd == ' ' || orddd == '-' ){
- orddd = utlf_getCurrentDate();
- }
- if( !utlf_isValidDateTime(appfromdd, "YYYYMMDD") || orddd < appfromdd ||
- !utlf_isValidDateTime(apptodd, "YYYYMMDD") || orddd > apptodd ){
- var vmsg = "인사정보를 확인하세요. 해당 직원이 퇴직하였거나 감면 적용기간이 만료 되었습니다."
- sysf_messageBox( vmsg , "E999", "");
- return false;
- }
- }
- else {
- sysf_messageBox("인사정보에서 확인된 정보가 없습니다. 감면여부를 다시 확인해 주세요.", "E999", "");
- return false;
- }
- //model.removeNodeset("/root/temp/psnworkinfo");
- ds_temp_psnworkinfo.clear();
- ////model.refresh();
- return true;
- }
- // 2008.07.31 최병진 - 변경된 CommAX에 맞게 로직 수정
- // - pPort 파라미터 추가 (default : 1)
- function fInPatBarCodePrn(pPid, pIndd, pCretno, pMskind, pHiststat, pPort) {
- // send
- ds_send_data17.clear();
- dsf_createDsRow("ds_send_data17", [
- {col:"pid", type:"STRING", size:256, val: pPid}
- , {col:"indd", type:"STRING", size:256, val: pIndd}
- , {col:"cretno", type:"INT", size:256, val: pCretno}
- , {col:"mskind", type:"STRING", size:256, val: pMskind}
- , {col:"histstat", type:"STRING", size:256, val: pHiststat}
- , {col:"ioflag", type:"STRING", size:256, val: ""}
- , {col:"ervisityn", type:"STRING", size:256, val: ""}
- , {col:"ipaddr", type:"STRING", size:256, val: ""}
- ]);
- // return dataset
- ds_hidden_h_receipt.clear();
- var ds_hidden_h_receipt = new Dataset();
- dsf_createDs("ds_hidden_h_receipt", [
- {col:"pid", type:"STRING", size:256}
- , {col:"hngnm", type:"STRING", size:256}
- , {col:"hngnm2", type:"STRING", size:256}
- , {col:"sex", type:"STRING", size:256}
- , {col:"age", type:"STRING", size:256}
- , {col:"religncd", type:"STRING", size:256}
- , {col:"rrgstno", type:"STRING", size:256}
- , {col:"orddeptcd", type:"STRING", size:256}
- , {col:"orddeptnm", type:"STRING", size:256}
- , {col:"specordyn", type:"STRING", size:256}
- , {col:"medispclid", type:"STRING", size:256}
- , {col:"wardcd", type:"STRING", size:256}
- , {col:"wardcd2", type:"STRING", size:256}
- , {col:"roomcd", type:"STRING", size:256}
- , {col:"indd", type:"STRING", size:256}
- , {col:"barcode", type:"STRING", size:256}
- , {col:"newprintflag", type:"STRING", size:256}
- , {col:"btype", type:"STRING", size:256}
- ]);
- //submit("TRPMI00115");
- var oParam = {};
- oParam.id = "TRPMI00115";
- oParam.service = "ipatmngtapp.InRgst";
- oParam.method = "reqGetInRgstCardIss";
- oParam.inds = "req=ds_send_data17";
- oParam.outds = "ds_hidden_h_receipt=receipt";
- oParam.async = false;
- tranf_submit(oParam);
- var inpt_pid = ds_hidden_h_receipt.getColumn(0, "pid");
- if (inpt_pid == null || inpt_pid == " " || inpt_pid == "") {
- sysf_messageBox("입원 환자가 아닙니다.! 환자 팔찌를 발행할 수 없습니다.","E999","");
- return false;
- } else {
- var sRrgstno = ds_hidden_h_receipt.getColumn(0, "rrgstno").substr(0,6) + "-"
- + ds_hidden_h_receipt.getColumn(0, "rrgstno").substr(6,1) + "******";
- ds_hidden_h_receipt.getColumn(0, "rrgstno",sRrgstno);
- var sIndd = ds_hidden_h_receipt.getColumn(0, "indd");
- ds_hidden_h_receipt.getColumn(0, "indd",sIndd.substr(0, 4) + "-" + sIndd.substr(4,2) + "-" + sIndd.substr(6,2));
- // 출력을 위한 변수 선언
- var sPid = ds_hidden_h_receipt.getColumn(0, "pid");
- var sHngnm = ds_hidden_h_receipt.getColumn(0, "hngnm");
- var sSex = ds_hidden_h_receipt.getColumn(0, "sex");
- var sAge = ds_hidden_h_receipt.getColumn(0, "age");
- if(document.all("CommAX") != null) {
- //바코드 출력 시작
- var sSndMsg = "";
- var portOpenTF = "";
- // CommPort 설정
- if (pPort == "" || pPort == null || pPort == " ") {
- CommAX.CommPort = "1"; // default port setting
- } else {
- CommAX.CommPort = pPort; //Port 설정
- }
- CommAX.Settings = "9600,n,8,1";
- portOpenTF = CommAX.PortOpen("true"); //Port Open
- if(portOpenTF == "TRUE") {
- // 2008.07.31 - 주민번호 라인 변경
- sSndMsg = sSndMsg + "^XA^LH20,20"; // 출력시작
- sSndMsg = sSndMsg + "^FO10,05^BC400,40,N,N,N^FD" + sPid + "^FS"; // 바코드(등록번호)
- sSndMsg = sSndMsg + "^CFE40,40^FO340,10^FD" + sSex + "/" + sAge + "^FS"; // 성별,나이
- sSndMsg = sSndMsg + CommAX.PrtImgOut(10, 50, sHngnm, 1, 2); // 환자명 - 가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율:X, Y)
- sSndMsg = sSndMsg + CommAX.HanImageData();
- sSndMsg = sSndMsg + "^CFE18,18^FO10,100^FD" + sPid + "^FS"; // 등록번호
- sSndMsg = sSndMsg + "CFE30,30^FO10,130^FD" + sRrgstno + "^FS"; // 주민번호
- sSndMsg = sSndMsg + "^CFA30,30^FO235,100^FD" + sIndd + "^FS"; // 입원일자
- sSndMsg = sSndMsg + "^PQ1"; // 출력매수
- sSndMsg = sSndMsg + "^XZ";
- CommAX.SendMessage(sSndMsg); // 출력
- CommAX.PortOpen("false"); // 출력종료
- } else {
- sysf_messageBox("아래 사항을 확인후 재출력해주십시오."
- + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- + " \n 2.케이블 확인"
- + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- return;
- }
- }
- }
- }
- /**
- * @desc : 중증정보 체크
- * <pre>
- * 1. 필수항목 입력 체크 - 등록번호, 적용일자(외래:진료일자,입원:현재일자?), 보험유형, 보조유형
- *
- * === 체크사항 ===
- * 환자 중증정보 조회
- * 중증정보와 보험유형,보조유형 Cross Check
- * </pre>
- * @param : vPid, vOrddd, vInsukindcd, vSuppkindcd
- *
- * @return : true/false
- * 항목 체크를 통해 재세팅된 값 return
- * @---------------------------------------------------
- * 변경이력
- * 2007.12.03 증번호 추가(국정원근무자인경우 중증확인과 증번호가 있어야 부담율 적용가능함) - 이동재
- */
- function fSrdgInfoVeri(vPid, vOrddd, vCretno, vInsukindcd, vSuppkindcd, vinsuno, vinsucd){
- // [확인필요] ds_temp4_essc의 내용이 무엇인지는 , kimdo3 2016-08-08
- /*
- vPid 등록번호
- vOrddd 진료일자
- vInsukindcd 보험유형
- vSuppkindcd 보조유형
- vinsuno 보험증번호
- vinsucd 보험자기호
- */
- //1. 중정정보 조회
- // Return
- ds_temp_srdg.clear();
- dsf_createDs("ds_temp_srdg", [
- {col:"srdg_pid", type:"STRING", size:256}
- , {col:"srdg_insukind", type:"STRING", size:256}
- , {col:"srdg_fromdd", type:"STRING", size:256}
- , {col:"srdg_todd", type:"STRING", size:256}
- , {col:"srdg_seridiagno", type:"STRING", size:256}
- , {col:"srdg_anohosprgstflag", type:"STRING", size:256}
- , {col:"srdg_cncrdiagcnfmdd", type:"STRING", size:256}
- , {col:"srdg_genrdd", type:"STRING", size:256}
- , {col:"srdg_signyn", type:"STRING", size:256}
- , {col:"srdg_signdt", type:"STRING", size:256}
- ]);
- //send
- // model.makeValue("/root/send/cretno", vCretno); 필요없는 것으로 예상 kimdo3 2016-08-08
- ds_send_req.clear();
- dsf_createDsRow("ds_send_req", [
- {col:"pid", type:"STRING", size:256, val: vPid}
- , {col:"insukind", type:"STRING", size:256, val: vInsukindcd}
- , {col:"orddd", type:"STRING", size:256, val: vOrddd }
- ]);
- //submit("TRPAC00201");
- var oParam = {};
- oParam.id = "TRPAC00201";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetPatSrdgInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_temp_srdg=srdg";
- oParam.async = false;
- tranf_submit(oParam);
- //내역이 있는 경우, 중증신청내역 or 중증확정내역
- if (ds_temp_srdg.getColumn(0, "srdg_pid") != "") {
- var vcode ;
- var vcode_arry = ds_temp4_essc.rowcount; // ds_temp4_essc의 내용이 무엇인지는 확인 필요 , kimdo3 2016-08-08
- for(var i=0 ;i< vcode_arry;i++) {
- vcode = ds_temp4_essc.getColumn( i , "vcode"); // V193이면 암상병 경우임
- if(fSrdgInfoVeri_check(vPid, vOrddd, vCretno, vInsukindcd, vSuppkindcd, vinsuno, vinsucd ,vcode) == false) return false;
- }
- }else { // 중증정보 없다.
- //중증정보가 없는데, 유형보조가 [중증:06]일 경우,
- if ( vSuppkindcd == "06" || vSuppkindcd == "11" ) {
- sysf_messageBox("해당환자는 중증번호가 없으므로, [중증]으로 적용할 수 없습니다.[1]","E999","");
- return false;
- }
- }
- return true;
- }
- //중증정보 체크(fSrdgInfoVeri에서 for문으로 체크되는 부분)
- function fSrdgInfoVeri_check(vPid, vOrddd, vCretno, vInsukindcd, vSuppkindcd, vinsuno, vinsucd ,vcode){
- //중증 신청일 , 중증 번호, 중증 사인 여부
- var vgenrdd = ds_temp_srdg.getColumn(0, "srdg_genrdd") ;
- var vgenrddtext = vgenrdd.substr(4,2) + "월" + vgenrdd.substr(6,2) + "일";
- var vdiagno = ds_temp_srdg.getColumn(0, "srdg_seridiagno");
- var vsignyn = ds_temp_srdg.getColumn(0, "srdg_signyn");
- var vcancer = "V193";
- var vsrdgfromdd = ds_temp_srdg.getColumn(0, "srdg_fromdd");
- var vsrdgtodd = ds_temp_srdg.getColumn(0, "srdg_todd");
- var vanohosprgstflag = ds_temp_srdg.getColumn(0, "srdg_anohosprgstflag");
- // 건강보험이면서 전액본인은 제외대상임
- if ( vInsukindcd == '11' && vSuppkindcd != '01') {
- // 이미 중증이 적용되어져 있으면 적용이 가능한지 check해야 함
- if ( vSuppkindcd == "06" || vSuppkindcd == "11" ){
- // 중증상병이 아니면 안됨
- if ( vcode != vcancer ){
- sysf_messageBox( " 중증 적용할수 없는 상병입니다![2-1-1-가]","E999","");
- return false;
- }
- // 중증번호 없으시 신청당일이고
- if ( vdiagno == "0"){
- // 국정원 예외적용
- if( vinsuno.substring(0,1) == "6" && vinsucd == "32000110") {
- sysf_messageBox("국정원근무자이므로 반드시 중증번호가 있어야 합니다.[2-1-1-나-ㄱ]","E999","");
- return false;
- }
- // 사인은 했음.
- if ( vsignyn == "Y"){
- // 신청당일 check
- if ( vgenrdd == vOrddd ){
- sysf_messageBox( "당일 SIGN환자입니다. 중증10%로 정산하십시요.[2-1-1-나-ㄴ-A]","E999","");
- return false;
- }
- if ( vgenrdd != vOrddd ){
- sysf_messageBox( vgenrddtext + " SIGN환자입니다.[2-1-1-나-ㄴ-B]","E999","");
- return false;
- }
- }
- // 사인안했음
- if ( vsignyn != "Y"){
- if ( vanohosprgstflag == "Y" ){
- sysf_messageBox( "타병원 중증등록 환자 입니다.자격을 확인하세요![2-1-1-나-ㄷ-A]","E999","");
- return false;
- }
- if ( vanohosprgstflag == "N" ){
- var rtn = sysf_messageBox( "의료정보팀에서 Sign후 중증적용 가능합니다. 의료정보팀에서 Sign하세요![2-1-1-나-ㄷ-B]\n계속진행하시겠습니까?","Q999","");
- // Yes : 6 / No : 7 / Cancel : 2
- if (rtn == 7) return false;
- }
- }
- }
- // 중증번호 있으면 기간만 check함
- if ( vdiagno != "0"){
- if (vOrddd < vsrdgfromdd || vOrddd > vsrdgtodd ) {
- sysf_messageBox("적용일자가 중증기간 범위에 포함되지 않습니다.[2-1-1-다]","E999","");
- return false;
- }
- }
- }
- // 중증이 미적용되어져 있으면 적용이 가능한지 check해야 함
- if ( vSuppkindcd != "06" && vSuppkindcd != "11" ){
- // 중증에 해당하는 상병이면
- if ( vcode == vcancer ){
- // 중증번호 없으시 신청당일이고 sign이 되었으면 가능함. 단 국정원이 아닐경우
- if ( vdiagno == "0"){
- //타병원유무 체크
- if ( vanohosprgstflag == "Y" ){
- sysf_messageBox( "타병원 중증등록 환자 입니다.자격을 확인하세요![2-1-2-가-ㄱ]","E999","");
- return false;
- }
- if ( vanohosprgstflag == "N" ){
- if ( vsignyn == "Y"){ // 사인되었고 국정원이 아니면 산정가능
- if( vinsuno.substring(0,1) == "6" && vinsucd == "32000110") {
- //
- }else{
- if ( vgenrdd == vOrddd ){
- sysf_messageBox("당일 SIGN 환자입니다. 중증10%로 정산하십시요.[2-1-2-가-ㄴ-B-A]","E999","");
- return false;
- }
- if ( vgenrdd != vOrddd ){
- sysf_messageBox("중증10%로 정산하십시요.[2-1-2-가-ㄴ-B-B]","E999","");
- return false;
- }
- }
- }
- // 사인안되었으면 guide한다.
- if ( vsignyn != "Y"){
- var rtn = sysf_messageBox(vgenrddtext + " 중증의뢰서가 작성되었습니다, 의료정보팀에서 Sign하세요![2-1-2-가-ㄴ-C]\n계속진행하시겠습니까?","Q999","");
- // Yes : 6 / No : 7 / Cancel : 2
- if (rtn == 7) return false;
- }
- }
- }
- // 중증번호 있으면서 기간이 맞으면 중증가능함
- if ( vdiagno != "0"){
- if ( vOrddd >= vsrdgfromdd || vOrddd <= vsrdgtodd ) {
- sysf_messageBox("중증10%로 정산하십시요.[2-1-2-나]","E999","");
- return false;
- }
- }
- }
- }
- }
- // 급여이면서 전액본인은 제외대상임
- if ( ( vInsukindcd == '21' || vInsukindcd == '22' ) && vSuppkindcd != '01') {
- // 인자값 vPid, vOrddd, vCretno, vInsukindcd, vSuppkindcd, vinsuno, vinsucd ,vcode
- // 이중에서 instcd와 매칭되는 값은 ?
- ds_send_req.clear();
- dsf_createDsRow("ds_send_req", [
- {col:"pid", type:"STRING", size:256, val: vPid}
- , {col:"orddd", type:"STRING", size:256, val: vOrddd}
- , {col:"cretno", type:"STRING", size:256, val: vCretno}
- , {col:"instcd", type:"STRING", size:256, val: ""}
- ]);
- // 의료급여는 산정특례를 check하지 않았으므로 진료당일건의 상병을 check해서 중증여부를 결정한다.
- //submit("TRPAO00214");
- var oParam = {};
- oParam.id = "TRPAO00214";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetDiagSrdg";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_temp6_diagsrdg=diagsrdg";
- oParam.async = false;
- tranf_submit(oParam);
- vcode = ds_temp6_diagsrdg.getColumn(0, "vcode"); // V193이면 암상병 경우임..
- // 이미 중증이 적용되어져 있으면 적용이 가능한지 check해야 함
- if ( vSuppkindcd == "06" || vSuppkindcd == "11" ){
- // 중증상병이 아니면 안됨
- if ( vcode != vcancer ){
- sysf_messageBox( "[중증] 적용할수 없는 상병입니다![2-2-1-가]","E999","");
- return false;
- }
- // 중증번호 없으면 신청당일이고
- if ( vdiagno == "0"){
- // 사인은 했음.
- if ( vsignyn == "Y"){
- // 신청당일 check
- if ( vgenrdd == vOrddd ){
- sysf_messageBox( "당일 SIGN환자입니다.[2-2-1-나-ㄱ-A]","E999","");
- }
- if ( vgenrdd != vOrddd ){
- //
- }
- }
- if ( vsignyn != "Y"){
- if ( vanohosprgstflag == "Y" ){
- sysf_messageBox( "타병원 중증등록 환자 입니다.자격을 확인하세요![2-2-1-나-ㄴ-A]","E999","");
- return false;
- }
- if ( vanohosprgstflag == "N" ){
- var rtn = sysf_messageBox("중증신청서가 작성되었습니다. 의료정보에서 SIGN하세요![2-2-1-나-ㄴ-B]\n계속진행하시겠습니까?","Q999","");
- // Yes : 6 / No : 7 / Cancel : 2
- if (rtn == 7) return false;
- }
- }
- }
- if ( vdiagno != "0"){ // 중증번호 있으면 기간만 check함
- //적용일자는 있으나, 적용일자 범위가 아님
- if ( vOrddd < vsrdgfromdd || vOrddd > vsrdgtodd ) {
- sysf_messageBox("적용일자가 [중증]기간 범위에 포함되지 않습니다.[2-2-1-다]","E999","");
- return false;
- }
- }
- }
- // 중증이 미적용되어져 있으면 적용이 가능한지 check해야 함
- if ( vSuppkindcd != "06" && vSuppkindcd != "11" ){
- // 중증에 해당하는 상병이면
- if ( vcode == vcancer ){
- // 중증번호 없으시 신청당일이고 sign이 되었으면 가능함. 단 국정원이 아닐경우
- if ( vdiagno != "0"){
- // 중증번호 있으면서 기간이 맞으면 중증가능함
- if (vOrddd >= vsrdgfromdd || vOrddd <= vsrdgtodd ) {
- sysf_messageBox("[중증] 으로 정산하십시요.[2-2-2-나]","E999","");
- return false;
- }
- }
- }
- }
- }
- return;
- }
- /**
- * @desc : 자보산재공상정보 체크
- * <pre>
- * 1. 필수항목 입력 체크 - 등록번호, 적용일자(외래:진료일자,입원:현재일자?), 보험유형, 보조유형
- *
- * === 체크사항 ===
- * 환자 보험정보 조회
- * 보험정보와 보험유형,보조유형 Cross Check
- * </pre>
- * @param : vPid, vOrddd, vInsukindcd, vSuppkindcd
- *
- * @return : true/false
- * 항목 체크를 통해 재세팅된 값 return
- * @---------------------------------------------------
- */
- function fEtcInsuInfoVeri(vPid, vOrddd, vInsukindcd, vSuppkindcd){
- /*
- 작성 중....
- vPid 등록번호
- vOrddd 진료일자
- vInsukindcd 보험유형
- vSuppkindcd 보조유형
- */
- //1. 보험정보 조회
- // Return
- // model.makeNode("/root/temp/ptin"); //kimdo3 2016-08-08일에서
- //send
- ds_send_req.clear();
- dsf_createDsRow("ds_send_req", [
- {col:"pid", type:"STRING", size:256, val: vPid}
- , {col:"insukind", type:"STRING", size:256, val: vInsukindcd}
- , {col:"appdd", type:"STRING", size:256, val: vInsukindcd}
- ]);
- //submit("TRPAC00201");
- var oParam = {};
- oParam.id = "TRPAC00201";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetPatSrdgInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_temp_srdg=srdg";
- oParam.async = false;
- tranf_submit(oParam);
- //내역이 있는 경우, 중증신청내역 or 중증확정내역
- if (ds_temp_srdg.getColumn(0, "srdg_pid") != "") {
- //신청내역
- if ( ds_temp_srdg.getColumn(0, "srdg_fromdd") == "00000000") {
- sysf_messageBox("중증 적용 시작일이 입력되지 않았습니다.","E999","");
- return false;
- }
- //신청내역
- if ( ds_temp_srdg.getColumn(0, "srdg_seridiagno") == "-" && ds_temp_srdg.getColumn(0, "srdg_seridiagno") == "0") {
- sysf_messageBox("중증번호가 없습니다.","E999","");
- return false;
- }
- //적용일자는 있으나, 적용일자 범위가 아님
- if ( vOrddd < ds_temp_srdg.getColumn(0, "srdg_fromdd") ||
- vOrddd > ds_temp_srdg.getColumn(0, "srdg_todd")
- ) {
- sysf_messageBox("적용일자가 중증기간 범위에 포함되지 않습니다.","E999","");
- return false;
- }
- //중증정보가 있는데, 보조유형이 [중증:06] 이 아닌 경우,
- if ( vOrddd >= ds_temp_srdg.getColumn(0, "srdg_fromdd") &&
- vOrddd <= ds_temp_srdg.getColumn(0, "srdg_todd") &&
- ds_temp_srdg.getColumn(0, "srdg_seridiagno") != "-" &&
- ds_temp_srdg.getColumn(0, "srdg_seridiagno") != "0" &&
- vSuppkindcd != "06"
- ) {
- sysf_messageBox("해당환자의 중증정보가 있으나, 보조유형이 [중증]이 아닙니다.","E999","");
- return false;
- }
- }
- else {
- //중증정보가 없는데, 유형보조가 [중증:06]일 경우,
- if ( vSuppkindcd == "06" ) {
- sysf_messageBox("해당환자의 중증정보가 없으므로, 보조유형을 [중증]으로 적용할 수 없습니다.","E999","");
- return false;
- }
- return true;
- }
- //model.refresh();
- }
- //2007-10-08 이동식 추가
- /**
- * @desc : 환자카드발급을 위한 PC 고유번호를 셋팅
- * <pre>
- *
- * </pre>
- * @param :
- * @return : pcinfo //고유번호
- * @---------------------------------------------------
- */
- function fGetPCID(){
- var pcInfoStr ;
- try {
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var f = fso.GetFile("C:\\WINDOWS\\Device.ini");
- var ts = f.OpenAsTextStream(1);
- pcInfoStr = ts.ReadLine();
- ts.Close();
- } catch(e) {
- //sysf_messageBox("[전자카드발행] PC고유번호정보를 찾을수 없습니다.", "E999", "");
- }
- // model.makeNode("/root/hidden/patcardissue/pcinfo");
- // model.setValue("/root/hidden/patcardissue/pcinfo", pcInfoStr);
- dsf_makeValue(ds_hidden_patcardissue, "pcinfo", "string", pcInfoStr);
- }
- //2009-03-03 이동식 추가
- /**
- * @desc : 의사휴진일정 및 진료환자정원 조회
- * <pre>
- * input : insucd 보험자기호(보험자코드)
- * insuflag 보험자형태
- * 1:공단/2:의료급여/3:자보/4:산재공상/5:일반/6:외국인
- * </pre>
- * @param : orddrid, orddeptcd, orddd, ordtm, fsexamflag
- * @return :
- * @---------------------------------------------------
- */
- function fGetVerifyHoli(orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, rsrvflag){
- return fGetVerifyHoli2('-', orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, rsrvflag, 'Y');
- }
- /**
- * @desc : 보험자기호 명 조회
- * <pre>
- * input : insucd 보험자기호(보험자코드)
- * insuflag 보험자형태
- * 1:공단/2:의료급여/3:자보/4:산재공상/5:일반/6:외국인
- * </pre>
- * @param :
- * @return : insucdnm 보험자기호명
- *
- ex) model.setValue("/root/main/ptin/ptin_insunm", fGetInsucdNm( insucd, insukind));
- //model.refresh();
- *
- * @---------------------------------------------------
- */
- function fGetInsucdNm(vInsucd,vInsukind) {
- dsf_createDs("ds_temp_insucdlist_incd", [
- {col:"insuflag", type:"STRING", size:256}
- , {col:"insucd", type:"STRING", size:256}
- , {col:"todd", type:"STRING", size:256}
- , {col:"seqno", type:"STRING", size:256}
- , {col:"instcd", type:"STRING", size:256}
- , {col:"histstat", type:"STRING", size:256}
- , {col:"fromdd", type:"STRING", size:256}
- , {col:"insucdnm", type:"STRING", size:256}
- , {col:"tel", type:"STRING", size:256}
- , {col:"faxno", type:"STRING", size:256}
- , {col:"zipcd1", type:"STRING", size:256}
- , {col:"zipcd2", type:"STRING", size:256}
- , {col:"zipcdseq", type:"STRING", size:256}
- , {col:"detladdr", type:"STRING", size:256}
- , {col:"oldinsucd", type:"STRING", size:256}
- , {col:"chrgnm", type:"STRING", size:256}
- , {col:"fstrgstrid", type:"STRING", size:256}
- , {col:"fstrgstdt", type:"STRING", size:256}
- , {col:"lastupdtrid", type:"STRING", size:256}
- , {col:"lastupdtdt", type:"STRING", size:256}
- ]);
- //send
- ds_send.clear();
- dsf_createDsRow("ds_send", [
- {col:"srchcond", type:"STRING", size:256, val: "1"}
- , {col:"srchcnts", type:"STRING", size:256, val: vInsucd}
- , {col:"insuflag", type:"STRING", size:256, val: vInsukind.substr(0,1)}
- ]);
- var oParam = {};
- oParam.id = "TRPMB01501";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetInsuCdList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_temp_insucdlist_incd=incd";
- oParam.async = false;
- tranf_submit(oParam);
- if (utlf_transNullToEmpty(ds_temp_insucdlist_incd.getColumn(0, "insucdnm")) != "") {
- var vinsucdnm = ds_temp_insucdlist_incd.getColumn(0, "insucdnm");
- return vinsucdnm;
- } else {
- //sysf_messageBox("조회된 정보가 없습니다.", "E999", "");
- return "-";
- }
- }
- /**
- * @desc : 금액표시기에 금액 출력
- * <pre>
- * input : vPatnm 환자성명
- * vAmt 금액
- *
- * </pre>
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDisplayAmt(vPatnm, vAmt, vRcptrnm) {
- //금액표시기구분(POPUP:듀얼모니터 프로톤소프트IR-600, SERIAL: LED표시기 티원브로드테크 NWD-3000)
- if( AmtDispKind == 'POPUP' ){
- if(vPatnm != '' || vPatnm != ' '){
- vPatnm = vPatnm.substr(0, (vPatnm.length - 1)) + '★';
- vPatnm = vPatnm + '님';
- }
- //var popupObjt = findChildWindowByScreenID("SPPMC06400");
- var popupObjt = frmf_findPopup("SPPMC06400") ;
- if( utlf_isNull(popupObjt) ){
- //open("SPPMC06400",2,"","","SPPMC06400","","","caption:hidden;","false");
- frmf_open("SPPMC06400", "SPPMC06400", "", false, 2, "", "", "", "", "", "", "", "P");
- popupObjt = frmf_findPopup("SPPMC06400");
- popupObjt.fInit();
- popupObjt.fSetMsg(vPatnm, vAmt, vRcptrnm);
- }else{
- popupObjt.fInit();
- popupObjt.fSetMsg(vPatnm, vAmt, vRcptrnm);
- }
- }else if( AmtDispKind == 'SERIAL' ){
- //금액표시기 ocx
- //var AmtDisplay = NWSerial_OCX;
- var vreturn1 = -1;
- vreturn1 =AmtDisplay.OpenCom(1,9600);
- if (vreturn1 == 0) {
- AmtDisplay.CloseCom();
- AmtDisplay.OpenCom(1,9600);
- }
- var vreturn2 = -1;
- vreturn2 = AmtDisplay.ModeSend(2, "00", vPatnm, vAmt );
- }
- }
- //조영상 2009/09/29 빈센트병원 테스트를 위해서 임시로 추가
- // Ku2.0에서 사용하는 디스플레이 함수임
- function fDisplayAmt(vPatnm, vAmt, vRcptrnm, vinstcd) {
- if( AmtDispKind == 'POPUP' ){
- if(vPatnm != '' || vPatnm != ' '){
- vPatnm = vPatnm.substr(0, (vPatnm.length - 1)) + '★';
- vPatnm = vPatnm + '님';
- }
- var popupObjt = frmf_findPopup("SPPMC06400");
- if( utlf_isNull(popupObjt)){
- //open("SPPMC06400",2,"","","SPPMC06400","","","caption:hidden;","false");
- var objArg = new Object();
- objArg.amtInt = "INIT";
- objArg.vPatnm = vPatnm;
- objArg.vAmt = vAmt;
- objArg.vRcptrnm = vRcptrnm;
-
- //2018/04/25 이정택 수정
- //frmf_open("SPPMC06400", "SPPMC06400", objArg, false, "2", "", "", "", "", "", "", "", "P");
- frmf_open("SPPMC06400", "SPPMC06400", objArg, false, 2, "", "", 800, 600, "", "", "", "P");
- //2018/04/25 이정택 수정
- // popupObjt = frmf_findPopup("SPPMC06400");
- //
- //
- // popupObjt.fInit();
- //
- // popupObjt.fSetMsg(vPatnm, vAmt, vRcptrnm);
- }else{
- popupObjt.fInit();
- popupObjt.fSetMsg(vPatnm, vAmt, vRcptrnm);
- }
- }else if( AmtDispKind == 'SERIAL' ){
- //금액표시기 ocx
- //var AmtDisplay = NWSerial_OCX;
- var vreturn1 = -1;
- vreturn1 =AmtDisplay.OpenCom(1,9600);
- if (vreturn1 == 0) {
- AmtDisplay.CloseCom();
- AmtDisplay.OpenCom(1,9600);
- }
- var vreturn2 = -1;
- if(vinstcd == "017") {
- vreturn2 = AmtDisplay.ModeSend(5, "00", vPatnm, vAmt );
- }else{
- vreturn2 = AmtDisplay.ModeSend(2, "00", vPatnm, vAmt );
- }
- }
- }
- function fOpenCom() {
- if( AmtDispKind == 'SERIAL' ){
- try {
- if (utlf_isNull(this.components["NWSerial_OCX"])) { // 최초 한번만 createChild() 한다.
- var NWSerial_OCX = new ActiveX("NWSerial_OCX", 0, 0, 0, 0);
- NWSerial_OCX.progid = "E0B03C1E-8BC8-48AC-AD00-A7123C75341C";
- NWSerial_OCX.visible = false;
- this.addChild("NWSerial_OCX", NWSerial_OCX);
- }
- AmtDisplay = NWSerial_OCX;
- var vreturn1 = -1;
- vreturn1 =AmtDisplay.OpenCom(1,9600);
- if (vreturn1 == 0) {
- AmtDisplay.CloseCom();
- AmtDisplay.OpenCom(1,9600);
- }
- } catch(e) {
- AmtDisplay = null;
- }
- }
- }
- function fCloseCom() {
- if( AmtDispKind == 'POPUP' ){
- var popupObjt = frmf_findPopup("SPPMC06400");
- if( popupObjt == null ){
- return;
- }else{
- //popupObjt.fClose();
- }
- }else if( AmtDispKind == 'SERIAL' ){
- try{
- if (!utlf_isNull(this.components["NWSerial_OCX"])){
- //Port Close
- var vreturn3 = -1;
- vreturn3 = AmtDisplay.CloseCom();
- if (vreturn3 == 0) {
- AmtDisplay.CloseCom();
- }
- }
- }catch(E){
- AmtDisplay = null;
- }
- }
- }
- //금액표시기 종류 체크
- // var AmtDispKind = 'POPUP';
- function fInit_Display() {
- if( AmtDispKind == 'SERIAL' ){
- try {
- // 최초 한번만 createChild() 한다.
- if (utlf_isNull(this.components["NWSerial_OCX"])) {
- var NWSerial_OCX = new ActiveX("NWSerial_OCX", 0, 0, 0, 0);
- NWSerial_OCX.progid = "E0B03C1E-8BC8-48AC-AD00-A7123C75341C";
- NWSerial_OCX.visible = false;
- this.addChild("NWSerial_OCX", NWSerial_OCX);
- }
- AmtDisplay = NWSerial_OCX;
- } catch(e) {
- AmtDisplay = null;
- }
- return (AmtDisplay != null);
- }
- }
- //2007-12-07 이동식 추가
- /**
- * @desc : 금액표시기 타입 조회
- *
- * @return : AmtDispKind 금액표시기타입.
- * @---------------------------------------------------
- */
- function fGetAmtDispKind(){
- if( sysf_getGlobalVariable("g_AmtDispKind","p") == '' || sysf_getGlobalVariable("g_AmtDispKind","p") == null ){
- ds_hidden_pamcomcd_send.clear();
- dsf_createDsRow("ds_hidden_pamcomcd_send", [
- {col:"cdgrupid", type:"STRING", size:256, val: 'P0022' }
- , {col:"cdid", type:"STRING", size:256, val: '90'}
- ]);
- // submit("TRPMO00123");
- var oParam = {};
- oParam.id = "TRPMO00123";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetCenterYN";
- oParam.inds = "req=ds_hidden_pamcomcd_send";
- oParam.outds = "ds_hidden_pamcomcd_rcv=pamcd";
- oParam.async = false;
- tranf_submit(oParam);
- var cdnm = "";
- if(ds_hidden_pamcomcd_rcv.rowcount > 0) {
- cdnm = ds_hidden_pamcomcd_rcv.getColumn(0, "cdnm");
- }else{
- cdnm = 'POPUP';
- }
- //글로벌변수 선언 환자번호
- sysf_setGlobalVariable("g_AmtDispKind",cdnm,"p");
- ds_hidden_pamcomcd_send.clear();
- ds_hidden_pamcomcd_rcv.clear();
- return sysf_getGlobalVariable("g_AmtDispKind","p");
- }else{
- return sysf_getGlobalVariable("g_AmtDispKind","p");
- }
- /*
- if( sysf_getGlobalVariable("g_AmtDispKind","p") == '' || sysf_getGlobalVariable("g_AmtDispKind","p") == null ){
- model.removeNodeset("/root/hidden/pamcomcd");
- model.makeNode("/root/hidden/pamcomcd/send/cdgrupid");
- model.makeNode("/root/hidden/pamcomcd/send/cdid");
- model.makeNode("/root/hidden/pamcomcd/rcv");
- model.setValue("/root/hidden/pamcomcd/send/cdgrupid", 'P0022');
- model.setValue("/root/hidden/pamcomcd/send/cdid", '90');
- submit("TRPMO00123");
- var iCount = getNodesetCount("/root/hidden/pamcomcd/rcv/pamcd/cdnm");
- if (iCount > 0) {
- var cdnm = model.getValue("/root/hidden/pamcomcd/rcv/pamcd/cdnm");
- if (cdnm == '-') {
- return sysf_getGlobalVariable("g_AmtDispKind","p");
- }else{
- model.removeNodeset("/root/hidden/pamcomcd");
- return cdnm;
- }
- }else{
- var cdnm = model.getValue("/root/hidden/pamcomcd/rcv/pamcd/cdnm")
- if (cdnm == '-') {
- return sysf_getGlobalVariable("g_AmtDispKind","p");
- }else{
- model.removeNodeset("/root/hidden/pamcomcd");
- return 'POPUP';
- }
- }
- }else{
- return sysf_getGlobalVariable("g_AmtDispKind","p");
- }
- */
- }
- //2007-12-07 이동식 추가
- /**
- * @desc : 임상환자 정보 조회
- * <pre>
- * input : PID 등록번호
- * ORDDD 진료일자
- * </pre>
- * @param : PID, ORDDD
- * @return : medfeeyn 진찰료지원여부
- * @---------------------------------------------------
- */
- function fGetStdyPatInfo(pid, orddd) {
- ds_hidden_temp_stdy.clearData();
- dsf_createDsRow("temp_ds_send", [{col:"pid", type:"STRING", size:256, val: pid}
- , {col:"orddd", type:"STRING", size:256, val: orddd}]);
- var oParam = {};
- oParam.id = "TRPAC00401";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetStdyPatInfo";
- oParam.inds = "req=temp_ds_send";
- oParam.outds = "ds_hidden_temp_stdy=stdy";
- oParam.async = false;
- oParam.callback = "cf_TRPAC00401";
- tranf_submit(oParam);
- if (arErrorCode.pop("TRPAC00401") > -1) {
- return ds_hidden_temp_stdy.getColumn(0, "medfeeyn");
- }else{
- return "";
- }
- }
- function cf_TRPAC00401(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-01-08 이동식 추가 - 진료의뢰서 확인
- function fCheckOrdCnst(pid, fsexamflag, orddeptcd, deptengabbr, reqdeptno, outhistpath, insukind){
- //치과(55), 가정의학과(23), 재활의학과(21) 제외
- // 치과 진찰료 별도산정 관련 수정(2017/05/17 이정택)
- //if( reqdeptno == "55" || reqdeptno == "23" || reqdeptno == "21" ){
- if( reqdeptno.substr(0, 1) == "5" || reqdeptno == "23" || reqdeptno == "21" ){
- // 치과 진찰료 별도산정 관련 수정(2017/05/17 이정택)
- return true;
- }
- //응급내역 체크 - 1주일 이내 응급내역이 있으면 진료의뢰서 필요 없음.
- // if(fCheckERPat(pid, 'N')) return true;
- //2010-02-02 입원협진있을경우 진료의뢰서 필요없음.
- // model.removeNodeset("/root/temp/cnstinfo");
- // model.makeNode("/root/temp/cnstinfo/temp");
- // model.makeNode("/root/temp/cnstinfo/send/pid");
- // model.makeNode("/root/temp/cnstinfo/send/orddeptcd");
- // model.setValue("/root/temp/cnstinfo/send/pid", pid);
- // model.setValue("/root/temp/cnstinfo/send/orddeptcd", orddeptcd);
- // if( submit("TRPAC00501") ){
- // var cnt = getNodesetCount("/root/temp/cnstinfo/temp/cnstinfo");
- // if( cnt > 0 ){
- // return true;
- // }
- // }
- // if( outhistpath != null && outhistpath != '' && outhistpath != ' ' && outhistpath != '-' ){
- // var histCnt = getNodesetCount(outhistpath);
- // if( histCnt > 0 ){
- // for( var i = 1; i <= histCnt ; i++){
- // if( model.getValue(outhistpath + "[" + i + "]/rsrvflag") == "X"){ //응급내역이 1주일 안에 존재하면 진료의뢰서 필요 없음!!
- // var interval = utlf_getDateInterval( model.getValue(outhistpath + "[" + i + "]/orddd"), utlf_getCurrentDate());
- // if( parseInt(interval) <= 7 && parseInt(interval) >= 0){
- // return true;
- // }
- // }
- // } //for( var i = 1; i <= histCnt ; i++){
- // } //if( histCnt > 0 ){
- //컨설트의뢰정보 체크 - 컨설트일 경우 진료의로서 필요 없음!.
- //var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
- if( pid != '' || pid != ' ' || pid != '-' ){
- ds_temp_emrcnst_send.clear();
- ds_temp_emrcnst_temp_emrcnst.clear();
- dsf_createDsRow("ds_temp_emrcnst_send", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"flag", type:"STRING", size:256, val : 'T'}
- ]);
- //if(submit("TRPAC00301")) {
- var oParam = {};
- oParam.id = "TRPAC00301";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetOrdCnstInfo";
- oParam.inds = "req=ds_temp_emrcnst_send";
- oParam.outds = "ds_temp_emrcnst_temp_emrcnst=emrcnst";
- oParam.async = false;
- oParam.callback = "cf_TRPAC00301";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPAC00301") > -1 ){
- var cnt = ds_temp_emrcnst_temp_emrcnst.rowcount ;
- if( cnt > 0 ){
- for( var i = 0; i < cnt ; i++){
- if( ds_temp_emrcnst_temp_emrcnst.getColumn( i, "recvdeptcd") == orddeptcd){ //컨설트 해당과는 진료의뢰서 필요없음!!
- // var reqdeptcd = model.getValue("/root/temp/emrcnst/temp/emrcnst[" + i + "]/reqdeptcd");
- // var reqdeptengabbr = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + reqdeptcd + "']/deptengabbr");
- // var reqdeptreqdeptno = model.getValue("/root/init/orddeptcd/orddeptcdlist[ cd = '" + reqdeptcd + "']/reqdeptno");
- // return fCheckOrdCnst(pid, fsexamflag, reqdeptcd, reqdeptengabbr, reqdeptreqdeptno, outhistpath, insukind);
- return true;
- }
- }
- } //if( cnt > 0 ){
- } //if( submit("TRPAC00301") ){
- } //if( pid != '' || pid != ' ' || pid != '-' ){
- // } //if( outhistpath != null && outhistpath != '' && outhistpath != ' ' && outhistpath != '-' ){
- //var fsexamflag = model.getValue("/root/main/reservation/fsexamflag");
- //병원초진인 경우
- if( fsexamflag == 'F' ){
- //sysf_messageBox("진료의뢰서가 필요합니다.", "I999", "");
- return false;
- //과초진 /상병초진 /재진인 경우
- }else if( fsexamflag == 'D' || fsexamflag == 'S' || fsexamflag == 'R' ){
- //건강보험
- if( insukind == gsInsu_BoHeom ){
- //치과(55), 가정의학과(23), 재활의학과(21) 제외
- //if( reqdeptno == "55" || reqdeptno == "23" || reqdeptno == "21" ){
- // return true;
- //}
- //의료급여1,2
- //}else if( ){} //모든과 체크
- //건강보험, 의료급여1,2 제외 일 경우 체크제외
- }else if(insukind == gsInsu_JaboKind || insukind == gsInsu_SanJae || insukind == gsInsu_GongSang
- || insukind == gsInsu_IlBan || insukind == gsInsu_ForIn || insukind == gsInsu_ImSang){
- return true;
- }
- //진료의뢰서 조회
- ds_temp_ordreqform_send.clear();
- ds_temp_ordreqform_cnst.clear();
- dsf_createDsRow("ds_temp_ordreqform_send", [
- {col:"pid", type:"STRING", size:256, val: pid }
- , {col:"reqdeptno", type:"STRING", size:256, val: reqdeptno }
- , {col:"basedd", type:"STRING", size:256, val: "" }
- ]);
- //if( submit("TRPMO01201") ){
- var oParam = {};
- oParam.id = "TRPMO01201";
- oParam.service = "opatmngtapp.OutRgst";
- oParam.method = "reqGetOrdReqForms";
- oParam.inds = "req=ds_temp_ordreqform_send";
- oParam.outds = "ds_temp_ordreqform_cnst=cnst";
- oParam.async = false;
- oParam.callback = "cf_TRPMO01201";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO01201") > -1 ){
- //진료의뢰서가 없을경우..
- var cnt = ds_temp_ordreqform_cnst.rowcount;
- if( cnt <= 0 ){
- //sysf_messageBox("진료의뢰서가 필요합니다.", "I999", "");
- return false;
- //진료의뢰서가 존재할 경우
- }else{
- //류마티스내과의 경우 따로 의뢰서 필요!! 그외 진료과들은 청구부서번호 당 의뢰서 1건 필요
- if( deptengabbr == "MR" ){
- //진료의뢰서 내역 중 류마티스내과 조회
- for( var i = 0; i < cnt; i++ ){
- if( orddeptcd == ds_temp_ordreqform_cnst.getColumn( i , "orddeptcd") ){
- return true;
- }
- }
- //없을 경우..
- return false;
- }else{
- //같은 청구부서번호를 가진 진료과들 중 진료의뢰서를 제출한 진료과 존재!!
- return true;
- }
- }
- }else{
- sysf_messageBox("진료의뢰서 확인 오류!!", "I999", "");
- return false;
- }
- ds_temp_ordreqform_cnst.clear();
- ds_temp_ordreqform_send.clear();
- return false;
- }
- }
- //END..
- function cf_TRPAC00301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TRPMO01201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-01-10 이동식 추가
- //가정간호환자 체크
- function fCheckHomeCarePat(){
- dsf_createDsRow("ds_send_homecare", [
- {col:"pid", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_pid")}
- ]);
- //if( submit("TRPMO00114") ){
- var oParam = {};
- oParam.id = "TRPMO00114";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetHomeCarePatInfo";
- oParam.inds = "req=ds_send_homecare";
- oParam.outds = "ds_hidden_rcv_homecare=homecare";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00114";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO00114") > -1 ){
- var cnt = ds_hidden_rcv_homecare.rowcount ;
- if( cnt > 0){
- var msg = '';
- for( var i = 0; i < cnt; i++ ){
- if( ds_hidden_rcv_homecare.getColumn( i, "careflag") == 'H' ){
- msg = msg + "[가정간호]";
- }else if( ds_hidden_rcv_homecare.getColumn( i, "careflag") == 'V' ){
- msg = msg + "[방문간호]";
- }else if( ds_hidden_rcv_homecare.getColumn( i, "careflag") == 'C' ){
- msg = msg + "[가정형 호스피스]";
- }
- }
- //var hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
- sysf_messageBox(msg + "대상 환자입니다.", "I999", "");
- }
- }
- ds_send_homecare.clear();
- ds_hidden_rcv_homecare.clear();
- }
- function cf_TRPMO00114(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-01-10 이동식 추가
- //장기이식환자 체크
- function fCheckTransPat(){
- dsf_createDsRow("ds_send_transpat", [
- {col:"pid", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_pid")}
- ]);
- //if( submit("TRPAO00212") ){
- var oParam = {};
- oParam.id = "TRPAO00212";
- oParam.service = "outordamtmngtapp.OutRcptRef";
- oParam.method = "reqGetTrans";
- oParam.inds = "req=ds_send_transpat";
- oParam.outds = "ds_hidden_rcv_trans=trans";
- oParam.async = false;
- oParam.callback = "cf_TRPAO00212";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPAO00212") > -1 ){
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="1" || ds_hidden_rcv_trans.getColumn(0, "transgubn")=="2") {
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="1") {
- var transmessage = '공여자 입니다. ' + ' * 수혜자 : ' + ds_hidden_rcv_trans.getColumn(0, "phngnm") + '[' + ds_hidden_rcv_trans.getColumn(0, "ppid") + ']' + ' 에게 ' +
- ds_hidden_rcv_trans.getColumn(0, "trnptkindnm") + ' 공여 하였습니다.';
- }
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="2") {
- var transmessage = '수혜자 입니다. ' + ' * 공여자 : ' + ds_hidden_rcv_trans.getColumn(0, "phngnm") + '[' + ds_hidden_rcv_trans.getColumn(0, "ppid") + ']' + '에게서 ' +
- ds_hidden_rcv_trans.getColumn(0, "trnptkindnm") + ' 수혜 받았습니다.';
- }
- sysf_messageBox(transmessage, "I999","");
- return;
- }
- }
- ds_send_transpat.clear();
- ds_hidden_rcv_trans.clear();
- }
- function cf_TRPAO00212(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-02-14 이동식 추가
- //의사휴진일정 체크
- //의사 선택될 때
- function fCheckDrHoliSche(orddeptcd, orddrid, orddd, ordtm){
- //model.makeNode("/root/send/drholische/rcv");
- dsf_createDsRow("ds_send_drholische", [
- {col:"orddeptcd", type:"STRING", size:256, val: orddeptcd}
- , {col:"orddrid", type:"STRING", size:256, val: orddrid }
- , {col:"orddd", type:"STRING", size:256, val: orddd }
- , {col:"ordtm", type:"STRING", size:256, val: ordtm }
- ]);
- //if( submit("TRPMO00115") ){
- var oParam = {};
- oParam.id = "TRPMO00115";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetDrHoliSche";
- oParam.inds = "req=ds_send_drholische";
- oParam.outds = "ds_send_drholische_rcv=drholische";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00115";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO00115") > -1 ){
- if( ds_send_drholische_rcv.rowcount > 0){
- var holiflag = ds_send_drholische_rcv.getColumn(0, "holiflag");
- var endcnfmyn = ds_send_drholische_rcv.getColumn(0, "endcnfmyn");
- var msg = '';
- if( holiflag == 'T' ){
- msg = '당일 진료가 마감되었습니다. 진료과로 문의하시기 바랍니다.'
- }else if( holiflag == 'H' ){
- msg = '당일 진료가 없습니다. 진료과로 문의하시기 바랍니다.'
- }else{
- ds_send_drholische_rcv.clear();
- ds_send_drholische.clear();
- return false;
- }
- if( endcnfmyn == 'Y' ){
- sysf_messageBox("선택하신 진료의는 현재 " + msg, "I999", "");
- }
- }else{
- }
- }
- //model.removeNodeset("/root/send/drholische");
- ds_send_drholische_rcv.clear();
- ds_send_drholische.clear();
- }
- function cf_TRPMO00115(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-05-26 이동식 추가
- //응급 1주일 이내 내원 환자 체크
- function fCheckERPat(pid, flag){
- //receive
- ds_hidden_rcv_temp_erpat.clear();
- dsf_createDs("ds_hidden_rcv_temp_erpat", [
- {col:"pid", type:"STRING", size:256}
- , {col:"orddd", type:"STRING", size:256}
- ]);
- //send
- ds_send_erpat.clear();
- dsf_createDsRow("ds_send_erpat", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"flag", type:"STRING", size:256, val: flag}
- ]);
- //if( submit("TRPMO00116") ){
- var oParam = {};
- oParam.id = "TRPMO00116";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetERPatInfo";
- oParam.inds = "req=ds_send_erpat";
- oParam.outds = "ds_hidden_rcv_temp_erpat=erpat";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00116";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO00116") > -1 ){
- if (ds_hidden_rcv_temp_erpat.rowcount > 0 ) {
- var orddd = ds_hidden_rcv_temp_erpat.getColumn(0, "orddd");
- //flag 값을 'N' 또는 'n'일 경우 메세지를 출력하지 않는다.
- if( flag != 'N' && flag != 'n' ){
- sysf_messageBox(orddd + " 응급실 내원환자입니다.", "I999","");
- }
- ds_hidden_rcv_temp_erpat.clear();
- ds_send_erpat.clear();
- return true;
- }
- }
- ds_hidden_rcv_temp_erpat.clear();
- ds_send_erpat.clear();
- return false;
- }
- function cf_TRPMO00116(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //2008-06-02 이동식 추가
- //외래등록 환자조회시 체크사항 모두 조회
- function fGetTotalCheckInfo(){
- /*
- model.makeNode("/root/send/totalcheckinfo/pid");
- model.makeNode("/root/send/totalcheckinfo/rrgstno1");
- model.makeNode("/root/send/totalcheckinfo/rrgstno2");
- model.makeNode("/root/send/totalcheckinfo/hngnm");
- model.makeNode("/root/send/totalcheckinfo/orddeptcd");
- model.makeNode("/root/send/totalcheckinfo/orddrid");
- model.setValue("/root/send/totalcheckinfo/pid", model.getValue("/root/main/ptbs/ptbs_pid"));
- model.setValue("/root/send/totalcheckinfo/rrgstno1", model.getValue("/root/main/ptbs/ptbs_rrgstno1"));
- model.setValue("/root/send/totalcheckinfo/rrgstno2", model.getValue("/root/main/ptbs/ptbs_rrgstno2"));
- model.setValue("/root/send/totalcheckinfo/hngnm", model.getValue("/root/main/ptbs/ptbs_hngnm"));
- model.setValue("/root/send/totalcheckinfo/orddeptcd", model.getValue("/root/main/otpt/otpt_orddeptcd"));
- model.setValue("/root/send/totalcheckinfo/orddrid", model.getValue("/root/main/otpt/otpt_orddrid"));
- model.makeNode("/root/hidden/rcv");
- */
- var retValue = false;
- // if( submit("TRPMO00117") ){
-
- // 응급실 내원이력 팝업 주석처리 by 조중래 20181226
- // //1주일 이내 응급실 내원환자 체크
- // if (ds_hidden_rcv_erpat.rowcount > 0 ) {
- //
- // var orddd = ds_hidden_rcv_erpat.getColumn(0, "orddd");
- // var erorddeptcd = ds_hidden_rcv_erpat.getColumn(0, "erorddeptcd");
- // sysf_messageBox(orddd + "" + erorddeptcd + " 응급실 내원환자입니다.", "I999","");
- //
- // }
- //장애환자 체크
- if( ds_hidden_rcv_handcappatlist.rowcount > 0 ){
- dsf_makeValue( ds_main_otpt, "otpt_handicaprbookpossnyn", "string", "Y");
- }else{
- dsf_makeValue( ds_main_otpt, "otpt_handicaprbookpossnyn", "string", "N");
- }
- //장기이식환자 체크
- // ds_hidden_rcv_temp_trans --> ds_hidden_rcv_trans
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="1" || ds_hidden_rcv_trans.getColumn(0, "transgubn")=="2") {
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="1") {
- var transmessage = '공여자 입니다. ' + ' * 수혜자 : ' + ds_hidden_rcv_trans.getColumn(0, "phngnm") + '[' + ds_hidden_rcv_trans.getColumn(0, "ppid") + ']' + ' 에게 ' +
- ds_hidden_rcv_trans.getColumn(0, "trnptkindnm") + ' 공여 하였습니다.';
- }
- if (ds_hidden_rcv_trans.getColumn(0, "transgubn")=="2") {
- var transmessage = '수혜자 입니다. ' + ' * 공여자 : ' + ds_hidden_rcv_trans.getColumn(0, "phngnm") + '[' +ds_hidden_rcv_trans.getColumn(0, "ppid") + ']' + '에게서 ' +
- ds_hidden_rcv_trans.getColumn(0, "trnptkindnm") + ' 수혜 받았습니다.';
- }
- sysf_messageBox(transmessage, "I999","");
- }
- //가정간호 환자 체크
- if( ds_hidden_rcv_homecare.rowcount > 0){
- var cnt = ds_hidden_rcv_homecare.rowcount;
- var msg = '';
- for( var i = 0; i < cnt; i++ ){
- if( ds_hidden_rcv_homecare.getColumn( i , "careflag") == 'H' ){
- msg = msg + "[가정간호]";
- }else if( ds_hidden_rcv_homecare.getColumn( i , "careflag") == 'V' ){
- msg = msg + "[방문간호]";
- }else if( ds_hidden_rcv_homecare.getColumn( i , "careflag") == 'C' ){
- msg = msg + "[가정형 호스피스]";
- }
- }
- //var hngnm = model.getValue("/root/main/ptbs/ptbs_hngnm");
- sysf_messageBox(msg + "대상 환자입니다.", "I999", "");
- }
- //자선환자 체크
- if(ds_hidden_rcv_charity.rowcount > 0) {
- if( ds_hidden_rcv_charity.getColumn(0, "charityYN") == 'Y'){
- //var hngnm = ds_main_ptbs.getColumn(0, "ptbs_hngnm");
- var retValue = sysf_messageBox("자선진료비 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
- if( retValue == 6 ){
- var pid = ds_main_ptbs.getColumn(0, "ptbs_pid");
- fOpenCharityPopup(pid);
- }
- }
- }
- //검진환자 체크
- //20100629 smpark 검진 메세지 병원별 적용
- if (ds_init_P0022.getColumn(ds_init_P0022.findRowExpr("cd == '190'"), "nm") == "Y") {
- if( ds_hidden_rcv_mediexam.rowcount > 0 ){
- var orddd = ds_hidden_rcv_mediexam.getColumn(0, "orddd");
- if( utlf_isValidDateTime(orddd, "YYYYMMDD")){
- var interval = utlf_getDateInterval(utlf_getCurrentDate(), orddd);
- var intervalMsg = '';
- if( interval <= 0 ){
- interval = parseInt(interval) * -1
- intervalMsg = interval + "일 전";
- if( interval <= 365 ){
- sysf_messageBox(orddd.substr(0,4) + "년 " + orddd.substr(4,2) + "월 " + orddd.substr(6,2)
- + "일(" + intervalMsg + ") 건강검진을 받은 이력이 있습니다. \n초재진여부를 확인해 주세요.", "I999", "");
- }
- }
- }
- }
- }
- //등록번호가 2개인 환자 합번여부 체크 및 합번 신청
- if( ds_hidden_rcv_bindpid.rowcount > 0 ){
- var pid = ds_main_ptbs.getColumn(0, "ptbs_pid");
- var hngnm = ds_main_ptbs.getColumn(0, "ptbs_hngnm");
- var cnt = ds_hidden_rcv_bindpid.rowcount;
- var pids = ' ';
- for( var i = 0; i < cnt; i++ ){
- if( ds_hidden_rcv_bindpid.getColumn( i , "pid") == 'OLDPID' ){
-
- var sBindPid = ds_hidden_rcv_bindpid.getColumn( i , "newpid");
- var retValue = sysf_messageBox(pid + "(" + hngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 신청되었습니다. 합번 신청한 번호로 재조회 하시겠습니까?", "Q999", "");
- if( retValue == '6' ){
- ds_main_ptbs.setColumn(0, "ptbs_pid", sBindPid);
- ipt_pid.refresh();
- fSearchOutRgstInfo();
- return false;
- }else{
- //화면 초기화!!
- //btn_init.dispatch("DOMActivate");
- btn_init_onclick(null, null);
- return false;
- }
- }
- pids = pids + ds_hidden_rcv_bindpid.getColumn( i , "oldpid") + ' ';
- }
- //var retValue = sysf_messageBox(hngnm + "님의 등록번호가 " + cnt + "개 더 존재합니다.[" + pids + "]\n합번 신청하시겠습니까?", "Q999", "");
- //2015/01/20 이정택 수정
- var bind_instcd = ds_hidden_rcv_pidchk.getColumn(ds_hidden_rcv_pidchk.findRowExpr("instcd != '" + sysf_getUserInfo("dutplceinstcd") + "'"), "instcd");
- var bind_instnm = ds_hidden_rcv_pidchk.getColumn(ds_hidden_rcv_pidchk.findRowExpr("instcd != '" + sysf_getUserInfo("dutplceinstcd") + "'"), "instnm");
- var bind_oldpid = ds_hidden_rcv_pidchk.getColumn(ds_hidden_rcv_pidchk.findRowExpr("instcd != '" + sysf_getUserInfo("dutplceinstcd") + "'"), "oldpid");
- var bind_newpid = ds_hidden_rcv_pidchk.getColumn(ds_hidden_rcv_pidchk.findRowExpr("instcd != '" + sysf_getUserInfo("dutplceinstcd") + "'"), "newpid");
- var bind_stateflag = ds_hidden_rcv_pidchk.getColumn(ds_hidden_rcv_pidchk.findRowExpr("instcd != '" + sysf_getUserInfo("dutplceinstcd") + "'"), "stateflag");
- if(!utlf_isNull(bind_instcd)){
- var retValue = sysf_messageBox(hngnm + "님의 등록번호가 " + cnt + "개 더 존재합니다.[" + pids + "]\n합번 신청하시겠습니까?\n[" +bind_instnm+":"+bind_oldpid+"(구)->"+bind_newpid+"(신)]["+bind_stateflag+"]", "Q999", ""); //"확인", 4|36|256 );
- }else{
- var retValue = sysf_messageBox(hngnm + "님의 등록번호가 " + cnt + "개 더 존재합니다.[" + pids + "]\n합번 신청하시겠습니까?","Q999", ""); // "확인", 4|36|256 );
- }
- //2015/01/20 이정택 수정
- if( retValue == '6' ){
- // for( var i = 1; i <= cnt; i++ ){
- // model.makeNode("/root/send/bindpid[" + i + "]/oldpid");
- // model.makeNode("/root/send/bindpid[" + i + "]/newpid");
- // model.setValue("/root/send/bindpid[" + i + "]/oldpid", model.getValue("/root/hidden/rcv/bindpid[" + i + "]/pid"));
- // model.setValue("/root/send/bindpid[" + i + "]/newpid", model.getValue("/root/main/ptbs/ptbs_pid"));
- // }
- //if( submit("TXPMO00107") ){
- dsf_createDsRow("ds_send_req", [
- {col:"oldpid", type:"STRING", size:256, val: ''}
- , {col:"newpid", type:"STRING", size:256, val: ''}
- ]);
- ds_send_req.copyRow(0, ds_hidden_rcv_bindpid, 0);
- // 실제 내부적으로는 TRPMO00113 를 호출함, 2016-08-08 kimdo3
- var oParam = {};
- oParam.id = "TXPMO00107";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqInsBindPidReqData";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXPMO00107";
- tranf_submit(oParam);
- if( arErrorCode.pop("TXPMO00107") > -1 ){
- //model.removeNodeset("/root/send/bindpid");
- sysf_messageBox("합번 신청 완료!", "I999", "");
- }else{
- if( sysf_messageBox("합번 신청 오류!! 재신청 하시겠습니까?", "Q999", "") == '6'){
- var oParam1 = {};
- oParam1.id = "TXPMO00107";
- oParam1.service = "opatmngtapp.OPatMngt";
- oParam1.method = "reqInsBindPidReqData";
- oParam1.inds = "req=ds_send_req";
- oParam1.outds = "";
- oParam1.async = false;
- oParam1.callback = "cf_TXPMO00107";
- tranf_submit(oParam1);
- if( arErrorCode.pop("TXPMO00107") > -1 ){
- //model.removeNodeset("/root/send/bindpid");
- sysf_messageBox("합번 재신청 완료!", "I999", "");
- }else{
- sysf_messageBox("합번 재신청 오류!! 의료정보과에 문의하세요.", "E999", "");
- }
- }else{
- //model.removeNodeset("/root/send/bindpid");
- }
- }
- }
- }
- //직원정보조회
- if( ds_hidden_rcv_famylist.rowcount > 0 ){
- // Return
- //send dataset
- dsf_createDsRow("ds_send_discpat", [
- {col:"checkcount" , type:"STRING", size:256, val: "1"}
- , {col:"emplno" , type:"STRING", size:256, val: ""}
- , {col:"emplnm" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno1" , type:"STRING", size:256, val: ""}
- , {col:"rrgstno2" , type:"STRING", size:256, val: "" }
- , {col:"pid" , type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_pid")}
- , {col:"orddd" , type:"STRING", size:256, val: ""}
- ]);
- //retrun dataset
- //submit("TRPMC03802");
- var oParam = {};
- oParam.id = "TRPMC03802";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetFamyList";
- oParam.inds = "req=ds_send_discpat";
- oParam.outds = "ds_temp_result_famylist=famylist ds_temp_uncolist=uncolist";
- oParam.async = false;
- tranf_submit(oParam);
- //modal("SPPMC03800", "1","150", "150", "SPPMC03800", "/root/hidden/rcv", "/root/main/result");
- //선택한 직원정보 세팅
- //var emplno = frmf_getParameter("SPPMC03800_emplid");
- //var emplnm = frmf_getParameter("SPPMC03800_emplnm");
- //
- //var discuncocd = frmf_getParameter("SPPMC03800_discuncocd");
- //
- //var famyrelnm = frmf_getParameter("SPPMC03800_famyrelnm");
- //var preststatnm = frmf_getParameter("SPPMC03800_preststatnm");
- //var profacptyn = frmf_getParameter("SPPMC03800_profacptyn");
- //var profacptdd = frmf_getParameter("SPPMC03800_profacptdd");
- //var remark = frmf_getParameter("SPPMC03800_remark");
- //var aftrcptyn = frmf_getParameter("SPPMC03800_aftrcptyn");
- var emplno = ds_temp_result_famylist.getColumn(0, "emplno");
- var emplnm = ds_temp_result_famylist.getColumn(0, "emplname");
- var discuncocd = ds_temp_result_famylist.getColumn(0, "discuncocd");
- var famyrelnm = ds_temp_result_famylist.getColumn(0, "famyrelnm");
- var preststatnm = ds_temp_result_famylist.getColumn(0, "preststatnm");
- var profacptyn = ds_temp_result_famylist.getColumn(0, "profacptyn");
- var profacptdd = ds_temp_result_famylist.getColumn(0, "profacptdd");
- var remark = ds_temp_result_famylist.getColumn(0, "remark");
- var aftrcptyn = ds_temp_result_famylist.getColumn(0, "aftrcptyn");
- frmf_clearParameter("SPPMC03800_emplid");
- frmf_clearParameter("SPPMC03800_emplnm");
- //frmf_clearParameter("SPPMC03800_discuncoflag");
- frmf_clearParameter("SPPMC03800_discuncocd");
- frmf_clearParameter("SPPMC03800_famyrelnm");
- frmf_clearParameter("SPPMC03800_preststatnm");
- frmf_clearParameter("SPPMC03800_profacptyn");
- frmf_clearParameter("SPPMC03800_profacptdd");
- frmf_clearParameter("SPPMC03800_remark");
- frmf_clearParameter("SPPMC03800_aftrcptyn");
- //후수납( 수납VIP )여부 세팅
- //2009-02-06 이동식 추가
- if( aftrcptyn == 'Y' ){
- ds_main_otpt.setColumn(0, "otpt_medamtpostyn", 'V'); //수납 VIP
- ds_main_otpt.setColumn(0, "otpt_rcptvipresncd", '01');
- //rdo_medamtpostyn.dispatch("xforms-select");
- rdo_medamtpostyn_onitemclick(null, null);
- }else{
- ds_main_otpt.setColumn(0, "otpt_medamtpostyn", 'N'); //선불
- ds_main_otpt.setColumn(0, "otpt_rcptvipresncd", '-');
- }
- if( emplno != '' && emplno != ' ' ){
- ds_main_otpt.setColumn(0, "otpt_emplno", emplno);
- ds_main_otpt.setColumn(0, "otpt_emplnm", emplnm);
- }
- if( discuncocd != '' ){
- ds_main_otpt.setColumn(0, "otpt_disccd", discuncocd);
- }else{
- ds_main_otpt.setColumn(0, "otpt_disccd", '-');
- }
- }else{
- ds_main_otpt.setColumn(0, "otpt_disccd", '-');
- // cmb_disccd.refresh();
- // ipt_disccd.refresh();
- }
- //초재진체크
- if( ds_hidden_rcv_fsexamflag.rowcount > 0 ){
- var fsexamflag = ds_hidden_rcv_fsexamflag.getColumn(0, "otpt_fsexamflag");
- ds_main_otpt.setColumn(0, "otpt_fsexamflag", fsexamflag);
- }else{
- sysf_messageBox("초재진여부를 가져오지 못 했습니다. 접수하시기 전에 초재진여부를 정확히 확인 후 접수하시기 바랍니다!!", "E999" , "");
- }
- //접수비중복체크
- //2008-12-03 이동식 수정 - 접수비중복체크
- var duplCnt = ds_hidden_rcv_otpt.rowcount ; ///otpt_pid");
- if( duplCnt > 1 ){
- if( sysf_messageBox("동일일자 동일과 접수비 이중 수납내역이 있습니다. 내역을 확인하시겠습니까?", "Q999", "") == 6 ){
- frmf_setParameter("SMPMO01600_PARM", ds_main_ptbs.getColumn(0, "ptbs_pid"));
- //modal("SPPMO01600", "1","200", "200", "SPPMO01600", "", "");
- frmf_modal("SPPMO01600", "SPPMO01600", "", false, "1", "200", "200", "", "", "", "", "", "M");
- }
- }else{
- }
- //타과의뢰내역 체크
- //2008-01-07 이동식 수정 - 컨설트 의뢰정보가 1건일때 와 2건 이상일때 구분하여 메세지 처리
- var cnstCnt = ds_hidden_rcv_cnstinfo_temp_emrcnst.rowcount; //getNodesetCount("/root/hidden/rcv/cnstinfo/temp/emrcnst/pid");
- if( cnstCnt > 1 ){
- if( sysf_messageBox("컨설트 의뢰정보가 있습니다. 내역을 확인하시겠습니까?", "Q999", "") == 6 ){
- if( fGetEMRCnstInfo() ){
- retValue = true;
- }
- }
- }else if( cnstCnt == 1 ){
- var reqorddeptnm = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "reqdeptnm");
- var reqorddrnm = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "requsernm");
- var recvorddeptnm = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "recvdeptnm");
- var recvorddrnm = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "recvusernm");
- var formrecseq = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "formrecseq");
- if( sysf_messageBox(reqorddeptnm + " " + reqorddrnm + " 교수님께서 " +
- recvorddeptnm + " " + recvorddrnm + " 교수님께 의뢰한 내역이 있습니다. \n지금 접수하시겠습니까?", "Q999", "") == 6 ){
- var orddd = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "hopedd");
- var orddeptcd = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "recvdeptcd");
- var orddrid = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "recvuserid");
- var ordreqformflag = ds_hidden_rcv_cnstinfo_temp_emrcnst.getColumn(0, "ordreqformflag");
- ds_main_otpt.setColumn(0, "otpt_orddeptcd", orddeptcd);
- cmb_orddeptcd_onitemchanged(null, null);
- ds_main_otpt.setColumn(0, "otpt_orddrid", orddrid);
- cmb_orddrid_onitemchanged(null, null);
- ds_main_otpt.setColumn(0, "otpt_orddd", orddd);
- ipt_orddd_ontextchanged(null, null);
- //기초정보 세팅
- ds_main_otpt.setColumn(0, "otpt_ordreqformflag", ordreqformflag); //진료의뢰서 수급절차 - 원진료의 수급절차를 따른다
- ds_main_otpt.setColumn(0, "otpt_etcordflag", "H"); //기타구분 - 의뢰
- ds_main_otpt.setColumn(0, "otpt_rsrvflag", "C"); //예약구분 - 협진
- dsf_makeValue(ds_main_otpt, "otpt_formrecseq", "string", formrecseq);
- //model.refresh();
- }
- }
- //수납VIP미수금 조회
- //2008-12-03 이동식 수정 - 접수비중복체크
- var vipUncoCnt = ds_hidden_rcv_rcptvipunco.rowcount; // /rcptvipuncoyn");
- if( vipUncoCnt > 0 ){
- VIPUNCOYN = ds_hidden_rcv_rcptvipunco.getColumn(0, "rcptvipuncoyn");
- if( VIPUNCOYN == 'Y' ){
- var vipuncoamt = ds_hidden_rcv_rcptvipunco.getColumn(0, "rcptvipuncoamt");
- sysf_messageBox("미수금이 존재합니다. [수납VIP/처방당일선검사 미수금 : " + vipuncoamt + " 원]", "I999", "");
- }
- }else{
- VIPUNCOYN = 'N';
- }
- if( retValue ){
- checkAutoMultiRgst = false;
- }
- /*
- }else{
- sysf_messageBox("전산장애로 환자 기본 정보를 확인할 수 없습니다. 전산실에 문의하거나 잠시 후 다시 시도하세요.", "E999", "");
- //return false;
- }
- */
- //model.removeNodeset("/root/send/totalcheckinfo");
- ds_hidden_rcv_erpat.clear();
- ds_hidden_rcv_handcappatlist.clear();
- ds_hidden_rcv_trans.clear();
- ds_hidden_rcv_homecare.clear();
- ds_hidden_rcv_charity.clear();
- ds_hidden_rcv_mediexam.clear();
- ds_hidden_rcv_bindpid.clear();
- ds_hidden_rcv_pidchk.clear();
- ds_hidden_rcv_famylist.clear();
- ds_hidden_rcv_fsexamflag.clear();
- ds_hidden_rcv_otpt.clear(); ////ds_hidden_rcv_otpthist.clear(); --> ds_hidden_rcv_otpt
- ds_hidden_rcv_cnstinfo_temp_emrcnst.clear();
- ds_hidden_rcv_rcptvipunco.clear();
- return true;
- }
- function cf_TXPMO00107(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //자선진료비 대상 환자 조회
- function fCheckCharityYN(pid){
- dsf_createDs("ds_send_charity_rcv_charity", [
- {col:"charityYN", type:"STRING", size:256}
- ]);
- dsf_createDsRow("ds_send_charity", [
- {col:"pid", type:"STRING", size:256, val: pid}
- ]);
- //if(submit("TRPMO00121")) {
- var oParam = {};
- oParam.id = "TRPMO00121";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetCharityYN";
- oParam.inds = "req=ds_send_charity";
- oParam.outds = "ds_send_charity_rcv_charity=charity";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00121";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRPMO00121") > -1){
- //자선환자체크
- if( ds_send_charity_rcv_charity.getColumn(0, "charityyn") == 'Y'){
- var retValue = sysf_messageBox("자선진료비 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
- if( retValue == 6 ){
- fOpenCharityPopup(pid);
- }
- }
- }
- ds_send_charity_rcv_charity.clear();
- ds_send_charity.clear();
- return;
- }
- function cf_TRPMO00121(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //자선진료비 대상 환자 조회 입원수납용
- function fCheckCharityYN_i(pid,pre_loading_yn){
- if(pre_loading_yn == "Y" ){
- //만약 입원수납등 기화면에서 자선정보 미리 조회해오므로 submit 통과
- }
- if(ds_send_charity_rcv_charity.rowcount >0){
- //자선환자 체크
- if( ds_send_charity_rcv_charity.getColumn(0, "charityYN") == 'Y'){
- var retValue = sysf_messageBox("자선진료비 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
- if( retValue == 6 ){
- fOpenCharityPopup(pid);
- }
- }
- }
- ds_send_charity_rcv_charity.clear();
- ds_send_charity.clear();
- return;
- }
- //자선진료비 조회 팝업 호출
- function fOpenCharityPopup(pid){
- //등록번호 파라미터 세팅
- frmf_setParameter("pid", pid);
- //팝업호출
- ///root/main/inpt_info/inptpatinfo/inpt_pid
- //modal("SPAWM03100", "1","200", "200", "SPAWM03100","","");
- frmf_modal("SPAWM03100", "SPAWM03100", "", false, "1", "200", "200", "", "", "", "", "", "M");
- //파라미터 삭제
- frmf_clearParameter("pid");
- }
- //후원금 환자 여부체크
- function fSuppManageYN(pid) {
- // return dataset
- dsf_createDs("ds_send_suppmanage_rcv_sup", [
- {col:"suppyn", type:"STRING", size:256}
- ]);
- // send dataset
- dsf_createDsRow("ds_send_suppmanage", [
- {col:"pid", type:"STRING", size:256, val: pid }
- ]);
- //if(submit("TRPAI00132")) {
- var oParam = {};
- oParam.id = "TRPAI00132";
- oParam.service = "inordamtmngtapp.InRcpt";
- oParam.method = "reqGetSuppManageYN";
- oParam.inds = "req=ds_send_suppmanage";
- oParam.outds = "ds_send_suppmanage_rcv_sup=supp";
- oParam.async = false;
- oParam.callback = "cf_TRPAI00132";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRPAI00132") > -1){
- //자선환자 체크
- if( ds_send_suppmanage_rcv_sup.getColumn(0, "suppyn") == 'Y'){
- var retValue = sysf_messageBox("관공서(구/군/시청),긴급지원 및 보건소 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
- if( retValue == 6 ){
- fOpenSuppManagePopup(pid);
- }
- }
- }
- ds_send_suppmanage.clear();
- ds_send_suppmanage_rcv_sup.clear();
- return;
- }
- function cf_TRPAI00132(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //후원금 환자 여부체크 입원수납용
- function fSuppManageYN_i(pid,pre_loading_yn) {
- if(pre_loading_yn == "Y" ){
- //입원수납은 자선정보 미리 조회해오므로 submit 통과
- }
- if(ds_send_suppmanage_rcv_sup.rowcount >0){
- //자선환자 체크
- if( ds_send_suppmanage_rcv_sup.getColumn(0, "suppyn") == 'Y'){
- var retValue = sysf_messageBox("관공서(구/군/시청),긴급지원 및 보건소 지원 대상 환자입니다. 내역을 확인하시겠습니까?", "Q999", "");
- if( retValue == 6 ){
- fOpenSuppManagePopup(pid);
- }
- }
- }
- ds_send_suppmanage.clear();
- ds_send_suppmanage_rcv_sup.clear();
- return;
- }
- function fOpenSuppManagePopup(pid){
- //등록번호 파라미터 세팅
- frmf_setParameter("pid", pid);
- //팝업호출
- //modal("SMPMC07100", "1","200", "200", "SMPMC07100", "/root/main/inpt_info/inptpatinfo/inpt_pid", "/root/main/patinfo/patinfolist/pid");
- var objArg = new Object();
- objArg.arg_ds_main_patinfo_patinfolist = ds_main_inpt_info_inptpatinfo;
- frmf_modal("SMPMC07100", "SMPMC07100", "", false, 1, 200, 200, "", "", "", "", "", "M");
- //파라미터 삭제
- frmf_clearParameter("pid");
- }
- //등록번호가 2개인 환자 합번여부 체크 및 합번 신청
- function fCheckBindPID(){
- //receive
- dsf_createDs("ds_hidden_rcv_bindpid", [
- {col:"pid", type:"STRING", size:256}
- , {col:"oldpid", type:"STRING", size:256}
- , {col:"newpid", type:"STRING", size:256}
- , {col:"rrgstno1", type:"STRING", size:256}
- , {col:"rrgstno2", type:"STRING", size:256}
- , {col:"hngnm", type:"STRING", size:256}
- ]);
- //send
- ds_send_bindpid.clear();
- dsf_createDsRow("ds_send_bindpid", [
- {col:"pid", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_pid")}
- , {col:"rrgstno1", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_rrgstno1")}
- , {col:"rrgstno2", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_rrgstno2")}
- , {col:"hngnm", type:"STRING", size:256, val: ds_main_ptbs.getColumn(0, "ptbs_hngnm")}
- , {col:"flag", type:"STRING", size:256, val: "" }
- ]);
- // if(submit("TRPMO00119")) {
- var oParam = {};
- oParam.id = "TRPMO00119";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetBindPidCheckInfo";
- oParam.inds = "req=ds_send_bindpid";
- oParam.outds = "ds_hidden_rcv_bindpid=bindpid";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00119";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO00119") > -1 ){
- //등록번호가 2개인 환자 합번여부 체크 및 합번 신청
- if( ds_hidden_rcv_bindpid.rowcount > 0 ){
- var hngnm = ds_main_ptbs.getColumn(0, "ptbs_hngnm");
- var cnt = ds_hidden_rcv_bindpid.rowcount;
- var pids = ' ';
- for( var i = 0; i < cnt; i++ ){
- pids = pids + ds_hidden_rcv_bindpid.getColumn( i , "oldpid") + ' ';
- }
- var retValue = sysf_messageBox(hngnm + "님의 등록번호가 " + cnt + "개 더 존재합니다.[" + pids + "]\n합번 신청하시겠습니까?", "Q999", "");
- //var retValue = alert(hngnm + "님의 등록번호가 " + cnt + "개 더 존재합니다.[" + pids + "]\n합번 신청하시겠습니까?", "확인", "");
- if( retValue == '6' ){
- // for( var i = 1; i <= cnt; i++ ){
- // model.makeNode("/root/send/bindpid[" + i + "]/oldpid");
- // model.makeNode("/root/send/bindpid[" + i + "]/newpid");
- // model.setValue("/root/send/bindpid[" + i + "]/oldpid", model.getValue("/root/hidden/rcv/bindpid[" + i + "]/pid"));
- // model.setValue("/root/send/bindpid[" + i + "]/newpid", model.getValue("/root/main/ptbs/ptbs_pid"));
- // }
- var oParam = {};
- oParam.id = "TXPMO00107";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqInsBindPidReqData";
- oParam.inds = "req=ds_hidden_rcv_bindpid";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXPMO00107";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXPMO00107") > -1 ){
- //model.removeNodeset("/root/send/bindpid");
- sysf_messageBox("합번 신청 완료!", "I999", "");
-
- }else{
-
- if( sysf_messageBox("합번 신청 오류!! 재신청 하시겠습니까?", "Q999", "") == '6'){
-
- var oParam = {};
- oParam.id = "TXPMO00107";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqInsBindPidReqData";
- oParam.inds = "req=ds_hidden_rcv_bindpid";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXPMO00107";
-
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXPMO00107") > -1 ){
- //model.removeNodeset("/root/send/bindpid");
- sysf_messageBox("합번 재신청 완료!", "I999", "");
- }else{
- sysf_messageBox("합번 재신청 오류!! 정보지원팀에 문의하세요.", "E999", "");
- }
- }else{
- //model.removeNodeset("/root/send/bindpid");
- }
- }
- }
- }
- }
- ds_send_bindpid.clear();
- ds_hidden_rcv_bindpid.clear();
- }
- function cf_TRPMO00119(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXPMO00107(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 수정이력 20100216 JHP fromdd, mskind 추가 하여 mskind가 "S"이면 orddd를 fromdd로 바꿈.(20100216 현재 fromdd, mskind는 입원등록 화면에서만 보내게 수정됨)
- function checkJaboSanjae(pid, orddd, orddeptcd, insukind, suppkind, insucd, ioflag, fromdd, mskind){
- dsf_createDsRow("ds_send_checkjabosasae", [
- {col:"pid", type:"STRING", size:256, val:pid }
- , {col:"orddd", type:"STRING", size:256, val: ""}
- , {col:"orddeptcd", type:"STRING", size:256, val:orddeptcd }
- , {col:"insukind", type:"STRING", size:256, val: insukind}
- , {col:"suppkind", type:"STRING", size:256, val:suppkind }
- , {col:"insucd", type:"STRING", size:256, val:insucd }
- , {col:"ioflag", type:"STRING", size:256, val: ioflag}
- ]);
- if(mskind != null){
- if(mskind == "S"){
- if(fromdd != null){
- ds_send_checkjabosasae.setColumn(0, "orddd", fromdd);
- }else{
- ds_send_checkjabosasae.setColumn(0, "orddd", orddd);
- }
- }else{
- ds_send_checkjabosasae.setColumn(0, "orddd", orddd);
- }
- }else{
- //2017/05/19 자보산재 자격 체크 오류 수정(이정택)
- //ds_send_checkjabosasae.setColumn(0, "rddd", orddd);
- ds_send_checkjabosasae.setColumn(0, "orddd", orddd);
- //2017/05/19 자보산재 자격 체크 오류 수정(이정택)
- }
- if( suppkind != '01' ){ //전액본인부담일경우 자보체크하지 않는다.
- //if(submit("TRPMO00120")) {
- var oParam = {};
- oParam.id = "TRPMO00120";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqCheckJaboSanjaeInfo";
- oParam.inds = "req=ds_send_checkjabosasae";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00120";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMO00120") > -1 ){
- ds_send_checkjabosasae.clear();
- return true;
- }else{
- ds_send_checkjabosasae.clear();
- return false;
- }
- }else{
- return true;
- }
- }
- function cf_TRPMO00120(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function callLoadingWindow(msg){
- // frmf_openLoadingBar()로 변경(2016.08.08)
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시
- //body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:435px; top:339px; width:330px; height:120px;");
- // var ivrObjt = this.components["ivr_progress"];
- //
- // if(utlf_isNull(ivrObjt)){
- // var divId = "ivr_progress";
- // objDiv = new Div(divId);
- //
- // this.addChild(divId, objDiv);
- //
- // objDiv.asyncmode = false;
- // objDiv.url = "com_commonxp::SPZZZ00400_로딩중화면.xfdl";
- // objDiv.show();
- // ivrObjt = this.components["ivr_progress"];
- // ivrObjt.lf_init();
- // }
- // else {
- // ivrObjt.visible = true;
- // ivrObjt.lf_init();
- // }
- //
- // // 신용카드승인 팝업의 초기화 함수 호출
- // ivrObjt.lf_init();
- // frmf_setParameter("msg", msg);
- // frmf_open("SPZZZ00400", "SPZZZ00400", "", "", "", "435", "339", "330", "120", "", "", "P");
- //
- // var popupObjt = frmf_findPopup("SPZZZ00400");
- // if( popupObjt != null) {
- // popupObjt.lf_init();
- // }
- // var ivrObjt = document.all("ivr_progress");
- // if( msg == '' || msg == '-' ){
- // msg = "외래환자 데이터 조회 중입니다...";
- // }
- // ivrObjt.model.setValue("/root/main/msg", msg);
- //model.refresh();
- }
- function removeLoadingWindow(){
- //frmf_closeLoadingBar()로 변경 로 변경(2016.08.08)
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시 지우기
- //body.removeChild("ivr_progress");
- // var popupObj = frmf_findPopup("SPZZZ00400");
- // if(popupObj != null)
- // popupObjt.lf_close();
- //
- // var ivrObjt = this.component["ivr_progress"];
- //
- // if(!utlf_isNull(ivrObjt)){
- // ivrObjt.lf_close();
- // }
- // ivrObjt.visible = false;
- }
- /**
- * @desc : 6세미만 체크
- * <pre>
- * input : pRrgstno 주민번호(7711061540816)
- *
- * </pre>
- * @param : pRrgstno
- * @return : true/false , 6세미만(true)
- * @---------------------------------------------------
- */
- function fRoomSexGubunCheck(pRrgstno)
- {
- // 주민번호가 없을 때는 6세 이상으로 판단(?)
- if (typeof(pRrgstno) == "undefined" || pRrgstno == "" || pRrgstno == null) {
- return false;
- }
- var fullDay = ""; // YYYYMMDD
- var gender = pRrgstno.substr(6,1);
- var rrgstno1 = pRrgstno.substr(0,6);
- switch(gender) {
- case '1' :
- case '2' :
- case '5' :
- case '6' :
- fullDay = '19'.concat(rrgstno1);
- break;
- case '3' :
- case '4' :
- case '7' :
- case '8' :
- fullDay = '20'.concat(rrgstno1);
- break;
- case '9' :
- case '0' :
- fullDay = '18'.concat(rrgstno1);
- break;
- default :
- fullDay = '19'.concat(rrgstno1);
- break;
- }
- // fullDay - YYYYMMDD
- // 13자리( 주민번호1 + 주민번호2)를 파라미터로 주면 주민번호 유효성 검사로 유효하지 않으면 -1을 리턴
- var chkAge = utlf_getFullAge(fullDay, "", "M");
- if (chkAge >= 0 && chkAge < 6) { // 6세 미만
- return true;
- } else { // 6세 이상
- return false;
- }
- }
- /**
- * @desc : 자보/산재 등록내역 체크
- * @param : pPid - 환자번호
- * pCheckDD - 조회일자 (외래 - orddd, 입원 - indd)
- * @return : null
- * @---------------------------------------------------
- */
- function fCheckAutoInduInsu(pPid, pCheckDD)
- {
- var sNewLine = "\n";
- if (utlf_isNull(pPid)) {
- sysf_messageBox("환자등록번호가", "I004");
- return;
- }
- dsf_createDs("ds_hidden_rcv_autoinduinsulist_autoinduinsu", [
- {col:"pid", type:"STRING", size:256}
- , {col:"insukind", type:"STRING", size:256}
- , {col:"ordtype", type:"STRING", size:256}
- , {col:"fromdd", type:"STRING", size:256}
- , {col:"todd", type:"STRING", size:256}
- , {col:"suppkind", type:"STRING", size:256}
- , {col:"orddeptcd", type:"STRING", size:256}
- , {col:"insucmpycd", type:"STRING", size:256}
- , {col:"insucdnm", type:"STRING", size:256}
- ]);
- dsf_createDsRow("ds_send_checkautoinduinsu", [
- {col:"pid", type:"STRING", size:256, val: pPid}
- , {col:"checkdd", type:"STRING", size:256, val: pCheckDD}
- ]);
- //submit("TRPMC02600");
- var oParam = {};
- oParam.id = "TRPMC02600";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetCheckAutoInduInsu";
- oParam.inds = "req=ds_send_checkautoinduinsu";
- oParam.outds = "ds_hidden_rcv_autoinduinsulist_autoinduinsu=aipmicpm";
- oParam.async = false;
- tranf_submit(oParam);
- var iCount = ds_hidden_rcv_autoinduinsulist_autoinduinsu.rowcount;
- if (iCount > 0) {
- var sMessage = "자보/산재/공상 등록정보" + sNewLine + sNewLine;
- var sInsuNm = "";
- for (var idx = 0 ; idx < iCount ; idx++) {
- var sInsuKind = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "insukind"));
- var sOrdType = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "ordtype"));
- var sFromdd = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "fromdd"));
- var sTodd = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "todd"));
- var sSuppKind = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "suppkind"));
- var sOrdDeptCD = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "orddeptcd"));
- var sInsucdnm = utlf_transNullToEmpty(ds_hidden_rcv_autoinduinsulist_autoinduinsu.getColumn( idx , "insucdnm"));
- if (sInsuKind == "31") {
- // 20110711 자보의 경우, 종료되었으면 팝업표시하지 않음
- if (sTodd >= utlf_getCurrentDate()) {
- sInsuNm = "자보";
- sMessage += "[" + sInsuNm + "] 승인기간[" + sFromdd + "~" + sTodd +"] - " + sInsucdnm;
- sMessage += sNewLine;
- }
- }
- if (sInsuKind == "41") {
- sInsuNm = "산재";
- sMessage += "[" + sInsuNm + "/" + sSuppKind + "]" + " [" + sOrdDeptCD + "] 승인기간[" + sFromdd + "~" + sTodd +"]" + " [" + sOrdType + "]";
- sMessage += sNewLine;
- }
- if (sInsuKind == "42") {
- sInsuNm = "공상";
- sMessage += "[" + sInsuNm + "/" + sSuppKind + "]" + " [" + sOrdDeptCD + "] 승인기간[" + sFromdd + "~" + sTodd +"]" + " [" + sOrdType + "]";
- sMessage += sNewLine;
- }
- }
- sysf_messageBox(sMessage, "I");
- // 자보의 경우 사고접수정보가 복수건 존재할 수 있으므로 수납자에게 알림처리 by 조중래 20130704
- if (sInsuKind == "31" && iCount > 1) {
- sysf_messageBox("자보 사고접수정보가 복수건 존재합니다. \r\n\r\n자보담당자 확인 후 유효한 접수정보로 진행하십시오", "I000");
- }
- ds_hidden_rcv_autoinduinsulist_autoinduinsu.clear();
- ds_send_checkautoinduinsu.clear();
- }
- }
- /**
- * @desc : 센터 선적용 여부 체크 함수
- * @param :
- * @return : centeryn
- * @---------------------------------------------------
- */
- function fCheckCenterYN()
- {
- dsf_createDsRow("ds_hidden_pamcomcd_send", [
- {col:"cdgrupid", type:"STRING", size:256, val: 'P0022'}
- , {col:"cdid", type:"STRING", size:256, val: '30'}
- ]);
- //submit("TRPMO00123");
- var oParam = {};
- oParam.id = "TRPMO00123";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetCenterYN";
- oParam.inds = "req=ds_hidden_pamcomcd_send";
- oParam.outds = "ds_hidden_pamcomcd_rcv_pamcd=pamcd";
- oParam.async = false;
- tranf_submit(oParam);
- var iCount = ds_hidden_pamcomcd_rcv_pamcd.rowcount;
- if (iCount > 0) {
- var centeryn = ds_hidden_pamcomcd_rcv_pamcd.getColumn(0, "cdnm");
- ds_hidden_pamcomcd_rcv_pamcd.clear();
- ds_hidden_pamcomcd_send.clear();
- return centeryn;
- }else{
- ds_hidden_pamcomcd_rcv_pamcd.clear();
- ds_hidden_pamcomcd_send.clear();
- return 'N';
- }
- }
- /**
- * @desc : 수납VIP 적용 여부 체크 함수
- * @param :
- * @return : rcptvipyn
- * @---------------------------------------------------
- */
- function fCheckRcptVIPYN()
- {
- dsf_createDs("ds_hidden_pamcomcd_rcv_pamcd", [
- {col:"cdid", type:"STRING", size:256}
- , {col:"cdnm", type:"STRING", size:256}
- ]);
- dsf_createDsRow("ds_hidden_pamcomcd_send", [
- {col:"cdgrupid", type:"STRING", size:256, val: 'P0022'}
- , {col:"cdid", type:"STRING", size:256, val: '40'}
- ]);
- //submit("TRPMO00123");
- var oParam = {};
- oParam.id = "TRPMO00123";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetCenterYN";
- oParam.inds = "req=ds_hidden_pamcomcd_send";
- oParam.outds = "ds_hidden_pamcomcd_rcv_pamcd=pamcd";
- oParam.async = false;
- tranf_submit(oParam);
- var iCount = ds_hidden_pamcomcd_rcv_pamcd.rowcount;
- if (iCount > 0) {
- var centeryn = ds_hidden_pamcomcd_rcv_pamcd.getColumn(0, "cdnm");
- ds_hidden_pamcomcd_rcv_pamcd.clear();
- ds_hidden_pamcomcd_send.clear();
- return centeryn;
- }else{
- ds_hidden_pamcomcd_rcv_pamcd.clear();
- ds_hidden_pamcomcd_send.clear();
- return 'N';
- }
- }
- /**
- * @desc : 성모병원에서 전환된 환자 메세지 처리
- * @param :
- * @return : centeryn
- * @---------------------------------------------------
- */
- function fCheckMigPatMsg(pidflag)
- {
- if( pidflag == '90' || pidflag == '91'){
- sysf_messageBox("성모병원에서 전환된 환자입니다.", "I999", "");
- return true;
- }else{
- return false;
- }
- }
- /**
- * @desc : BMT환자 초진료 재진료로 변경 메세지
- * @param :
- * @return : centeryn
- * @---------------------------------------------------
- */
- function fCheckBMTPatMsg(pidflag, centcd, orddeptcd, fsexamflag)
- {
- //BMT센터, 초진(병초, 과초), 성모BMT전환환자 번호일때 초진료->재진료 변경 메세지
- if( pidflag == '90' && centcd == '2361303000' && (fsexamflag == 'F' || fsexamflag == 'D')){
- sysf_messageBox("성모병원 BMT환자 입니다. 재진진찰료를 제외한 금액을 임의감액 하십시오.", "I999", "");
- return true;
- }else{
- return false;
- }
- }
- /**
- * @desc : 선후불 변경
- * @param :
- * @return : true/false
- * @---------------------------------------------------
- */
- function fSetMedAmtPostYN(pid, orddd, cretno)
- {
- frmf_setParameter("SPPMO01700_pid", pid);
- frmf_setParameter("SPPMO01700_orddd", orddd);
- frmf_setParameter("SPPMO01700_cretno", cretno);
- frmf_modal("SPPMO01700", "SPPMO01700", '', '', '', '', '', "", "", "", "", "", "M");
- //modal("SPPMO01700", "1", "", "", "SPPMO01700", "", "");
- frmf_clearParameter("SPPMO01700_pid");
- frmf_clearParameter("SPPMO01700_orddd");
- frmf_clearParameter("SPPMO01700_cretno");
- var retValue = frmf_getParameter("SPPMO01700_RTN");
- if( retValue == 'Y' ){
- return true;
- }else{
- return false;
- }
- }
- /**
- * @desc : capa수 제한 함수
- * @param :
- * @return : centeryn
- * @---------------------------------------------------
- */
- function fCapaCheck()
- {
- dsf_createDs("ds_init_capachecklist", [
- {col:"cdnm", type:"STRING", size:256}
- , {col:"cdid", type:"STRING", size:256}
- ]);
- //submit("TRPMB00716");
- var oParam = {};
- oParam.id = "TRPMB00716";
- oParam.service = "pambaseinfomngtapp.OrdSche";
- oParam.method = "reqGetCapaCheckYN";
- oParam.inds = "";
- oParam.outds = "ds_init_capachecklist=capachecklist";
- oParam.async = false;
- tranf_submit(oParam);
- // ds_init_capachecklist 호출되는 것이 없어서 임으의 테이블 이름으로 선언해 놓음.
- // 2016.08.08 kimdo3
- }
- /**
- * @desc : 전화예약 초재진 예약일자 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function FsexamFalg()
- {
- // SMPMO00200_전화예약에서 사용되며, 관련 데이타 SET에서 유사한 이름 확인.
- dsf_createDs("ds_init_fsexamdd", [
- {col:"cdnm", type:"STRING", size:256}
- , {col:"cdid", type:"STRING", size:256}
- ]);
- //submit("TRPMO00209");
- var oParam = {};
- oParam.id = "TRPMO00209";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetFsexamRsrvdd";
- oParam.inds = "";
- oParam.outds = "ds_init_fsexamdd=fsexamddlist";
- oParam.async = false;
- tranf_submit(oParam);
- }
- /**
- * @desc : 기관별 은행 및 은행계좌 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBankSearch()
- {
- dsf_createDs("ds_init_bankinfo", [
- {col:"cdid", type:"STRING", size:256}
- , {col:"cdnm", type:"STRING", size:256}
- ]);
- //submit("TRPIF30309");
- var oParam = {};
- oParam.id = "TRPIF30309";
- oParam.service = "clamuncoapp.ClamUnco";
- oParam.method = "reqGetBankInfoSrch";
- oParam.inds = "";
- oParam.outds = "ds_init_bankinfo=bankinfolist";
- oParam.async = false;
- //oParam.callback = "cf_TRPIF30309";
- tranf_submit(oParam);
- }
- /**
- * @desc : 의료급여자동차감승인
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fApproveHeallifeAmt(){
- // 자격 조회 호출
- var objDiv = this.objects["ivr_insupopup"];
- if (objDiv == null) {
- objDiv = new Div("ivr_insupopup", 0, 0, 0, 0);
- objDiv.url = sysf_getScreenURL("SPPMC03900");
- this.addChild("ivr_insupopup", objDiv);
- objDiv.show();
- }
-
- objDiv.fGetInitCode();
- frmf_setParameter("SPPMC03900_POPUPTYPE", "I");
-
- // 데이터 초기화 및 자격조회
- if (objDiv.fInit() != true) {
- sysf_messageBox("[보험 자격조회 오류]건유비청구가 정상적으로 되지 않았습니다. 건유비청구 팝업에서 직접 차감해주세요.", "I999");
- objDiv.fClose();
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- this.removeChild("ivr_insupopup");
- frmf_setParameter("SPPMC03900_heallifeamtval", "");
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- return false;
- }
-
- if (objDiv.fSetHeallifeamtclamamt() != true) {
- sysf_messageBox("[건유비 금액 입력 오류]건유비청구가 정상적으로 되지 않았습니다. 건유비청구 팝업에서 직접 차감해주세요.", "I999");
- objDiv.fClose();
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- this.removeChild("ivr_insupopup");
- frmf_setParameter("SPPMC03900_heallifeamtval", "");
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- return false;
- }
-
- if (objDiv.fReqApproval() != true) {
- sysf_messageBox("[건유비 청구 승인 오류]건유비청구가 정상적으로 되지 않았습니다. 건유비청구 팝업에서 직접 차감해주세요.", "I999");
- objDiv.fClose();
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- this.removeChild("ivr_insupopup");
- frmf_setParameter("SPPMC03900_heallifeamtval", "");
- //2018/08/27 이정택 추가(오류후 리턴시 object종료처리)
- return false;
- }
-
- objDiv.fClose();
-
- this.removeChild("ivr_insupopup");
- }
- /**
- * @desc : 산전지원비자동승인
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fApprovePreDmndAmt(){
- //보험증번호 조회(보험자격조회)
- var starttime = utlf_getCurrentTime();
- // var ivrObjt = document.all("ivr_insupopup");
- // if( ivrObjt == null ){
- // body.createChild("xforms:iviewer", "id:ivr_insupopup; src:../../../pam/pamcomnweb/xrw/SPPMC03900_의료급여자격조회승인.xrw");
- // ivrObjt = document.all("ivr_insupopup");
- // //공통코드 초기화
- // ivrObjt.fGetInitCode();
- // }
- frmf_open("SPPMC03900", "SPPMC03900", "", "", "", "", "", "", "", "", "", "", "P");
- var ivrObjt = frmf_findPopup("SPPMC03900");
- ivrObjt.fGetInitCode();
- //팝업타입 - 아이뷰어로 세팅 메세지 처리시 필요
- frmf_setParameter("SPPMC03900_POPUPTYPE", "I"); //iviewer
- //데이터 초기화 및 자격조회
- if( ivrObjt.fInit() != true ){
- sysf_messageBox("[보험 자격조회 오류]산전지원비승인이 정상적으로 되지 않았습니다. 산전지원승인 팝업에서 직접 차감해주세요.","I999");
- ivrObjt.fClose();
- return false;
- }
- if( ivrObjt.fSetPregDmndAmt() != true ){
- sysf_messageBox("[건유비 금액 입력 오류]산전지원비승인이 정상적으로 되지 않았습니다. 산전지원승인 팝업에서 직접 차감해주세요.","I999");
- ivrObjt.fClose();
- return false;
- }
- if( ivrObjt.fReqApproval() != true ){
- sysf_messageBox("[건유비 청구 승인 오류]산전지원비승인이 정상적으로 되지 않았습니다. 산전지원승인 팝업에서 직접 차감해주세요.","I999");
- ivrObjt.fClose();
- return false;
- }
- ivrObjt.fClose();
- var finishtime = utlf_getCurrentTime();
- // body.removeChild("ivr_insupopup");
- }
- /**
- * @desc : 사망환자 알림메세지
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCheckDethYN(dethyn, dethdt){
- if(dethyn == "Y"){
- if(dethdt.length >= 8){
- sysf_messageBox(dethdt.substr(0, 4) + "년 " +
- dethdt.substr(4, 2) + "월 " +
- dethdt.substr(6, 2) + "일 " +
- dethdt.substr(8, 2) + "시 " + " 사망하신 분입니다.", "I999");
- }
- if(dethdt.length < 8){
- sysf_messageBox("사망하신 분입니다.", "I999");
- }
- }
- }
- /**
- * @desc : 자동미수 - 계약처 독립유공자 미수
- * @param : path = '/root/main/opmi/opmi_', inputBoxName = 미수금입력 inputbox 컨트롤 명, inputBoxEvent = 미수금이 입력됐을 때 발생하는 이벤트 타입
- * @return :
- * @---------------------------------------------------
- */
- function fCheckAutoUnco(path, uncocd, inputBoxName, inputBoxEvent){
- if( uncocd == '' || uncocd == '-' ){
- return false;
- }
- if( path == '' || path == '-' ){
- return false;
- }
- if( inputBoxName == '' || inputBoxName == '-' ){
- return false;
- }
- if( inputBoxEvent == '' || inputBoxEvent == '-' ){
- return false;
- }
- //미수코드 체크
- dsf_createDsRow("ds_hidden_pamcomcd_send", [
- {col:"cdgrupid", type:"STRING", size:256, val: 'P0071' }
- , {col:"cdid", type:"STRING", size:256, val: uncocd }
- ]);
- //submit("TRPMO00123");
- var oParam = {};
- oParam.id = "TRPMO00123";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetCenterYN";
- oParam.inds = "req=ds_hidden_pamcomcd_send";
- oParam.outds = "ds_hidden_pamcomcd_rcv_pamcd=pamcd";
- oParam.async = false;
- tranf_submit(oParam);
- var iCount = ds_hidden_pamcomcd_rcv_pamcd.rowcount;
- if(iCount > 0){
- var payownbamt = path.getColumn(0, "opmi_payownbamt100" );
- payownbamt = parseInt(payownbamt) / 10;
- payownbamt = parseInt(payownbamt) * 10;
- path.setColumn(0, "opmi_uncoamt", payownbamt);
- var iptObjt = inputBoxName;
- if(iptObjt == null){
- sysf_messageBox("미수금입력 컨트롤 명이 잘못 전달 되었습니다. 정보지원팀에 문의하세요!", "E999", "");
- return false;
- }
- //iptObjt.refresh();
- //iptObjt.dispatch(inputBoxEvent);
- eval(iptObjt).setFocus();
- frmf_inputEnterKey(iptObjt, inputBoxEvent, new KillFocusEventInfo);
- return true;
- }else{
- path.setColumn(0, "opmi_uncoamt", "0");
- var iptObjt = inputBoxName;
- if(iptObjt == null){
- sysf_messageBox("미수금입력 컨트롤 명이 잘못 전달 되었습니다. 정보지원팀에 문의하세요!", "E999", "");
- return false;
- }
- //iptObjt.refresh();
- //iptObjt.dispatch(inputBoxEvent);
- eval(iptObjt).setFocus();
- //frmf_inputEnterKey(iptObjt, inputBoxEvent, new KillFocusEventInfo);
- return false;
- }
- }
- /**
- * @desc : 글로별 변수로 선언된 환자번호 가져오기
- * @param : inputbox 컨트롤 명, inputBoxEvent = 환자번호(inputbox)에서 발생하는 이벤트 타입
- * @return :
- * @---------------------------------------------------
- */
- function fkeyCode_pid(inputBoxName,inputBoxEvent, event ) {
- if( inputBoxName == '' || inputBoxName == '-' ){
- return;
- }
- if( inputBoxEvent == '' || inputBoxEvent == '-' ){
- return;
- }
- var iptObjt = eval(inputBoxName);
- iptObjt.value = sysf_getGlobalVariable("g_pid","p");
- frmf_inputEnterKey(inputBoxName, inputBoxEvent, new KeyEventInfo);
- return;
- }
- /**
- * @desc : 응급등록시 입원결정이나 입원예약이 있으면 메세지로 알려준다
- * @param : pid - 환자번호
- * inrsrvstat - 예약구분 T:예약 S:결정
- * indirecdd - 입원지시일자
- * @return : null
- * @---------------------------------------------------
- */
- function fGetErAdrv(){
- dsf_createDs("ds_source_adrvmessage", [
- {col:"pid", type:"STRING", size:256}
- , {col:"inrsrvstat", type:"STRING", size:256}
- , {col:"indirecdd", type:"STRING", size:256}
- ]);
- dsf_createDs("ds_send_data40", [
- {col:"pid", type:"STRING", size:256}
- ]);
- ds_send_data40.addRow();
- ds_send_data40.setColumn(0, "pid" , ds_main_ptbs.getColumn(0, "ptbs_pid"));
- var oParam = {};
- oParam.id = "TRPMI06020";
- oParam.service = "ipatmngtapp.ErRgst";
- oParam.method = "reqGetErAdrv";
- oParam.inds = "req=ds_send_data40";
- oParam.outds = "ds_source_adrvmessage=adrvmessage";
- oParam.async = false;
-
- tranf_submit(oParam);
- var pid = ds_source_adrvmessage.getColumn(0, "pid");
- var inrsrvstat = ds_source_adrvmessage.getColumn(0, "inrsrvstat");
- var indirecdd = ds_source_adrvmessage.getColumn(0, "indirecdd");
- var flag = "";
- if(inrsrvstat == "S"){
- flag = "입원결정";
- }else if(inrsrvstat == "T"){
- flag = "입원예약";
- }
- if(pid == "" || pid == null){
- return;
- }else{
- return sysf_messageBox(flag + "된 환자입니다. 확인하십시요.", "I000");
- }
- }
- /**
- * @desc : 미수담당자가 미수안내여부를 Y로 했을 경우에 안내메세지를 보여준다
- */
- function fGetPtunyn(){
- var ptunyn = ds_main_ptbs.getColumn(0, "ptbs_ptunyn");
- if(ptunyn == "Y"){
- sysf_messageBox("해당환자를 원무팀 미수담당자에게 안내","I008");
- }
- }
- // 동명이인 체크실시
- function fCheckNameConflict(pid, ordtype) {
- // 필수체크
- if ((pid == '' || pid == null) || (ordtype == '' || ordtype == null)) {
- sysf_messageBox("차트번호 또는 진료구분이 입력되지 않았습니다.\r\n 차트번호 또는 진료구분을", "I007");
- return;
- } else {
- dsf_createDs("ds_temp_nameconflict", [
- {col:"conflictyn", type:"STRING", size:256}
- ]);
- dsf_createDsRow("ds_send_nameconflict", [
- {col:"pid", type:"STRING", size:256, val: pid }
- , {col:"ordtype", type:"STRING", size:256, val: ordtype }
- ]);
- submit("TRPMC07401");
- var oParam = {};
- oParam.id = "TRPAC00101";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetNameConflict";
- oParam.inds = "req=ds_send_nameconflict";
- oParam.outds = "ds_temp_nameconflict=conflictyn";
- oParam.async = false;
- tranf_submit(oParam);
- if (ds_temp_nameconflict.getColumn(0, "conflictyn") == "Y") {
- if (ordtype == 'E') {
- sysf_messageBox(" ★★★ 동명이인 주의 ★★★ \r\n\r\n" +
- "응급실에 현재 동명이인이 있습니다.\r\n" +
- "환자이름 뒤 문자 추가 후 환자팔찌와 이름표를 출력하십시오.\r\n\r\n" +
- " [예] 홍길동A, 홍길녀B", "I000");
- } else if (ordtype == 'I') {
- sysf_messageBox(" ★★★ 동명이인 주의 ★★★ \r\n\r\n" +
- "재원환자 중에 현재 동명이인이 있습니다.\r\n" +
- "환자이름 뒤 문자 추가 후 약정서, 결정서, 환자팔찌와 이름표를 출력하십시오.\r\n\r\n" +
- " [예] 홍길동A, 홍길녀B", "I000");
- } else {
- sysf_messageBox("현재 등록하려는 환자와 성명이 동일한 환자가 이미 존재합니다.\r\n" +
- "처방오류 등의 방지를 위해 환자의 성명을 수정하여 등록", "I000");
- }
- return false;
- } else {
- return true;
- }
- }
- }
- //사생활보호 요청환자 정보 취득
- function fGetPatPrivacyInfo(pid) {
- if (utlf_isNull(pid)) {
- sysf_messageBox("환자번호가", "I004");
- return false;
- }
- //receive
- dsf_createDs("ds_temp_patprivacy", [
- {col:"no", type:"STRING", size:256}
- , {col:"request", type:"STRING", size:256}
- , {col:"requestetc", type:"STRING", size:256}
- , {col:"target", type:"STRING", size:256}
- , {col:"targetetc", type:"STRING", size:256}
- , {col:"type", type:"STRING", size:256}
- , {col:"typeetc", type:"STRING", size:256}
- , {col:"rmk", type:"STRING", size:256}
- ]);
- //send
- dsf_createDsRow("ds_send_patprivacy", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"endyncheck", type:"STRING", size:256, val: "Y"}
- ]);
- //submit("TRPMC06904");
- var oParam = {};
- oParam.id = "TRPMC06904";
- oParam.service = "patinfomngtapp.PatPrivacy";
- oParam.method = "reqGetPatPrivacyDesc";
- oParam.inds = "req=ds_send_patprivacy";
- oParam.outds = "ds_temp_patprivacy=privacydesc";
- oParam.async = false;
- tranf_submit(oParam);
- if (utlf_isNull(ds_temp_patprivacy.getColumn(0, "no"))) {
- //div_left.cap_privacy.visible = false;
- cap_privacy.visible = false; //외래등록에서는 div_left. 가 사용되지 않음.
- } else {
- //div_left.cap_privacy.visible = true;
- cap_privacy.visible = true;
- var strMsg = rightPad("사생활보호환자입니다.", ' ', 53) + "\r\n";
- strMsg = strMsg + "\r\n" + rightPad("요청자\t : " + ds_temp_patprivacy.getColumn(0, "request") + " "
- + utlf_transNullToEmpty(ds_temp_patprivacy.getColumn(0, "requestetc")) , ' ', 50) ;
- strMsg = strMsg + "\r\n" + rightPad("요청대상\t : " + ds_temp_patprivacy.getColumn(0, "target") + " "
- + utlf_transNullToEmpty(ds_temp_patprivacy.getColumn(0, "targetetc")) , ' ', 42) ;
- strMsg = strMsg + "\r\n" + rightPad("요청내용\t : " + ds_temp_patprivacy.getColumn(0, "type") + " "
- + utlf_transNullToEmpty(ds_temp_patprivacy.getColumn(0, "typeetc")) , ' ', 36) ;
- strMsg = strMsg + "\r\n" + rightPad("요청비고\t : " + utlf_transNullToEmpty(ds_temp_patprivacy.getColumn(0, "rmk")) , ' ', 62) ;
- strMsg = strMsg + "\r\n\r\n" + "위 내용의 취급에 주의 ";
- sysf_messageBox(strMsg, "I008");
- }
- }
- //사생활보호 요청환자 정보 취득 입원수납용
- function fGetPatPrivacyInfo_i(pid,pre_loading_yn) {
- if(pre_loading_yn == "Y" ){
- //입원수납은 자선정보 미리 조회해오므로 submit 통과
- }
- if(ds_temp_h_patprivacy.rowcount == 0){
- cap_privacy.visible = false;
- } else {
- cap_privacy.visible = true;
- var strMsg = rightPad("사생활보호환자입니다.", ' ', 53) + "\r\n";
- strMsg = strMsg + "\r\n" + rightPad("요청자\t : " + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "request")) + " "
- + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "requestetc")) , ' ', 50) ;
- strMsg = strMsg + "\r\n" + rightPad("요청대상\t : " + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "target")) + " "
- + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "targetetc")) , ' ', 42) ;
- strMsg = strMsg + "\r\n" + rightPad("요청내용\t : " + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "type")) + " "
- + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "typeetc")) , ' ', 36) ;
- strMsg = strMsg + "\r\n" + rightPad("요청비고\t : " + utlf_transNullToEmpty(ds_temp_h_patprivacy.getColumn(0, "rmk")) , ' ', 62) ;
- strMsg = strMsg + "\r\n\r\n" + "위 내용의 취급에 주의 ";
- sysf_messageBox(strMsg, "I008");
- }
- }
- // 격리 신청환자 정보 취득
- function fGetPatIsolateInfo(isolateinfo) {
- // 격리승인정보 체크
- if (utlf_isNull(isolateinfo)) {
- cap_isolate.visible = false;
- cap_isolate.tooltoptext = "";
- return;
- } else {
- cap_isolate.visible = true;
- cap_isolate.tooltoptext = isolateinfo;
- return;
- }
- }
- // 사생활보호 정보관리창 호출
- function fCallPatPrivacy(pid) {
- // 사생활보호관리화면 호출
- frmf_setParameter("SPPMC06900_PARM", pid)
-
- //2018/04/26 이정택 수정
- //frmf_modal("SPPMC06900", "SPPMC06900", "", "", "", "", "", "", "", "", "", "", "M");
- frmf_modal("SPPMC06900", "SPPMC06900", "", false, 1, '', '', 702, 505, "", "", "", "M");
- //2018/04/26 이정택 수정
- // 사생활보호관리화면의 결과에 따라 사생활보호 표시
- if (ds_hidden.getColumn(0, "patprivacyendyn") == "Y"
- || ds_hidden.getColumn(0, "patprivacyendyn") == "") {
- cap_privacy.visible = false;
- } else {
- cap_privacy.visible = true;
- }
- }
- // 선택진료신청안내창 열기
- function fOpenSPIFInfo() {
- //open("SMPMC06504","2", "200","", "", "", "", "width:840px; height:950px; caption:visible; resize:false;");
- frmf_open("SMPMC06504", "SMPMC06504", "", false, "2", "200", "", "", "", "", "", "", "M");
- }
- // 선택진료신청안내창 닫기
- function fCloseSPIFInfo() {
- var popupObjt = frmf_findPopup("SMPMC06504") ;
- if(!utlf_isNull(popupObjt)) {
- popupObjt.close();
- }
- }
- // 특이환자체크용
- function fCheckPatient(pid, ordtype) {
- var ivrObjt = frmf_findPopup("SPPMC06513") ;
- if (ivrObjt == null) {
- //body.createChild("xforms:iviewer", "id:ivr_checkpatient; src:../../../pam/pamcomnweb/xrw/SPPMC06513_특이환자체크.xrw");
- frmf_open("SPPMC06513", "SPPMC06513", "", "", "", "", "", "", "", "", "", "", "M");
- ivrObjt = frmf_findPopup("SPPMC06513") ;
- }
- // 메소드 호출
- return ivrObjt.fGetSpclPatient(pid, ordtype);
- }
- function fCheckRefund(pid) {
- model.makeValue("/root/send/refund/pid", pid);
- model.makeNode("/root/refund/refundlist");
- //receive
- dsf_createDs("ds_refund_refundlist", [
- {col:"pid", type:"STRING", size:256}
- , {col:"orddd", type:"STRING", size:256}
- ]);
- var day = "";
- //send
- dsf_createDsRow("ds_send_refund", [
- {col:"pid", type:"STRING", size:256, val: pid}
- ]);
- // submit("TRPMC06905");
- var oParam = {};
- oParam.id = "TRPMC06905";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetPidRefundInfo";
- oParam.inds = "req=ds_send_refund";
- oParam.outds = "ds_=refundlist";
- oParam.async = false;
- tranf_submit(oParam);
- if ( ds_refund_refundlist.rowcount > 0 ) {
- var cnt = ds_refund_refundlist.rowcount;
- for ( var j=0; j < cnt; j++) {
- var odd = ds_refund_refundlist.getColumn( j , "orddd");
- if ( j == cnt) {
- day += " '" + odd.toDate().getDateFormat("YYYY-MM-DD")+ "'";
- } else {
- day += " '" +odd.toDate().getDateFormat("YYYY-MM-DD")+ "'" + ",";
- }
- }
- sysf_messageBox("진료일자 " + day + " 에 대한 미진료 예약금이 있으니 확인 후 환불바랍니다", "I");
- }
- }
- /**
- * 원무 전자동의서 호출용 IF
- * @param pid 환자번호
- * @param orddd 진료일자
- * @param cretno 생성번호
- * @param ordtype 진료구분
- * @param flag 서식구분(A:입원약정서, G:일반동의서, J:자보동의서, O:외출외박신청서, P:Rexpert동의서, T:기간약정서, U:상급병실신청서, I:산재동의서
- * @param formcd 서식코드(하드코드 테이블에 정의)
- *
- * @return ocrtag
- */
- function fPrintOcrConsent(nodePath:Dataset) {
- // 공통 파라미터 세팅
- frmf_setParameter("SSMRC03160_param_instcd", sysf_getUserInfo("dutplceinstcd"));
- frmf_setParameter("SSMRC03160_param_patid", nodePath.getColumn(0, "pid"));
- frmf_setParameter("SSMRC03160_param_indate", nodePath.getColumn(0, "orddd"));
- frmf_setParameter("SSMRC03160_param_cretno", nodePath.getColumn(0, "cretno"));
- frmf_setParameter("SSMRC03160_param_class", nodePath.getColumn(0, "ordtype"));
- frmf_setParameter("SSMRC03160_param_flag", nodePath.getColumn(0, "flag"));
- frmf_setParameter("SSMRC03160_param_docucd", nodePath.getColumn(0, "formcd"));
- frmf_setParameter("SSMRC03160_param_cuser", sysf_getUserInfo("userid"));
- // 서식구분 별 필요한 정보 추가세팅
- // 자보동의서
- if(nodePath.getColumn(0, 'flag') == "J") {
- // 본원
- if(sysf_getUserInfo("dutplceinstcd") == "031") {
- frmf_setParameter("SSMRC03160_param_tag1", "053) 200 - 5099"); // 자보담당자전화
- frmf_setParameter("SSMRC03160_param_tag2", "053) 426 - 9517"); // 외래FAX
- frmf_setParameter("SSMRC03160_param_tag3", "053) 200 - 5058"); // 응급실전화
- frmf_setParameter("SSMRC03160_param_tag4", "053) 420 - 5098"); // 응급실FAX
- frmf_setParameter("SSMRC03160_param_tag5", "10,000"); // 상급병실차액소견서
- // 칠곡
- }
- else if(sysf_getUserInfo("dutplceinstcd") == "032") {
- frmf_setParameter("SSMRC03160_param_tag1", "053) 200 - 2064"); // 자보담당자전화
- frmf_setParameter("SSMRC03160_param_tag2", "053) 200 - 2079"); // 외래FAX
- frmf_setParameter("SSMRC03160_param_tag3", "053) 200 - 2108"); // 응급실전화
- frmf_setParameter("SSMRC03160_param_tag4", "053) 200 - 2109"); // 응급실FAX
- frmf_setParameter("SSMRC03160_param_tag5", "10,000"); // 상급병실차액소견서
- // 치과병원
- }
- else if(sysf_getUserInfo("dutplceinstcd") == "033") {
- frmf_setParameter("SSMRC03160_param_tag1", "053) 200 - 5099"); // 자보담당자전화
- frmf_setParameter("SSMRC03160_param_tag2", "053) 426 - 9517"); // 외래FAX
- frmf_setParameter("SSMRC03160_param_tag3", "053) 200 - 5058"); // 응급실전화
- frmf_setParameter("SSMRC03160_param_tag4", "053) 420 - 5098"); // 응급실FAX
- frmf_setParameter("SSMRC03160_param_tag5", "10,000"); // 상급병실차액소견서
- }
- }
- // 상급병실신청서
- else if (nodePath.getColumn(0, 'flag') == "U") {
- frmf_setParameter("SSMRC03160_param_tag1", nodePath.getColumn(0, "bedcnt"));
- frmf_setParameter("SSMRC03160_param_tag2", nodePath.getColumn(0, "roomcd"));
- frmf_setParameter("SSMRC03160_param_tag3", nodePath.getColumn(0, "extrapay").split("").reverse().join("").replace(/(\d{3})/g,"$1,").replace(/,$/,"").split("").reverse().join(""));
- }
- // 영상정보처리기기 수집이용 동의서
- else if (nodePath.getColumn(0, 'flag') == "C") {
- frmf_setParameter("SSMRC03160_param_tag1", nodePath.getColumn(0, "tag1"));
- frmf_setParameter("SSMRC03160_param_tag2", nodePath.getColumn(0, "tag2"));
- }
- // 입원통지서 수령 확인서
- else if (nodePath.getColumn(0, 'flag') == "N") {
- frmf_setParameter("SSMRC03160_param_tag1", nodePath.getColumn(0, "tag1"));
- frmf_setParameter("SSMRC03160_param_tag2", nodePath.getColumn(0, "tag2"));
- frmf_setParameter("SSMRC03160_param_tag3", nodePath.getColumn(0, "tag3"));
- frmf_setParameter("SSMRC03160_param_tag4", nodePath.getColumn(0, "tag4"));
- }
-
- // 간호간병통합서비스 병동 입원동의서
- else if (nodePath.getColumn(0, 'flag') == "W") {
- frmf_setParameter("SSMRC03160_param_tag1", nodePath.getColumn(0, "tag1"));
- frmf_setParameter("SSMRC03160_param_tag2", nodePath.getColumn(0, "tag2"));
- frmf_setParameter("SSMRC03160_param_tag3", nodePath.getColumn(0, "tag3"));
- }
-
- // 입원전담전문의 병동 입원동의서
- else if (nodePath.getColumn(0, 'flag') == "H") {
- frmf_setParameter("SSMRC03160_param_tag1", nodePath.getColumn(0, "tag1"));
- frmf_setParameter("SSMRC03160_param_tag2", nodePath.getColumn(0, "tag2"));
- frmf_setParameter("SSMRC03160_param_tag3", nodePath.getColumn(0, "tag3"));
- frmf_setParameter("SSMRC03160_param_tag4", nodePath.getColumn(0, "tag4"));
- frmf_setParameter("SSMRC03160_param_tag5", nodePath.getColumn(0, "tag5"));
- frmf_setParameter("SSMRC03160_param_tag6", nodePath.getColumn(0, "tag6"));
- frmf_setParameter("SSMRC03160_param_tag7", nodePath.getColumn(0, "tag7"));
- frmf_setParameter("SSMRC03160_param_tag8", nodePath.getColumn(0, "tag8"));
- frmf_setParameter("SSMRC03160_param_tag9", nodePath.getColumn(0, "tag9"));
- frmf_setParameter("SSMRC03160_param_tag10", nodePath.getColumn(0, "tag10"));
- }
- // 전자동의서 모듈 호출( 이윤주 수정 : 20200130 )
- if (lf_ContainsHardCD("6950", "Y") && lf_ContainsHardCD("6952", nodePath.getColumn(0, "formcd")) && lf_ContainsHardCD("6951", sysf_getUserInfo("userid"))) {
- frmf_modal("SPMRF04601", "SPMRF04601", '', "", '', '', '', "", "", "", "", "", "M");
- }
- else {
- frmf_modal("SSMRC03160", "SSMRC03160", '', "", '', '', '', "", "", "", "", "", "M");
- }
-
- return frmf_getParameter("SSMRC03160_param_rtnocrtag");
- }
- /**
- * 2013-04-01 이동식
- * 전화번호 형식 바꾸기
- * 전화번호 입력하면 자동으로 '-' 값 넣어주기
- * */
- function fMakeTelNumFormat(str){
- //var RegNotNum = /[^0-9]/g;
- //num = num.replace(RegNotNum,'');
- //return num.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
- var RegNotNum = /[^0-9]/g;
- var RegPhonNum = "";
- var DataForm = "";
- // return blank
- if( str == "" || str == null ) return "";
- // delete not number ㅋ
- str = str.replace(RegNotNum,'');
- if( str.length < 4 ) return str;
- if( str.length > 3 && str.length < 7 ) {
- DataForm = "$1-$2";
- RegPhonNum = /([0-9]{3})([0-9]+)/;
- } else if(str.length == 7 ) {
- DataForm = "$1-$2";
- RegPhonNum = /([0-9]{3})([0-9]{4})/;
- } else {
- DataForm = "$1-$2-$3";
- //RegPhonNum = /([0-9]{3})([0-9]{4})([0-9]+)/;
- RegPhonNum = /(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/;
- }
- while( RegPhonNum.test(str) ) {
- str = str.replace(RegPhonNum, DataForm);
- }
- return str;
- }
- /**
- * QC프로그램(지능형 순번) 연동 스크립트
- * QC프로그램에서 저장한 차트번호를 읽어 ku화면에 표시
- */
- function getQCInfo() {
- // 파일위치 : C:\\QS\\USRN\\qcresult.txt
- var filePath = "C:\\QS\\USRN\\qcresult.txt";
- var fso = inff_fileSystemObject(); // new ActiveXObject("Scripting.FileSystemObject");
- var resultPID = "";
- // file유무검사
- if (!fso.FileExists(filePath)) {
- // 에러발생은 시키지 않음
- } else {
- var fOpen = fso.OpenTextFile(filePath, 1);
- while(!fOpen.AtEndOfStream) {
- resultPID = fOpen.Readline();
- }
- if (resultPID == "") {
- // 호출된 환자가 없습니다.
- return "";
- }
- }
- return resultPID;
- }
- /*
- * 2013-07-19 서원식
- * 감면정보 체크
- */
- function fGetDcucInfo(pid){
- //send
- dsf_createDsRow("ds_send_checkdcuc", [
- {col:"pid", type:"STRING", size:256, val: pid}
- ]);
- //submit("TRPAO00001");
- var oParam = {};
- oParam.id = "TRPAO00001";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetCheckDcucStat";
- oParam.inds = "req=ds_";
- oParam.outds = "ds_temp_dcucinfo=dcucinfo";
- oParam.async = false;
- tranf_submit(oParam);
- var dcucMsg = ds_temp_dcucinfo.getColumn(0, "dcucmsg");
- if(dcucMsg != '' && dcucMsg != ' ' && dcucMsg != null){
- sysf_messageBox(dcucMsg, "E999");
- }
- }
- /*
- * 2013-08-27 서원식
- * 환자정보(주민등록번호) 존재여부 체크
- */
- function fGetPtbsInfo(rrgstno1, rrgstno2, pid){
- if(String(rrgstno1).length != 6 || String(rrgstno2).length != 7){
- sysf_messageBox("주민등록번호를 확인하세요!", "E999", "");
- return false;
- }
- // send
- dsf_createDsRow("ds_send_checkptbs", [
- {col:"rrgstno1", type:"STRING", size:256, val: rrgstno1}
- , {col:"rrgstno2", type:"STRING", size:256, val: rrgstno2 }
- , {col:"pid", type:"STRING", size:256, val: pid}
- ]);
- if(this.objects['ds_temp_ptbsinfo'] == null){
- dsf_createDsRow('ds_temp_ptbsinfo', [{ col: 'ptbsmsg', type: 'string', size: 256, val: '' }], false);
- }
- //submit("TRPAO00002");
- var oParam = {};
- oParam.id = "TRPAO00002";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetCheckPtbsStat";
- oParam.inds = "req=ds_send_checkptbs";
- oParam.outds = "ds_temp_ptbsinfo=ptbsinfo";
- oParam.async = false;
- tranf_submit(oParam);
- var ptbsMsg = ds_temp_ptbsinfo.getColumn(0, "ptbsmsg");
- if(ptbsMsg != '' && ptbsMsg != ' ' && ptbsMsg != null){
- if(sysf_messageBox("해당 주민등록번호는 환자번호 "+ ptbsMsg + " 등록되어있습니다.\n그래도 진행하시겠습니까?", "Q000") == 6){
- return true;
- }else{
- if(frmf_getTitle().indexOf('환자기본정보관리') >= 0 ){
- ds_hidden_source.setColumn(0, "srchcond", "3");
- ds_hidden_source.setColumn(0, "rrgstno1", rrgstno1);
- ds_hidden_source.setColumn(0, "rrgstno2", rrgstno2);
- //modal("SPPMC02500", 1, "150", "150", "SPPMC02500", "/root/hidden/source", "/root/send");
- var objArg = new Object();
- objArg.arg_ds_send = ds_hidden_source;
- frmf_modal("SPPMC02500", "SPPMC02500", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- }else{
- ds_source.setColumn(0, "srchcond", "3");
- ds_source.setColumn(0, "rrgstno1", rrgstno1);
- ds_source.setColumn(0, "rrgstno2", rrgstno2);
- //modal("SPPMC02500", 1, "150", "150", "SPPMC02500", "/root/source", "/root/send");
- var objArg = new Object();
- objArg.arg_ds_send = ds_source;
- frmf_modal("SPPMC02500", "SPPMC02500", objArg, false, 1, 150, 150, "", "", "", "", "", "M");
- }
- return false;
- }
- }
- return true;
- }
- /*
- * 2013-09-04 서원식
- * 사망한 환자 미시행 처방 존재여부 체크
- * 1. 타병원에서 사망한 환자는 사망여부를 확인할 방법이 없음 : 불가
- * 2. 재원중에 사망한 환자의 경우, 미시행건 + 수납완료된 건이 있으며 팝업으로 환불받을 수 있도록 안내
- */
- function fGetDethOtptInfo(pid){
- dsf_createDs("ds_temp_deth_dethotptinfo");
- dsf_createDsRow("ds_send_checkdethotpt", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"srchfromdd", type:"STRING", size:256, val: "" }
- , {col:"srchtodd", type:"STRING", size:256, val: ""}
- ]);
- var oParam = {};
- oParam.id = "TRPAO00003";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetDethOtptInfo";
- oParam.inds = "req=ds_send_checkdethotpt";
- oParam.outds = "ds_temp_deth_dethotptinfo=dethotptinfo";
- oParam.async = false;
- tranf_submit(oParam);
- var nodeCnt = ds_temp_deth_dethotptinfo.rowcount;
- if(nodeCnt > 0){
- if(sysf_messageBox("사망하신 환자의 미시행 처방이 있습니다. 확인 하시겠습니까?", "Q000") == 6){
- frmf_setParameter("SPPMO02000_PID", pid);
- //open("SPPMO02000", "1", "10", "30", "", "", "", "width:680px; height:343px; caption:visible; resize:false;", "", "");
- frmf_modal("SPPMO02000", "SPPMO02000", "", false, 1, 10, 30, 680, 343, "", "", "", "M");
- }
- }
- }
- /*
- * 수납마감 사용자관리 조회
- */
- function getRcptuserInfo(){
- var rcptrid = sysf_getUserId(); //로그인ID
- var rcptexecdd = utlf_getCurrentDate(); //현재시간
- dsf_createDsRow("ds_rcptuser_rcptuserinfosend", [
- {col:"userid", type:"STRING", size:256, val: rcptrid}
- , {col:"rcptexecdd", type:"STRING", size:256, val: rcptexecdd}
- ]);
- //submit("TRPAO00007");
- var oParam = {};
- oParam.id = "TRPAO00007";
- oParam.service = "pambaseinfomngtapp.Etc";
- oParam.method = "reqGetuserInfo";
- oParam.inds = "req=ds_rcptuser_rcptuserinfosend";
- oParam.outds = "ds_rcptuserinfo=userrgstlist";
- oParam.async = false;
- tranf_submit(oParam);
- }
- /*
- * 감염정보 표시
- */
- function fSetIsolInfo(isolInfo) {
- // B:혈액
- if (isolInfo.substr(1,1) == "Y") {
- div_left.img_isolb.image = "theme://images/btn_top_infection0.gif"; //"../../../com/hismainweb/images/btn_top_infection0.gif";
- } else {
- div_left.img_isolb.image = "theme://images/btn_top_infection0_d.gif"; //.src = "../../../com/hismainweb/images/btn_top_infection0_d.gif";
- }
- // C:접촉
- if (isolInfo.substr(2,1) == "Y") {
- div_left.img_isolc.image = "theme://images/btn_top_infection1.gif"; // .src = "../../../com/hismainweb/images/btn_top_infection1.gif";
- } else {
- div_left.img_isolc.image = "theme://images/btn_top_infection1_d.gif"; //.src = "../../../com/hismainweb/images/btn_top_infection1_d.gif";
- }
- // A:공기
- if (isolInfo.substr(0,1) == "Y") {
- div_left.img_isola.image = "theme://images/btn_top_infection2.gif"; // .src = "../../../com/hismainweb/images/btn_top_infection2.gif";
- } else {
- div_left.img_isola.image = "theme://images/btn_top_infection2_d.gif"; //.src = "../../../com/hismainweb/images/btn_top_infection2_d.gif";
- }
- // img_isolb.refresh();
- // img_isolc.refresh();
- // img_isola.refresh();
- }
- /*
- * 장애인등록여부 조회
- */
- function getHandcapInfo(orddd, pid, beforeHandicapyn){
- dsf_createDsRow("ds_handcap_handcapinfosend", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"hngnm", type:"STRING", size:256, val: ""}
- , {col:"rrgstno1", type:"STRING", size:256, val: ""}
- , {col:"rrgstno2", type:"STRING", size:256, val: ""}
- , {col:"checkflag", type:"STRING", size:256, val: "rcpt" }
- , {col:"srchbyrrgstno", type:"STRING", size:256, val: ""}
- , {col:"orddd", type:"STRING", size:256, val: orddd}
- ]);
- //submit("TRPAO00008");
- var oParam = {};
- oParam.id = "TRPAO00008";
- oParam.service = "patinfomngtapp.HandcapPat";
- oParam.method = "reqGetHandcapPat";
- oParam.inds = "req=ds_handcap_handcapinfosend";
- oParam.outds = "ds_handcap_handcapinfo=handcappatlist";
- oParam.async = false;
- tranf_submit(oParam);
- var afterHandicapyn = "N";
- if(ds_handcap_handcapinfo.rowcount > 0){
- afterHandicapyn = "Y";
- }
- if(afterHandicapyn == "Y" && beforeHandicapyn != "Y"){
- sysf_messageBox("장애수첩소지여부 확인 하시기 바랍니다. \r\n장애인환자관리 등록된 환자입니다.", "I000");
- return true;
- }
- if(afterHandicapyn == "N" && beforeHandicapyn != 'N'){
- sysf_messageBox("장애수첩소지여부 확인 하시기 바랍니다. \r\n장애인환자관리 등록되지 않은 환자입니다.", "I000");
- return true;
- }
- return false;
- }
- /*
- * MERS 관련 격리대상자 조회
- * 2015/06/17
- */
- function fMersPatChk(worktype, pid){
- var sRtn = "N"; // 디폴트 메르스 관련 데이터 존재하지 않음.
- if(utlf_isNull(worktype)){
- sysf_messageBox("업무구분이 입력되지 않았습니다.", "E");
- return;
- }
- if(utlf_isNull(pid)){
- sysf_messageBox("환자 번호가 입력되지 않았습니다.", "E");
- return;
- }
- frmf_setParameter("SPPMO01358_worktype", String(worktype));
- frmf_setParameter("SPPMO01358_pid", pid);
- // modal("SPPMO01358", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- frmf_modal("SPPMO01358", "SPPMO01358", "", false, 1, 0, 0, 0, 0, "", "", "", "P");
- return frmf_getParameter("sRtn");
- }
- /*
- * MERS 관련 격리대상자 조회
- * 2015/06/17
- */
- function fMersPatChk_Bak(worktype, pid){
- var sRtn = "N"; // 디폴트 메르스 관련 데이터 존재하지 않음.
- if(worktype == null || worktype =="" || worktype == "undefined"){
- sysf_messageBox("업무구분이 입력되지 않았습니다.", "E");
- return;
- }
- if(pid == null || pid =="" || pid == "undefined"){
- sysf_messageBox("환자 번호가 입력되지 않았습니다.", "E");
- return;
- }
- frmf_setParameter("SPPMO01358_worktype", worktype);
- frmf_setParameter("SPPMO01358_pid", pid);
- var obj = frmf_findPopup("SPPMO01358") ;
- if( obj == null ){
- frmf_open("SPPMO01358", "SPPMO01358", "", "", "", "", "", "", "", "", "", "", "M");
- obj = frmf_findPopup("SPPMO01358") ;
- }
- var cnt = obj.fmerschk(worktype, pid);
- if(parseInt(cnt)>0){
- //modal("SPPMO01358");
- sRtn = "Y"; // 메르스 관련 데이터 존재
- }
- return sRtn;
- }
- /**
- * 장애인 정보 취득
- * @return
- */
- function fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind){
- // send
- dsf_createDsRow("ds_temp_handcappat_send", [
- {col:"pid", type:"STRING", size:256, val: pid}
- , {col:"hngnm", type:"STRING", size:256, val: ""}
- , {col:"rrgstno1", type:"STRING", size:256, val: "" }
- , {col:"rrgstno2", type:"STRING", size:256, val: ""}
- , {col:"checkflag", type:"STRING", size:256, val: 'Y'}
- , {col:"srchbyrrgstno", type:"STRING", size:256, val: ""}
- , {col:"insukind", type:"STRING", size:256, val: insukind}
- , {col:"orddeptcd", type:"STRING", size:256, val: orddeptcd}
- , {col:"orddd", type:"STRING", size:256, val: orddd}
- ]);
- //if( submit("TRPMC01701", false)) {
- var oParam = {};
- oParam.id = "TRPMC01701";
- oParam.service = "patinfomngtapp.HandcapPat";
- oParam.method = "reqGetHandcapPat";
- oParam.inds = "req=ds_temp_handcappat_send";
- oParam.outds = "ds_temp_handcappat_handcappatlist=handcappatlist";
- oParam.async = false;
- oParam.callback = "cf_TRPMC01701";
-
- tranf_submit(oParam);
- if( arErrorCode.pop("TRPMC01701") > -1 ){
- if( ds_temp_handcappat_handcappatlist.rowcount > 0 ){
- dsf_makeValue(ds_main_otpt, "otpt_handicaprbookpossnyn", "string", "Y");
- //model.setValue("/root/main/otpt/otpt_handicaprbookpossnyn", "Y");
- }
- else{
- dsf_makeValue(ds_main_otpt, "otpt_handicaprbookpossnyn", "string", "N");
- //model.makeValue("/root/main/otpt/otpt_handicaprbookpossnyn", "N");
- //model.setValue("/root/main/otpt/otpt_handicaprbookpossnyn", "N");
- }
- }
- else{
- sysf_messageBox("전산장애로 장애등록 정보를 확인할 수 없습니다. '장애인수첩 소지자 여부'를 직접 입력해 주세요", "E999", "");
- //model.setFocus("radio3");
- return false;
- }
- }
- /**
- * 장애인 등록
- *
- */
- function fHndcRegister(pid, orddd, orddeptcd, insukind){
- // model.makeValue("/root/source/srchcond", 1);
- // model.makeValue("/root/source/pid", pid);
- dsf_makeValue(ds_source, "srchcond", "string", "1");
- dsf_makeValue(ds_source, "pid", "string", pid);
- //modal("SMPMC01700", "1","100", "100", "SMPMC01700", "/root/source", "/root/source");
- var objArg = new Object();
- objArg.arg_ds_source = ds_source;
- frmf_modal("SMPMC01700", "SMPMC01700", objArg, false, "1", "100", "100", "", "", "", "", "", "M");
-
- fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind);
- //model.refresh();
- }
- /**
- * 대구 장애인구강센터 환자 체크
- */
- function fClinicCheck(pid, orddd, orddeptcd, insukind){
- var hndc_slflag = "";
- var uncocd ="";
- if(orddeptcd == "2242400000"){ // // 대구장애인구강센터
- if(utlf_isNull(pid)){
- sysf_messageBox("환자번호가 입력되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과가 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(insukind)){
- sysf_messageBox("보험유형이 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddd)){
- sysf_messageBox("진료일자가 입력되지 않았습니다.", "E");
- return false;
- }
- fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind); // 장애인 등록여부 확인
-
- //장애인등록여부 분기처리 수정_서재영 2019.03.22
- if(ds_temp_handcappat_handcappatlist.rowcount > 0){
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- if(hndc_slflag == "" || hndc_slflag=="-"){
- return true;
- }
- if(hndc_slflag!="" && hndc_slflag!="-"){
- dsf_makeValue( ds_hidden_m_etc, "uncocd", "string", hndc_slflag);
- dsf_makeValue( ds_main_otpt, "otpt_uncocd", "string", hndc_slflag);
- return true;
- }
- }else{
- sysf_messageBox("해당 환자는 장애인 등록이 되어 있지 않습니다.\n장애인 등록 후 진행부탁드립니다.", "E");
- fHndcRegister(pid, orddd, orddeptcd, insukind); // 장애인등록
- if(ds_temp_handcappat_handcappatlist.rowcount > 0){
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- if(hndc_slflag == "" || hndc_slflag=="-"){
- return true;
- }
- if(hndc_slflag!="" && hndc_slflag!="-"){
- dsf_makeValue( ds_hidden_m_etc, "uncocd", "string", hndc_slflag);
- dsf_makeValue( ds_main_otpt, "otpt_uncocd", "string", hndc_slflag);
- return true;
- }
- }else{
- sysf_messageBox("장애인 등록에 실패하였습니다.", "E");
- return false;
- }
- }
- }else{
- return true;
- }
- }
- /**
- * 대구 장애인구강센터 미수코드체크
- */
- function fUncoCdCheck(pid, orddd, orddeptcd, insukind, uncocd){
- var hndc_slflag = "";
- if(utlf_isNull(pid)){
- sysf_messageBox("환자번호가 입력되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과가 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(insukind)){
- sysf_messageBox("보험유형이 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddd)){
- sysf_messageBox("진료일자가 입력되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(uncocd)){
- sysf_messageBox("미수코드 입력되지 않았습니다.", "E");
- return false;
- }
- if(orddeptcd == "2242400000"){ // // 대구장애인구강센터
- if(uncocd != "A43" && uncocd != "A44" && uncocd != "A45"){ // 대구 장애인구강센터 미수코드인 A43, A44, A45가 아닐시에는 리턴
- return true;
- }
- fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind); // 장애인 등록여부 확인
- var cnt = ds_temp_handcappat_handcappatlist.rowcount;
- var slflag_chk = false;
- if(cnt>0){
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- if(hndc_slflag==uncocd){
- slflag_chk = true;
- }
- if(!slflag_chk){
- sysf_messageBox("해당 미수코드를 적용 할 수 없습니다", "E");
- return false;
- }else{
- return true;
- }
- }else{
- sysf_messageBox("해당 미수코드를 적용 할 수 없습니다", "E");
- return false;;
- }
- }else{
- if(orddeptcd != "2242400000" && (uncocd == "A43" || uncocd == "A44" || uncocd == "A45")){
- sysf_messageBox("해당 과에는 적용 할 수 없는 미수코드입니다.", "E");
- return false
- }else{
- return true;
- }
- }
- }
- function fUncoCdCheck_Bak(pid, orddd, orddeptcd, insukind, uncocd){
- var hndc_slflag = "";
- var cnt = "";
- if(orddeptcd == "2242400000"){ // // 대구장애인구강센터
- if(utlf_isNull(pid)){
- sysf_messageBox("환자번호가 입력되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과가 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(insukind)){
- sysf_messageBox("보험유형이 선택되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(orddd)){
- sysf_messageBox("진료일자가 입력되지 않았습니다.", "E");
- return false;
- }
- if(utlf_isNull(uncocd)){
- sysf_messageBox("미수코드가 입력되지 않았습니다.", "E");
- return false;
- }
- if(uncocd != "A43" && uncocd != "A44" && uncocd != "A45"){ // 대구 장애인구강센터 미수코드인 A43, A44, A45가 아닐시에는 입력된 미수코드를 그대로 리턴
- return true;
- }
- fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind); // 장애인 등록여부 확인
- cnt = ds_temp_handcappat_handcappatlist.rowcount;
- if(cnt>0){
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- if(utlf_transNullToEmpty(hndc_slflag) != "" && hndc_slflag != "-"){
- return true;
- }else{
- sysf_messageBox("해당 미수코드를 적용 할 수 없습니다", "E");
- return false;
- }
- }else{
- sysf_messageBox("해당 환자는 장애인 등록이 되어 있지 않습니다.\n장애인 등록 후 진행부탁드립니다.", "E");
- fHndcRegister(pid, orddd, orddeptcd, insukind); // 장애인등록
- cnt = ds_temp_handcappat_handcappatlist.rowcount;
- if(cnt>0){
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- if(utlf_transNullToEmpty(hndc_slflag) != "" && hndc_slflag != "-"){
- return true;
- }else{
- sysf_messageBox("해당 미수코드를 적용 할 수 없습니다", "E");
- return false;
- }
- }else{
- sysf_messageBox("장애인 등록에 실패하였습니다.", "E");
- return false;
- }
- }
- }else{
- if(orddeptcd != "2242400000" && (uncocd == "A43" || uncocd == "A44" || uncocd == "A45")){
- sysf_messageBox("해당 과에는 적용 할 수 없는 미수코드입니다.", "E");
- return false
- }else{
- return true;
- }
- }
- }
- /**
- * 미수율에 대한 미수금액 자동계산 처리(미수발생배치 동기화 필요)
- * parameter
- * payapprate : 급여미수율
- * nopyapprate : 비급여미수율
- * specapprate : 선택진료미수율
- * payownbamt : 급여본인부담금액
- * nopyownbamt : 비급여본인부담금액
- * specownbamt : 선택진료본인부담금액
- * by 조중래 20150625
- */
- function fGetUncoAmt(payapprate, nopyapprate, specapprate, payownbamt, nopyownbamt, specownbamt) {
- var uncoPayAmt = 0;
- var uncoNopyAmt = 0;
- var uncoSpecAmt = 0;
- var uncoTotAmt = 0;
- payownbamt = parseInt(payownbamt);
- nopyownbamt = parseInt(nopyownbamt);
- specownbamt = parseInt(specownbamt);
- // 금액은 본인부담금 총액을 넘기지 않는 범위에서 원단위 반올림하여 처리
- uncoPayAmt = Math.ceil((payownbamt * payapprate / 100) / 10) * 10;
- uncoNopyAmt = Math.ceil((nopyownbamt * nopyapprate / 100) / 10) * 10;
- uncoSpecAmt = Math.ceil((specownbamt * specapprate / 100) / 10) * 10;
- uncoTotAmt = uncoPayAmt + uncoNopyAmt + uncoSpecAmt;
- // 元금액을 초과하는 경우 元금액으로 재설정 (원단위절사)
- if (uncoTotAmt > payownbamt + nopyownbamt + specownbamt) {
- uncoTotAmt = Math.floor((payownbamt + nopyownbamt + specownbamt) / 10) * 10;
- }
- // 0원미만인 경우 0원으로 재설정
- if (uncoTotAmt < 0) {
- uncoTotAmt = 0;
- }
- var retArr = uncoTotAmt + "▦" + uncoPayAmt + "▦" + uncoNopyAmt + "▦" + uncoSpecAmt + "▦";
- // 배열형태로 리턴
- // retArr[0] : 미수총금액
- // retArr[1] : 급여미수금액
- // retArr[2] : 비급여미수금액
- // retArr[3] : 선택진료미수금액
- return retArr.split("▦");
- }
- /**
- * 장애인 구강센터 미수코드 조회
- */
- function fGetHndcUncocd(pid, orddd, orddeptcd, insukind){
- var uncocd ="";
- if(orddeptcd == "2242400000"){ // // 대구장애인구강센터
- if(utlf_isNull(pid)){
- sysf_messageBox("환자번호가 입력되지 않았습니다.", "E");
- return "";
- }
- if(utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과가 선택되지 않았습니다.", "E");
- return "";
- }
- if(utlf_isNull(insukind)){
- sysf_messageBox("보험유형이 선택되지 않았습니다.", "E");
- return "";
- }
- if(utlf_isNull(orddd)){
- sysf_messageBox("진료일자가 입력되지 않았습니다.", "E");
- return "";
- }
- fGetHandicapPatInfo(pid, orddd, orddeptcd, insukind); // 장애인 등록여부 확인
- if (ds_temp_handcappat_handcappatlist.rowcount >0) {
- hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- } else {
- sysf_messageBox("해당 환자는 장애인 등록이 되어 있지 않습니다.\n장애인 등록 후 진행부탁드립니다.", "E");
- fHndcRegister(pid, orddd, orddeptcd, insukind); // 장애인등록
- return hndc_slflag = utlf_transNullToEmpty(ds_temp_handcappat_handcappatlist.getColumn(0, "hndc_slflag"));
- }
- }else{
- return "";
- }
- }
- /**
- * 신 우편번호 체계에 따른 우편번호 확인
- */
- function fNewZipCode(zipcd1, zipcd2){
- if(zipcd2.length!=2){
- var rtn = sysf_messageBox("우편번호 변경 대상자 입니다. 변경하시겠습니까?", "Q000");
- if(rtn==6){
- return true;
- }else{
- return false;
- }
- }
- }
- /**
- * 신용카드 / 현금영수증 승인 및 취소처리
- * aprvFlag 승인구분
- * pid 등록번호
- * ordtype 진료구분
- * allotmm 할부개월수
- * aprvamt 승인금액
- * aprvNo 승인번호
- * aprvDd 승인일자
- * keyInptFlag 키입력구분
- * indInstFlag 개인법인구분
- * qualCnfmNo 현금영수증 자격확인번호
- */
- function fReqICVanAprv(ordergb, pano, iogb, carddivide, netamt, appno, appdate, entrymode, indInstFlag, qualCnfmNo) {
- // 업무구분(F1:신용승인, F2:신용취소, H3:현금승인, H4:현금취소) 매핑처리
- var pTrdType = "";
- if (ordergb == "11") { pTrdType = "F1";
- } else if (ordergb == "21") { pTrdType = "F2";
- } else if (ordergb == "41") { pTrdType = "H3";
- } else if (ordergb == "51") { pTrdType = "H4";
- } else {
- alert("신용카드/현금영수증 승인 구분을 확인해주십시오.");
- return false;
- }
- // 가맹점 사용영역 : 사후 트레이스를 위한 내역임(KOCES DB 저장)
- var pAuData = pano + "_" + iogb; // 등록번호(10)_진료구분(1)
- // 할부개월수
- var pMonth = "00";
- if (ordergb == "11") { // 카드승인
- pMonth = carddivide;
- }
- // 순매출액
- var pTrdAmt = netamt;
- // 원승인번호 / 원승인일자
- var pAuNo = " ";
- var pAuDate = " ";
- if (ordergb == "21" || ordergb == "51") {
- pAuNo = appno;
- pAuDate = appdate;
- }
- // Swipe구분
- var pKeyYn = " ";
- if (ordergb == "11") {
- if (entrymode == "S") {
- pKeyYn = "I"; // IC단말기로 거래시 Swipe -> I로 처리
- } else {
- pKeyYn = entrymode;
- }
- } else {
- pKeyYn = entrymode;
- }
- // 현금영수증 구분(1:개인, 2:법인)
- var pInsYn = "0";
- if (ordergb == "41" || ordergb == "51") { // 승인 / 취소
- if (indInstFlag == "00") { // 소득공제
- pInsYn = "1";
- } else if (indInstFlag == "01") { // 지출증빙
- pInsYn = "2";
- } else {
- alert("소득공제/지출증빙 구분을 확인해주십시오.");
- return false;
- }
- }
- // 현금영수증 신분확인번호
- var pCashNum = " ";
- if (ordergb == "41" || ordergb == "51") { // 승인 / 취소
- pCashNum = qualCnfmNo;
- }
- // 현금영수증 취소사유
- var pCancelReason = " ";
- if (ordergb == "51") { // 취소
- pCancelReason = "1"; // 1:거래취소, 2:오류발급, 3:기타
- }
- // ★★★★★ ICPos 승인요청 ★★★★★
- var aprvResult = KocesICAx.KocesICRequest( pTrdType, // 업무구분
- pAuData, // 가맹점사용 영역
- pMonth, // 할부개월수
- pTrdAmt, // 순매출액
- "0", // pSvcAmt 봉사료-해당사항 없음
- "0", // pTaxAmt 세금 -해당사항 없음
- "0", // pTaxFreeAmt 비과세-해당사항 없음
- pAuNo, // 원승인번호
- pAuDate, // 원승인일자
- pKeyYn, // Swipe구분
- pInsYn, // 현금영수증 구분
- pCashNum, // 현금영수증 신분확인번호
- pCancelReason, // 현금영수증 취소사유
- " ", // pPtSvrCd 서비스구분(포인트 적립관련 - 해당사항 없음)
- " ", // pPtInsYn 결제구분 (포인트 적립관련 - 해당사항 없음)
- " " // pPtCardCd 포인트코드(포인트 적립관련 - 해당사항 없음)
- );
- // var aprvResult = 0;
- // 요청결과 : 정상
- if (aprvResult == "0") {
- var aprvResultStr = KocesICAx.ICReqStr();
- //var aprvResultStr = "A1TFF2R07100000012016042908423800000000011496619_O 0000 70091139 20160429084238테스트 버전 입니다. 636093 NH농협체크 1106NH농협체크 1106비씨카드733842008 012000000232491";
- dsf_makeValue(ds_hidden, "cardaprvresult", "string", aprvResultStr);
- //model.refresh();
- // 처리결과 파싱(실제 승인여부는 처리결과를 파싱해보아야 알 수 있음)
- if (!fGetCardAprvResult(aprvResultStr)) {
- return false;
- // 정상처리 된 경우에만 서명정보 처리
- } else {
- // 전자서명 이미지 저장(신용카드거래의 경우에만 처리)
- if (pTrdType == "F1" || pTrdType == "F2") {
- var aprv_Min_Amt = sysf_getGlobalVariable("SPPAO00100_P0082_00_nm","p");
- if (aprv_Min_Amt == null || aprv_Min_Amt == "") {
- //modal("SPPAO00100"); //공통코드 초기화처리
- frmf_modal("SPPAO00100", "SPPAO00100", "", "", "", "", "", "", "", "", "", "", "M");
- aprv_Min_Amt = sysf_getGlobalVariable("SPPAO00100_P0082_00_nm","p");
- }
- if (aprv_Min_Amt == null || aprv_Min_Amt == "") {
- aprv_Min_Amt = 0;
- }
- // 5만원 초과하는 경우에만 서명처리
- if(pTrdAmt > parseInt(aprv_Min_Amt)){
- var filePath="C:\\Koces\\KocesICPos\\outfile.bmp"
- KocesImage.GetSign(filePath); // OCX 상에서 헥사값으로 변환
- var strKoces = KocesImage.Signstr; // OCX 상에서 헥사값을 취득
- var strDB = Sign_img_esign.getBase64data(); // DB보관용
- dsf_makeValue(ds_send_card, "aprv_elctsignkey", "string", strKoces);
- dsf_makeValue(ds_send_card, "aprv_elctsigncnts", "string", strDB);
- } else {
- dsf_makeValue(ds_send_card, "aprv_elctsignkey", "string", "");
- dsf_makeValue(ds_send_card, "aprv_elctsigncnts", "string", "");
- }
- // // 전자서명 이미지 검증용 소스 for 테스트 only
- // model.makeValue("/root/result/sign/elctsigncnts" , strDB , true);
- // setImageRefInstance("/root/result/sign/elctsigncnts");
- // Sign_img_output.attribute("ref") = "/root/temp";
- // Sign_img_output.refresh();
- // Sign_img_output.attribute("ref") = "/root/result/sign/elctsigncnts";
- // Sign_img_output.refresh();
- }
- }
- // 요청결과 : 비정상
- } else {
- var msg = "";
- if (aprvResult == "-1") {
- msg = "승인요구에러";
- } else if (aprvResult == "-2") {
- msg = "TimeOut";
- } else if (aprvResult == "-3") {
- msg = "ICPos 미실행";
- }
- alert("승인/취소 요청실패 : " + msg);
- return false;
- }
- return true;
- }
- // 결과전문 파싱
- // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
- // ★★★ KOCES와 연동되는 데이터이니 사전협의 없이 임의수정 금지!!! ★★★
- // ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
- function fGetCardAprvResult(param) {
- var startIdx = 0;
- var sApprVer = param.substring(startIdx, startIdx + 2); startIdx += 2; // 전문버전
- var sSvcType = param.substring(startIdx, startIdx + 2); startIdx += 2; // 서비스 종류
- var sTrdType = param.substring(startIdx, startIdx + 2); startIdx += 2; // 업무구분
- var sSndType = param.substring(startIdx, startIdx + 1); startIdx += 1; // 전송구분
- var sTermID = param.substring(startIdx, startIdx + 10); startIdx += 10; // 단말기번호
- var sTrdDate = param.substring(startIdx, startIdx + 14); startIdx += 14; // 거래일시
- var sTrdNo = param.substring(startIdx, startIdx + 10); startIdx += 10; // 거래일련번호
- var sMchData = param.substring(startIdx, startIdx + 20); startIdx += 20; // 가맹점사용 영역
- var sAnsCode = param.substring(startIdx, startIdx + 4); startIdx += 4; // 응답코드
- var sTradeNo = param.substring(startIdx, startIdx + 12); startIdx += 12; // Van서 부여하는 거래 고유번호
- var sAuNo = param.substring(startIdx, startIdx + 12); startIdx += 12; // 승인번호
- var sTradeDate = param.substring(startIdx, startIdx + 14); startIdx += 14; // 승인시간
- // 응답메시지 한글처리
- var endIdx = 0;
- var sum = 0;
- for (var i = startIdx; i < startIdx + 32; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 32) { // 32byte 가 되는 시점에 종료
- break;
- }
- }
- var sMessage = param.substring(startIdx, endIdx); startIdx = endIdx; // 응답메시지 *한글처리필요
- var sCardNo = param.substring(startIdx, startIdx + 40); startIdx += 40; // 카드 Bin
- // 카드종류명 한글처리
- sum = 0;
- for (var i = startIdx; i < startIdx + 12; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 12) { // 12byte 가 되는 시점에 종료
- break;
- }
- }
- var sCardKind = param.substring(startIdx, endIdx); startIdx = endIdx; // 카드종류명 *한글처리필요
- var sOrdCd = param.substring(startIdx, startIdx + 4); startIdx += 4; // 발급사코드
- // 발급사명 한글처리
- sum = 0;
- for (var i = startIdx; i < startIdx + 12; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 12) { // 12byte 가 되는 시점에 종료
- break;
- }
- }
- var sOrdNm = param.substring(startIdx, endIdx); startIdx = endIdx; // 발급사명 *한글처리필요
- var sInpCd = param.substring(startIdx, startIdx + 4); startIdx += 4; // 매입사코드
- sInpCd = sInpCd.substring(0, 2); // 매입사코드는 앞뒷자리만 처리
- // 매입사명 한글처리
- sum = 0;
- for (var i = startIdx; i < startIdx + 8; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 8) { // 8byte 가 되는 시점에 종료
- break;
- }
- }
- var sInpNm = param.substring(startIdx, endIdx); startIdx = endIdx; // 매입사명 *한글처리필요
- var sMchNo = param.substring(startIdx, startIdx + 16); startIdx += 16; // 가맹점번호
- var sPtCardCd = param.substring(startIdx, startIdx + 2); startIdx += 2;
- // 포인트카드사명 한글처리
- sum = 0;
- for (var i = startIdx; i < startIdx + 8; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 8) { // 8byte 가 되는 시점에 종료
- break;
- }
- }
- var sPtCardNm = param.substring(startIdx, endIdx); startIdx = endIdx; // 포인트카드사명 *한글처리필요
- var sJukPoint = param.substring(startIdx, startIdx + 9); startIdx += 9;
- var sGayPoint = param.substring(startIdx, startIdx + 9); startIdx += 9;
- var sNujPoint = param.substring(startIdx, startIdx + 9); startIdx += 9;
- var sSaleRate = param.substring(startIdx, startIdx + 9); startIdx += 9;
- var sPtAuNo = param.substring(startIdx, startIdx + 20); startIdx += 20;
- var sPtMchNo = param.substring(startIdx, startIdx + 15); startIdx += 15;
- var sPtAnswerCd = param.substring(startIdx, startIdx + 4); startIdx += 4;
- var sPtMessage = param.substring(startIdx, startIdx + 48); startIdx += 48;
- var sDDCYN = param.substring(startIdx, startIdx + 1); startIdx += 1; // DDC 여부
- var sEDIYN = param.substring(startIdx, startIdx + 1); startIdx += 1; // EDI 여부
- var sCardType = param.substring(startIdx, startIdx + 1); startIdx += 1; // 카드구분
- var sTrdKey = param.substring(startIdx, startIdx + 12); startIdx += 12; // 거래 고유키
- var sKeyRenewal = param.substring(startIdx, startIdx + 2); startIdx += 2; // 키 갱신일자
- // 여유필드 한글처리
- sum = 0;
- for (var i = startIdx; i < startIdx + 50; i++) {
- var str1 = param.substring(i, i + 1);
- var str2 = escape(str1);
- if ( str2.length <= 4 ) {
- sum++; // 영어숫자기호
- } else {
- sum += 2; // 한글
- }
- endIdx = i + 1;
- if (sum == 50) { // 50byte 가 되는 시점에 종료
- break;
- }
- }
- var sFiller = param.substring(startIdx, endIdx); // 여유필드 *한글처리필요 end of file
- // alert(
- // "sApprVer : " + sApprVer + "\r\n" +
- // "sSvcType : " + sSvcType + "\r\n" +
- // "sTrdType : " + sTrdType + "\r\n" +
- // "sSndType : " + sSndType + "\r\n" +
- // "sTermID : " + sTermID + "\r\n" +
- // "sTrdDate : " + sTrdDate + "\r\n" +
- // "sTrdNo : " + sTrdNo + "\r\n" +
- // "sMchData : " + sMchData + "\r\n" +
- // "sAnsCode : " + sAnsCode + "\r\n" +
- // "sTradeNo : " + sTradeNo + "\r\n" +
- // "sAuNo : " + sAuNo + "\r\n" +
- // "sTradeDate : " + sTradeDate + "\r\n" +
- // "sMessage : " + sMessage + "\r\n" +
- // "sCardNo : " + sCardNo + "\r\n" +
- // "sCardKind : " + sCardKind + "\r\n" +
- // "sOrdCd : " + sOrdCd + "\r\n" +
- // "sOrdNm : " + sOrdNm + "\r\n" +
- // "sInpCd : " + sInpCd + "\r\n" +
- // "sInpNm : " + sInpNm + "\r\n" +
- // "sMchNo : " + sMchNo + "\r\n" +
- // "sPtCardCd : " + sPtCardCd + "\r\n" +
- // "sPtCardNm : " + sPtCardNm + "\r\n" +
- // "sJukPoint : " + sJukPoint + "\r\n" +
- // "sGayPoint : " + sGayPoint + "\r\n" +
- // "sNujPoint : " + sNujPoint + "\r\n" +
- // "sSaleRate : " + sSaleRate + "\r\n" +
- // "sPtAuNo : " + sPtAuNo + "\r\n" +
- // "sPtMchNo : " + sPtMchNo + "\r\n" +
- // "sPtAnswerCd : " + sPtAnswerCd + "\r\n" +
- // "sPtMessage : " + sPtMessage + "\r\n" +
- // "sDDCYN : " + sDDCYN + "\r\n" +
- // "sEDIYN : " + sEDIYN + "\r\n" +
- // "sCardType : " + sCardType + "\r\n" +
- // "sTrdKey : " + sTrdKey + "\r\n" +
- // "sKeyRenewal : " + sKeyRenewal + "\r\n" +
- // "sFiller : " + sFiller
- // );
- model.resetInstanceNode("/root/hidden/temp");
- // 정상이외의 경우는 오류처리
- if (sAnsCode == "0000") {
- var msg = "";
- // 거래구분에 따른 메세지 설정
- if (sTrdType == "F1") { // 신용카드 승인
- msg = "신용카드 승인";
- } else if (sTrdType == "F2") { // 신용카드 취소
- msg = "신용카드 취소";
- } else if (sTrdType == "H3") { // 현금영수증 승인
- msg = "현금영수증 승인";
- } else if (sTrdType == "H4") { // 현금영수증 취소
- msg = "현금영수증 취소";
- }
- } else {
- // 비정상처리 시에는 오류메세지 팝업처리
- alert("신용카드/현금영수증 처리실패!! \r\n" + sMessage);
- return false;
- }
- // 거래구분 변환
- if (sTrdType == "F1") { // 신용카드 승인
- sTrdType = "12";
- } else if (sTrdType == "F2") { // 신용카드 취소
- sTrdType = "22";
- } else if (sTrdType == "H3") { // 현금영수증 승인
- sTrdType = "42";
- } else if (sTrdType == "H4") { // 현금영수증 취소
- sTrdType = "52";
- }
- // 해외카드 구분변환
- if (sCardType == "5") {
- sCardType = "3";
- }
- model.makeValue("/root/send/card/aprv_ordergb", sTrdType);
- //model.makeValue("/root/send/card/aprv_pid", "");
- model.makeValue("/root/send/card/aprv_appdate", sTradeDate.substring(0, 8));
- model.makeValue("/root/send/card/aprv_apptime", sTradeDate.substring(8,14));
- model.makeValue("/root/send/card/aprv_appno", sAuNo);
- //model.makeValue("/root/send/card/aprv_instcd", "");
- //model.makeValue("/root/send/card/aprv_keyinptflag", "");
- model.makeValue("/root/send/card/aprv_cardcmpycd", sInpCd);
- model.makeValue("/root/send/card/aprv_cardnumber", sCardNo.substring(0,4) + "************");
- //model.makeValue("/root/send/card/aprv_vancd", "");
- //model.makeValue("/root/send/card/aprv_allotmm", "");
- //model.makeValue("/root/send/card/aprv_valiterm", ); // 유효기간 없음
- //model.makeValue("/root/send/card/aprv_cardamt", "");
- model.makeValue("/root/send/card/aprv_trmnno", sTermID);
- //model.makeValue("/root/send/card/aprv_rcptexecdd", ); // java단에서
- //model.makeValue("/root/send/card/aprv_rcpttm", ); // java단에서
- //model.makeValue("/root/send/card/aprv_rcptrid", ); // java단에서
- //model.makeValue("/root/send/card/aprv_remfact", "");
- model.makeValue("/root/send/card/aprv_cardtype", sCardType);
- model.makeValue("/root/send/card/aprv_replystat", sAnsCode);
- return true;
- }
- /* 함수 호출값 구분
- rqvan 벤구분
- rqtrgb 전문구분
- rqamt 요청금액
- rqtax 부가세
- rqtip 봉사료
- rqinst 할부개월
- rqopt 거래옵션
- rqoad 원승인일자
- rqoan 원승인번호
- rqtrd 거래일련번호
- rqsgn 서명데이터
- rquda 가맹점정보
- rqext01 예비필드
- rqext02 예비필드2
- */
- function fReqICAprv(ordergb, pano, iogb, carddivide, netamt, appno, appdate, indInstFlag, qualCnfmNo, vangb, elctsignkey, aprvunino, diagdate, cardperiod, trmnno, deptcode, clientid) {
- // 밴구분
- /* pam.pmcmcode(cdgrupid = 'P0032', cdid='200', remark에 기술되어 있는 값을 전달)
- 01:KSNET
- 02:KICC
- 03:KOCES
- 04:DAOU
- 05:NICE
- 06:KIS
- 07:SMATRO
- 08:FD
- 09:KOVAN
- 10:JTNET
- */
- var rqvan = vangb;
-
- // 전문구분
- /*
- D1:신용카드 승인
- D2:신용카드 취소
- DT:신용카드 거래일련번호 취소
- H1:현금영수증 승인
- H2:현금영수증 취소
- HT:현금영수증 거래일련번호 취소
- C1:현금IC 승인
- C2:현금IC 취소
- C3:현금IC 잔액조회
- P1:수표조회
- U1:비대면결제 승인
- U2:비대면결제 취소
- U5:비대면결제 등록
- U4:비대면결제 삭제
- */
- var rqtrgb = "";
- if(ordergb == "11"){ // 신용카드결제
- rqtrgb = "D1";
- }else if(ordergb == "21"){ //신용카드취소
- rqtrgb = "D2";
- /* 아직 OCX에서 지원되지 않음(사용하지 않기로하고 모든 신용카드 취소는 D2로 통일(2018/05/31))
- if(!utlf_isNull(aprvunino) && aprvunino!="-"){
- rqtrgb = "DT"; //
- }else{
- rqtrgb = "D2";
- }
- */
- }else if(ordergb == "41"){ // 현금영수증 승인
- if(cardperiod=='3'){
- rqtrgb = "H3"; // 현금영수증 국세청카드 KEYIN승인
- }else{
- rqtrgb = "H1"; // 전화번호/주민번호/사업자번호 승인
- }
- }else if(ordergb == "51"){ // 현금영수증 취소
- if(cardperiod=='3'){
- rqtrgb = "H4"; // 현금영수증 국세청카드 KEYIN취소
- }else{
- rqtrgb = "H2"; // 전화번호/주민번호/사업자번호 취소
- }
- /* 아직 OCX에서 지원되지 않음(사용하지 않기로하고 모든 현금영수증 취소는 H2로 통일(2018/05/31))
- if(!utlf_isNull(aprvunino) && aprvunino!="-"){
- rqtrgb = "HT"; //
- }else{
- rqtrgb = "H2";
- }
- */
- }else if(ordergb == "31"){ // 수표조회
- rqtrgb = "P1";
- }else if(ordergb == "C1"){
- rqtrgb = "C1";
- }else if(ordergb == "C2"){
- rqtrgb = "C2";
- }else if(ordergb == "C3"){
- rqtrgb = "C3";
- }else if(ordergb == "U1"){
- rqtrgb = "U1";
- }else if(ordergb == "U2"){
- rqtrgb = "U2";
- }else if(ordergb == "U5"){
- rqtrgb = "U5";
- }else if(ordergb == "U4"){
- rqtrgb = "U4";
- }else {
- trace("ordergb :: " +ordergb);
- sysf_messageBox("신용카드/현금영수증/수표조회 구분을 확인해주십시오.", "E999", "");
- return false;
- }
-
- // 요청금액
- var rqamt = netamt;
-
- //부가세
- var rqtax = "";
-
- //봉사료
- var rqtip = "";
-
- // 예비필드1
- var rqext01 = "";
-
- // 예비필드2
- var rqext02 = "";
-
- //할부개월
- var rqinst = "00";
- if (ordergb == "11" || ordergb == "21" || ordergb == "U1" || ordergb == "U2") { // 카드승인 / 카드승인취소 / 비대면결제 승인 / 비대면결제 취소
- if(parseInt(escape(carddivide).length)==2){
- rqinst = carddivide;
- }else if(parseInt(escape(carddivide).length)<2){
- rqinst = parseInt(carddivide)<9?'0'+carddivide:carddivide;
- }
- }else if(ordergb=="31"){ // 수표조회
- if(utlf_isNull(carddivide)){
- sysf_messageBox("수표조회시 권종이 전달되지 않았습니다.", "E999", "");
- }else{
- rqinst = carddivide;
- }
- }else if(ordergb == "41" || ordergb == "51") { // 현금영수증 승인 / 취소
- if (indInstFlag == "00") { // 소득공제
- if(cardperiod=="3"){ // 신분확인구분이 국세청 카드일 경우
- if(qualCnfmNo.substring(8, 9) == "9"){
- rqinst = "01"; // 국세청 9번째자리가 9인경우는 지출증빙으로 변경처리
- }else{
- rqinst = "00"; // 국세청 9번째자리가 9가 아닌 경우는 소득공제로 처리
- }
- }else if(cardperiod=="4"){ // 사업자번호
- rqinst = "01";
- }else{
- rqinst = "00";
- }
- } else if (indInstFlag == "01") { // 지출증빙
- rqinst = "01";
- } else {
- sysf_messageBox("소득공제/지출증빙 구분을 확인해주십시오.", "E999", "");
- return false;
- }
- }
- //거래옵션
- var rqopt = "";
-
- //콜백정보(원승인카드번호/원승인현금영수증자격번호를 취소후에 리턴받기 위해서 추가함)
- var rqrtn = "";
- if(ordergb=='41'){ // 현금영수증 승인
- if(!utlf_isNull(qualCnfmNo) && qualCnfmNo != '-'){
- rqopt = "02"; //(KEYIN 방식입력)
- rqrtn = qualCnfmNo; // CALLBACK 정보 세팅
- }else{
- rqopt = "01"; //(PIN 방식입력)
- }
- } else if(ordergb == "51" || ordergb == "U2") { // 현금영수증 취소 / 비대면 취소
- if(ordergb == "U2"){ // 비대면 취소
- rqrtn = qualCnfmNo;
-
- }else if(ordergb == "51" ){ // 현금영수증 취소
- rqrtn = qualCnfmNo; // CALLBACK 정보 세팅
- rqopt = "02"; // KEYIN취소
- /* 2018/08/02 이정택 주석처리
- if(rqtrgb == 'H4'){ // 현금영수증 국세청카드 KEYIN취소
- rqrtn = qualCnfmNo; // CALLBACK 정보 세팅
- rqopt = "02"; // KEYIN취소
- }else{
- rqrtn = qualCnfmNo; // CALLBACK 정보 세팅
- rqopt = "01"; // 01:일반취소, 02:오류취소, 03:기타취소
- }
- */
- }
- //} else if (ordergb == "U5") { // U5:비대면 등록
- //} else if (ordergb == "U5" || ordergb == "U4") { // U5:비대면 등록, U4:비대면 삭제(삭제예정)
- // rqopt = cardperiod;
- }
-
- //신용카드결제 거래옵션 rqopt 설정 서재영_수정 2019.01.21
- else if (ordergb == "11"){ // 신용카드 결제
- /* 00:서명데이터 이용(binary data)
- 01:서명파일이용(bmp file)
- 02:KICC 서명패드 이용시
- 99:서명없음
- */
- if(parseInt(rqamt) < 50000) { // 5만원미만 결재 시 서명없음
- rqopt = "99";
- }else{ // 5만원이상 결재 시 서명파일이용(bmp file)
- rqopt = "01";
- }
- }else if (ordergb == "21"){ // 신용카드 취소
- rqrtn = qualCnfmNo;
-
- if(rqvan!='06'){ // 2019/03/13 모바일 결제가 아닌 경우 아래로직 타도록 수정(2019/03/13 이정택)
- if(parseInt(rqamt) < 50000) { // 5만원미만 취소 시 서명없음
- rqopt = "99";
- }else{ // 5만원이상 취소 시 서명파일이용(bmp file)
- rqopt = "01";
- }
- }
- }
-
- //원승인일자
- //원승인번호
- //거래일련번호
- var rqoad = ""; // 원승인일자
- var rqoan = ""; // 원승인번호
- var rqtrd = ""; // 거래일련번호
- if (ordergb == "21" || ordergb == "51" || ordergb == "U2") { //신용카드취소/현금영수증취소/비대면 결제취소
- rqoad = appdate; // 원승인일자
- rqoan = appno; // 원승인번호
-
- if(!utlf_isNull(aprvunino) && aprvunino!="-"){
- rqtrd = aprvunino; // 거래일련번호
-
- }
- }else if(ordergb == "31"){ //수표조회
- rqoad = diagdate; // 발행일자
- rqtrd = qualCnfmNo + cardperiod; // 수표번호 + 발행점코드
- } else if (ordergb == 'U5' || ordergb == 'U4' || ordergb == 'U1') { // 비대면 등록 : 신용카드번호, 비대면 삭제/승인 : 토큰번호
- rqtrd = qualCnfmNo;
- }
-
- //현금영수증 KEYIN 방식으로 승인요청 또는 신용카드 승인시 서명데이터
- var rqsgn = "";
- if(rqopt == '01' || rqopt == '02'){ // 신용카드, 현금영수증 keyin 승인의 경우 서명데이터에 자격을 태워서 보냄
- /* 2018/078/02 이정택 주석처리
- if(rqtrgb == 'H4'){ // 현금영수증 키인취소
- // 국세청카드로 취소시에는 암호화 안된 자격번호를 태워서 보내야함
- dsf_createDsRow("ds_send_cashinfo", [
- {col:"pid", val: pano}
- ]);
-
- var oParam = {};
- oParam.id = "TRPAO01801";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetCashBaseInfo";
- oParam.inds = "req=ds_send_cashinfo";
- oParam.outds = "ds_rcv_cashinfo=cashbase";
- oParam.async = false;
- tranf_submit(oParam);
-
- if(!utlf_isNull(ds_rcv_cashinfo.getColumn(0, "qualcnfmno")) && ds_rcv_cashinfo.getColumn(0, "qualcnfmno")!= '-'){
- rqsgn = ds_rcv_cashinfo.getColumn(0, "qualcnfmno");
- }else{
- rqopt = '01'; // 현금영수증 기준자료가 없다 하면 01(일반취소) 로 플래그 세팅해서 현금영수증 취소처리
- }
- }else if (rqtrgb == 'H1' || rqtrgb == 'H3'){ // 현금영수증 KEYIN승인
- rqsgn = qualCnfmNo;
- }
- */
- // 수정전rqsgn = qualCnfmNo;
- //신용카드결제 서명데이터 rqsgn 설정 서재영_수정 2019.01.21
-
- var signFilePath = "C:\\receipt\\esign.bmp"; // 5만원 이상 서명시 서명데이터(bmp)가 저장되는 절대위치
- if(rqtrgb == 'D1' || rqtrgb == 'D2'){ // 신용카드 승인의 경우 서명데이터
- rqsgn = signFilePath;
- }else { // 신용카드 제외
- rqsgn = qualCnfmNo;
- }
-
- trace("seo :" + rqsgn);
-
- }else if(rqvan=='06' && !utlf_isNull(trmnno) && trmnno!='-'){ // 모바일결제건 취소처리
- // 모바일 결제건 취소는 knuh_conf.ini의 [MOBILE]에 설정되어 있는 MOBTID를 이용하여 취소처리(2019/06/27)
- // rqsgn = trmnno;
- // 모바일 결제건 취소는 knuh_conf.ini의 [MOBILE]에 설정되어 있는 MOBTID를 이용하여 취소처리(2019/06/27)
- }else{
- // 수정전 rqsgn = elctsignkey;
- //신용카드결제 서명데이터 rqsgn 설정 서재영_수정 2019.01.21
- if(rqopt == '99'){ // 5만원 미만 시 서명없음
- rqsgn = "";
- }else{
- rqsgn = elctsignkey;
- }
- }
- // 가맹점정보(FS코드를 사용하여 세팅필요)
- var rquda = "";
-
- //rquda = pano + "0x1C" + iogb + "0x1C" + deptcode + "0x1C" + diagdate + "0x1C" + clientid; // 등록번호/진료구분/진료과코드/진료일자/수납자ID
-
- rquda = utlf_getCurrentDate() + ":" + pano + ":" + iogb + ":" + deptcode + ":" + diagdate + ":" + clientid; // 회계일자/등록번호/진료구분/진료과코드/진료일자/수납자ID
-
-
- trace("------------------------------------요청전문------------------------------------")
- trace("밴구분:" + rqvan);
- trace("전문구분:" + rqtrgb);
- trace("요청금액:" + rqamt);
- trace("부가세:" + rqtax);
- trace("봉사료:" + rqtip);
- trace("할부개월:" + rqinst);
- trace("거래옵션:" + rqopt);
- trace("원승인일자:" + rqoad);
- trace("원승인번호:" + rqoan);
- trace("거래일련번호:" + rqtrd);
- trace("서명데이터:" + rqsgn);
- trace("가맹점정보:" + rquda);
- trace("콜백정보 :" + rqrtn);
- trace("예비필드1:" + rqext01);
- trace("예비필드2:" + rqext02);
- trace("------------------------------------요청전문------------------------------------")
-
- // ★★★★★ ICPos 승인요청 ★★★★★
- var aprvResultStr = KNUH_IC_OCX.gaon_ic_request(rqvan, //밴구분
- rqtrgb, //전문구분
- rqamt, //요청금액
- rqtax, //부가세
- rqtip, //봉사료
- rqinst, //할부개월
- rqopt, //거래옵션(현금영수증 KEYIN 승인시 02로 세팅)
- rqoad, //원승인일자
- rqoan, //원승인번호
- rqtrd, //거래일련번호
- rqsgn, //서명데이터(현금영수증 승인이 환자자격번호로 사용)
- rquda, //가맹점추가정보
- rqrtn, //콜백정보
- rqext01, //예비필드1
- rqext02 //예비필드2
- );
- trace("승인요청 리턴값 : :" + aprvResultStr);
- trace("응답메시지:" + KNUH_IC_OCX.gaon_rsmsg());
- trace("응답코드:" + KNUH_IC_OCX.gaon_rsrtncd());
-
- if(KNUH_IC_OCX.gaon_rsrtncd()=="0000"){ // 정상
- //var aprvrtn = KNUH_IC_OCX.gaon_ic_respone();
- trace("------------------------------------승인전문------------------------------------")
- trace("승인결과전문: " + KNUH_IC_OCX.gaon_ic_respone());
- trace("------------------------------------승인전문------------------------------------")
- //dsf_makeValue(ds_hidden, "cardaprvresult", "string", aprvResultStr);
-
- var sTrdType = KNUH_IC_OCX.gaon_rstrgb();
-
- //거래구분변경
- if (sTrdType == "D1" || sTrdType == "U1") { // 신용카드 승인 / 비대면 승인
- sTrdType = "12";
- } else if (sTrdType == "D2" || sTrdType == "U2") { // 신용카드 취소 / 비대면 취소
- sTrdType = "22";
- } else if (sTrdType == "DT") { // 신용카드 거래일련번호 취소
- sTrdType = "22";
- } else if (sTrdType == "H1" || sTrdType == "H3") { // 현금영수증 승인
- sTrdType = "42";
- } else if (sTrdType == "H2" || sTrdType == "H4") { // 현금영수증 취소
- sTrdType = "52";
- }else if (sTrdType == "HT") { // 현금영수증 거래일련번호 취소
- sTrdType = "52";
- }else if (sTrdType == "P1") { // 수표조회
- sysf_messageBox("조회결과 : " + KNUH_IC_OCX.gaon_rsmsg(), "I");
- return true;
- }
-
- ds_send_card.setColumn(0, "aprv_ordergb", sTrdType);
- ds_send_card.setColumn(0, "aprv_appdate", KNUH_IC_OCX.gaon_rsadd());
- ds_send_card.setColumn(0, "aprv_apptime", KNUH_IC_OCX.gaon_rsatm());
- ds_send_card.setColumn(0, "aprv_appno", KNUH_IC_OCX.gaon_rsapn());
- ds_send_card.setColumn(0, "aprv_cardcmpycd", KNUH_IC_OCX.gaon_rsmcd().substring(1, 3));
- if (ordergb=='11'){ // 신용카드 승인
- ds_send_card.setColumn(0, "aprv_cardnumber", KNUH_IC_OCX.gaon_rscardno().substring(0, 6)+'**********');
- } else if (ordergb=='41'){ // 현금영수증 승인(마스킹 처리 안된 원자격번호가 저장되도록 수정 2018/08/02)
- ds_send_card.setColumn(0, "aprv_cardnumber", KNUH_IC_OCX.gaon_rscallrtn().trim());
- } else if (ordergb == 'U5'){ // 비대면 등록
- ds_send_card.setColumn(0, "aprv_cardnumber", KNUH_IC_OCX.gaon_rscardno().trim());
- } else if (ordergb=='21' || ordergb =='51' || ordergb == 'U2'){ // 신용카드 취소/ 현금영수증 취소 / 비대면 취소 시에는 콜백데이터를 저장함
- ds_send_card.setColumn(0, "aprv_cardnumber", KNUH_IC_OCX.gaon_rscallrtn().trim());
- } else if (ordergb == 'U1') { // 비대면 승인 시 카드정보 / 토큰정보
- ds_send_card.setColumn(0, "aprv_cardnumber", KNUH_IC_OCX.gaon_rscardno().substring(0, 6)+'**********');
- ds_send_card.setColumn(0, "track2data", rqtrd);
- }
-
- ds_send_card.setColumn(0, "aprv_trmnno", KNUH_IC_OCX.gaon_rsmid());
- ds_send_card.setColumn(0, "aprv_cardtype", KNUH_IC_OCX.gaon_rscardchk());
- ds_send_card.setColumn(0, "aprv_replystat", KNUH_IC_OCX.gaon_rsrtncd());
- ds_send_card.setColumn(0, "aprv_aprvunino", KNUH_IC_OCX.gaon_rstridx());
- ds_send_card.setColumn(0, "aprv_vangb", KNUH_IC_OCX.gaon_rsvan());
-
- trace("------------------------------------리턴값------------------------------------");
- trace("승인/취소된 밴구분 : " + KNUH_IC_OCX.gaon_rsvan());
- trace("승인구분 : " + KNUH_IC_OCX.gaon_rstrgb());
- trace("단말기번호 : " + KNUH_IC_OCX.gaon_rstid());
- trace("카드번호 : " + KNUH_IC_OCX.gaon_rscardno());
- trace("응답결과 : " + KNUH_IC_OCX.gaon_rsrtncd());
- trace("거래일련번호 : " + KNUH_IC_OCX.gaon_rstridx());
- trace("승인번호 : " + KNUH_IC_OCX.gaon_rsapn());
- trace("승인일자 : " + KNUH_IC_OCX.gaon_rsadd());
- trace("승인시간 : " + KNUH_IC_OCX.gaon_rsatm());
- trace("매입사코드 : " + KNUH_IC_OCX.gaon_rsmcd());
- trace("매입사명 : " + KNUH_IC_OCX.gaon_rsmnm());
- trace("발급사코드 : " + KNUH_IC_OCX.gaon_rsicd());
- trace("발급사명 : " + KNUH_IC_OCX.gaon_rsinm());
- trace("가맹점번호 : " + KNUH_IC_OCX.gaon_rsmid());
- trace("서명유무 : " + KNUH_IC_OCX.gaon_rssignchk());
- trace("카드구분 : " + KNUH_IC_OCX.gaon_rscardchk());
- trace("결제후 잔액 : " + KNUH_IC_OCX.gaon_rsremamt());
- trace("콜백리턴 : " + KNUH_IC_OCX.gaon_rscallrtn());
- trace("응답메시지 : " + KNUH_IC_OCX.gaon_rsmsg());
- trace("------------------------------------리턴값------------------------------------");
-
- return true;
- }else{
-
- ds_send_card.setColumn(0, "aprv_replystat", KNUH_IC_OCX.gaon_rsrtncd());
- ds_send_card.setColumn(0, "aprv_replymsg", KNUH_IC_OCX.gaon_rsmsg());
-
- // 비대면 결제승인의 경우 팝업처리 예외(loop 처리용)
- if (rqtrgb != 'U1') {
- sysf_messageBox("승인실패 : " + KNUH_IC_OCX.gaon_rsmsg(), "E999", "");
- }
-
- return false;
- }
- }
- //=======================================================================================
- // Function 이전에 작엄된 내용들. ...
- // 2016.8.6 이전에 적용된 것들....
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Function : pamGetDeptCDDrIDList
- * Description : 현재일자 시스템일자 기준으로 조회
- * Argument : sDeptlist : 과정보를 담을 Dataset Name
- * : sDrlist : 의사정보를 담을 Dataset Name
- * : sCentlist : 센터정보를 담을 Dataset Name
- * : sSubdeptlist : 보조 과정보를 담을 Dataset Name
- * return type :
- * Creator :
- ****************************************************************************************/
- function pamGetDeptCDDrIDList(sDeptlist, sDrlist, sCentlist, sSubdeptlist){
- // submit("TRPAM00101");
- dsf_createDs("ds_tmp_orddeptcdlist");
- dsf_createDs("ds_tmp_orddridlist");
- dsf_createDs("ds_tmp_centcdlist");
- dsf_createDs("ds_tmp_subdeptcdlist");
- var oParam = {};
- oParam.id = "TRPAM00101";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetDeptCDDrID";
- oParam.outds = "ds_tmp_orddeptcdlist=orddeptcd ds_tmp_orddridlist=orddrid ds_tmp_centcdlist=centcd ds_tmp_subdeptcdlist=subdeptcd";
- oParam.async = false;
- tranf_submit(oParam);
- // 주과정보
- if(utlf_isNull(sDeptlist)){
- dsf_createDs("ds_init_orddeptcdlist");
- dsf_copyDs(ds_init_orddeptcdlist,ds_tmp_orddeptcdlist,"replace");
- }else{
- dsf_createDs(sDeptlist);
- dsf_copyDs(this.objects[sDeptlist],ds_tmp_orddeptcdlist,"replace");
- }
- // 주치의정보
- if(utlf_isNull(sDrlist)){
- dsf_createDs("ds_init_orddridlist");
- dsf_copyDs(ds_init_orddridlist ,ds_tmp_orddridlist ,"replace");
- }else{
- dsf_createDs(sDrlist);
- dsf_copyDs(this.objects[sDrlist],ds_tmp_orddridlist,"replace");
- }
- // 센터정보
- if(utlf_isNull(sCentlist)){
- dsf_createDs("ds_init_centcdlist");
- dsf_copyDs(ds_init_centcdlist ,ds_tmp_centcdlist ,"replace");
- }else{
- dsf_createDs(sCentlist);
- dsf_copyDs(this.objects[sCentlist],ds_tmp_centcdlist,"replace");
- }
- // 보조과정보
- if(utlf_isNull(sSubdeptlist)){
- dsf_createDs("ds_init_subdeptcdlist");
- dsf_copyDs(ds_init_subdeptcdlist,ds_tmp_subdeptcdlist,"replace");
- }else{
- dsf_createDs(sSubdeptlist);
- dsf_copyDs(this.objects[sDeptlist],ds_tmp_subdeptcdlist,"replace");
- }
- dsf_deleteDs("ds_tmp_orddeptcdlist");
- dsf_deleteDs("ds_tmp_orddridlist");
- dsf_deleteDs("ds_tmp_centcdlist");
- dsf_deleteDs("ds_tmp_subdeptcdlist");
- }
- /****************************************************************************************
- * Function : fApproveHeallifeAmt2
- * Description : 자격조회 - 임플란트등록신청, 레진틀니등록신청에서 호출 의료급여자격조회승인화면이 만들어져야 가능.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fApproveHeallifeAmt2(){
- //보험증번호 조회(보험자격조회)
- // var starttime = utlf_getCurrentTime();
- //
- //
- // // var ivrObjt = document.all("ivr_insupopup");
- // // if( utlf_isNull(ivrObjt) ){
- // // body.createChild("xforms:iviewer", "id:ivr_insupopup; src:../../../pam/pamcomnweb/xrw/SPPMC03900_의료급여자격조회승인.xrw");
- // // ivrObjt = document.all("ivr_insupopup");
- // // //공통코드 초기화
- // // ivrObjt.fGetInitCode();
- // // }
- //
- // frmf_open("SPPMC03900", "SPPMC03900", "", "", "", "", "", "", "", "", "", "", "P");
- // var ivrObjt = frmf_findPopup("SPPMC03900");
- // ivrObjt.fGetInitCode();
- //
- //
- //
- // //팝업타입 - 아이뷰어로 세팅 메세지 처리시 필요
- // frmf_setParameter("SPPMC03900_POPUPTYPE", "I"); //iviewer
- //
- // //데이터 초기화 및 자격조회
- // if( ivrObjt.fInit() != true ){
- // //messageBox("[보험 자격조회 오류]건유비청구가 정상적으로 되지 않았습니다. 건유비청구 팝업에서 직접 차감해주세요.", "E999", "");
- // //ivrObjt.fClose();
- // //return false;
- // }
- //
- // ivrObjt.fClose();
- // var finishtime = utlf_getCurrentTime();
- var objDiv = this.components["ivr_insupopup"];
- if (objDiv == null) {
- objDiv = new Div("ivr_insupopup", 0, 0, 0, 0);
- objDiv.url = sysf_getScreenURL("SPPMC03900");
- this.addChild("ivr_insupopup", objDiv);
- objDiv.asyncmode = false;
- objDiv.show();
- objDiv.fGetInitCode();
- }
-
- objDiv.frmf_setParameter("SPPMC03900_POPUPTYPE", "I");
- objDiv.fInit();
- objDiv.fClose();
- //this.removeChild("ivr_insupopup");
- }
- /**
- * @desc : 의사휴진일정 및 진료환자정원 조회
- * <pre>
- * input : insucd 보험자기호(보험자코드)
- * insuflag 보험자형태
- * 1:공단/2:의료급여/3:자보/4:산재공상/5:일반/6:외국인
- * </pre>
- * @param : orddrid, orddeptcd, orddd, ordtm, fsexamflag
- * @return :
- * @---------------------------------------------------
- */
- function fGetVerifyHoli2(centcd, orddrid, orddeptcd, subdeptcd, orddd, ordtm, fsexamflag, rsrvflag, reglscheyn){
- // if(centcd == '-')
- // centcd = '';
- var arrColInfo = [{col: "otpt_orddrid", type:"string", size:256, val:orddrid},
- {col: "otpt_orddeptcd", type:"string", size:256, val:orddeptcd},
- {col: "otpt_subdeptcd", type:"string", size:256, val:subdeptcd},
- {col: "otpt_centcd", type:"string", size:256, val:centcd},
- {col: "otpt_orddd", type:"string", size:256, val:orddd},
- {col: "otpt_ordtm", type:"string", size:256, val:ordtm},
- {col: "otpt_fsexamflag", type:"string", size:256, val:fsexamflag},
- {col: "otpt_rsrvflag", type:"string", size:256, val:rsrvflag}
- ];
- dsf_createDsRow("ds_hidden_temp_send",arrColInfo);
- var oParam = {};
- oParam.id = "TRPMO00112";
- oParam.service = "opatmngtapp.OPatMngt";
- oParam.method = "reqGetVeriHoli";
- oParam.inds = "req=ds_hidden_temp_send";
- oParam.outds = "ds_hidden_temp_result_veryholi=veryholi";
- oParam.async = false;
- oParam.callback = "cf_TRPMO00112";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRPMO00112") > -1){
- var msg = utlf_transNullToEmpty(ds_hidden_temp_result_veryholi.getColumn(0,"msg"));
- var msgtype = ds_hidden_temp_result_veryholi.getColumn(0,"msgtype");
- if( msgtype != 'E999' && msgtype != 'Q999' ){
- msgtype = 'Q999';
- }
- dsf_deleteDs("ds_hidden_temp_send");
- if( ds_hidden_temp_result_veryholi.getColumn(0,"exception") != "OK" &&
- ds_hidden_temp_result_veryholi.getColumn(0,"exception") != "Center" ){
- if( utlf_isNull(msg) ){
- if( msgtype == "Q999" ){
- if( sysf_messageBox("의사휴진일정 및 정원 확인 오류!. 계속 진행 하시겠습니까?", msgtype, "") == "6"){
- return true;
- }else{
- return false;
- }
- }else{
- sysf_messageBox("의사휴진일정 및 정원 확인 오류!", msgtype, "");
- return false;
- }
- }else{
- if( reglscheyn == "Y" ){
- if( msgtype == "Q999" ){
- if( sysf_messageBox(msg + " 계속 진행 하시겠습니까?", msgtype, "") == "6"){
- var centcd = "";
- if (!utlf_isNull(ds_hidden_temp_result_veryholi.getColumnInfo("centcd"))) {
- centcd = ds_hidden_temp_result_veryholi.getColumn(0, "centcd");
- }
- if (utlf_isNull(centcd) || centcd == " " || centcd == "-") {
- centcd = true;
- }
- return centcd
- }else{
- return false;
- }
- }else{
- sysf_messageBox(msg, msgtype, "");
- return false;
- }
- }else{
- sysf_messageBox(msg, "E999", "");
- return false;
- }
- }
- }else if( ds_hidden_temp_result_veryholi.getColumn(0,"exception") == "Center" ){
- if( sysf_messageBox(msg + "해당 센터로 접수[예약]하시겠습니까?", "Q999", "") == "6"){
- var centcd = "";
- if (!utlf_isNull(ds_hidden_temp_result_veryholi.getColumnInfo("centcd"))) {
- centcd = ds_hidden_temp_result_veryholi.getColumn(0, "centcd");
- }
- return centcd;
- }else{
- return false;
- }
- }
- }else{
- dsf_deleteDs("ds_hidden_temp_send");
- if( sysf_messageBox("의사휴진일정 및 정원 확인 실패!. 계속 진행 하시겠습니까?", "Q999", "") == "6"){
- return true;
- }else{
- return false;
- }
- return false;
- }
- return true;
- }
- function cf_TRPMO00112(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 참고사항 팝업 호출
- ****************************************************************************************/
- function fCallSpecPopUp_remfact(pid,remfact){
- var remfact_rtn = "";
- sysf_setGlobalVariable('ptbs_pid', pid, 'p');
- sysf_setGlobalVariable('ptbs_remfact', remfact, 'p');
- //2018/04/26 이정택 수정
- // frmf_modal('SMPAI02200', 'SMPAI02200', '', '', '', '', '', '', '', '', '', '', 'M');
- frmf_modal('SMPAI02200', 'SMPAI02200', '', false, 1, '', '', 556, 310, '', '', '', 'M');
- //2018/04/26 이정택 수정
-
-
- remfact_rtn = sysf_getGlobalVariable('ptbs_remfact', 'p');
- sysf_setGlobalVariable('ptbs_pid', '', 'p');
- sysf_setGlobalVariable('ptbs_remfact', '', 'p');
- return remfact_rtn;
- }
- function fCheckDrSche(orddrid, orddeptcd, orddd, ordtm, medamtestmyn, etcordflag, insukind, suppkind){
- if(utlf_isNull(orddrid)){
- sysf_messageBox("진료의사 코드가 비어있습니다", "E999", "");
- return false;
- }
- if(utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과 코드가 비어있습니다", "E999", "");
- return false;
- }
- if(utlf_isValidDateTime(orddd, "YYYYMMDD") == false){
- sysf_messageBox("진료일자 6자리 형식오류입니다.", "E999", "");
- return false;
- }
- if(utlf_isValidDateTime(ordtm, "hhmm") == false){
- sysf_messageBox("진료시간 4자리 형식오류입니다.", "E999", "");
- return false;
- }
- if(utlf_isNull(medamtestmyn)){
- sysf_messageBox("잔찰료산정여부 코드가 비어있습니다", "E999", "");
- return false;
- }
- if(utlf_isNull(etcordflag)){
- sysf_messageBox("연속처방/기타구분 코드가 비어있습니다", "E999", "");
- return false;
- }
- var arrColInfo = [{col:"orddrid", type:"string", size:256, val:orddrid},
- {col:"orddeptcd", type:"string", size:256, val:orddeptcd},
- {col:"orddd", type:"string", size:256, val:orddd},
- {col:"ordtm", type:"string", size:256, val:ordtm},
- {col:"medamtestmyn", type:"string", size:256, val:medamtestmyn},
- {col:"etcordflag", type:"string", size:256, val:etcordflag},
- {col:"insukind", type:"string", size:256, val:insukind},
- {col:"suppkind", type:"string", size:256, val:suppkind}
- ];
- dsf_createDsRow("ds_checkdrschesend",arrColInfo);
- var oParam = {};
- oParam.id = "TRPAO00004";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetDrUseFlagForSche_xp";
- oParam.inds = "req=ds_checkdrschesend";
- oParam.outds = "ds_temp_checkdrscheResult_useinfo=useinfo";
- oParam.async = false;
- oParam.callback = "cf_TRPAO00004";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRPAO00004") > -1){
- return true;
- }
- }
- function cf_TRPAO00004(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /*
- * 수납마감 사용자관리 정보 조회
- * 수납자 마감결제 여부를 조회
- */
- function isMagmAprv(){
- //로그인ID
- var rcptrid = sysf_getUserId();
- //현재시간
- var rcptexecdd = utlf_getCurrentDate();
- //수납마감 사용자관리 정보 체크
- // 전송을 위한 데이터셋 생성
- dsf_createDsRow('ds_req_MagmAprv', [
- { col: 'rcptrid', type: 'string', size: 256, val: rcptrid },
- { col: 'rcptexecdd', type: 'string', size: 256, val: rcptexecdd }
- ], false);
- // 수신받은ㄹ 데이터셋 생성
- dsf_createDs('ds_out_rcptuserinfo', [ { col: 'useyn', type: 'string', size: 256} ]);
- // 전송 파라미터 생성
- var oParam = {};
- oParam.id = "TRPAO00006";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetRcptuserInfo";
- oParam.inds = "req=ds_req_MagmAprv";
- oParam.outds = "ds_out_rcptuserinfo=rcptuserinfo";
- oParam.async = false;
- // oParam.callback = "cf_TRPAO00006";
- tranf_submit(oParam);
- if(ds_out_rcptuserinfo.rowcount > 0){
- if(ds_out_rcptuserinfo.getColumn(0, 'useyn') == 'N'){
- sysf_messageBox('수납마감 사용자관리에 등록되지 않은 사용자 입니다.\r\n접수/수납업무는 더이상 진행할 수 없습니다.', 'C000');
- return true;
- }
- }
- //수납자 마감결제 여부 체크
- // 수신받은ㄹ 데이터셋 생성
- dsf_createDs('ds_out_aprvinfo', [ { col: 'aprvyn', type: 'string', size: 256} ]);
- oParam = {};
- oParam.id = "TRPAO00005";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetMagmAprv";
- oParam.inds = "req=ds_req_MagmAprv";
- oParam.outds = "ds_out_aprvinfo=aprvinfo";
- oParam.async = false;
- //oParam.callback = "cf_TRPAO00005";
- tranf_submit(oParam);
- var aprvyn = ds_out_aprvinfo.getColumn(0, 'aprvyn');
- if(aprvyn == 'Y'){
- sysf_messageBox(rcptexecdd.substr(0, 4) + '년 ' + rcptexecdd.substr(4, 2) + '월 ' + rcptexecdd.substr(6, 2)
- + '일자의 수납마감이 완료되었습니다!!!\r\n해당일자의 접수/수납업무는 더이상 진행할 수 없습니다.\r\n(마감 결제취소 후 업무진행이 가능)', 'C000');
- return true;
- }
- return false;
- }
- /**
- 공통코드에 세팅된 프린터 명칭과 트레이번호 가져오기
- */
- function fGetPrintName(pCaller) {
- frmf_modal("SPPAO00100", "SPPAO00100", "", "","", "", "", "", "", "", "", "", "M"); //프린터 공통코드 세팅 호출
- //frmf_modal("SPPAI02600", "SPPAI02600", objArg, "", 1, 200, 200, "", "", "", "", "", "M");
- //화면단에서 수동으로 출력할경우 아래여부가 Y이면 디폴트프린터로 강제로 출력한다.
- var force_print = sysf_getGlobalVariable("SPPAO00100_강제출력여부","p");
- if(sysf_getGlobalVariable("SPPAO00100_P0045_1_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_1_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_2_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_2_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_3_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_3_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_4_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_4_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_5_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_5_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_6_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_6_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_7_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_7_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_8_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_8_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- if(sysf_getGlobalVariable("SPPAO00100_P0045_9_nm_org","p") == "false" && force_print == "Y") {
- sysf_setGlobalVariable("SPPAO00100_P0045_9_nm",sysf_getGlobalVariable("SPPAO00100_P0045_100_nm","p"),"p");
- }
- //강제출력여부 초기화 sysf_setGlobalVariable("SPPAO00100_강제출력여부", "" ,"p");
- }
- /**
- 선택진료 팝업 호출
- */
- function fCallSpecPopUp(pid,ordtype,orddd,orddeptcd,orddrid,fromdd,hngnm,rrgstno1,rrgstno2,cretno,autoprntyn) {
- frmf_modal("SPPAO00100", "SPPAO00100", "", "", "", "", "", "", "", "", "", "","M");
- var P0032_250 = sysf_getGlobalVariable("SPPAO00100_P0032_250_nm","p");
- // 구화면 / 신화면 사용안함 by 조중래 20151202
- // //구화면
- // if(P0032_250 == "N") {
- //
- // model.makeValue("/root/tempchk/specchk/stat" , "");
- // model.makeValue("/root/tempchk/specchk/pid" , pid);
- // model.makeValue("/root/tempchk/specchk/hngnm" , hngnm);
- // model.makeValue("/root/tempchk/specchk/rrgstno1" , rrgstno1);
- // model.makeValue("/root/tempchk/specchk/rrgstno2" , rrgstno2);
- // model.makeValue("/root/tempchk/specchk/choiflag" , "");
- // model.makeValue("/root/tempchk/specchk/ordtype" , ordtype);
- // model.makeValue("/root/tempchk/specchk/orddd" , orddd);
- // model.makeValue("/root/tempchk/specchk/orddeptcd", orddeptcd);
- // model.makeValue("/root/tempchk/specchk/orddrid" , orddrid);
- // model.makeValue("/root/tempchk/specchk/specordyn", "Y");
- // model.makeValue("/root/tempchk/specchk/fromdd" , fromdd);
- // model.makeValue("/root/tempchk/specchk/rsrvdd" , "");
- //
- // modal("SMPMC06500", "1", "0", "0" ,"SMPMC06500", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
- //
- // }
- //
- // //신화면
- // if(P0032_250 == "Y") {
- //
- // model.makeValue("/root/tempchk/specchk/pid" , pid);
- // model.makeValue("/root/tempchk/specchk/ordtype" , ordtype);
- // model.makeValue("/root/tempchk/specchk/orddd" , orddd);
- // model.makeValue("/root/tempchk/specchk/orddeptcd" , orddeptcd);
- // model.makeValue("/root/tempchk/specchk/orddrid" , orddrid);
- // model.makeValue("/root/tempchk/specchk/fromdd" , fromdd);
- //
- // modal("SMPMC06501", "1", "0", "0" ,"SMPMC06501", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
- // }
- //2011.10 고시반영 - OCR 서식 사용
- if(P0032_250 == "A") {
- frmf_setParameter("SMPMC06502_PARM_PID", pid);
- frmf_setParameter("SMPMC06502_PARM_ORDTYPE", ordtype);
- frmf_setParameter("SMPMC06502_PARM_ORDDD", orddd);
- frmf_setParameter("SMPMC06502_PARM_CRETNO", cretno);
- frmf_setParameter("SMPMC06502_PARM_ORDDEPTCD", orddeptcd);
- frmf_setParameter("SMPMC06502_PARM_ORDDRID", orddrid);
- frmf_setParameter("SMPMC06502_PARM_FROMDD", fromdd);
- frmf_setParameter("SMPMC06502_PARM_AUTOPRNTYN", autoprntyn);
- //modal("SMPMC06502", "1", "0", "0" ,"SMPMC06502", "/root/tempchk/specchk", "/root/main/patappinfo/patappinfo1");
- //frmf_modal("SMPMC06502", "SMPMC06502", "", "", "", "", "", "", "", "", "", "","M");
- dsf_createDsRow("ds_tempchk_specchk" , [
- {col: "pid", val:pid}
- ,{col: "cretno", val:cretno}
- ,{col: "ordtype", val:ordtype}
- ,{col: "orddd", val:orddd}
- ,{col: "orddeptcd", val:orddeptcd}
- ,{col: "orddrid", val:orddrid}
- ,{col: "fromdd", val:fromdd}
- ,{col: "autoprntyn", val:autoprntyn}
- ]);
- var objArg = new Object();
- objArg.arg_ds_patappinfo_patappinfo1 = ds_tempchk_specchk;
- frmf_modal("SMPMC06502", "SMPMC06502", objArg, null, null, null, null, null, null, null, null, null, "M");
- }
- }
- /**
- * @desc :
- * @param : @dest: 원본
- @target: 비교대상
- * @return : 두 데이터셋이 같다면 true, 그렇지 않다면 false
- * @---------------------------------------------------
- */
- function pamCompareNodes(dest:Dataset, target:Dataset){
- if(utlf_isNull(dest) || utlf_isNull(target)){
- return false;
- }
- if(dest.rowcount != target.rowcount){
- return false;
- }
- // 행만큼 반복 하며 확인
- for(var i = 0; i < dest.rowcount; i++){
- // 열만큼 반복하며 확인
- for(var j = 0; j < dest.colcount; j++){
- if(dest.getColumn(i, j) != target.getColumn(i, dest.getColID(j))){
- return false;
- }
- }
- }
- return true;
- }
- /*
- * 선택진료비제도 개선관련 추가징수/환불대상(실시정산) 조회기능 추가 by 조중래 (2014년 7월 28일)
- * openType을 지정하지 않는경우 modal로 처리(진료지원 등)
- */
- function getPrcpRcptCheck(workType, pid, orddd, cretno, prcpdd, execPrcpUniqno, openType) {
- var cnt = 0;
- // 정산대상처방조회
- var obj = this.components["prcpRcptCheckObj"];
-
- if (utlf_isNull(obj)) {
- obj = new Div("prcpRcptCheckObj");
- obj.asyncmode = false;
- obj.url = "pam_pamcomnxp::SPPMO02001_정산대상처방조회.xfdl";
- this.addChild("prcpRcptCheckObj", obj);
- obj.show();
- }
- var msg = obj.fCheckNhicInfo(workType, pid, orddd, cretno, prcpdd, execPrcpUniqno);
-
- if (!utlf_isNull(msg)) {
- var msgArr = msg.split("|");
- this.enable = false;
- alert(msgArr[1], msgArr[0], "48");
- this.enable = true;
- }
- // 실시정산 대상이 존재하는 경우에만 처리
- cnt = obj.getPrcpRcptCheck(workType, pid, orddd, cretno, prcpdd, execPrcpUniqno);
-
- if (cnt > 0) {
- if (openType == "open") {
-
- frmf_open("SPPMO02001" ,"SPPMO02001", '', false, 1, '', '', 825, 360, "", "", "", "M");
-
- } else {
-
- frmf_setParameter("SPPMO02001_PARM", pid);
- frmf_modal("SPPMO02001" ,"SPPMO02001", "", false, 1, '', '', 825, 360, "", "", "", "M");
- }
- }
-
- return cnt;
- }
- // 개인정보이용동의서 자동출력
- function fPerPrintOCR(formcd, pid, orddd, cretno, ordtype, ocrtype) {
- // 개인정보이용동의서 전자동의서 사용가능하도록 수정 by 조중래 20130305
- if (ocrtype == "S") {
- frmf_setParameter("SSMRC03160_param_patid", pid);
- frmf_setParameter("SSMRC03160_param_cretno", cretno);
- frmf_setParameter("SSMRC03160_param_indate", orddd);
- frmf_setParameter("SSMRC03160_param_instcd", sysf_getUserInfo("dutplceinstcd"));
- frmf_setParameter("SSMRC03160_param_class", ordtype);
- frmf_setParameter("SSMRC03160_param_docucd", formcd);
- frmf_setParameter("SSMRC03160_param_cuser", sysf_getUserInfo("userid"));
- frmf_setParameter("SSMRC03160_param_flag", "G"); // 일반동의서
- //이윤주 수정(20200130)
- if (lf_ContainsHardCD("6950", "Y") && lf_ContainsHardCD("6951", sysf_getUserInfo("userid"))) {
- frmf_modal("SPMRF04601", "SPMRF04601", '', "", '', '', '', "", "", "", "", "", "M");
- }
- else {
- frmf_modal("SSMRC03160", "SSMRC03160", '', "", '', '', '', "", "", "", "", "", "M");
- }
-
-
-
- } else {
- frmf_setParameter ("formcd", formcd );
- frmf_setParameter ("pid", pid);
- frmf_setParameter ("orddd", orddd );
- frmf_setParameter ("cretno", cretno);
- frmf_setParameter ("ordtype", ordtype );
- frmf_modal("SSMRF03700", "SSMRF03700", null, null, null, null, null, null, null, null, null, null, "M");
- }
- }
- function lf_showDsValue(ds_target, cdcol, nmcol){
- var nDsRowCount = ds_target.getRowCount();
- if( nDsRowCount != 0 ){
- ds_target.addColumn("cdnm","string",256);
- for(var i = 0; i < nDsRowCount; i++){
- ds_target.setColumn(i, "cdnm", "[" + ds_target.getColumn(i, cdcol) + "]" + ds_target.getColumn(i, nmcol));
- }
- }
- }
- function lf_isResidentNo(pResidnetNo) {
-
- if (isNaN(pResidnetNo)) return false;
-
- if (pResidnetNo.length != 13) return false;
-
- var c = pResidnetNo.substr(6, 1);
- if (c == "5" || c == "6") return true;
-
- var last = pResidnetNo.substr(12, 1);
-
- var regNo = new Array(12);
- regNo[12] = 0;
-
- for (var i = 0; i < regNo.length - 1; i++) {
- regNo[i] = eval(pResidnetNo.substr(i, 1)) * ((i % 8) + 2);
- }
-
- for (var i = 0; i < regNo.length - 1; i++) {
- regNo[12] += regNo[i];
- }
-
- var result = ( 11 - ( regNo[12] % 11 ) ) % 10;
-
- if (result == eval(last)) {
- return true;
- } else {
- return lf_isForegnResidentNo(pResidnetNo);
- }
- }
- function lf_isForegnResidentNo(pResidnetNo) {
-
- var sum = 0;
- var odd = 0;
-
- buf = new Array(13);
- for (var i = 0; i < 13; i++) {
- buf[i] = parseInt(pResidnetNo.charAt(i));
- }
- odd = buf[7] * 10 + buf[8];
-
- // 기관번호 검사, 기관번호를 2로 나눈 경우, 나머지 있는 경우, 주민등록번호 무효
- if (odd%2 != 0) {
- return false;
- }
-
- //등록자구분이 아래와 같지 않은 경우 오류
- // 6 : ??
- // 7 : 외국국적동포
- // 8 : 재외국인
- // 9 : 순수외국인
- if ( buf[11] != 6 && buf[11] != 7 && buf[11] != 8 && buf[11] != 9 ) {
- return false;
- }
-
- //주민번호 13자리 중 12자리를 처음부터 12자리까지 배열값의 순서대로 곱한 후 합계를 낸다.
- //Total = (A * 2) + (B * 3) + (C * 4) + (D * 5) + (E * 6) + (F * 7)
- // + (G * 8) + (H * 9) + (I * 2) + (J * 3) + (K * 4) + (L * 5)
- multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
- for (var i = 0, sum = 0; i < 12; i++) {
- sum += ( buf[i] *= multipliers[i] );
- }
-
- sum = 11 - ( sum%11 );
-
- if (sum >= 10) sum -= 10;
-
- sum += 2;
-
- if (sum >= 10) sum -= 10;
-
- if (sum != buf[12]) {
- return false;
- } else {
- return true;
- }
- }
- function leftPad(str, fillChar, length) {
- if (fillChar.length <> 1) {
- alert('fillChar must be a single character');
- return "";
- }
- if (str.length > length)
- return str;
- var returnStr = "";
- var i;
- for (i = str.length; i < length; i++) {
- returnStr = returnStr + fillChar;
- }
- returnStr = returnStr + str;
- return returnStr;
- }
- function rightPad(str, fillChar, length) {
- if (fillChar.length <> 1) {
- alert('fillChar must be a single character');
- return "";
- }
- if (str.length > length)
- return str;
- var returnStr = str;
- var i;
- for (i = str.length; i < length; i++) {
- returnStr = returnStr + fillChar;
- }
- return returnStr;
- }
- // DUR조회를 특정함수로 뺌(2020/02/10 이정택)
- // 기준자료조회값(pam.pmcmcocde(cdgrupid, cdid) -> P0032, 6610), 환자번호
- function fDur_Check(cdnm, pid){
- if(cdnm=='Y'){
- if (!utlf_isNull(pid)) {
- frmf_setParameter("SPMMD00100_ifyn", "Y");
- frmf_setParameter("SPMMD00100_pid", pid);
-
- var argxpt = system.clientToScreenX(this, 0) + 450;
- var argypt = system.clientToScreenY(this, 0) + 250;
-
- frmf_modal("SPMMO51000", "SPMMO51000", null, false, null, argxpt, argypt, null, null, null, null, null, "M");
- }
- }
- }]]></Script>
|