SMMRC03010.xjs 466 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : DBS
  4. * Job Name :
  5. * File Name : SMMRC03100.xjs
  6. * Creator :
  7. * Make Date : 2014-11-06
  8. *
  9. * Description :
  10. *---------------------------------------------------------------------------------------
  11. * Modify Date Modifier Modify Description
  12. *---------------------------------------------------------------------------------------
  13. * 2014-11-06 DBS Converting Program(TF->XP)
  14. *
  15. *---------------------------------------------------------------------------------------
  16. ****************************************************************************************/
  17. //=======================================================================================
  18. // Global Form Variable
  19. //---------------------------------------------------------------------------------------
  20. var arErrorCode = new HashArray();
  21. var fso = inff_fileSystemObject();
  22. //=======================================================================================
  23. // Transaction Callback
  24. //---------------------------------------------------------------------------------------
  25. /****************************************************************************************
  26. * Argument : 01.sSvcId : 서비스 ID
  27. * : 02.nErrorCode : 에러코드
  28. * : 03.sErrorMsg : 에러메시지
  29. * Description : tr_getCodeList의 콜백함수
  30. ****************************************************************************************/
  31. function cf_TRMMR05501(sSvcId, nErrorCode, sErrorMsg) {
  32. arErrorCode.push(sSvcId, nErrorCode);
  33. if(nErrorCode < 0) return;
  34. //sysf_trace("***** cf_TRMMR05501 *****");
  35. }
  36. function cf_TRMRF03104(sSvcId, nErrorCode, sErrorMsg) {
  37. arErrorCode.push(sSvcId, nErrorCode);
  38. if(nErrorCode < 0) return;
  39. //sysf_trace("***** cf_TRMRF03104 *****");
  40. }
  41. function cf_TRMRC03019(sSvcId, nErrorCode, sErrorMsg) {
  42. arErrorCode.push(sSvcId, nErrorCode);
  43. if(nErrorCode < 0) return;
  44. //sysf_trace("***** cf_TRMRC03019 *****");
  45. }
  46. function cf_TRMRC03103(sSvcId, nErrorCode, sErrorMsg) {
  47. arErrorCode.push(sSvcId, nErrorCode);
  48. if(nErrorCode < 0) return;
  49. //sysf_trace("***** cf_TRMRC03103 *****");
  50. }
  51. function cf_TRMRC03004(sSvcId, nErrorCode, sErrorMsg) {
  52. arErrorCode.push(sSvcId, nErrorCode);
  53. if(nErrorCode < 0) return;
  54. //sysf_trace("***** cf_TRMRC03004 *****");
  55. //sysf_trace(ds_grd_outpat.saveXML());
  56. }
  57. function cf_TRMRC03005(sSvcId, nErrorCode, sErrorMsg) {
  58. arErrorCode.push(sSvcId, nErrorCode);
  59. if(nErrorCode < 0) return;
  60. //sysf_trace("***** cf_TRMRC03005 *****");
  61. //sysf_trace(ds_grd_outpat.saveXML());
  62. }
  63. function cf_TRMRC03010(sSvcId, nErrorCode, sErrorMsg) {
  64. arErrorCode.push(sSvcId, nErrorCode);
  65. if(nErrorCode < 0) return;
  66. //sysf_trace("***** cf_TRMRC03010 *****");
  67. var oDs = this.objects["ds_main_appinfo_copyinfo"];
  68. dsf_setDefaultVal(oDs, "all");
  69. for( var i=0; i<oDs.rowcount; i++){
  70. oDs.setColumn(i, "issgoaletc", oDs.getColumn(i, "issgoalnm"));
  71. oDs.setColumn(i, "issgoaletccd", oDs.getColumn(i, "issgoalcd"));
  72. }
  73. ds_main_appinfo_copyinfo.applyChange();
  74. }
  75. function cf_TRMRC03003(sSvcId, nErrorCode, sErrorMsg) {
  76. arErrorCode.push(sSvcId, nErrorCode);
  77. if(nErrorCode < 0){
  78. ds_grd_apphist.enableevent = true;
  79. return;
  80. }
  81. //sysf_trace("***** cf_TRMRC03003 *****");
  82. ds_grd_apphist.rowposition = -1;
  83. ds_grd_apphist.enableevent = true;
  84. }
  85. function cf_TRMRC03016(sSvcId, nErrorCode, sErrorMsg) {
  86. arErrorCode.push(sSvcId, nErrorCode);
  87. if(nErrorCode < 0) return;
  88. //sysf_trace("***** cf_TRMRC03016 *****");
  89. var oDs = this.objects["ds_tmpinicert_iniinfo"];
  90. //xp code add : col id change!!!execprcpuniqno
  91. if( !utlf_isNull(oDs.getColumnInfo("execprcpuniqno")))
  92. oDs.updateColID("execprcpuniqno", "cmc_orderseqno");
  93. dsf_setDefaultVal(oDs, "all");
  94. }
  95. function cf_TRMRC03021(sSvcId, nErrorCode, sErrorMsg) {
  96. arErrorCode.push(sSvcId, nErrorCode);
  97. if(nErrorCode < 0) return;
  98. //sysf_trace("***** cf_TRMRC03021 *****");
  99. }
  100. function cf_TRMRI03004(sSvcId, nErrorCode, sErrorMsg) {
  101. arErrorCode.push(sSvcId, nErrorCode);
  102. if(nErrorCode < 0) return;
  103. //sysf_trace("***** cf_TRMRI03004 *****");
  104. var oDs = this.objects["ds_tmpinicert_iniinfo"];
  105. //xp code add : col id change!!!execprcpuniqno
  106. if( !utlf_isNull(oDs.getColumnInfo("execprcpuniqno")))
  107. oDs.updateColID("execprcpuniqno", "cmc_orderseqno");
  108. dsf_setDefaultVal(oDs, "all");
  109. }
  110. function cf_TRMRC03012(sSvcId, nErrorCode, sErrorMsg) {
  111. arErrorCode.push(sSvcId, nErrorCode);
  112. if(nErrorCode < 0) return;
  113. //sysf_trace("***** cf_TRMRC03012 *****");
  114. }
  115. function cf_TRMRC03023(sSvcId, nErrorCode, sErrorMsg) {
  116. arErrorCode.push(sSvcId, nErrorCode);
  117. if(nErrorCode < 0) return;
  118. // sysf_trace("***** cf_TRMRC03023 *****");
  119. // status_rcpt --> m
  120. // oldprcptimes 는 orgprcptimes로 대체
  121. dsf_setDefaultVal(ds_grd_rcptlist, "prcpno:0,prcphistno:0,cretno:0");
  122. for( var i=0; i<ds_grd_rcptlist.rowcount; i++)
  123. ds_grd_rcptlist.setColumn(i, "oldprcptims", ds_grd_rcptlist.getColumn(i, "prcptims"));
  124. ds_grd_rcptlist.applyChange();
  125. }
  126. function cf_TRMRC03017(sSvcId, nErrorCode, sErrorMsg) {
  127. arErrorCode.push(sSvcId, nErrorCode);
  128. if(nErrorCode < 0) return;
  129. //sysf_trace("***** cf_TRMRC03017 *****");
  130. var oDs = this.objects["ds_grd_outapplist"];
  131. //xp code add : col id change!!!execprcpuniqno
  132. if( !utlf_isNull(oDs.getColumnInfo("orddeptdcd")))
  133. oDs.updateColID("orddeptdcd", "orddeptcd");
  134. dsf_setDefaultVal(oDs, "all");
  135. dsf_setDefaultVal(oDs, "appseq:0,medirecno:0");
  136. }
  137. function cf_TRMRC03022(sSvcId, nErrorCode, sErrorMsg) {
  138. arErrorCode.push(sSvcId, nErrorCode);
  139. if(nErrorCode < 0) return;
  140. //sysf_trace("***** cf_TRMRC03022 *****");
  141. }
  142. function cf_TRMRC03011(sSvcId, nErrorCode, sErrorMsg) {
  143. arErrorCode.push(sSvcId, nErrorCode);
  144. if(nErrorCode < 0) return;
  145. //sysf_trace("***** cf_TRMRC03011 *****");
  146. }
  147. function cf_TRMRC03029(sSvcId, nErrorCode, sErrorMsg) {
  148. arErrorCode.push(sSvcId, nErrorCode);
  149. if(nErrorCode < 0) return;
  150. //sysf_trace("***** cf_TRMRC03029 *****");
  151. var oDs = this.objects["ds_tmpinicert_iniinfo"];
  152. //xp code add : col id change!!!execprcpuniqno
  153. if( !utlf_isNull(oDs.getColumnInfo("execprcpuniqno")))
  154. oDs.updateColID("execprcpuniqno", "cmc_orderseqno");
  155. dsf_setDefaultVal(oDs, "all");
  156. }
  157. function cf_TRMRC03027(sSvcId, nErrorCode, sErrorMsg) {
  158. arErrorCode.push(sSvcId, nErrorCode);
  159. if(nErrorCode < 0) return;
  160. //sysf_trace("***** cf_TRMRC03027 *****");
  161. }
  162. function cf_TXMRC01310(sSvcId, nErrorCode, sErrorMsg) {
  163. arErrorCode.push(sSvcId, nErrorCode);
  164. if(nErrorCode < 0) return;
  165. //sysf_trace("***** cf_TXMRC01310 *****");
  166. }
  167. function cf_TXMRC03005(sSvcId, nErrorCode, sErrorMsg) {
  168. arErrorCode.push(sSvcId, nErrorCode);
  169. if(nErrorCode < 0) return;
  170. //sysf_trace("***** cf_TXMRC03005 *****");
  171. }
  172. function cf_TRMRC03024(sSvcId, nErrorCode, sErrorMsg) {
  173. arErrorCode.push(sSvcId, nErrorCode);
  174. if(nErrorCode < 0) return;
  175. //sysf_trace("***** cf_TRMRC03024 *****");
  176. }
  177. function cf_TRMMO02705(sSvcId, nErrorCode, sErrorMsg) {
  178. arErrorCode.push(sSvcId, nErrorCode);
  179. if(nErrorCode < 0) return;
  180. //sysf_trace("***** cf_TRMMO02705 *****");
  181. }
  182. function cf_TRMRC03007(sSvcId, nErrorCode, sErrorMsg) {
  183. arErrorCode.push(sSvcId, nErrorCode);
  184. if(nErrorCode < 0) return;
  185. //sysf_trace("***** cf_TRMRC03007 *****");
  186. }
  187. function cf_TRMRC03008(sSvcId, nErrorCode, sErrorMsg) {
  188. arErrorCode.push(sSvcId, nErrorCode);
  189. if(nErrorCode < 0) return;
  190. //sysf_trace("***** cf_TRMRC03008 *****");
  191. //sysf_trace(ds_temp_issinfo_copyinfo.saveXML());
  192. //sysf_trace(ds_temp_issinfo_emrapplist.saveXML());
  193. //sysf_trace(ds_temp_issinfo_rcptlist.saveXML());
  194. }
  195. function cf_TRMMR00001(sSvcId, nErrorCode, sErrorMsg) {
  196. arErrorCode.push(sSvcId, nErrorCode);
  197. if(nErrorCode < 0) return;
  198. //sysf_trace("***** cf_TRMMR00001 *****");
  199. }
  200. function cf_TXMRC03006(sSvcId, nErrorCode, sErrorMsg) {
  201. arErrorCode.push(sSvcId, nErrorCode);
  202. if(nErrorCode < 0) return;
  203. //sysf_trace("***** cf_TXMRC03006 *****");
  204. }
  205. function cf_TRMRI00407(sSvcId, nErrorCode, sErrorMsg) {
  206. arErrorCode.push(sSvcId, nErrorCode);
  207. if(nErrorCode < 0) return;
  208. //sysf_trace("***** cf_TRMRI00407 *****");
  209. }
  210. function cf_(sSvcId, nErrorCode, sErrorMsg) {
  211. arErrorCode.push(sSvcId, nErrorCode);
  212. if(nErrorCode < 0) return;
  213. //sysf_trace("***** cf_ *****");
  214. }
  215. //=======================================================================================
  216. // Function
  217. //---------------------------------------------------------------------------------------
  218. /****************************************************************************************
  219. * Argument : 01.flag : true/false
  220. * : 02. :
  221. * Description : ds_main_otherinfo event on/off
  222. ****************************************************************************************/
  223. function fSet_enableevent(flag){
  224. group1.chk_testinfo1.enableevent = flag;
  225. group1.chk_testinfo.enableevent = flag;
  226. group1.chk_testinfo_bak.enableevent = flag;
  227. chk_anoinfo.enableevent = flag;
  228. }
  229. /****************************************************************************************
  230. * Argument : 01. :
  231. * : 02. :
  232. * Description : ds_main_emrinfo_emrlist default setting
  233. ****************************************************************************************/
  234. function lf_fMakeColumn_main_emrinfo(){
  235. var oDsEmrlist = this.objects["ds_main_emrinfo_emrlist"];
  236. if( oDsEmrlist.getColumnInfo("chrtflag") == null || oDsEmrlist.getColumnInfo("orddeptcd") == null ||
  237. oDsEmrlist.getColumnInfo("atdoctid") == null || oDsEmrlist.getColumnInfo("formcd") == null ||
  238. oDsEmrlist.getColumnInfo("orddd") == null || oDsEmrlist.getColumnInfo("cretno") == null ||
  239. oDsEmrlist.getColumnInfo("pid") == null || oDsEmrlist.getColumnInfo("ioflag") == null ||
  240. oDsEmrlist.getColumnInfo("testflag") == null || oDsEmrlist.getColumnInfo("reckeyno") == null ||
  241. oDsEmrlist.getColumnInfo("formnm") == null || oDsEmrlist.getColumnInfo("supitemindxseq") == null ||
  242. oDsEmrlist.getColumnInfo("midindxseq") == null || oDsEmrlist.getColumnInfo("sortno") == null ||
  243. oDsEmrlist.getColumnInfo("status") == null ){
  244. oDsEmrlist.addColumn("chrtflag", "string"); oDsEmrlist.addColumn("orddeptcd", "string");
  245. oDsEmrlist.addColumn("atdoctid", "string"); oDsEmrlist.addColumn("formcd", "string");
  246. oDsEmrlist.addColumn("orddd", "string"); oDsEmrlist.addColumn("cretno", "string");
  247. oDsEmrlist.addColumn("pid", "string"); oDsEmrlist.addColumn("ioflag", "string");
  248. oDsEmrlist.addColumn("testflag", "string"); oDsEmrlist.addColumn("reckeyno", "BIGDECIMAL");
  249. oDsEmrlist.addColumn("formnm", "string"); oDsEmrlist.addColumn("supitemindxseq", "string");
  250. oDsEmrlist.addColumn("midindxseq", "BIGDECIMAL"); oDsEmrlist.addColumn("sortno", "string");
  251. oDsEmrlist.addColumn("status", "string");
  252. }
  253. }
  254. var PRIN_COPY = ""; // 출력매수
  255. var PRIN_QUNT = ""; // 부수
  256. var SAVE_COPY = 1;
  257. var RESAVE_COPY = 1; // 재신청
  258. var SAVE_ORDDD = "";
  259. var OUTCOPY_FLAG = "";
  260. var INCOPY_FLAG = "";
  261. var issnoYN = "";
  262. var PRCP_REISS = "";
  263. var srchcnt = 0;
  264. var srchorgcnt = 0;
  265. var g_DefCalcscorcd = ""; // 기본 수가 코드
  266. var g_DefCalcscorcdnm = ""; // 기본 수가 설명
  267. var g_AddCalcscorcd = ""; // 추가 수가 코드
  268. var g_AddCalcscorcdnm = ""; // 추가 수가 설명
  269. var g_DefCnt = ""; // 기본 발행 매수
  270. var g_AddCnt = ""; // 추가 발행 매수
  271. var g_FreeCnt = ""; // 추가 발행 매수
  272. var g_inputbox = "";
  273. var g_addstatus = "";
  274. var g_FreeCalcscorcd = ""; // 하드코드 테이블에 무료수가가 등록되어 있는 경우는 사용하는걸로 간주함.(등록된 무료수가가 없을 경우는 사용하지 않는 걸로 간주함.)
  275. var g_FreeCalcscornm = ""; // 무료 수가 설명
  276. var g_GrdTotalCnt = 0;
  277. //2012/03/13 Start
  278. var before_delivefact="";
  279. var after_delivefact="";
  280. //2012/03/13 End
  281. //2013/01/14 Start 총 출력장수
  282. var totprntcnt=0;
  283. var printcount=0;
  284. //2013/01/14 End
  285. var splittxt = "";
  286. var OcrImgUseFlag = "";
  287. /****************************************************************************************
  288. * Function : dsf_createDs
  289. * Description : 공통코드를 가져온다.
  290. * Argument : 01.sKey : 코드아이디
  291. * : 02.sValue : 코드명
  292. * return type : String - dataset name
  293. * Creator : 임준호
  294. ****************************************************************************************/
  295. /**
  296. * @desc : 사본신청/발급 화면 초기화
  297. * : 상단정보 처리 여부, 화면 팝업처리 여부 판단 및 화면 기본정보 설정
  298. * @
  299. * @param :
  300. * @return :
  301. * @---------------------------------------------------
  302. */
  303. function fInitialize(){
  304. btn_out.setSelectStatus(true);
  305. iviewerIemr.enableevent = false;
  306. iviewerIemr.enableredraw = false;
  307. // 의무기록 부서코드
  308. lf_getHardCDList("N", 5501, null, ds_temp_hardcd);
  309. //수가입력 버튼 제어
  310. // btn_crtfct(증명서) 버튼에서 기능사용.
  311. lf_getHardCDList("N", 5567, null, ds_temp_hardcd2);
  312. //사본발급 디테일 입력건수 보일지 여부
  313. lf_getHardCDList("N", 5630, null, ds_temp_hardcd3);
  314. //사본발행시 Split구분값 설정
  315. lf_getHardCDList("N", 5623, null, ds_temp_hardcd4);
  316. splittxt = ds_temp_hardcd4.getColumn(0, "hardcd");
  317. //사본발행 이미지포함 기능사용여부
  318. lf_getHardCDList("N", 5636, null, ds_temp_hardcd5);
  319. //사본발행시 자동반납 INSTCD별 설정.
  320. lf_getHardCDList("N", 9950, null, ds_temp_hardcd7);
  321. var btnInstcd = sysf_getUserInfo("dutplceinstcd");
  322. if(btnInstcd == "031"){
  323. button14.visible = true; //위임장
  324. button15.visible = true; //동의서
  325. }else{
  326. button14.visible = false;//위임장
  327. button15.visible = false;//동의서
  328. }
  329. OcrImgUseFlag = ds_temp_hardcd5.getColumn(0, "hardcd");
  330. if( OcrImgUseFlag == "Y"){
  331. chk_addimageyn.visible = true;
  332. }else{
  333. chk_addimageyn.visible = false;
  334. }
  335. //2014.04.29 End
  336. //2012/02/29 Start 칠곡에서 사본발행시 병동위임장 버튼 안보이게 함
  337. //2015/03/16 병동위임장 버튼을 본원, 칠곡 모두 사용하지 않아 기능 주석처리.
  338. /*
  339. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  340. if(ds_temp_hardcd2.getColumn(i, "hardcd")==sysf_getUserInfo("dutplceinstcd")){
  341. button4.visible=true;
  342. break;
  343. }
  344. }
  345. */
  346. //2012/02/29 End
  347. //2013/01/15 Start 하드코드 번호 5630번에 등록된 유저라면 신청내역 건수가 보이도록 수정
  348. for(var i=0; i<ds_temp_hardcd3.rowcount; i++){
  349. if(ds_temp_hardcd3.getColumn(i, "hardcd")==sysf_getUserInfo("userid")){
  350. caption18.visible=true;
  351. output1.visible=true;
  352. break;
  353. }
  354. }
  355. ds_main.setColumn(0, "delivefactcnt", "");
  356. //2013/01/15 End
  357. //20140820 이윤주수정
  358. // jw.choe 같은 경로에 다른 코드 조회, 결과는 최종 코드만...
  359. //lf_getHardCDList("N", 5976, null, ds_temp_hardcd6); //최초작성일자 보이는 기록지
  360. lf_getHardCDList("N", 5977, null, ds_temp_hardcd6); //헤더정보를 기록시점의 icdr를 읽어서 표시
  361. var paminfo = sysf_getGlobalVariable("paminfo");
  362. if(!utlf_isNull(paminfo)){
  363. ds_main_paminfo.clearData();
  364. dsf_setCSVToDs("ds_main_paminfo", paminfo);
  365. var ioflag = ds_main_paminfo.getColumn(0, "ioflag");
  366. if(!utlf_isNull(opener.frmf_getParameter("SMMRC03000_pid"))) { // 통합기록조회
  367. if(opener.frmf_getParameter("SMMRC03000_pid") != ds_main_paminfo.getColumn(0, "pid")) {
  368. sysf_messageBox("사본신청은 진료중인 환자에 대해서만 신청이 가능합니다.\n등록번호를 상단 환자등록번호와 일치시켜서","C003");
  369. return;
  370. }
  371. }
  372. ds_main_cond.setColumn(0, "pid", ds_main_paminfo.getColumn(0, "pid"));
  373. ds_main_cond.setColumn(0, "hngnm", ds_main_paminfo.getColumn(0, "hngnm"));
  374. ds_main_cond.setColumn(0, "ioflag", ds_main_paminfo.getColumn(0, "ioflag"));
  375. if ((ioflag == "I") || (ioflag == "E") || (ioflag == "D"))
  376. {
  377. ds_main_cond.setColumn(0, "orddd", ds_main_paminfo.getColumn(0, "indd"));
  378. ds_main_cond.setColumn(0, "orddeptnm", ds_main_paminfo.getColumn(0, "orddeptnm"));
  379. ds_main_cond.setColumn(0, "orddeptcd", ds_main_paminfo.getColumn(0, "orddeptcd"));
  380. ds_main_cond.setColumn(0, "roomcd", ds_main_paminfo.getColumn(0, "roomcd"));
  381. ds_main_cond.setColumn(0, "dschdd", ds_main_paminfo.getColumn(0, "dschdd"));
  382. //fClikInTab();
  383. var e = new ClickEventInfo;
  384. frmf_inputEnterKey("btn_in", "onclick", e);
  385. //btn_in.dispatch("onclick");
  386. }
  387. else
  388. {
  389. ds_main_cond.setColumn(0, "orddd", ds_main_paminfo.getColumn(0, "orddd"));
  390. var e = new ClickEventInfo;
  391. frmf_inputEnterKey("btn_out", "onclick", e);
  392. //btn_out.dispatch("onclick");
  393. //fClikOutTab();
  394. }
  395. ds_main_cond.setColumn(0, "cretno", ds_main_paminfo.getColumn(0, "cretno"));
  396. //ds_main_cond.setColumn(0, "ioflag", ds_main_paminfo.getColumn(0, "ordtype"));
  397. ds_main_cond.setColumn(0, "rrgstno1", ds_main_paminfo.getColumn(0, "rrgstno1"));
  398. ds_main_cond.setColumn(0, "rrgstno2" , "*******");
  399. sex = ds_main_paminfo.getColumn(0, "sex");
  400. age = ds_main_paminfo.getColumn(0, "age");
  401. ds_main_cond.setColumn(0, "sa", sex.concat("/").concat(age));
  402. ds_main_cond.setColumn(0, "age", age);
  403. }
  404. var userinfo = sysf_getUserInfo("dutplcecd");
  405. var userid = sysf_getUserId();
  406. var jobkindcd = sysf_getUserInfo("jobkindcd");
  407. lf_getHardCDList("N", 1200, null, ds_tmphdcd); //저장 후 창닫힘 여부
  408. userid = userid.getTrim();
  409. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  410. //if(userinfo == "3230000000"){ // 의료정보
  411. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  412. {
  413. // KNUH_20101124_박성호_end
  414. parent.position.height = "967";
  415. // right
  416. caption14.position.y = "785";
  417. caption20.position.y = "785";
  418. btn_cnfm.position.y = "782";
  419. rdo_lang.position.y = "782";
  420. btn_crtfct.position.y = "782";
  421. //btn_crtfct.position.top = "783";
  422. textarea2.position.y = "802";
  423. grd_rcptlist.position.y = "802";
  424. button6.position.y = "884";
  425. button7.position.y = "884";
  426. button5.position.y = "884";
  427. button8.position.y = "884";
  428. btn_recepinfo.position.y = "782"; // 141118 - AYS 추가
  429. chk_recepinfo.position.y = "782";
  430. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트)
  431. btn_colorcalcscoryn.position.y = "782";
  432. //mmbfGetHardCodeInfo("/root/send/reqdata","/root/hidden/inputbox", 1111); //의무기록 사본발행수가코드
  433. //g_inputbox = model.getValue("/root/hidden/inputbox/hardcd/hardcd");//의무기록 사본발행 수가코드
  434. g_inputbox = lf_getHardCDList("Y", 1111, 3, null);
  435. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  436. {
  437. // 부수 입력칸 추가..
  438. caption28.position.y = "884";
  439. caption29.position.y = "884";
  440. caption16.position.y = "884";
  441. ipt_emrappcopies.position.y = "884";
  442. button10.position.y = "782";
  443. input1.position.y = "884";
  444. caption11.position.y = "882";
  445. // grd_rcptlist.colAttribute (4, "disabled" ) = "true";
  446. // grd_rcptlist.colAttribute (19, "disabled" ) = "true";
  447. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "shtno"), "edittype", "none");
  448. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "prcptims"), "edittype", "none");
  449. ds_grd_rcptlist.applyChange();
  450. }else{ // 수가가 추가 수가코드로 이루어진 경우
  451. }
  452. // left
  453. swc_prof.position.height = "363";//343
  454. swc_prof.out.grd_outpat.position.height = "320";//330
  455. group1.position.y = "680";
  456. caption24.position.y = "785";
  457. caption18.position.y = "785";
  458. output1.position.y = "785";
  459. txt_delivefact.position.y = "802";
  460. txt_delivefact.position.height = "75";
  461. btn_reappinfo.position.y = "884";
  462. button3.position.y = "884";
  463. btn_update.position.y = "884";
  464. btn_save.position.y = "884";
  465. // 상세내역추가
  466. button12.position.y = "778";
  467. // switch
  468. if(btn_in.getSelectStatus()) {
  469. group1.visible = false;
  470. swc_prof.position.height = "450";
  471. swc_prof.in.grd_inapplist.position.height = "200";
  472. swc_prof.in.caption10.position.y = "197";
  473. //line7.position.top = "218px";
  474. //grd_emrapplist.position.top = "212px";
  475. //grd_emrapplist.attribute("height") = "140px";
  476. swc_prof.in.grd_inpat.position.y = "212";
  477. swc_prof.in.grd_inpat.position.height = "140";
  478. }
  479. if(btn_out.getSelectStatus()) {
  480. swc_prof.tabindex = 0;
  481. //model.toggle("out" );
  482. group1.visible = true;
  483. swc_prof.position.height = "343";
  484. swc_prof.out.grd_outpat.position.height = "310";
  485. group1.position.y = "680";
  486. caption24.position.y = "785";
  487. caption18.position.y = "785";
  488. output1.position.y = "785";
  489. txt_delivefact.position.y = "802";
  490. txt_delivefact.position.height = "75";
  491. btn_reappinfo.position.y = "884";
  492. button3.position.y = "884";
  493. btn_update.position.y = "884";
  494. btn_save.position.y = "884";
  495. }
  496. iviewerIemr.position.height = "710";
  497. /*
  498. var e = new SizeEventInfo;
  499. frmf_inputEnterKey("iviewerIemr", "onsize", e);
  500. */
  501. cmb_emrorddeptcd.enable = true;
  502. cmb_orddrid.enable = true;
  503. fSetSugaCode();
  504. fSetData();
  505. }else{
  506. if(jobkindcd == "0330" || jobkindcd == "0332") { // 의사일 경우
  507. appf_getInOutOrdDeptList(sysf_getUserInfo("dutplceinstcd"), "depthngnm", "asc", null, null, "ds_init_cmb_emrorddeptcd", false, null); //전체 진료과
  508. /*frmf_addComboItem("cmb_emrorddeptcd","전체","-", "above");*/
  509. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd", sysf_getUserInfo("dutplcecd")); // 신청과
  510. appf_getOrdDeptDoctorList("none", sysf_getUserInfo("dutplceinstcd"), cmb_emrorddeptcd.value, "usernm", "asc", utlf_getCurrentDate(), "ds_init_cmb_orddrid");//해당 주치의
  511. ds_main_appinfo_copyinfo.setColumn(0, "appdrid",userid); //신청의
  512. iviewerIemr.position.height = "710";
  513. /*
  514. var e = new SizeEventInfo;
  515. frmf_inputEnterKey("iviewerIemr", "onsize", e);
  516. */
  517. cmb_emrorddeptcd.enable = false;
  518. cmb_orddrid.enable = false;
  519. // 접근제한 환자인지 확인
  520. ds_send_cond.clearData();
  521. ds_send_cond.addRow();
  522. ds_send_cond.setColumn(0, "pid", ds_main_paminfo.getColumn(0, "pid"));
  523. var objColInfo = new Array();
  524. objColInfo.push({col: "pid", type:"string", size:256});
  525. objColInfo.push({col: "prntlim", type:"string", size:256});
  526. objColInfo.push({col: "limrem", type:"string", size:256});
  527. dsf_createDs("ds_tmppatinfo_accessiblepatinfo", objColInfo, true);
  528. var oParam = {};
  529. oParam.id = "TRMRC03103";
  530. oParam.service = "chrtmngtapp.CopyIssMngt";
  531. oParam.method = "reqGetAccessiblePatInfo";
  532. oParam.inds = "req=ds_send_cond";
  533. oParam.outds = "ds_tmppatinfo_accessiblepatinfo=accessiblepatinfo";
  534. oParam.async = false;
  535. oParam.callback = "cf_TRMRC03103";
  536. tranf_submit(oParam);
  537. if(ds_tmppatinfo_accessiblepatinfo.getColumn(0, "prntlim") == "Y") {
  538. if(!utlf_isNull(ds_tmppatinfo_accessiblepatinfo.getColumn(0, "limrem"))) {
  539. var limrem = ds_tmppatinfo_accessiblepatinfo.getColumn(0, "limrem");
  540. var pid = ds_main_cond.getColumn(0, "pid");
  541. var name = ds_main_cond.getColumn(0, "hngnm");
  542. sysf_messageBox(" " + pid + "(" + name + ") : " + limrem +" " + "\n 유의환자", "I009");
  543. }
  544. }
  545. } else{ // 의사가 아닐경우
  546. //iviewerIemr.attribute("height") = "590px";
  547. }
  548. this.titletext = "사본발행신청";
  549. caption22.visible = true;
  550. caption6.visible = false;
  551. }
  552. iviewerIemr.enableevent = true;
  553. iviewerIemr.enableredraw = true;
  554. if (jobkindcd == "1140" || jobkindcd == "1110")
  555. {
  556. fSetData();
  557. fSetDisabled();
  558. }
  559. iviewerIemr.setupChart("ThumbView"); // 여러페이지 보기 default
  560. ipt_pid.setFocus();
  561. //model.removeNodeset("/root/temp/issinfo/emrlist");
  562. ds_grd_outapplist.clearData(); //model.removeNodeset("/root/temp/issinfo/emrlist");
  563. ds_grd_inapplist.clearData(); //model.removeNodeset("/root/main/inpathistlist/inpathistlist");
  564. ds_grd_emrapplist.clearData(); //model.removeNodeset("/root/main/issinfo/emrapplist");
  565. ds_grd_outpat.clearData(); //model.removeNodeset("/root/main/outpathistlist/outpathistlist");
  566. ds_grd_inpat.clearData(); //model.removeNodeset("/root/main/midissinfo/emrapplist");
  567. ds_grd_apphist.clearData(); //model.removeNodeset("/root/main/apphist/applist");
  568. ds_grd_rcptlist.clearData(); //model.removeNodeset("/root/main/rcptlist/rcptlist");
  569. appf_getCodeList([{dsNm: "ds_init_ioflaglist_P0001", cdGrpId: "P0001"}, {dsNm: "ds_init_issgoalcd_M0332", cdGrpId: "M0332"}, {dsNm: "ds_init_prcpstatcd_M0011", cdGrpId: "M0011"}], true);
  570. //zbcfGetCodeList(new Array("P0001","M0332", "M0011"),new Array("/root/init/ioflaglist","/root/init/issgoalcd", "/root/init/prcpstatcd"));
  571. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "A", utlf_getCurrentDate()); //부서코드 콤보
  572. var fromdd = ((utlf_getCurrentDate()).toDate()).getAddDate(-1, "Y");
  573. //시작일자, 종료일자 설정
  574. ds_main_cond.setColumn(0, "fromdd", fromdd.getDateFormat());
  575. ds_main_cond.setColumn(0, "todd" , utlf_getCurrentDate());
  576. ds_main_out.setColumn(0, "fromdd" , fromdd.getDateFormat());
  577. ds_main_out.setColumn(0, "todd" , utlf_getCurrentDate());
  578. ds_main_in.setColumn(0, "fromdd" , fromdd.getDateFormat());
  579. ds_main_in.setColumn(0, "todd" , utlf_getCurrentDate());
  580. //ds_main_otherinfo.setColumn(0, "addimageyn", "Y");
  581. grdf_initGrid(swc_prof.in.grd_inpat);
  582. grdf_initGrid(swc_prof.out.grd_outpat);
  583. // swc_prof.in.grd_inpat.setCellProperty("Head", swc_prof.in.grd_inpat.getBindCellIndex("body", "chk"),"text","expr:0");
  584. // swc_prof.out.grd_outpat.setCellProperty("Head", swc_prof.out.grd_outpat.getBindCellIndex("body", "chk"),"text","expr:0");
  585. // '14.11.05 - AYS 추가
  586. dsf_createDs("ds_envinfo");
  587. ds_envinfo.copyData(emr_getOrderBaseInfo("envinfo"));
  588. //fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/ocrflagyn", "062");
  589. var ocrflagyn = ds_envinfo.lookup("qestcd", "062", "answcnt");
  590. switch(ocrflagyn)
  591. {
  592. case "001" : // OCR 포함 체크 Y
  593. ds_main_otherinfo.setColumn(0, "addimageyn", "Y");
  594. break;
  595. case "002" : // OCR 포함 체크 N
  596. ds_main_otherinfo.setColumn(0, "addimageyn", "N");
  597. break;
  598. default:
  599. ds_main_otherinfo.setColumn(0, "addimageyn", "Y");
  600. break;
  601. }
  602. if(!utlf_isNull(ipt_pid.text))
  603. {
  604. fReqGetBfCopyIssHistList(ipt_pid.text); // 사본발행내역
  605. }
  606. //iviewerIemr.refresh();
  607. if(jobkindcd == "0330" || jobkindcd == "0332") { // 의사일 경우
  608. fReqGetOutPatHistList(); // 외래진료내역
  609. fReqGetInPatHistList(); // 입원진료내역
  610. fReqGetPaperYN(); // 종이차트유무
  611. }
  612. if ((ioflag == "I") || (ioflag == "E") || (ioflag == "D"))
  613. {
  614. fClikInTab();
  615. }
  616. else
  617. {
  618. fClikOutTab();
  619. }
  620. //ds_main_otherinfo.setColumn(0, "addimageyn", "Y");
  621. }
  622. /**
  623. * @desc : 세션값을 읽어 해당환자의 사본신청 이력 조회
  624. * @
  625. * @param :
  626. * @return :
  627. * @---------------------------------------------------
  628. */
  629. function fSetData()
  630. {
  631. utlf_addLog("**** fSetData() *****");
  632. appf_getInOutOrdDeptList(sysf_getUserInfo("dutplceinstcd"), "depthngnm", "asc", null, null, "ds_init_cmb_emrorddeptcd", false, null); //전체 진료과
  633. frmf_addComboItem("cmb_emrorddeptcd","전체","-", "above");
  634. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd","-"); // 신청과
  635. appf_getOrdDeptDoctorList("none", sysf_getUserInfo("dutplceinstcd"), cmb_emrorddeptcd.value, "usernm", "asc", utlf_getCurrentDate(), "ds_init_cmb_orddrid");
  636. this.titletext = "사본신청/발급";
  637. caption22.visible = false;
  638. caption6.visible = true;
  639. if(!utlf_isNull(opener.frmf_getParameter("SMMRC03000_param_pid"))) {
  640. ds_main_cond.setColumn(0, "pid", opener.frmf_getParameter("SMMRC03000_param_pid"));
  641. //ds_main_cond.setColumn(0, "hngnm", opener.frmf_getParameter("SMMRC03000_param_hngnm"));
  642. //ds_main_cond.setColumn(0, "rrgstno1", opener.frmf_getParameter("SMMRC03000_param_rrgstno1"));
  643. //ds_main_cond.setColumn(0, "rrgstno2", opener.frmf_getParameter("SMMRC03000_param_rrgstno2"));
  644. ds_main_cond.setColumn(0, "copyseqno", opener.frmf_getParameter("SMMRC03000_param_copyseqno"));
  645. fReqGetComnPatOrdInfo(opener.frmf_getParameter("SMMRC03000_param_pid"));
  646. fReqGetPaperYN(); // 종이차트 유무여부
  647. if(opener.frmf_getParameter("SMMRC03000_param_prntlim") == "Y") {
  648. if(!utlf_isNull(ds_main_paper.getColumn(0, "limrem"))) {
  649. var limrem = ds_main_paper.getColumn(0, "limrem");
  650. var pid = ds_main_cond.getColumn(0, "pid");
  651. var name = ds_main_cond.getColumn(0, "hngnm");
  652. sysf_messageBox(" " + pid + "(" + name + ") : " + limrem +" " + "\n 유의환자", "I009");
  653. }
  654. }
  655. }
  656. frmf_clearParameter("SMMRC03000_param_pid");
  657. //frmf_clearParameter("SMMRC03000_param_hngnm");
  658. //frmf_clearParameter("SMMRC03000_param_rrgstno1");
  659. //frmf_clearParameter("SMMRC03000_param_rrgstno2");
  660. frmf_clearParameter("SMMRC03000_param_copyseqno");
  661. frmf_clearParameter("SMMRC03000_param_prntlim");
  662. }
  663. /**
  664. * @desc : 사본 신청/발급 관련된 실행 버튼 disable 설정
  665. * @
  666. * @param :
  667. * @return :
  668. * @---------------------------------------------------
  669. */
  670. function fSetDisabled()
  671. {
  672. button12.enable = false; //상세내역추가
  673. btn_reappinfo.enable = false; //재신청
  674. button3.enable = false; //초기화
  675. btn_update.enable = false; //신청내역수정
  676. btn_save.enable = false; //신청내역저장
  677. button6.enable = false; //메모저장
  678. button7.enable = false; //사본출력
  679. button5.enable = false; //처방이력
  680. button8.enable = false; //수가입력
  681. swc_prof.out.button9.enable = false; //기록조회
  682. }
  683. /**
  684. * @desc : 환자진료정보 조회 및 설정
  685. * @
  686. * @param : pid : 등록번호
  687. * @return :
  688. * @---------------------------------------------------
  689. */
  690. function fReqGetComnPatOrdInfo(pid){
  691. //fMersPatChk("EMR", pid); // 메르스 안내 메세지 팝업
  692. ds_send_reqdata.clearData();
  693. var nRow = ds_send_reqdata.addRow();
  694. ds_send_reqdata.setColumn(nRow, "pid" , pid);
  695. ds_send_reqdata.setColumn(nRow, "orddeptcd", "-");
  696. ds_send_reqdata.setColumn(nRow, "orddrid", "-");
  697. ds_send_reqdata.setColumn(nRow, "srchmode" , "F");
  698. dsf_setDefaultVal(ds_send_reqdata, "orddeptcd:-,orddrid:-");
  699. var oParam = {};
  700. oParam.id = "TRMMR05501";
  701. oParam.service = "medirecapp.ExtnMediRec";
  702. oParam.method = "reqGetPatHistList";
  703. oParam.inds = "req=ds_send_reqdata";
  704. oParam.outds = "ds_main_result_pathistlist=pathistlist";
  705. oParam.async = false;
  706. oParam.callback = "cf_TRMMR05501";
  707. tranf_submit(oParam);
  708. if(arErrorCode.pop("TRMMR05501") > -1 ){
  709. dsf_setDefaultVal(ds_main_result_pathistlist, "all");
  710. if(ds_main_result_pathistlist.rowcount > 0){
  711. var pid = ds_main_result_pathistlist.getColumn(0, "pid");
  712. var orddd = ds_main_result_pathistlist.getColumn(0, "orddd");
  713. var cretno = ds_main_result_pathistlist.getColumn(0, "cretno");
  714. var hngnm = ds_main_result_pathistlist.getColumn(0, "hngnm");
  715. var sex = ds_main_result_pathistlist.getColumn(0, "sex");
  716. var age = ds_main_result_pathistlist.getColumn(0, "age");
  717. var brthdd = ds_main_result_pathistlist.getColumn(0, "brthdd");
  718. var rrgstno1 = ds_main_result_pathistlist.getColumn(0, "rrgstno1");
  719. var rrgstno2 = ds_main_result_pathistlist.getColumn(0, "rrgstno2");
  720. var addr = ds_main_result_pathistlist.getColumn(0, "addr");
  721. var hometel = ds_main_result_pathistlist.getColumn(0, "hometel");
  722. var ioflag = ds_main_result_pathistlist.getColumn(0, "ordtype");
  723. var orddeptcd= ds_main_result_pathistlist.getColumn(0, "orddeptcd");
  724. var orddeptnm= ds_main_result_pathistlist.getColumn(0, "orddeptnm");
  725. }else{
  726. sysf_messageBox("환자 정보를 찾을 수", "I004");
  727. return;
  728. }
  729. ds_main_cond.setColumn(0, "pid" , pid);
  730. //ds_main_cond.setColumn(0, "orddd" , orddd);
  731. //ds_main_cond.setColumn(0, "cretno" , cretno);
  732. ds_main_cond.setColumn(0, "hngnm" , hngnm);
  733. ds_main_cond.setColumn(0, "rrgstno1" , rrgstno1);
  734. //ds_main_cond.setColumn(0, "rrgstno2" , rrgstno2.substring(0, 1) + "******");
  735. ds_main_cond.setColumn(0, "rrgstno2" , rrgstno2);
  736. ds_main_cond.setColumn(0, "age" , age);
  737. ds_main_cond.setColumn(0, "sa" , sex.concat("/").concat(age));
  738. if(age < parseInt(14)) {
  739. ds_main_appinfo_copyinfo.setColumn(0, "appmanflag", "2");
  740. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "Y");
  741. }
  742. fSetRcptpossynmsg(ds_main_cond.getColumn(0, "pid")); //무인수납 가능 여부 조회, 2010.03.08 주희경
  743. }
  744. }
  745. /**
  746. * @desc 이전사본발행 내역조회
  747. * @param pid : 등록번호
  748. */
  749. function fReqGetBfCopyIssHistList(pid){
  750. ds_grd_emrapplist.clearData(); //model.removeNodeset("/root/main/issinfo/emrapplist");
  751. ds_tmpinicert2_iniinfo.clearData(); //model.removeNodeset("/root/tmpinicert2/iniinfo");
  752. ds_send_reqdata.clearData();
  753. ds_send_reqdata.addRow();
  754. ds_send_reqdata.setColumn(0, "pid", pid);
  755. ds_grd_apphist.enableevent = false;
  756. var oParam = {};
  757. oParam.id = "TRMRC03003";
  758. oParam.service = "chrtmngtapp.CopyIssMngt";
  759. oParam.method = "reqGetCopyIssHist";
  760. oParam.inds = "req=ds_send_reqdata";
  761. oParam.outds = "ds_grd_apphist=applist";
  762. oParam.async = false;
  763. oParam.callback = "cf_TRMRC03003";
  764. tranf_submit(oParam);
  765. }
  766. /**
  767. * @desc : EMR부서콤보 조회
  768. * @
  769. * @param : ref - reference path
  770. * rsltref - result reference path
  771. * orddeptflag- 진료과구분
  772. * @return :
  773. * @author : 오지훈
  774. * @---------------------------------------------------
  775. */
  776. /*
  777. function mmbfGetDeptCodeComboList(ref, rsltref, orddeptflag, stnddd){
  778. var mmb_rsltref = "/root/hidden/mmb/orddept";
  779. model.removeNode(mmb_rsltref);
  780. model.makeNode(mmb_rsltref);
  781. model.removeNode(ref);
  782. model.makeValue(ref + "/orddeptflag", orddeptflag);
  783. if(stnddd != ""){
  784. model.makeValue(ref + "/stnddd", stnddd);
  785. }
  786. if(submit("TRMMB04101", "false", ref, mmb_rsltref)==true){
  787. model.copyNode(rsltref, mmb_rsltref);
  788. model.removeNode(mmb_rsltref);
  789. }
  790. model.refresh();
  791. }
  792. */
  793. /**
  794. * @desc : 하드코드 조회
  795. * @
  796. * @param : ref - reference path
  797. * rsltref - result reference path
  798. * hardcd - 하드코드
  799. * @return :
  800. * @author : 오지훈
  801. * @---------------------------------------------------
  802. */
  803. /*
  804. function mmbfGetHardCodeInfo(ref, rsltref, hardcd){
  805. var mmb_rsltref = "/root/hidden/mmb/hardcd";
  806. model.removeNode(mmb_rsltref);
  807. model.makeNode(mmb_rsltref);
  808. model.removeNode(ref);
  809. model.makeValue(ref + "/hardcd", hardcd);
  810. if(submit("TRMMB04103", "false", ref, mmb_rsltref)==true){
  811. model.copyNode(rsltref, mmb_rsltref);
  812. model.removeNode(mmb_rsltref);
  813. }
  814. model.refresh();
  815. }
  816. */
  817. /**
  818. * @desc : 하드코드 조회 (하드코드, 하드코드명)
  819. * @
  820. * @param : ref - reference path
  821. * rsltref - result reference path
  822. * hardcd - 하드코드
  823. * @return :
  824. * @author : 오지훈
  825. * @---------------------------------------------------
  826. */
  827. /*
  828. function mmbfGetHardCodeInfoNm(ref, rsltref, hardcd){
  829. var mmb_rsltref = "/root/hidden/mmb/hardcd";
  830. model.removeNode(mmb_rsltref);
  831. model.makeNode(mmb_rsltref);
  832. model.removeNode(ref);
  833. model.makeValue(ref + "/hardcd", hardcd);
  834. if(submit("TRMMB04105", "false", ref, mmb_rsltref)==true){
  835. model.copyNode(rsltref, mmb_rsltref);
  836. model.removeNode(mmb_rsltref);
  837. }
  838. model.refresh();
  839. }
  840. */
  841. /**
  842. * @desc : 외래환자 이력조회
  843. *
  844. * @param :
  845. * @return:
  846. */
  847. function fReqGetOutPatHistList(param){
  848. utlf_addLog("***** fReqGetOutPatHistList("+param+") *****");
  849. ds_send_reqdata.clearData();
  850. var nRow = ds_send_reqdata.addRow();
  851. if(param == "Y") {
  852. ds_send_reqdata.setColumn(nRow, "fromdd", ds_main_out.getColumn(0, "fromdd"));
  853. ds_send_reqdata.setColumn(nRow, "todd", ds_main_out.getColumn(0, "todd"));
  854. if(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd") != "-")
  855. ds_send_reqdata.setColumn(nRow, "appdeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  856. }
  857. ds_send_reqdata.setColumn(nRow, "ioflag", "O");
  858. ds_send_reqdata.setColumn(nRow, "pid", ds_main_cond.getColumn(0, "pid"));
  859. if(param == "T") {
  860. ds_send_reqdata.setColumn(nRow, "fromdd", ds_main_out.getColumn(0, "fromdd"));
  861. ds_send_reqdata.setColumn(nRow, "todd", ds_main_out.getColumn(0, "todd"));
  862. ds_send_reqdata.setColumn(nRow, "anoinfo", "Y");
  863. }
  864. var userinfo = sysf_getUserInfo("dutplcecd");
  865. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  866. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  867. {
  868. // KNUH_20101124_박성호_end
  869. ds_send_reqdata.setColumn(nRow, "orddeptcd", userinfo);
  870. }
  871. ds_grd_outpat.clearData();
  872. var oParam = {};
  873. oParam.id = "TRMRC03004";
  874. oParam.service = "chrtmngtapp.CopyIssMngt";
  875. oParam.method = "reqGetOutPatHistList";
  876. oParam.inds = "req=ds_send_reqdata";
  877. oParam.outds = "ds_grd_outpat=outpathistlist";
  878. oParam.async = false;
  879. oParam.callback = "cf_TRMRC03004";
  880. tranf_submit(oParam);
  881. }
  882. /**
  883. * @desc : 입원환자 이력조회
  884. *
  885. * @param :
  886. * @return:
  887. */
  888. function fReqGetInPatHistList(param){
  889. utlf_addLog("***** fReqGetInPatHistList " + param + " *****");
  890. ds_grd_inpat.clearData(); //model.removeNodeset("/root/main/midissinfo/emrapplist");
  891. ds_send_reqdata.clearData();
  892. var nRow = ds_send_reqdata.addRow();
  893. if(param == "Y") {
  894. ds_send_reqdata.setColumn(nRow, "fromdd", ds_main_in.getColumn(0, "fromdd"));
  895. ds_send_reqdata.setColumn(nRow, "todd", ds_main_in.getColumn(0, "todd"));
  896. if(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd") != "-")
  897. ds_send_reqdata.setColumn(nRow, "appdeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  898. }
  899. ds_send_reqdata.setColumn(nRow, "ioflag", "I");
  900. ds_send_reqdata.setColumn(nRow, "pid", ds_main_cond.getColumn(0, "pid"));
  901. if(param == "T") {
  902. ds_send_reqdata.setColumn(nRow, "anoinfo", "Y");
  903. ds_send_reqdata.setColumn(nRow, "fromdd", ds_main_in.getColumn(0, "fromdd"));
  904. ds_send_reqdata.setColumn(nRow, "todd", ds_main_in.getColumn(0, "todd"));
  905. }
  906. var userinfo = sysf_getUserInfo("dutplcecd");
  907. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  908. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  909. {
  910. // KNUH_20101124_박성호_end
  911. ds_send_reqdata.setColumn(nRow, "orddeptcd", userinfo);
  912. }
  913. ds_grd_inapplist.clearData();
  914. var oParam = {};
  915. oParam.id = "TRMRC03005";
  916. oParam.service = "chrtmngtapp.CopyIssMngt";
  917. oParam.method = "reqGetInPatHistList";
  918. oParam.inds = "req=ds_send_reqdata";
  919. oParam.outds = "ds_grd_inapplist=inpathistlist";
  920. oParam.async = false;
  921. oParam.callback = "cf_TRMRC03005";
  922. tranf_submit(oParam);
  923. if(arErrorCode.pop("TRMRC03005") > -1){
  924. swc_prof.in.grd_inapplist.setCellProperty("body", 0, "edittype", "none");
  925. // for(var i = 0; i < ds_grd_inapplist.rowcount; i++) {
  926. // //var chk = grd_inapplist.valueMatrix(i, grd_inapplist.colRef("chk"));
  927. // grd_inapplist.isReadOnly(i, 0) = true;
  928. // }
  929. }
  930. }
  931. function fReqGetPaperYN(param){
  932. utlf_addLog("***** fReqGetPaperYN("+param+") *****");
  933. ds_send_reqdata.clearData();
  934. var nRow = ds_send_reqdata.addRow();
  935. ds_send_reqdata.setColumn(nRow, "pid", ds_main_cond.getColumn(0, "pid"));
  936. if( !utlf_isNull(ds_main_cond.getColumn(0, "orddeptcd")) )
  937. ds_send_reqdata.setColumn(nRow, "orddeptcd", ds_main_cond.getColumn(0, "orddeptcd"));
  938. //종이차트 유무 체크 용 신청과 코드 전달 노드 셋팅
  939. if( !utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")) )
  940. ds_send_reqdata.setColumn(nRow, "orddeptcd2", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  941. var userinfo = sysf_getUserInfo("dutplcecd");
  942. var age = ds_main_cond.getColumn(0, "age");
  943. // 사본발행 증명서 병원별 주소 가져오기
  944. var hardcdno = "1006"; // 사본발행 병원별 주소
  945. ds_send_reqdata.setColumn(nRow, "hardcdno", hardcdno);
  946. var oParam = {};
  947. oParam.id = "TRMRF03104";
  948. oParam.service = "formmngtapp.SetIndxMngt";
  949. oParam.method = "reqGetEmrInfoTeamCd";
  950. oParam.inds = "req=ds_send_reqdata";
  951. oParam.outds = "ds_main_hardcdlist=hardcdlist";
  952. oParam.async = false;
  953. oParam.callback = "cf_TRMRF03104";
  954. tranf_submit(oParam);
  955. //var hardcdlistNode = findNodeset(model, "/root/main/hardcdlist");
  956. var HospAddr = "";
  957. for(var idx = 0; idx < ds_main_hardcdlist.rowcount; idx++)
  958. {
  959. if(ds_main_hardcdlist.getColumn(idx, "trgtcd") == "ADDR")
  960. HospAddr = ds_main_hardcdlist.getColumn(idx, "trgtcdnm");
  961. }
  962. var oParam = {};
  963. oParam.id = "TRMRC03019";
  964. oParam.service = "chrtmngtapp.CopyIssMngt";
  965. oParam.method = "reqGetPaperChrtYN";
  966. oParam.inds = "req=ds_send_reqdata";
  967. oParam.outds = "ds_main_paper=paper";
  968. oParam.async = false;
  969. oParam.callback = "cf_TRMRC03019";
  970. tranf_submit(oParam);
  971. if(arErrorCode.pop("TRMRC03019") > -1){
  972. //default null
  973. dsf_setDefaultVal(ds_main_paper, "all");
  974. ds_main_paper.setColumn(0, "addr", HospAddr);
  975. var paperyn = ds_main_paper.getColumn(0, "paperyn");
  976. if(paperyn == "무") {
  977. swc_prof.out.rdo_outchrtflag.enable = false;
  978. } else if(paperyn == "유") {
  979. swc_prof.out.rdo_outchrtflag.enable = true;
  980. }
  981. if( param != "HIST") {
  982. var deathyn = ds_main_paper.getColumn(0, "deathyn");
  983. if(deathyn == "Y") {
  984. rdo_appmanflag.value = "";
  985. } else if(deathyn == "N") {
  986. if(parseInt(age) < parseInt(14)) {
  987. rdo_appmanflag.value = "2";
  988. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "Y");
  989. } else {
  990. rdo_appmanflag.value = "1";
  991. }
  992. }
  993. }
  994. var userinfo = sysf_getUserInfo("dutplcecd");
  995. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  996. //if(userinfo == "3230000000"){
  997. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  998. {
  999. // KNUH_20101124_박성호_end
  1000. ds_main_cond.setColumn(0, "roomcd", ds_main_paper.getColumn(0, "roomcd"));
  1001. ds_main_cond.setColumn(0, "dschdd", ds_main_paper.getColumn(0, "dschdd"));
  1002. ds_main_cond.setColumn(0, "orddeptnm", ds_main_paper.getColumn(0, "deptnm"));
  1003. ds_main_cond.setColumn(0, "wardhospnm", ds_main_paper.getColumn(0, "wardhospnm"));
  1004. }
  1005. }
  1006. }
  1007. /**
  1008. * @group :
  1009. * @ver :
  1010. * @by : 이창록 2008-08-29
  1011. * @---------------------------------------------------
  1012. * @type : function
  1013. * @access : public
  1014. * @desc : 이전사본발행 내역 조회
  1015. * @param :
  1016. * @return :
  1017. * @---------------------------------------------------
  1018. */
  1019. /*
  1020. function fHistSearch()
  1021. {
  1022. model.makeValue("/root/send/cond/pid",model.getValue("/root/temp/appinfo/patinfo/pid"));
  1023. if(submit("TRMRC01201")){
  1024. }
  1025. model.removeNodeset("/root/send/cond");
  1026. }
  1027. */
  1028. /**
  1029. * @group :
  1030. * @ver :
  1031. * @by : 이창록 2008-08-29
  1032. * @---------------------------------------------------
  1033. * @type : function
  1034. * @access : public
  1035. * @desc : 환자 회차별 정보 조회(입원)
  1036. * @param :
  1037. * @return :
  1038. * @---------------------------------------------------
  1039. */
  1040. /*
  1041. function fCopyPatInfoList()
  1042. {
  1043. model.makeValue("/root/send/patinfo/pid",model.getValue("/root/temp/appinfo/patinfo/pid"));
  1044. if(submit("TRMRC03202")){
  1045. }
  1046. model.removeNodeset("/root/send/patinfo");
  1047. }
  1048. */
  1049. /**
  1050. * @group :
  1051. * @ver :
  1052. * @by : 이창록 2008-08-29
  1053. * @---------------------------------------------------
  1054. * @type : function
  1055. * @access : public
  1056. * @desc : 사본발행 목적 팝업 호출(사본발행신청 화면과 동일)
  1057. * @param :
  1058. * @return :
  1059. * @---------------------------------------------------
  1060. */
  1061. function fIssGoalPopUp(){
  1062. utlf_addLog("***** fIssGoalPopUp() *****");
  1063. var sIssUsge = "";
  1064. var sIssUsgeCnt = 0;
  1065. var sIssGoalEtcYN = false;
  1066. var sIssGoalEtc = "";
  1067. var sIssGoalEtcCd = "";
  1068. var sIssGoalCd = "";
  1069. var sStndRow = 0;
  1070. var sIssno = "";
  1071. var sIssissgoalcd = "";
  1072. frmf_setParameter("SPMMR02200_multichkyn", "N");
  1073. var rtObj = frmf_modal("SPMMR02200", "SPMMR02200", null, null, null, null, null, null, null, null, null, null, "M");
  1074. //ds_main_issusge dataset return
  1075. //이윤주 시작
  1076. var sIssno = ds_main_appinfo_copyinfo.getColumn(0, "issno");
  1077. var sIssissgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  1078. if (!utlf_isNull(sIssno)) {
  1079. if (sIssissgoalcd != "18" && sIssUsge.indexOf("18") > -1 ) {
  1080. sysf_messageBox("수가 발생용도을 수가 미발생 용도로 변경할 수 없습니다","I");
  1081. return;
  1082. }
  1083. if (sIssissgoalcd == "18" && sIssUsge.indexOf("18") == 0 ) {
  1084. sysf_messageBox("수가 미발생용도을 수가 발생 용도로 변경할 수 없습니다","I");
  1085. return;
  1086. }
  1087. }
  1088. //이윤주 종료
  1089. if( !utlf_isNull(rtObj.copyInfoDs) ){
  1090. var nRow = rtObj.copyInfoDs.rowposition;
  1091. var issusge = utlf_transNullToEmpty(rtObj.copyInfoDs.getColumn(nRow, "reqdata"));
  1092. sIssUsge = issusge;
  1093. sIssUsgeCnt = issusge.split("▩").length;
  1094. if(sIssUsgeCnt > 0){
  1095. for(var i=1; i<sIssUsgeCnt; i++){
  1096. if(i != sIssUsgeCnt-1){
  1097. if(!utlf_isNull(sIssGoalEtc)) sIssGoalEtc += ",";
  1098. if(!utlf_isNull(sIssGoalEtcCd)) sIssGoalEtcCd += ",";
  1099. }
  1100. sIssGoalEtc += getArrayData(sIssUsge, i, 1);
  1101. sIssGoalCd = getArrayData(sIssUsge, i, 0);
  1102. if(sIssGoalCd == "99"){
  1103. sIssGoalEtcYN = true;
  1104. }
  1105. sIssGoalEtcCd += sIssGoalCd;
  1106. }
  1107. if(sIssGoalEtcYN == true){
  1108. ipt_issgoaletc.enable = true;
  1109. }else{
  1110. ds_main_appinfo_copyinfo.setColumn(0, "issgoalcd","");
  1111. ipt_issgoaletc.enable = false;
  1112. }
  1113. if(sIssGoalEtcCd.indexOf("06") > -1){
  1114. sysf_messageBox("직할병원용 : 주치의가 8개 직할 병원으로 이동하여 환자도 함께 전원 가기를 희망하는 경우 선택","E008");
  1115. }
  1116. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletc", sIssGoalEtc);
  1117. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletccd", sIssGoalEtcCd);
  1118. }
  1119. }
  1120. }
  1121. /**
  1122. * @group :
  1123. * @ver :
  1124. * @by : 이창록 2008-08-29
  1125. * @---------------------------------------------------
  1126. * @type : function
  1127. * @access : public
  1128. * @desc : 사본발행 기본정보 조회
  1129. * @param :
  1130. * @return :
  1131. * @---------------------------------------------------
  1132. */
  1133. function fAppInfoSearch(){
  1134. utlf_addLog("***** fAppInfoSearch() *****");
  1135. //var hRow = grd_apphist.row - grd_apphist.fixedRows +1;
  1136. try
  1137. {
  1138. var vdept = "";
  1139. var hRow = ds_grd_apphist.rowposition;
  1140. ds_send_search.clearData();
  1141. var nRow = ds_send_search.addRow();
  1142. if(hRow > -1){
  1143. ds_send_search.setColumn(nRow, "copyseqno", ds_grd_apphist.getColumn(hRow, "copyseqno"));
  1144. ds_send_search.setColumn(nRow, "pid", ds_grd_apphist.getColumn(hRow, "pid"));
  1145. }
  1146. var oParam = {};
  1147. oParam.id = "TRMRC03010";
  1148. oParam.service = "chrtmngtapp.CopyIssMngt";
  1149. oParam.method = "reqGetCopyIssInfo2";
  1150. oParam.inds = "req=ds_send_search";
  1151. oParam.outds = "ds_main_appinfo_copyinfo=copyinfo";
  1152. oParam.async = false;
  1153. oParam.callback = "cf_TRMRC03010";
  1154. tranf_submit(oParam);
  1155. if (arErrorCode.pop("TRMRC03010") > -1){ // 사본발행기본정보, 저장된 서식정보조회 /root/main/appinfo/copyinfo
  1156. for(var k = 0; k < ds_init_cmb_emrorddeptcd.rowcount; k++) {
  1157. if(ds_main_appinfo_copyinfo.getColumn(0, "emrorddeptcd") == ds_init_cmb_emrorddeptcd.getColumn(k, "deptcd")){
  1158. vdept = "Y";
  1159. }
  1160. }
  1161. if(vdept == "Y") {
  1162. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd", ds_main_appinfo_copyinfo.getColumn(0, "emrorddeptcd"));
  1163. appf_getOrdDeptDoctorList("none", sysf_getUserInfo("dutplceinstcd"), cmb_emrorddeptcd.value, "usernm", "asc", utlf_getCurrentDate(), "ds_init_cmb_orddrid");//해당 주치의
  1164. ds_main_appinfo_copyinfo.setColumn(0, "appdrid", ds_main_appinfo_copyinfo.getColumn(0, "appdrid"));
  1165. }else {
  1166. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd", "");
  1167. ds_main_appinfo_copyinfo.setColumn(0, "appdrid", "");
  1168. }
  1169. }
  1170. btn_reappinfo.enable = true;
  1171. }
  1172. catch(e){ sysf_catchTrace(e); }
  1173. }
  1174. function fOutAppInfoSearch(){
  1175. utlf_addLog("***** fOutAppInfoSearch() *****");
  1176. var hRow = ds_grd_apphist.rowposition;
  1177. ds_grd_outpat.clearData();
  1178. ds_send_search.clearData();
  1179. var nRow = ds_send_search.addRow();
  1180. ds_send_search.setColumn(nRow, "copyseqno", ds_grd_apphist.getColumn(hRow, "copyseqno"));
  1181. ds_send_search.setColumn(nRow, "pid", ds_grd_apphist.getColumn(hRow, "pid"));
  1182. var oParam = {};
  1183. oParam.id = "TRMRC03011";
  1184. oParam.service = "chrtmngtapp.CopyIssMngt";
  1185. oParam.method = "reqGetCopyEmrOutAppList";
  1186. oParam.inds = "req=ds_send_search";
  1187. oParam.outds = "ds_grd_outpat=outpathistlist";
  1188. oParam.async = false;
  1189. oParam.callback = "cf_TRMRC03011";
  1190. tranf_submit(oParam);
  1191. if (arErrorCode.pop("TRMRC03011") > -1) // 사본발행기본정보, 저장된 서식정보조회 /root/main/appinfo/applist
  1192. {
  1193. for(var k = 0; k < ds_grd_outpat.rowcount; k++){
  1194. ds_grd_outpat.setColumn(k, "chk", "Y");
  1195. //utlf_addLog(" k : "+ k);
  1196. }
  1197. }
  1198. btn_reappinfo.enable = true;
  1199. }
  1200. function fInAppInfoSearch(){
  1201. utlf_addLog("***** fInAppInfoSearch() *****");
  1202. var hRow = ds_grd_apphist.rowposition;
  1203. ds_grd_inapplist.clearData();
  1204. ds_send_search.clearData();
  1205. var nRow =ds_send_search.addRow();
  1206. ds_send_search.setColumn(nRow, "copyseqno", ds_grd_apphist.getColumn(hRow, "copyseqno"));
  1207. ds_send_search.setColumn(nRow, "pid", ds_grd_apphist.getColumn(hRow, "pid"));
  1208. var oParam = {};
  1209. oParam.id = "TRMRC03012";
  1210. oParam.service = "chrtmngtapp.CopyIssMngt";
  1211. oParam.method = "reqGetCopyEmrInAppList";
  1212. oParam.inds = "req=ds_send_search";
  1213. oParam.outds = "ds_grd_inapplist=inpathistlist";
  1214. oParam.async = false;
  1215. oParam.callback = "cf_TRMRC03012";
  1216. tranf_submit(oParam);
  1217. if (arErrorCode.pop("TRMRC03012") > -1) // 사본발행기본정보, 저장된 서식정보조회 /root/main/appinfo/applist
  1218. {
  1219. for(var k = 0; k < ds_grd_inapplist.rowcount; k++) {
  1220. ds_grd_inapplist.enableevent = false;
  1221. ds_grd_inapplist.setColumn(k, "chk", "Y");
  1222. ds_grd_inapplist.enableevent = true;
  1223. }
  1224. }
  1225. //2012/02/29 Start
  1226. //btn_save.disabled = true;
  1227. //btn_update.disabled = false;
  1228. //2012/02/29 End
  1229. btn_reappinfo.enable = true;
  1230. }
  1231. /**
  1232. * @group :
  1233. * @ver :
  1234. * @by : 이창록 2008-08-29
  1235. * @---------------------------------------------------
  1236. * @type : function
  1237. * @access : public
  1238. * @desc : 통합기록조회에서 받아오는 정보 함수
  1239. * @param :
  1240. * @return :
  1241. * @---------------------------------------------------
  1242. */
  1243. function fGetCopyInfo(copyparam)
  1244. {
  1245. model.removeNodeset(" ");
  1246. var copyArr = copyparam.split("▩");
  1247. var duplFlag = false;
  1248. for(var i = 0; i <(copyArr.length-1); i++){
  1249. var reckeyno = copyArr[i].split("▦")[15];
  1250. var sFormcd = copyArr[i].split("▦")[16];
  1251. var sFormnm = copyArr[i].split("▦")[8];
  1252. var orddd = copyArr[i].split("▦")[11];
  1253. var ioflag = copyArr[i].split("▦")[6];
  1254. for(var rowcnt = 0; rowcnt < grd_outapplist.rows; rowcnt++){
  1255. if((model.getValue("/root/temp/issinfo/emrapplist["+ rowcnt + "]/reckeyno") == reckeyno) && (model.getValue("/root/temp/issinfo/emrapplist["+ rowcnt + "]/formcd") == sFormcd)){
  1256. duplFlag = true;
  1257. break;
  1258. } else {
  1259. duplFlag = false;
  1260. }
  1261. }
  1262. if(!(duplFlag)){
  1263. grd_outapplist.addRow(false);
  1264. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/shtno" ,copyArr[i].split("▦")[4]);
  1265. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/chrtflag" ,copyArr[i].split("▦")[5]);
  1266. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/ioflag" ,copyArr[i].split("▦")[6]);
  1267. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/dschdd" ,copyArr[i].split("▦")[12]);
  1268. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/formnm" ,copyArr[i].split("▦")[8]);
  1269. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/orddeptnm" ,copyArr[i].split("▦")[9]);
  1270. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/orddeptcd" ,copyArr[i].split("▦")[10]);
  1271. if((ioflag=="O")||(ioflag=="E")){
  1272. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/orddd" ,orddd);
  1273. }else{
  1274. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/indd" ,orddd);
  1275. }
  1276. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/formrecdt" ,copyArr[i].split("▦")[7]);
  1277. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/atdoctnm" ,copyArr[i].split("▦")[13]);
  1278. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/atdoctid" ,copyArr[i].split("▦")[14]);
  1279. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/reckeyno" ,copyArr[i].split("▦")[15]);
  1280. model.makeValue("/root/temp/issinfo/emrapplist["+grd_outapplist.row+"]/formcd" ,copyArr[i].split("▦")[16]);
  1281. duplFlag = false;
  1282. }
  1283. }
  1284. grd_outapplist.colDisabled(grd_outapplist.colRef("chrtflag"))=true;
  1285. grd_outapplist.colDisabled(grd_outapplist.colRef("ioflag"))=true;
  1286. grd_outapplist.refresh();
  1287. }
  1288. // 외래 tab
  1289. function fClikOutTab() {
  1290. var userinfo = sysf_getUserInfo("dutplcecd");
  1291. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1292. //if(userinfo != "3230000000"){
  1293. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  1294. {
  1295. swc_prof.tabindex = 0;
  1296. group1.visible = true;
  1297. swc_prof.position.height = "285";//270
  1298. }
  1299. //else if(userinfo == "3230000000"){
  1300. else if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  1301. {
  1302. // KNUH_20101124_박성호_end
  1303. swc_prof.tabindex = 0;
  1304. group1.visible = true;
  1305. swc_prof.position.height = "363";//343
  1306. swc_prof.out.grd_outpat.position.height = "320";//310
  1307. group1.position.y = "680";
  1308. caption24.position.y = "785";
  1309. caption18.position.y = "785";
  1310. output1.position.y = "785";
  1311. txt_delivefact.position.y = "802";
  1312. txt_delivefact.position.height = "75";
  1313. btn_reappinfo.position.y = "884";
  1314. button3.position.y = "884";
  1315. btn_update.position.y = "884";
  1316. btn_save.position.y = "884";
  1317. }
  1318. }
  1319. // 입원 tab
  1320. function fClikInTab() {
  1321. var userinfo = sysf_getUserInfo("dutplcecd");
  1322. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1323. //if(userinfo != "3230000000"){
  1324. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  1325. {
  1326. swc_prof.tabindex = 1;
  1327. group1.visible = false;
  1328. swc_prof.position.height = "379";//364
  1329. swc_prof.in.grd_inapplist.position.height = "161";
  1330. swc_prof.in.caption10.position.y = "184";
  1331. swc_prof.in.grd_inpat.position.y = "202";//200
  1332. swc_prof.in.grd_inpat.position.height = "160";
  1333. }
  1334. else if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  1335. {
  1336. //else if(userinfo == "3230000000"){
  1337. // KNUH_20101124_박성호_end
  1338. swc_prof.tabindex = 1;
  1339. group1.visible = false;
  1340. swc_prof.position.height = "457";//445
  1341. swc_prof.in.grd_inapplist.position.height = "200";
  1342. swc_prof.in.caption10.position.y = "225";
  1343. swc_prof.in.grd_inpat.position.y = "242";//240
  1344. swc_prof.in.grd_inpat.position.height = "200";
  1345. }
  1346. }
  1347. // 사본발행 신청내역 저장
  1348. function fBefCopySave(param)
  1349. {
  1350. utlf_addLog("***** fBefCopySave("+param+") *****");
  1351. ds_send_savedata_copyinfo.clearData();
  1352. ds_send_savedata_copyinfo.addRow();
  1353. ds_send_savedata_emrapplist.clearData();
  1354. //ds_send_savedata_emrapplist.addRow();
  1355. ds_send_savedata_otptinfo.clearData();
  1356. //ds_send_savedata_otptinfo.addRow();
  1357. //2012/10/15 Start
  1358. if(param=="UDT" && ds_grd_apphist.rowposition < 0){
  1359. sysf_messageBox("수정할 사본발행 내역을 먼저 선택","I008");
  1360. return;
  1361. }
  1362. //2012/10/15 End
  1363. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"))){
  1364. sysf_messageBox("진료과를 먼저 선택","I008");
  1365. return;
  1366. }
  1367. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdrid"))){
  1368. sysf_messageBox("신청의사를 선택","I008");
  1369. return;
  1370. }
  1371. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"))){
  1372. rdo_appmanflag.setFocus();
  1373. sysf_messageBox("사본발행 신청인을", "C001");
  1374. return;
  1375. }
  1376. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "trustyn"))){
  1377. rdo_trustyn.setFocus();
  1378. sysf_messageBox("위임장/인감증명서 유무를", "C001");
  1379. return;
  1380. }
  1381. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))){
  1382. ipt_issgoalnm.setFocus();
  1383. sysf_messageBox("사본발행목적을", "C001");
  1384. return;
  1385. }
  1386. if(ds_grd_outpat.getCaseCount("chk == 'Y'") < 1) {
  1387. if(group1.chk_onlytest.value == "Y" || group1.chk_prcpinfo.value == "Y" || group1.chk_testinfo2.value == "Y"
  1388. || group1.chk_testinfo3.value == "Y" || group1.chk_testinfo4.value == "Y" || group1.chk_testinfo5.value == "Y"
  1389. || group1.chk_testinfo6.value == "Y" || group1.chk_testinfo7.value == "Y" || group1.chk_testinfo8.value == "Y") {
  1390. sysf_messageBox("외래 진료일을", "C002");
  1391. return;
  1392. }
  1393. }
  1394. //alert(333); return;
  1395. // 외래 서식
  1396. if(SAVE_COPY == 1)
  1397. {
  1398. ds_grd_outapplist.clearData();
  1399. // 외래 수진이력 체크된 노드를 가져옴.
  1400. var rsrvinfoCnt = ds_grd_outpat.getCaseCount("chk == 'Y'");
  1401. //alert("rsrvinfoCnt:"+rsrvinfoCnt);
  1402. if ( rsrvinfoCnt == 0 ) {
  1403. if (6 != sysf_messageBox("선택된 외래 수진이력이 없습니다 계속 진행하시겠습니까?","Q") ) {
  1404. return;
  1405. }
  1406. }
  1407. if(rsrvinfoCnt > 0) // 수진으로 신청
  1408. {
  1409. ds_send_search.clearData();
  1410. ds_send_search.addRow();
  1411. ds_send_search_rsrvinfo.clearData();
  1412. ds_grd_outpat.filter("chk=='Y'");
  1413. ds_send_search_rsrvinfo.copyData(ds_grd_outpat, true);
  1414. utlf_addLog("ds_send_search_rsrvinfo"+ds_grd_outpat.saveXML());
  1415. ds_grd_outpat.filter("");
  1416. ds_send_search_rsrvinfo.addColumn("chosflag", "string");
  1417. ds_send_search_rsrvinfo.addColumn("chrtflag", "string");
  1418. ds_send_search_rsrvinfo.addColumn("medirecno", "BIGDECIMAL");
  1419. ds_send_search_rsrvinfo.addColumn("midindxseq", "BIGDECIMAL");
  1420. ds_send_search_rsrvinfo.addColumn("supitemindxseq", "string");
  1421. dsf_setDefaultVal(ds_send_search_rsrvinfo, "all");
  1422. for(var i=0; i<ds_send_search_rsrvinfo.rowcount; i++)
  1423. ds_send_search_rsrvinfo.setColumn(i, "chosflag", ds_send_search_rsrvinfo.getColumn(i, "ordtype"));
  1424. OUTCOPY_FLAG = "Y"; // 외래기록 신청여부
  1425. var onlytest = group1.chk_onlytest.value; // 검사결과만
  1426. if(onlytest == "Y") {
  1427. ds_send_search.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid"));
  1428. ds_send_search.setColumn(0, "onlytest", "Y");
  1429. var midseq = "";
  1430. if(group1.chk_testinfo2.value == "Y") { // 진단검사
  1431. midseq += 11137 + ",";
  1432. }
  1433. if(group1.chk_testinfo3.value == "Y") { // 임상병리
  1434. midseq += 11132 + ",";
  1435. }
  1436. if(group1.chk_testinfo4.value == "Y") { // 기능검사
  1437. midseq += 11135 + ",";
  1438. ds_send_search.setColumn(0, "testinfo4", "Y");
  1439. }
  1440. if(group1.chk_testinfo5.value == "Y") { // 영상의학
  1441. midseq += 11136 + ",";
  1442. ds_send_search.setColumn(0, "testinfo5", "Y");
  1443. }
  1444. if(group1.chk_testinfo6.value == "Y") { // 핵체외
  1445. midseq += 18788 + ",";
  1446. }
  1447. if(group1.chk_testinfo7.value == "Y") { // 내시경
  1448. midseq += 11133 + ",";
  1449. ds_send_search.setColumn(0, "testinfo7", "Y");
  1450. }
  1451. if(group1.chk_testinfo8.value == "Y") { // 미생물
  1452. midseq += 19697 + ",";
  1453. }
  1454. ds_send_search.setColumn(0, "midseq", midseq.substring(0, midseq.length - 1));
  1455. } else {
  1456. ds_send_search.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid"));
  1457. ds_send_search.setColumn(0, "onlytest", "N");
  1458. }
  1459. var oParam = {};
  1460. oParam.id = "TRMRC03024";
  1461. oParam.service = "chrtmngtapp.CopyIssMngt";
  1462. oParam.method = "reqGetAllCopyEmrInfo";
  1463. oParam.inds = "rsrvinfo=ds_send_search_rsrvinfo req=ds_send_search";
  1464. oParam.outds = "ds_main_emrinfo_emrlist=emrlist";
  1465. oParam.async = false;
  1466. oParam.callback = "cf_TRMRC03024";
  1467. tranf_submit(oParam);
  1468. //alert("ds_main_emrinfo_emrlist 건수:"+ds_main_emrinfo_emrlist.rowcount);
  1469. if(arErrorCode.pop("TRMRC03024") > -1) {
  1470. //var NodeList = instance1.selectNodes("/root/main/emrinfo/emrlist");
  1471. if(ds_main_emrinfo_emrlist.rowcount > 0) {
  1472. ds_grd_outapplist.copyData(ds_main_emrinfo_emrlist);
  1473. //setCSVToNode("/root/temp/issinfo", getNodeListCSV(NodeList), "emrlist");
  1474. }
  1475. }
  1476. //}
  1477. //return;
  1478. // 외래 검사
  1479. if(group1.chk_testinfo.value == "Y") { // "전체" 체크박스가 선택되어 있는지 확인
  1480. fAddTestList("0000000000");
  1481. if(group1.chk_onlytest.value == "Y") { // 검사결과만 신청
  1482. fAddTestList("T");
  1483. }
  1484. } else {
  1485. if(group1.chk_prcpinfo.value == "Y") { // 처방기록
  1486. fAddTestList("0800000636");
  1487. } else {
  1488. fDelTestList("0800000636");
  1489. }
  1490. if(group1.chk_testinfo2.value == "Y") { // 진단검사
  1491. fAddTestList("0800004096");
  1492. } else {
  1493. fDelTestList("0800004096");
  1494. }
  1495. if(group1.chk_testinfo3.value == "Y") { // 임상병리
  1496. fAddTestList("E");
  1497. } else {
  1498. fDelTestList("E");
  1499. }
  1500. if(group1.chk_testinfo4.value == "Y") { // 기능검사
  1501. fAddTestList("F");
  1502. } else {
  1503. fDelTestList("F");
  1504. }
  1505. if(group1.chk_testinfo5.value == "Y") { // 영상의학
  1506. fAddTestList("0800004099");
  1507. } else {
  1508. fDelTestList("0800004099");
  1509. }
  1510. if(group1.chk_testinfo6.value == "Y") { // 핵체외
  1511. fAddTestList("0800004098");
  1512. } else {
  1513. fDelTestList("0800004098");
  1514. }
  1515. if(group1.chk_testinfo7.value == "Y") { // 내시경
  1516. fAddTestList("I");
  1517. } else {
  1518. fDelTestList("I");
  1519. }
  1520. if(group1.chk_testinfo8.value == "Y") { // 미생물
  1521. fAddTestList("0800004097");
  1522. } else {
  1523. fDelTestList("0800004097");
  1524. }
  1525. if(group1.chk_onlytest.value == "Y") { // 검사결과만 신청
  1526. fAddTestList("T");
  1527. } else {
  1528. fDelTestList("T");
  1529. }
  1530. }
  1531. ds_main_cond.setColumn(0, "emrordflag", "O");
  1532. }
  1533. //return;
  1534. // 종이차트
  1535. fPaperList();
  1536. } // end of 외래서식
  1537. //debugger;
  1538. //alert(457384); return;
  1539. // 입원 서식 copy + 검사결과
  1540. //fInEMRChrtListSelect();
  1541. var inrsrvinfoCnt = ds_grd_inpat.getCaseCount("chk == 'Y'");
  1542. if ( inrsrvinfoCnt == 0 ) {
  1543. if (6 != sysf_messageBox("선택된 입원 수진이력이 없습니다 계속 진행하시겠습니까?","Q") ) {
  1544. return;
  1545. }
  1546. }
  1547. if(inrsrvinfoCnt > 0) { // 수진으로 신청
  1548. INCOPY_FLAG = "Y";
  1549. ds_send_search.clearData();
  1550. ds_send_search.addRow();
  1551. ds_send_search_rsrvinfo.clearData();
  1552. ds_grd_inpat.filter("chk=='Y'");
  1553. ds_send_search_rsrvinfo.copyData(ds_grd_inpat, true);
  1554. ds_grd_inpat.filter("");
  1555. ds_send_search_rsrvinfo.addColumn("chosflag", "string");
  1556. ds_send_search_rsrvinfo.addColumn("chrtflag", "string");
  1557. ds_send_search_rsrvinfo.addColumn("medirecno", "BIGDECIMAL");
  1558. ds_send_search_rsrvinfo.addColumn("midindxseq", "BIGDECIMAL");
  1559. ds_send_search_rsrvinfo.addColumn("supitemindxseq", "string");
  1560. dsf_setDefaultVal(ds_send_search_rsrvinfo, "all");
  1561. for(var i=0; i<ds_send_search_rsrvinfo.rowcount; i++)
  1562. ds_send_search_rsrvinfo.setColumn(i, "chosflag", ds_send_search_rsrvinfo.getColumn(i, "ordtype"));
  1563. ds_send_search.setColumn(0, "onlytest", "N");
  1564. var inmidseq = "";
  1565. var inimgseq = "";
  1566. for(var x = 0; x < ds_grd_inpat.rowcount; x++){
  1567. if(ds_grd_inpat.getColumn(x, "chk") == "Y") {
  1568. if(!utlf_isNull(ds_grd_inpat.getColumn(x, "midindxseq"))) {
  1569. inmidseq += ds_grd_inpat.getColumn(x, "midindxseq") + ",";
  1570. }
  1571. if(!utlf_isNull(ds_grd_inpat.getColumn(x, "formcd"))) {
  1572. inimgseq += "'" + ds_grd_inpat.getColumn(x, "formcd") + "'" + ",";
  1573. }
  1574. if(ds_grd_inpat.getColumn(x, "midindxseq") == "11135") { // 기능
  1575. ds_send_search.setColumn(0, "testinfo4", "Y");
  1576. }
  1577. if(ds_grd_inpat.getColumn(x, "midindxseq") == "11136") { // 영상
  1578. ds_send_search.setColumn(0, "testinfo5", "Y");
  1579. }
  1580. if(ds_grd_inpat.getColumn(x, "midindxseq") == "11133") { // 내시경
  1581. ds_send_search.setColumn(0, "testinfo7", "Y");
  1582. }
  1583. }
  1584. }
  1585. ds_send_search.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid"));
  1586. ds_send_search.setColumn(0, "midseq", inmidseq.substring(0, inmidseq.length - 1));
  1587. ds_send_search.setColumn(0, "imgseq", inimgseq.substring(0, inimgseq.length - 1));
  1588. //utlf_addLog(ds_send_search_rsrvinfo.saveXML());
  1589. //utlf_addLog(ds_send_search.saveXML());
  1590. var oParam = {};
  1591. oParam.id = "TRMRC03024";
  1592. oParam.service = "chrtmngtapp.CopyIssMngt";
  1593. oParam.method = "reqGetAllCopyEmrInfo";
  1594. oParam.inds = "rsrvinfo=ds_send_search_rsrvinfo req=ds_send_search";
  1595. oParam.outds = "ds_main_emrinfo_emrlist=emrlist";
  1596. oParam.async = false;
  1597. oParam.callback = "cf_TRMRC03024";
  1598. tranf_submit(oParam);
  1599. utlf_addLog("테스트:"+ds_main_emrinfo_emrlist.saveXML());
  1600. if(arErrorCode.pop("TRMRC03024") > -1) {
  1601. //var NodeList = instance1.selectNodes("/root/main/emrinfo/emrlist");
  1602. if(ds_main_emrinfo_emrlist.rowcount > 0) {
  1603. if( ds_grd_outapplist.getColumnInfo("chk") == null || ds_grd_outapplist.getColumnInfo("formrecuserid") == null ||
  1604. ds_grd_outapplist.getColumnInfo("formrecdeptnm") == null || ds_grd_outapplist.getColumnInfo("formrecusernm") == null ||
  1605. ds_grd_outapplist.getColumnInfo("formrecdeptcd") == null || ds_grd_outapplist.getColumnInfo("indg") == null ){
  1606. ds_grd_outapplist.addColumn("chk", "string"); ds_grd_outapplist.addColumn("formrecuserid", "string");
  1607. ds_grd_outapplist.addColumn("formrecdeptnm", "string"); ds_grd_outapplist.addColumn("formrecusernm", "string");
  1608. ds_grd_outapplist.addColumn("formrecdeptcd", "string"); ds_grd_outapplist.addColumn("indg", "string");
  1609. }
  1610. ds_grd_outapplist.appendData(ds_main_emrinfo_emrlist, true, false);
  1611. //copyNodeListType("/root/temp/issinfo", "/root/main/emrinfo/emrlist", "after", model, model);
  1612. //var tmpNodeList = instance1.selectNodes("/root/temp/issinfo/emrlist");
  1613. for(var a = 0; a < ds_grd_outapplist.rowcount; a++)
  1614. {
  1615. if (ds_grd_outapplist.getColumn(a, "status") == "i")
  1616. {
  1617. var arrPostion = new Array();
  1618. arrPostion[0] = a;
  1619. grdf_setStatus(grd_outapplist, "I", arrPostion);
  1620. //grd_outapplist.addStatus(a + 1, "insert");
  1621. }
  1622. }
  1623. }
  1624. }
  1625. if(!utlf_isNull(ds_main_cond.getColumn(0, "emrordflag"))) {
  1626. ds_main_cond.setColumn(0, "emrordflag", "OI");
  1627. } else {
  1628. ds_main_cond.setColumn(0, "emrordflag", "I");
  1629. }
  1630. }
  1631. //alert(4953); return;
  1632. // var outList = model.instance1.selectNodes("/root/main/outpathistlist/outpathistlist"); // 입원회차
  1633. // var totalList = model.instance1.selectNodes("/root/main/inpathistlist/inpathistlist"); // 입원회차
  1634. // var chkList = model.instance1.selectNodes("/root/main/inpathistlist/inpathistlist[chk = 'Y']"); // 저장된 입원회차
  1635. // var midList = model.instance1.selectNodes("/root/main/midissinfo/emrapplist[chk = 'Y']"); // 중분류서식
  1636. // ds_grd_outpat
  1637. // ds_grd_inapplist
  1638. var chkListCnt = ds_grd_inapplist.getCaseCount("chk=='Y'");
  1639. var midListCnt = ds_grd_inpat.getCaseCount("chk=='Y'");
  1640. if(param != "UDT")
  1641. {
  1642. if(midListCnt > 0 && ds_grd_inapplist.rowcount != 1 && (ds_grd_inapplist.rowcount -1 != chkListCnt)) {
  1643. SAVE_ORDDD = ds_grd_inpat.getColumn(0, "orddd");
  1644. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  1645. var midformcd = "";
  1646. var midreckeyno = "";
  1647. var comporddd = "";
  1648. var compcretno = "";
  1649. var compioflag = "";
  1650. var comporddeptcd = "";
  1651. //var compNodeSet = instance1.selectNodes("/root/temp/issinfo/emrlist");//ds_grd_outapplist
  1652. for(var j = 0; j < ds_grd_inpat.rowcount; j++ )
  1653. {
  1654. var chk = ds_grd_inpat.getColumn(j, "chk");
  1655. var emrflag = ds_grd_inpat.getColumn(j, "emrflag");
  1656. if (emrflag == "E")
  1657. {
  1658. var midindxseq = ds_grd_inpat.getColumn(j, "midindxseq");
  1659. utlf_addLog("확인"+ds_grd_inpat.saveXML());
  1660. if(chk =="Y")
  1661. {
  1662. var subNode = "";
  1663. if(!utlf_isNull(ds_grd_outapplist.lookup("midindxseq", midindxseq, "midindxseq")))
  1664. {
  1665. compmidindxseq = ds_grd_outapplist.lookup("midindxseq", midindxseq, "midindxseq");
  1666. if(midindxseq == compmidindxseq){
  1667. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  1668. //subNode = compNodeSet.item(i);
  1669. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P") || (ds_grd_outapplist.getColumn(i, "midindxseq") == midindxseq)
  1670. || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S"))
  1671. {
  1672. ds_grd_outapplist.setColumn(i, "status", "i");
  1673. }
  1674. }
  1675. }
  1676. }
  1677. }
  1678. }
  1679. else
  1680. {
  1681. var formcd = ds_grd_inpat.getColumn(j, "supitemindxseq");
  1682. var reckeyno = ds_grd_inpat.getColumn(j, "midindxseq");
  1683. if(chk =="Y"){
  1684. utlf_addLog("ds_grd_outapplist"+ds_grd_outapplist.saveXML());
  1685. //alert("ds_grd_outapplist 건수" + ds_grd_outapplist.rowcount);
  1686. var subNode = "";
  1687. compformcd = ds_grd_outapplist.lookup("formcd", formcd, "formcd");
  1688. compreckeyno = ds_grd_outapplist.lookup("reckeyno", reckeyno, "reckeyno");
  1689. if((formcd == compformcd)&&(reckeyno == compreckeyno)){
  1690. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  1691. //subNode = compNodeSet.item(i);
  1692. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P")
  1693. || (ds_grd_outapplist.getColumn(i, "formcd") == compformcd && ds_grd_outapplist.getColumn(i, "reckeyno") == compreckeyno)
  1694. || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S"))
  1695. {
  1696. ds_grd_outapplist.setColumn(i, "status", "i");
  1697. }
  1698. }
  1699. }
  1700. }
  1701. }
  1702. }
  1703. ///////////////////////////////////////////////////////////////////////////////////////////////////////
  1704. ret =sysf_messageBox("신청서식이 저장되었습니다. 다른 회차도 신청", "Q014");
  1705. if(ret == "6") {
  1706. if(!utlf_isNull(SAVE_ORDDD)) {
  1707. ds_grd_inapplist.enableevent = false;
  1708. var nidx = ds_grd_inapplist.findRow("indd", SAVE_ORDDD);
  1709. ds_grd_inapplist.setColumn(nidx, "chk", "Y");
  1710. ds_grd_inapplist.enableevent = true;
  1711. }
  1712. SAVE_COPY ++;
  1713. ds_grd_emrapplist.clearData();
  1714. } else {
  1715. if(!utlf_isNull(SAVE_ORDDD)) {
  1716. ds_grd_inapplist.enableevent = false;
  1717. var nidx = ds_grd_inapplist.findRow("indd", SAVE_ORDDD);
  1718. ds_grd_inapplist.setColumn(nidx, "chk", "Y");
  1719. ds_grd_inapplist.enableevent = true;
  1720. }
  1721. //alert(3333); return;
  1722. fCopySave();
  1723. ////////////////////////////////////////////
  1724. // 2010.06.08. 후인증관련 사본발행 블러킹 //
  1725. ////////////////////////////////////////////
  1726. var aftcertdryn = ds_send_aftcert.getColumn(0, "aftcertdryn");// model.getValue("/root/send/aftcert/aftcertdryn"); // 후인증 대상 의사 여부
  1727. if (aftcertdryn == "Y") {
  1728. return;
  1729. }
  1730. ////////////////////////////////////////////
  1731. sysf_messageBox("사본발행 신청이", "I002");
  1732. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1733. var dutplcecd = sysf_getUserInfo("dutplcecd");
  1734. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  1735. {
  1736. // KNUH_20101124_박성호_end
  1737. opener.frmf_setParameter("SMMRC03000_appYN", "Y");
  1738. var oprnerId = opener.frmf_getScreenID();
  1739. if(oprnerId == "SMMRC02200") opener.fGetCopyInfoHistSearch();
  1740. frmf_clearParameter("SMMRC03000_appYN");
  1741. var closeyn = ds_tmphdcd.getColumn(0, "hardcd");
  1742. if (utlf_isNull(closeyn))
  1743. {
  1744. closeyn = "N";
  1745. }
  1746. if (closeyn == "Y")
  1747. {
  1748. //20111017
  1749. fReqGetBfCopyIssHistList(ipt_pid.text);
  1750. //20111017
  1751. }
  1752. else
  1753. {
  1754. fReqGetBfCopyIssHistList(ipt_pid.text);
  1755. }
  1756. } else {
  1757. this.close();
  1758. }
  1759. }
  1760. }
  1761. else
  1762. {
  1763. if(ds_grd_inapplist.rowcount > 0) { // 입원
  1764. if(!utlf_isNull(SAVE_ORDDD)){
  1765. ds_grd_inapplist.enableevent = false;
  1766. var nidx = ds_grd_inapplist.findRow("indd", SAVE_ORDDD);
  1767. ds_grd_inapplist.setColumn(nidx, "chk", "Y");
  1768. ds_grd_inapplist.enableevent = true;
  1769. }
  1770. fCopySave();
  1771. ////////////////////////////////////////////
  1772. // 2010.06.08. 후인증관련 사본발행 블러킹 //
  1773. ////////////////////////////////////////////
  1774. var aftcertdryn = ds_send_aftcert.getColumn(0, "aftcertdryn"); // 후인증 대상 의사 여부
  1775. if (aftcertdryn == "Y") {
  1776. return;
  1777. }
  1778. ////////////////////////////////////////////
  1779. sysf_messageBox("사본발행 신청이", "I002");
  1780. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1781. var dutplcecd = sysf_getUserInfo("dutplcecd");
  1782. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  1783. {
  1784. // KNUH_20101124_박성호_end
  1785. opener.frmf_setParameter("SMMRC03000_appYN", "Y");
  1786. var oprnerId = opener.frmf_getScreenID();
  1787. if(oprnerId == "SMMRC02200") opener.fGetCopyInfoHistSearch();
  1788. frmf_clearParameter("SMMRC03000_appYN");
  1789. var closeyn = ds_tmphdcd.getColumn(0, "hardcd");
  1790. if (utlf_isNull(closeyn))
  1791. {
  1792. closeyn = "N";
  1793. }
  1794. if (closeyn == "Y")
  1795. {
  1796. //20111017
  1797. fReqGetBfCopyIssHistList(ipt_pid.text);
  1798. //20111017
  1799. }
  1800. else
  1801. {
  1802. fReqGetBfCopyIssHistList(ipt_pid.text);
  1803. }
  1804. } else {
  1805. this.close();
  1806. }
  1807. }
  1808. else {
  1809. fCopySave();
  1810. ////////////////////////////////////////////
  1811. // 2010.06.08. 후인증관련 사본발행 블러킹 //
  1812. ////////////////////////////////////////////
  1813. var aftcertdryn = ds_send_aftcert.getColumn(0, "aftcertdryn"); // 후인증 대상 의사 여부
  1814. if (aftcertdryn == "Y") {
  1815. return;
  1816. }
  1817. ////////////////////////////////////////////
  1818. sysf_messageBox("사본발행 신청이", "I002");
  1819. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1820. var dutplcecd = sysf_getUserInfo("dutplcecd");
  1821. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  1822. {
  1823. // KNUH_20101124_박성호_end
  1824. var closeyn = ds_tmphdcd.getColumn(0, "hardcd");
  1825. if (utlf_isNull(closeyn))
  1826. {
  1827. closeyn = "N";
  1828. }
  1829. if (closeyn == "Y")
  1830. {
  1831. //20111017
  1832. fReqGetBfCopyIssHistList(ipt_pid.text);
  1833. //20111017
  1834. }
  1835. else
  1836. {
  1837. fReqGetBfCopyIssHistList(ipt_pid.text);
  1838. }
  1839. }
  1840. else
  1841. {
  1842. this.close();
  1843. }
  1844. }
  1845. }
  1846. } //return;
  1847. else
  1848. {
  1849. fCopySave("UPT");
  1850. }
  1851. //2012/03/12 Start 이전 사본발행 목적을 새로 클릭 하지 않더라도 증명서 및 승낙서가 발급될수 있도록 수정
  1852. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  1853. if(ds_temp_hardcd2.getColumn(i, "hardcd")!=sysf_getUserInfo("dutplceinstcd")){
  1854. var goal1_cd=ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd"); // 사본신청내역 수정 전 발급목적 코드
  1855. var goal1_nm=ds_main_appinfo_copyinfo.getColumn(0, "issgoalnm"); // 사본신청내역 수정 전 발급목적 이름
  1856. var goal2_cd=ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"); // 사본신청내역 수정 후 발급목적 코드
  1857. var goal2_nm=ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"); // 사본신청내역 수정 후 발급목적 이름
  1858. if(goal1_cd!=goal2_cd && goal1_nm!=goal2_nm){ // 수정전과 수정후가 동일하지 않을 경우
  1859. ds_main_appinfo_copyinfo.setColumn(0, "issgoalcd", goal2_cd);
  1860. ds_main_appinfo_copyinfo.setColumn(0, "issgoalnm", goal2_nm);
  1861. }
  1862. }
  1863. }
  1864. //2012/03/12 End
  1865. }
  1866. // 사본 저장
  1867. function fCopySave(param) {
  1868. utlf_addLog("***** fCopySave("+param+") *****");
  1869. ////////////////////////////////////////////
  1870. // 2010.06.08. 후인증관련 사본발행 블러킹 //
  1871. ////////////////////////////////////////////
  1872. ds_send_aftcert.setColumn(0, "aftcertdryn", "N"); // 후인증 대상 의사 여부
  1873. // 외래 - 처방기록 포함 체크인 경우
  1874. var prcpInfoYN = ds_main_otherinfo.getColumn(0, "prcpinfo");
  1875. if (utlf_isNull(prcpInfoYN)) { prcpInfoYN = "N"; }
  1876. // 입원 - 중분류서식 (의사지시기록) 체크인 경우
  1877. var cntMidPrcp = 0;
  1878. var cntMidList = ds_grd_inpat.rowcount;
  1879. for (var i=0; i < cntMidList ; i++) {
  1880. var chk = ds_grd_inpat.getColumn(i, "chk");
  1881. var midindxseq = ds_grd_inpat.getColumn(i, "midindxseq");
  1882. if (midindxseq == '20337' && chk == "Y") {
  1883. cntMidPrcp = cntMidPrcp + 1;
  1884. }
  1885. }
  1886. if (prcpInfoYN == "Y" || cntMidPrcp > 0) {
  1887. //alert("외래 처방기록 포함 여부 => " + prcpInfoYN + " , 입원 중분류서식(의사지시기록) 선택 건수 => " + cntMidPrcp);
  1888. var userkind = "E"; // 의사 : "D" , 그외 : "E"
  1889. var jobkindcd = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd"));
  1890. if(jobkindcd.substring(0, 2) == "03") { // 의사일 경우 블락킹 (2010.06.14 변경)
  1891. userkind = "D";
  1892. }
  1893. var pid = "";
  1894. var orddd = "";
  1895. var cretno = "";
  1896. if (param == "UPT") { // 수정모드
  1897. pid = ds_main_appinfo_copyinfo.getColumn(0, "pid");
  1898. orddd = ds_main_appinfo_copyinfo.getColumn(0, "orddd");
  1899. cretno = ds_main_appinfo_copyinfo.getColumn(0, "cretno");
  1900. } else {
  1901. pid = ds_main_cond.getColumn(0, "pid");
  1902. orddd = ds_main_cond.getColumn(0, "orddd");
  1903. cretno = ds_main_cond.getColumn(0, "cretno");
  1904. }
  1905. if (utlf_isNull(cretno)) { // 수진정보가 없으면..
  1906. pid = ds_main_result_pathistlist.getColumn(0, "pid");
  1907. orddd = ds_main_result_pathistlist.getColumn(0, "orddd");
  1908. cretno = ds_main_result_pathistlist.getColumn(0, "cretno");
  1909. }
  1910. ds_send_aftcert.setColumn(0, "pid" , pid);
  1911. ds_send_aftcert.setColumn(0, "orddd" , orddd);
  1912. ds_send_aftcert.setColumn(0, "cretno" , cretno);
  1913. ds_send_aftcert.setColumn(0, "userdeptcd" , sysf_getUserInfo("dutplcecd")); // 사용자 소속과
  1914. ds_send_aftcert.setColumn(0, "userkind" , userkind); // 의사 : "D" , 그외 : "E"
  1915. ds_send_aftcert.setColumn(0, "jobkindcd" , jobkindcd); // 직종코드
  1916. var oParam = {};
  1917. oParam.id = "TRMMO02705";
  1918. oParam.service = "prcpmngtapp.PrcpMngt";
  1919. oParam.method = "reqGetPatAftPrcpChk";
  1920. oParam.inds = "req=ds_send_aftcert";
  1921. oParam.outds = "ds_hidden_aftcert=aftcert";
  1922. oParam.async = false;
  1923. oParam.callback = "cf_TRMMO02705";
  1924. tranf_submit(oParam);
  1925. if (parseInt(ds_hidden_aftcert.getColumn(0, "aftcertcnt")) > 0 ) {
  1926. if (userkind == "E") {
  1927. frmf_setParameter("aftcert_pid", pid);
  1928. }
  1929. sysf_messageBox("후인증 미비 내역이 존재합니다. 인증 후 진행하시기 바랍니다.", "C");
  1930. frmf_modal("SMMMO02700", "SMMMO02700", null, null, null, null, null, null, null, null, null, null, "M");
  1931. if(userkind == "D") { // 의사일 경우 블락킹 (2010.06.14 변경)
  1932. ds_send_aftcert.setColumn(0, "aftcertdryn", "Y"); // 후인증 대상 의사 여부
  1933. return;
  1934. }
  1935. }
  1936. }
  1937. ////////////////////////////////////////////
  1938. // 2010.06.08. 후인증관련 사본발행 블러킹 //
  1939. ////////////////////////////////////////////
  1940. if(param == "UPT") { // 수정모드
  1941. ds_send_savedata_copyinfo.clearData();
  1942. ds_send_savedata_copyinfo.addRow();
  1943. ds_send_savedata_emrapplist.clearData();
  1944. // ds_send_savedata_emrapplist.addRow();
  1945. ds_send_savedata_otptinfo.clearData();
  1946. // ds_send_savedata_otptinfo.addRow();
  1947. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"))){
  1948. sysf_messageBox("진료과를 먼저 선택","I008");
  1949. return;
  1950. }
  1951. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdrid"))){
  1952. sysf_messageBox("신청의사를 선택","I008");
  1953. return;
  1954. }
  1955. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"))){
  1956. rdo_appmanflag.setFocus();
  1957. sysf_messageBox("사본발행 신청인을", "C001");
  1958. return;
  1959. }
  1960. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "trustyn"))){
  1961. rdo_trustyn.setFocus();
  1962. sysf_messageBox("위임장/인감증명서 유무를", "C001");
  1963. return;
  1964. }
  1965. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))){
  1966. ipt_issgoalnm.setFocus();
  1967. sysf_messageBox("사본발행목적을", "C001");
  1968. return;
  1969. }
  1970. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  1971. var dutplcecd = sysf_getUserInfo("dutplcecd");
  1972. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  1973. {
  1974. // KNUH_20101124_박성호_end
  1975. if(!utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issno"))) { // 발행번호가 있으면
  1976. sysf_messageBox("사본이 발행되어 수정할 수 없습니다. 재신청", "I008");
  1977. return;
  1978. }
  1979. }
  1980. }
  1981. // 신청부서 1부 default
  1982. if (ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == "0"|| utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")) ){
  1983. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", "1" );
  1984. }
  1985. else
  1986. {
  1987. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") );
  1988. }
  1989. // 신규일 때
  1990. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "status")))
  1991. {
  1992. //if(model.getValue("/root/temp/appinfo/patinfo/cretno") == ""){
  1993. if(utlf_isNull(ds_main_cond.getColumn(0, "cretno")))
  1994. {
  1995. ds_send_savedata_otptinfo.clearData();
  1996. ds_send_savedata_otptinfo.addRow();
  1997. ds_send_savedata_otptinfo.setColumn(0, "otpt_flag" , "I"); // 구분자
  1998. ds_send_savedata_otptinfo.setColumn(0, "otpt_pid" , ds_main_cond.getColumn(0, "pid")); // 등록번호
  1999. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddd" , utlf_getCurrentDate()); // 진료일자
  2000. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddeptcd" , ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")); // 진료과
  2001. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddrid" , ds_main_appinfo_copyinfo.getColumn(0, "appdrid")); // 진료의사
  2002. ds_send_savedata_otptinfo.setColumn(0, "otpt_ordtm" , utlf_getCurrentTime()); // 진료시간
  2003. ds_send_savedata_otptinfo.setColumn(0, "otpt_rsrvflag" , "4"); // 예약구분
  2004. ds_send_savedata_otptinfo.setColumn(0, "otpt_instcd" , sysf_getUserInfo("dutplceinstcd")); // 기관코드
  2005. ds_send_savedata_otptinfo.setColumn(0, "otpt_remfact" , ""); // 참고사항
  2006. ds_send_savedata_otptinfo.setColumn(0, "sess_userid" , sysf_getUserInfo("userid")); // 사용자ID
  2007. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtestmyn", "N"); // 진찰료산정여부
  2008. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtpostyn", "Y"); // 진찰료후불여부
  2009. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtfreeresn", "10"); // 진찰료미산정사유
  2010. }
  2011. ds_send_savedata_copyinfo.setColumn(0, "status", "i");
  2012. ds_send_savedata_copyinfo.setColumn(0, "pid" ,ds_main_cond.getColumn(0, "pid"));
  2013. ds_send_savedata_copyinfo.setColumn(0, "appdd" ,utlf_getCurrentDate());
  2014. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9")
  2015. {
  2016. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2017. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,ipt_appmannm.text);
  2018. //ds_send_savedata_copyinfo.setColumn(0, "appmanetc" ,ipt_appmannm.currentText);
  2019. }
  2020. else
  2021. {
  2022. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2023. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,rdo_appmanflag.text);
  2024. }
  2025. ds_send_savedata_copyinfo.setColumn(0, "trustyn" ,ds_main_appinfo_copyinfo.getColumn(0, "trustyn"));
  2026. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99") // 사본발행목적이 기타일 경우
  2027. {
  2028. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" , ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2029. ds_send_savedata_copyinfo.setColumn(0, "issgoaletcnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2030. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2031. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2032. }
  2033. else
  2034. {
  2035. ds_send_savedata_copyinfo.setColumn(0, "issgoaletc" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))
  2036. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2037. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2038. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2039. ds_send_savedata_copyinfo.setColumn(0, "issgoaletcnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2040. }
  2041. ds_send_savedata_copyinfo.setColumn(0, "delivefact" ,ds_main_appinfo_copyinfo.getColumn(0, "delivefact"));
  2042. if((ds_main_cond.getColumn(0, "ioflag")=="O")||(ds_main_cond.getColumn(0, "ioflag")=="S"))
  2043. {
  2044. ds_send_savedata_copyinfo.setColumn(0, "orddd", ds_main_cond.getColumn(0, "orddd"));
  2045. }
  2046. else
  2047. {
  2048. ds_send_savedata_copyinfo.setColumn(0, "orddd", ds_main_cond.getColumn(0, "orddd"));
  2049. }
  2050. ds_send_savedata_copyinfo.setColumn(0, "cretno", ds_main_cond.getColumn(0, "cretno"));
  2051. var userinfo = sysf_getUserInfo("dutplcecd");
  2052. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  2053. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  2054. {
  2055. // KNUH_20101124_박성호_end
  2056. ds_send_savedata_copyinfo.setColumn(0, "emrordflag", ds_main_cond.getColumn(0, "emrordflag"));
  2057. }else{
  2058. ds_send_savedata_copyinfo.setColumn(0, "emrordflag", ds_main_cond.getColumn(0, "emrordflag"));
  2059. }
  2060. ds_send_savedata_copyinfo.setColumn(0, "emrorddeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")); // 진료과
  2061. ds_send_savedata_copyinfo.setColumn(0, "appdeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  2062. ds_send_savedata_copyinfo.setColumn(0, "appdrid", ds_main_appinfo_copyinfo.getColumn(0, "appdrid")); // 진료의사
  2063. var midformcd = "";
  2064. var midreckeyno = "";
  2065. var comporddd = "";
  2066. var compcretno = "";
  2067. var compioflag = "";
  2068. var comporddeptcd = "";
  2069. //var compNodeSet = instance1.selectNodes("/root/temp/issinfo/emrlist");//ds_grd_outapplist
  2070. var histlength = ds_grd_inpat.rowcount;
  2071. //alert("histlength:"+histlength);
  2072. if (histlength <= 0)
  2073. {
  2074. for(var j = 0; j < ds_grd_outpat.rowcount; j++ ){
  2075. var chk = ds_grd_outpat.getColumn(j, "chk");
  2076. var orddd = ds_grd_outpat.getColumn(j, "orddd");
  2077. var cretno = ds_grd_outpat.getColumn(j, "cretno");
  2078. var ordtype = ds_grd_outpat.getColumn(j, "ordtype");
  2079. var orddeptcd = ds_grd_outpat.getColumn(j, "orddeptcd");
  2080. utlf_addLog(chk + " || " + orddd + " || " + cretno + " || " + ordtype + " || " + orddeptcd );
  2081. if(chk =="Y"){
  2082. var subNode = "";
  2083. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  2084. //subNode = compNodeSet.item(i);
  2085. utlf_addLog(chk + " || "
  2086. + ds_grd_outapplist.getColumn(i, "orddd") + " || "
  2087. + ds_grd_outapplist.getColumn(i, "cretno") + " || "
  2088. + ds_grd_outapplist.getColumn(i, "ioflag") + " || "
  2089. + ds_grd_outapplist.getColumn(i, "orddeptcd") + " || "
  2090. + ds_grd_outapplist.getColumn(i, "chrtflag"));
  2091. if ((ds_grd_outapplist.getColumn(i, "orddd") == orddd &&
  2092. ds_grd_outapplist.getColumn(i, "cretno") == cretno &&
  2093. ds_grd_outapplist.getColumn(i, "ioflag") == ordtype &&
  2094. ds_grd_outapplist.getColumn(i, "orddeptcd") == orddeptcd)
  2095. || (ds_grd_outapplist.getColumn(i, "chrtflag") == "P"))
  2096. {
  2097. var arrPostion = new Array();
  2098. arrPostion[0] = i;
  2099. grdf_setStatus(grd_outapplist, "I", arrPostion);
  2100. //grd_outapplist.addStatus(i + 1, "insert");
  2101. }
  2102. }
  2103. }
  2104. }
  2105. }
  2106. else
  2107. {
  2108. for(var j = 0; j < ds_grd_inpat.rowcount; j++ ){
  2109. var chk = ds_grd_inpat.getColumn(j, "chk");
  2110. var emrflag = ds_grd_inpat.getColumn(j, "emrflag");
  2111. if (emrflag == "E")
  2112. {
  2113. //alert("여기다");
  2114. var midindxseq = ds_grd_inpat.getColumn(j, "midindxseq");
  2115. if(chk =="Y")
  2116. {
  2117. var subNode = "";
  2118. if(!utlf_isNull(ds_grd_outapplist.lookup("midindxseq", midindxseq, "midindxseq")))
  2119. {
  2120. compmidindxseq = ds_grd_outapplist.lookup("midindxseq", midindxseq, "midindxseq");
  2121. if(midindxseq == compmidindxseq){
  2122. for(var i = 0; i < ds_grd_outapplist.rowcount; i++)
  2123. {
  2124. //subNode = compNodeSet.item(i);
  2125. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P") || (ds_grd_outapplist.getColumn(i, "midindxseq") == midindxseq) || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S"))
  2126. {
  2127. var arrPostion = new Array();
  2128. arrPostion[0] = i;
  2129. grdf_setStatus(grd_outapplist, "I", arrPostion);
  2130. //grd_outapplist.addStatus(i + 1, "insert");
  2131. }
  2132. }
  2133. }
  2134. }
  2135. }
  2136. }
  2137. else
  2138. {
  2139. utlf_addLog("ds_grd_inpat"+ds_grd_inpat.saveXML());
  2140. var formcd = ds_grd_inpat.getColumn(j, "supitemindxseq");
  2141. var reckeyno = ds_grd_inpat.getColumn(j, "midindxseq");
  2142. //alert(formcd+"#"+reckeyno);
  2143. if(chk =="Y"){
  2144. var subNode = "";
  2145. utlf_addLog("ds_grd_outapplist"+ds_grd_outapplist.saveXML());
  2146. compformcd = ds_grd_outapplist.lookup("formcd", formcd, "formcd");
  2147. compreckeyno = ds_grd_outapplist.lookup("reckeyno", reckeyno, "reckeyno");
  2148. //alert(compformcd+"@"+compformcd);
  2149. //alert(compreckeyno+"@"+compreckeyno);
  2150. if((formcd == compformcd)&&(reckeyno == compreckeyno)){
  2151. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  2152. //subNode = compNodeSet.item(i);
  2153. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P") || (ds_grd_outapplist.getColumn(i, "formcd") == compformcd && ds_grd_outapplist.getColumn(i, "reckeyno") == compreckeyno) || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S")) {
  2154. //alert("inside");
  2155. var arrPostion = new Array();
  2156. arrPostion[0] = i;
  2157. grdf_setStatus(grd_outapplist, "I", arrPostion);
  2158. //grd_outapplist.addStatus(i + 1, "insert");
  2159. }
  2160. }
  2161. }
  2162. }
  2163. }
  2164. }
  2165. }
  2166. //model.makeValue("/root/send/savedata/emrapplist" ,grd_outapplist.getUpdateData());
  2167. //alert("grd_outapplist.rowcount:"+grd_outapplist.rowcount);
  2168. var oDsUpdate = grdf_getGridUpdateData(grd_outapplist);
  2169. utlf_addLog("***** grdf_getGridUpdateData(grd_outapplist) : " + oDsUpdate.saveXML());
  2170. //alert("oDsUpdate.rowcount:"+oDsUpdate.rowcount);
  2171. if( utlf_isNull(oDsUpdate) ) {
  2172. sysf_trace("***** grdf_getGridUpdateData(grd_outapplist) data is NULL *****");
  2173. }
  2174. grdf_setStatusColumn(oDsUpdate, "status");
  2175. ds_send_savedata_emrapplist.copyData(oDsUpdate, true);
  2176. //alert("ds_send_savedata_emrapplist 건수:" + ds_send_savedata_emrapplist.rowcount);
  2177. }
  2178. else if(ds_main_appinfo_copyinfo.getColumn(0, "status") == "u")
  2179. {
  2180. fInReCopyEMRChrtListSelect();
  2181. if (ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == "0" || utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")) )
  2182. {
  2183. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", "1" );
  2184. }
  2185. else
  2186. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") );
  2187. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99") // 사본발행목적이 기타일 경우
  2188. {
  2189. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2190. ds_send_savedata_copyinfo.setColumn(0, "issgoaletcnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2191. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2192. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2193. }
  2194. else
  2195. {
  2196. ds_send_savedata_copyinfo.setColumn(0, "issgoaletc" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"));
  2197. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2198. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2199. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2200. }
  2201. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9")
  2202. {
  2203. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2204. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,ipt_appmannm.text);
  2205. }
  2206. else
  2207. {
  2208. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2209. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,rdo_appmanflag.text);
  2210. }
  2211. ds_send_savedata_copyinfo.setColumn(0, "delivefact" ,ds_main_appinfo_copyinfo.getColumn(0, "delivefact"));
  2212. ds_send_savedata_copyinfo.setColumn(0, "trustyn" ,ds_main_appinfo_copyinfo.getColumn(0, "trustyn"));
  2213. ds_send_savedata_copyinfo.setColumn(0, "copyseqno" ,ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  2214. ds_send_savedata_copyinfo.setColumn(0, "emrordflag" ,ds_main_appinfo_copyinfo.getColumn(0, "emrordflag"));
  2215. ds_send_savedata_copyinfo.setColumn(0, "emrorddeptcd" ,ds_main_appinfo_copyinfo.getColumn(0, "emrorddeptcd"));
  2216. ds_send_savedata_copyinfo.setColumn(0, "status" ,ds_main_appinfo_copyinfo.getColumn(0, "status"));
  2217. ds_send_savedata_copyinfo.setColumn(0, "pid" ,ds_main_cond.getColumn(0, "pid"));
  2218. // KNUH_20101124_박성호_start_수정시 신청일자, 신청시간 기존꺼 가져오기
  2219. ds_send_savedata_copyinfo.setColumn(0, "appdd" ,ds_main_appinfo_copyinfo.getColumn(0, "appdd"));
  2220. ds_send_savedata_copyinfo.setColumn(0, "apptm" ,ds_main_appinfo_copyinfo.getColumn(0, "apptm"));
  2221. // KNUH_20101124_박성호_end
  2222. ds_send_savedata_copyinfo.setColumn(0, "orddd" ,ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  2223. ds_send_savedata_copyinfo.setColumn(0, "cretno" ,ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  2224. ds_send_savedata_copyinfo.setColumn(0, "appdeptcd" ,ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  2225. ds_send_savedata_copyinfo.setColumn(0, "appdrid" ,ds_main_appinfo_copyinfo.getColumn(0, "appdrid"));
  2226. ds_send_savedata_copyinfo.setColumn(0, "copyseqno" ,ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  2227. //grd_outapplist.clearStatus();
  2228. ds_grd_outapplist.applyChange();
  2229. var midformcd = "";
  2230. var midreckeyno = "";
  2231. var compformcd = "";
  2232. var compreckeyno = "";
  2233. //var compNodeSet = instance1.selectNodes("/root/temp/issinfo/emrlist");//ds_grd_outapplist
  2234. var histlength = ds_grd_inpat.rowcount;
  2235. if (histlength <= 0)
  2236. {
  2237. for(var j = 0; j < ds_grd_outpat.rowcount; j++ ){
  2238. var chk = ds_grd_outpat.getColumn(j, "chk");
  2239. var orddd = ds_grd_outpat.getColumn(j, "orddd");
  2240. var cretno = ds_grd_outpat.getColumn(j, "cretno");
  2241. var ordtype = ds_grd_outpat.getColumn(j, "ordtype");
  2242. var orddeptcd = ds_grd_outpat.getColumn(j, "orddeptcd");
  2243. if(chk =="Y"){
  2244. var subNode = "";
  2245. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  2246. //subNode = compNodeSet.item(i);
  2247. if ((ds_grd_outapplist.getColumn(i, "orddd") == orddd &&
  2248. ds_grd_outapplist.getColumn(i, "cretno") == cretno &&
  2249. ds_grd_outapplist.getColumn(i, "ioflag") == ordtype &&
  2250. ds_grd_outapplist.getColumn(i, "orddeptcd") == orddeptcd) || (ds_grd_outapplist.getColumn(i, "chrtflag") == "P"))
  2251. {
  2252. var arrPostion = new Array();
  2253. arrPostion[0] = i;
  2254. grdf_setStatus(grd_outapplist, "U", arrPostion);
  2255. //grd_outapplist.addStatus(i + 1, "update");
  2256. }
  2257. }
  2258. }
  2259. }
  2260. }
  2261. else
  2262. {
  2263. for(var j = 0; j < ds_grd_inpat.rowcount; j++ ){
  2264. var chk = ds_grd_inpat.getColumn(j, "chk");
  2265. var emrflag = ds_grd_inpat.getColumn(j, "emrflag");
  2266. if (emrflag == "E")
  2267. {
  2268. var midindxseq = ds_grd_inpat.getColumn(j, "midindxseq");
  2269. if(chk =="Y"){
  2270. var subNode = "";
  2271. compmidindxseq = ds_grd_outapplist.lookup("midindxseq", midindxseq, "midindxseq");
  2272. if(midindxseq == compmidindxseq){
  2273. for(var i = 0; i < ds_grd_outapplist.rowcount ; i++){
  2274. //subNode = compNodeSet.item(i);
  2275. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P") || (ds_grd_outapplist.getColumn(i, "midindxseq") == midindxseq)
  2276. || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S"))
  2277. {
  2278. var arrPostion = new Array();
  2279. arrPostion[0] = i;
  2280. grdf_setStatus(grd_outapplist, "U", arrPostion);
  2281. //grd_outapplist.addStatus(i + 1, "update");
  2282. }
  2283. }
  2284. }
  2285. }
  2286. }
  2287. else
  2288. {
  2289. var formcd = ds_grd_inpat.getColumn(j, "supitemindxseq");
  2290. var reckeyno = ds_grd_inpat.getColumn(j, "midindxseq");
  2291. if(chk =="Y")
  2292. {
  2293. var subNode = "";
  2294. compformcd = ds_grd_outapplist.lookup("formcd", formcd, "formcd");
  2295. compreckeyno = ds_grd_outapplist.lookup("reckeyno", reckeyno, "reckeyno");
  2296. if((formcd == compformcd)&&(reckeyno == compreckeyno)){
  2297. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  2298. //subNode = compNodeSet.item(i);
  2299. if ((ds_grd_outapplist.getColumn(i, "chrtflag") == "P")
  2300. || (ds_grd_outapplist.getColumn(i, "formcd") == compformcd && ds_grd_outapplist.getColumn(i, "reckeyno") == compreckeyno)
  2301. || (ds_grd_outapplist.getColumn(i, "ioflag") =="O" || ds_grd_outapplist.getColumn(i, "ioflag") =="S"))
  2302. {
  2303. var arrPostion = new Array();
  2304. arrPostion[0] = i;
  2305. grdf_setStatus(grd_outapplist, "U", arrPostion);
  2306. //grd_outapplist.addStatus(i + 1, "update");
  2307. }
  2308. }
  2309. }
  2310. }
  2311. }
  2312. }
  2313. }
  2314. //model.makeValue("/root/send/savedata/emrapplist" ,grd_outapplist.getUpdateData());
  2315. var oDsUpdate = grdf_getGridUpdateData(grd_outapplist);
  2316. if( utlf_isNull(oDsUpdate) ) {
  2317. sysf_trace("***** grdf_getGridUpdateData(grd_outapplist) data is NULL *****");
  2318. }
  2319. grdf_setStatusColumn(oDsUpdate, "status");
  2320. ds_send_savedata_emrapplist.copyData(oDsUpdate, true);
  2321. }
  2322. //BMT사본신청여부 20100322
  2323. ds_send_savedata_copyinfo.setColumn(0, "bmtappyn" ,ds_main_otherinfo.getColumn(0, "bmtappyn"));
  2324. ds_return.clearData();
  2325. //2012/08/09 Start
  2326. ds_send_savedata_copyinfo.setColumn(0, "memo" ,ds_main_appinfo_copyinfo.getColumn(0, "memo"));
  2327. //2012/08/09 end
  2328. //2013/01/22 Start 기타 상세신청내역에 중간에 엔터키 삭제
  2329. var temp_delivefact = utlf_transNullToEmpty(ds_main_appinfo_copyinfo.getColumn(0, "delivefact")).split("\n");
  2330. var temp="";
  2331. for(var i=0; i <temp_delivefact.length; i++){
  2332. if(!utlf_isNull(temp_delivefact[i])){
  2333. temp+=temp_delivefact[i]+"\n";
  2334. }
  2335. }
  2336. ds_main_appinfo_copyinfo.setColumn(0, "delivefact", temp);
  2337. ds_send_savedata_copyinfo.setColumn(0, "delivefact", temp);
  2338. //2013/01/22 End
  2339. // default value setting
  2340. dsf_setDefaultVal(ds_send_savedata_copyinfo, "emrappcopies:0,cretno:0,reappyn:N");
  2341. dsf_setDefaultVal(ds_send_savedata_emrapplist, "reckeyno:0,chrtseqno:0");
  2342. //utlf_addLog(ds_send_savedata_copyinfo.saveXML());
  2343. //utlf_addLog(ds_send_savedata_emrapplist.saveXML());
  2344. //utlf_addLog(ds_send_savedata_otptinfo.saveXML());
  2345. //utlf_addLog("***** TXMRC03005 *****");
  2346. utlf_addLog("ds_send_savedata_emrapplist(TXMRC03005)"+ds_send_savedata_emrapplist.saveXML());
  2347. var oParam = {};
  2348. oParam.id = "TXMRC03005";
  2349. oParam.service = "chrtmngtapp.CopyIssMngt";
  2350. oParam.method = "reqExeCopyIssInfo2";
  2351. oParam.inds = "reqcopyinfo=ds_send_savedata_copyinfo reqemrapplist=ds_send_savedata_emrapplist reqotptinfo=ds_send_savedata_otptinfo";
  2352. oParam.outds = "ds_return=return";
  2353. oParam.async = false;
  2354. oParam.callback = "cf_TXMRC03005";
  2355. tranf_submit(oParam);
  2356. if(arErrorCode.pop("TXMRC03005") > -1)
  2357. {
  2358. if(param == "UPT") { // 수정모드
  2359. sysf_messageBox("수정이", "I002");
  2360. //// KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  2361. var dutplcecd = sysf_getUserInfo("dutplcecd");
  2362. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  2363. // KNUH_20101124_박성호_end
  2364. {
  2365. fReqGetBfCopyIssHistList(ipt_pid.text);
  2366. }
  2367. else
  2368. {
  2369. this.close();
  2370. }
  2371. return;
  2372. }
  2373. }
  2374. else
  2375. {
  2376. sysf_messageBox("저장을","E009");
  2377. return false;
  2378. }
  2379. }
  2380. // 사본발행 수가입력시 부수만큼 신청내역 insert
  2381. function fCopyReSave()
  2382. {
  2383. utlf_addLog("***** fCopyReSave() *****");
  2384. // 입원 서식
  2385. for(var i = 0; i < ds_grd_inpat.rowcount; i++){
  2386. var nRow = ds_grd_outapplist.addRow();
  2387. ds_grd_outapplist.setColumn(nRow, "formcd" ,ds_grd_emrapplist.getColumn(i, "formcd"));
  2388. ds_grd_outapplist.setColumn(nRow, "chrtflag" ,ds_grd_emrapplist.getColumn(i, "chrtflag"));
  2389. ds_grd_outapplist.setColumn(nRow, "reckeyno" ,ds_grd_emrapplist.getColumn(i, "reckeyno"));
  2390. ds_grd_outapplist.setColumn(nRow, "ioflag" , "I");
  2391. ds_grd_outapplist.setColumn(nRow, "indd" ,ds_grd_emrapplist.getColumn(i, "orddd"));
  2392. ds_grd_outapplist.setColumn(nRow, "orddd" ,ds_grd_emrapplist.getColumn(i, "orddd"));
  2393. ds_grd_outapplist.setColumn(nRow, "pid" ,ds_grd_emrapplist.getColumn(i, "pid"));
  2394. ds_grd_outapplist.setColumn(nRow, "cretno" ,ds_grd_emrapplist.getColumn(i, "cretno"));
  2395. ds_grd_outapplist.setColumn(nRow, "orddeptcd",ds_grd_emrapplist.getColumn(i, "orddeptcd"));
  2396. ds_grd_outapplist.setColumn(nRow, "testflag" ,ds_grd_emrapplist.getColumn(i, "testflag"));
  2397. ds_grd_outapplist.setColumn(nRow, "atdoctid" ,ds_grd_inpat.getColumn(i, "formrecuserid"));
  2398. }
  2399. // grd_outapplist.colDisabled(grd_outapplist.colRef("chrtflag"))=true;
  2400. // grd_outapplist.colDisabled(grd_outapplist.colRef("ioflag"))=true;
  2401. // 신청부서 1부 default
  2402. if (ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == "0"|| utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")) ){
  2403. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", "1" );
  2404. }
  2405. else
  2406. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") );
  2407. // 신규일 때
  2408. if(utlf_isNull(ds_main_cond.getColumn(0, "cretno"))){
  2409. ds_send_savedata_otptinfo.clearData();
  2410. ds_send_savedata_otptinfo.addRow();
  2411. ds_send_savedata_otptinfo.setColumn(0, "otpt_flag" ,"I"); // 구분자
  2412. ds_send_savedata_otptinfo.setColumn(0, "otpt_pid" ,ds_main_cond.getColumn(0, "pid")); // 등록번호
  2413. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddd" ,utlf_getCurrentDate()); // 진료일자
  2414. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddeptcd" ,ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")); // 진료과
  2415. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddrid" ,ds_main_appinfo_copyinfo.getColumn(0, "appdrid")); // 진료의사
  2416. ds_send_savedata_otptinfo.setColumn(0, "otpt_ordtm" ,utlf_getCurrentTime()); // 진료시간
  2417. ds_send_savedata_otptinfo.setColumn(0, "otpt_rsrvflag" ,"4"); // 예약구분
  2418. ds_send_savedata_otptinfo.setColumn(0, "otpt_instcd" ,sysf_getUserInfo("dutplceinstcd")); // 기관코드
  2419. ds_send_savedata_otptinfo.setColumn(0, "otpt_remfact" , ""); // 참고사항
  2420. ds_send_savedata_otptinfo.setColumn(0, "sess_userid" ,sysf_getUserInfo("userid")); // 사용자ID
  2421. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtestmyn" , "N"); // 진찰료산정여부
  2422. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtpostyn" , "Y"); // 진찰료후불여부
  2423. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtfreeresn", "10"); // 진찰료미산정사유
  2424. }
  2425. ds_send_savedata_copyinfo.setColumn(0, "status", "i");
  2426. ds_send_savedata_copyinfo.setColumn(0, "pid" ,ds_main_cond.getColumn(0, "pid"));
  2427. ds_send_savedata_copyinfo.setColumn(0, "appdd" ,utlf_getCurrentDate());
  2428. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9"){
  2429. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2430. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,ipt_appmannm.text);
  2431. }else{
  2432. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  2433. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,rdo_appmanflag.text);
  2434. }
  2435. ds_send_savedata_copyinfo.setColumn(0, "trustyn" ,ds_main_appinfo_copyinfo.getColumn(0, "trustyn"));
  2436. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99"){ // 사본발행목적이 기타일 경우
  2437. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" , ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2438. ds_send_savedata_copyinfo.setColumn(0, "issgoaletcnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2439. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2440. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2441. }else{
  2442. ds_send_savedata_copyinfo.setColumn(0, "issgoaletc" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))
  2443. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2444. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  2445. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  2446. }
  2447. ds_send_savedata_copyinfo.setColumn(0, "delivefact" ,ds_main_appinfo_copyinfo.getColumn(0, "delivefact"));
  2448. if((ds_main_cond.getColumn(0, "ioflag")=="O")||(ds_main_cond.getColumn(0, "ioflag")=="S")){
  2449. ds_send_savedata_copyinfo.setColumn(0, "orddd" ,ds_main_cond.getColumn(0, "orddd"));
  2450. }else{
  2451. ds_send_savedata_copyinfo.setColumn(0, "orddd" ,ds_main_cond.getColumn(0, "orddd"));
  2452. }
  2453. ds_send_savedata_copyinfo.setColumn(0, "cretno" ,ds_main_cond.getColumn(0, "cretno"));
  2454. var userinfo = sysf_getUserInfo("dutplcecd");
  2455. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  2456. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinf, "hardcd")))
  2457. {
  2458. // KNUH_20101124_박성호_end
  2459. ds_send_savedata_copyinfo.setColumn(0, "emrordflag" ,"O");
  2460. }else{
  2461. ds_send_savedata_copyinfo.setColumn(0, "emrordflag" ,ds_main_cond.getColumn(0, "ioflag"));
  2462. }
  2463. ds_send_savedata_copyinfo.setColumn(0, "emrorddeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")); // 진료과
  2464. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  2465. var dutplcecd = sysf_getUserInfo("dutplcecd");
  2466. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  2467. {
  2468. ds_send_savedata_copyinfo.setColumn(0, "appdeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  2469. }
  2470. else if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  2471. {
  2472. ds_send_savedata_copyinfo.setColumn(0, "appdeptcd", dutplcecd);
  2473. // KNUH_20101124_박성호_end
  2474. }
  2475. ds_send_savedata_copyinfo.setColumn(0, "appdrid", ds_main_appinfo_copyinfo.getColumn(0, "appdrid")); // 진료의사
  2476. ds_grd_outapplist.applyChange();
  2477. //grd_outapplist.clearStatus();
  2478. for(var i = 0; i < ds_grd_outapplist.rowcount; i++)
  2479. {
  2480. var arrPostion = new Array();
  2481. arrPostion[0] = i;
  2482. grdf_setStatus(grd_outapplist, "I", arrPostion);
  2483. //grd_outapplist.addStatus(i, "insert");
  2484. }
  2485. //ds_send_savedamodel.makeValue("/root/send/savedata/emrapplist" ,grd_outapplist.getUpdateData());
  2486. var oDsUpdate = grdf_getGridUpdateData(grd_outapplist);
  2487. if( utlf_isNull(oDsUpdate) ) {
  2488. sysf_trace("***** grdf_getGridUpdateData(grd_outapplist) data is NULL *****");
  2489. }
  2490. grdf_setStatusColumn(oDsUpdate, "status");
  2491. ds_send_savedata_emrapplist.copyData(oDsUpdate, true);
  2492. //utlf_addLog(ds_send_savedata_emrapplist.saveXML());
  2493. }
  2494. // 종이차트 신청
  2495. function fPaperList()
  2496. {
  2497. utlf_addLog("***** fPaperList() *****");
  2498. ds_main_emrinfo_emrlist.clearData();
  2499. //var j = 0;
  2500. if(swc_prof.out.rdo_outchrtflag.value == "01" || swc_prof.out.rdo_outchrtflag.value == "02") {
  2501. var nodeListCnt = ds_grd_outpat.rowcount;
  2502. if(nodeListCnt > 0)
  2503. {
  2504. lf_fMakeColumn_main_emrinfo();
  2505. for(var i = 0 ; i < nodeListCnt; i++ )
  2506. {
  2507. if("Y" == ds_grd_outpat.getColumn(i, "chk"))
  2508. {
  2509. //ds_main_emrinfo_emrlist.insertRow(j);
  2510. var j = ds_main_emrinfo_emrlist.addRow();
  2511. ds_main_emrinfo_emrlist.setColumn(j, "chrtflag" , "P");
  2512. ds_main_emrinfo_emrlist.setColumn(j, "ioflag" , "O");
  2513. ds_main_emrinfo_emrlist.setColumn(j, "orddeptcd" , cmb_emrorddeptcd.value);
  2514. ds_main_emrinfo_emrlist.setColumn(j, "atdoctid" , cmb_orddrid.value);
  2515. ds_main_emrinfo_emrlist.setColumn(j, "formcd" , swc_prof.out.rdo_outchrtflag.value);
  2516. ds_main_emrinfo_emrlist.setColumn(j, "testflag" , "-");
  2517. ds_main_emrinfo_emrlist.setColumn(j, "reckeyno" , "0");
  2518. ds_main_emrinfo_emrlist.setColumn(j, "pid" , ds_grd_outpat.getColumn(i, "pid"));
  2519. ds_main_emrinfo_emrlist.setColumn(j, "orddd" , ds_grd_outpat.getColumn(i, "orddd"));
  2520. ds_main_emrinfo_emrlist.setColumn(j, "cretno" , ds_grd_outpat.getColumn(i, "cretno"));
  2521. ds_main_emrinfo_emrlist.setColumn(j, "status" , "");
  2522. //j++;
  2523. }
  2524. }
  2525. ds_grd_outapplist.appendData(ds_main_emrinfo_emrlist, true, false);
  2526. //copyNodeListType("/root/temp/issinfo", "/root/main/emrinfo/emrlist", "after", model, model);
  2527. }
  2528. }
  2529. if( !utlf_isNull(ds_main_cond.getColumn(0, "emrordflag")))
  2530. ds_main_cond.setColumn(0, "emrordflag", "O");
  2531. }
  2532. // 검사결과 신청
  2533. function fAddTestList(formcd)
  2534. {
  2535. utlf_addLog("***** fAddTestList("+formcd+") *****");
  2536. var vsformcd = formcd;
  2537. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"))){
  2538. sysf_messageBox("진료과를 먼저 선택","I008");
  2539. fChkTestList(vsformcd);
  2540. return;
  2541. }
  2542. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdrid"))){
  2543. sysf_messageBox("주치의를 선택","I008");
  2544. fChkTestList(vsformcd);
  2545. return;
  2546. }
  2547. if(vsformcd == "0000000000")
  2548. {
  2549. if(group1.chk_prcpinfo.value == "Y")
  2550. fCopyTestList("0800000636");
  2551. fCopyTestList("0800004096");
  2552. fCopyTestList("0800004099");
  2553. fCopyTestList("0800004098");
  2554. fCopyTestList("0800004097");
  2555. fCopyTestList("E");
  2556. fCopyTestList("F");
  2557. fCopyTestList("I");
  2558. fCopyTestList("O");
  2559. }
  2560. else
  2561. {
  2562. fCopyTestList(vsformcd);
  2563. }
  2564. }
  2565. // 검사 copy
  2566. function fCopyTestList(formcd)
  2567. {
  2568. utlf_addLog("***** fCopyTestList("+formcd+") *****");
  2569. var vsformcd = formcd;
  2570. var testflg = "";
  2571. var chrtflag = "";
  2572. var formnm = "";
  2573. var recdt = "";
  2574. var supitemindxseq = "";
  2575. var midindxseq = "";
  2576. var sortno = "";
  2577. if(vsformcd == "0800004096") {testflg = "D"; chrtflag = "E"; formnm = "진단검사"; supitemindxseq = "5162"; midindxseq = "11137"; sortno = "17";}// 진단검사
  2578. if(vsformcd == "0800004099") {testflg = "G"; chrtflag = "E"; formnm = "영상의학"; supitemindxseq = "5162"; midindxseq = "11136"; sortno = "20";}// 영상의학
  2579. if(vsformcd == "0800004098") {testflg = "H"; chrtflag = "E"; formnm = "핵체외"; supitemindxseq = "5162"; midindxseq = "18788"; sortno = "21";}// 핵체외
  2580. if(vsformcd == "0800004097") {testflg = "J"; chrtflag = "E"; formnm = "미생물"; supitemindxseq = "5162"; midindxseq = "20339"; sortno = "23";}// 미생물
  2581. if(vsformcd == "0800000636") {testflg = "A"; chrtflag = "E"; formnm = "처방기록"; supitemindxseq = "19338"; midindxseq = "20337"; sortno = "25";}// 처방기록
  2582. if(vsformcd == "C") {testflg = "C"; chrtflag = "-"} // 초진
  2583. if(vsformcd == "E") {testflg = "E"; chrtflag = "E"}// 임상병리
  2584. if(vsformcd == "F") {testflg = "F"; chrtflag = "E"}// 기능검사
  2585. if(vsformcd == "I") {testflg = "I"; chrtflag = "E"}// 내시경
  2586. if(vsformcd == "T") {testflg = "T"; chrtflag = "E"}// 검사결과만 신청
  2587. if(vsformcd == "O") {testflg = "O"; chrtflag = "E"}// 전체
  2588. //var j = 0;
  2589. ds_main_emrinfo_emrlist.clearData();
  2590. lf_fMakeColumn_main_emrinfo();
  2591. var nodeListCnt = ds_grd_outpat.getCaseCount("chk == 'Y'");
  2592. if(nodeListCnt > 0){
  2593. for(var i = 0 ; i < ds_grd_outpat.rowcount; i++ ) {
  2594. if("Y" == ds_grd_outpat.getColumn(i, "chk")) {
  2595. //ds_main_emrinfo_emrlist.insertRow(j);
  2596. var j = ds_main_emrinfo_emrlist.addRow();
  2597. ds_main_emrinfo_emrlist.setColumn(j, "chrtflag" ,chrtflag);
  2598. ds_main_emrinfo_emrlist.setColumn(j, "orddeptcd" ,ds_grd_outpat.getColumn(i, "orddeptcd"));
  2599. ds_main_emrinfo_emrlist.setColumn(j, "atdoctid" ,cmb_orddrid.value);
  2600. ds_main_emrinfo_emrlist.setColumn(j, "formcd" ,vsformcd);
  2601. ds_main_emrinfo_emrlist.setColumn(j, "orddd" ,ds_grd_outpat.getColumn(i, "orddd"));
  2602. ds_main_emrinfo_emrlist.setColumn(j, "cretno" ,ds_grd_outpat.getColumn(i, "cretno"));
  2603. ds_main_emrinfo_emrlist.setColumn(j, "pid" ,ds_grd_outpat.getColumn(i, "pid"));
  2604. ds_main_emrinfo_emrlist.setColumn(j, "ioflag" ,ds_grd_outpat.getColumn(i, "ordtype"));
  2605. ds_main_emrinfo_emrlist.setColumn(j, "testflag" ,testflg);
  2606. ds_main_emrinfo_emrlist.setColumn(j, "reckeyno" ,"0");
  2607. ds_main_emrinfo_emrlist.setColumn(j, "formnm" ,formnm);
  2608. ds_main_emrinfo_emrlist.setColumn(j, "supitemindxseq" ,supitemindxseq);
  2609. ds_main_emrinfo_emrlist.setColumn(j, "midindxseq" ,midindxseq);
  2610. ds_main_emrinfo_emrlist.setColumn(j, "sortno" ,sortno);
  2611. ds_main_emrinfo_emrlist.setColumn(j, "status" ,"");
  2612. //j ++;
  2613. }
  2614. }
  2615. ds_grd_outapplist.appendData(ds_main_emrinfo_emrlist, true, false);
  2616. //copyNodeListType("/root/temp/issinfo", "/root/main/emrinfo/emrlist", "after", model, model);
  2617. }
  2618. }
  2619. // 검사 rest
  2620. function fChkTestList(fromcd)
  2621. {
  2622. utlf_addLog("***** fChkTestList("+fromcd+") *****");
  2623. // testinfo value "" -> "N" 로 변경
  2624. var vsformcd = fromcd;
  2625. switch(vsformcd){
  2626. case "0800004096": // 진검
  2627. ds_main_otherinfo.setColumn(0, "testinfo2", "N");
  2628. break;
  2629. case "0800004099": // 영상
  2630. ds_main_otherinfo.setColumn(0, "testinfo5", "N");
  2631. break;
  2632. case "0800004098": // 핵의학
  2633. ds_main_otherinfo.setColumn(0, "testinfo6", "N");
  2634. break;
  2635. case "0800004097": //미생물
  2636. ds_main_otherinfo.setColumn(0, "testinfo8", "N");
  2637. break;
  2638. case "0800000636": //처방
  2639. ds_main_otherinfo.setColumn(0, "prcpinfo", "N");
  2640. break;
  2641. case "0000000000": // 검사 전체
  2642. ds_main_otherinfo.setColumn(0, "testinfo", "N");
  2643. ds_main_otherinfo.setColumn(0, "testinfo2", "N");
  2644. ds_main_otherinfo.setColumn(0, "testinfo3", "N");
  2645. ds_main_otherinfo.setColumn(0, "testinfo4", "N");
  2646. ds_main_otherinfo.setColumn(0, "testinfo5", "N");
  2647. ds_main_otherinfo.setColumn(0, "testinfo6", "N");
  2648. ds_main_otherinfo.setColumn(0, "testinfo7", "N");
  2649. ds_main_otherinfo.setColumn(0, "testinfo8", "N");
  2650. break;
  2651. }
  2652. }
  2653. // 검사결과 신청
  2654. function fDelTestList(formcd)
  2655. {
  2656. //utlf_addLog("***** fDelTestList("+formcd+") *****");
  2657. var vsformcd = formcd;
  2658. if(vsformcd == "0000000000") {
  2659. //var test2Row = grd_outapplist.findRow("0800004096", 0, parseInt(grd_outapplist.colRef("formcd")), "true", "true");//중복 서식 check
  2660. var test2Row = ds_grd_outapplist.findRow("formcd", "0800004096");
  2661. //utlf_addLog(" test2Row : " + test2Row);
  2662. ds_grd_outapplist.deleteRow(test2Row);
  2663. //var test5Row = grd_outapplist.findRow("0800004099", 0, parseInt(grd_outapplist.colRef("formcd")), "true", "true");//중복 서식 check
  2664. var test5Row = ds_grd_outapplist.findRow("formcd", "0800004099");
  2665. //utlf_addLog(" test5Row : " + test5Row);
  2666. ds_grd_outapplist.deleteRow(test5Row);
  2667. //var test6Row = grd_outapplist.findRow("0800004098", 0, parseInt(grd_outapplist.colRef("formcd")), "true", "true");//중복 서식 check
  2668. var test6Row = ds_grd_outapplist.findRow("formcd", "0800004098");
  2669. //utlf_addLog(" test6Row : " + test6Row);
  2670. ds_grd_outapplist.deleteRow(test6Row);
  2671. //var test8Row = grd_outapplist.findRow("0800004097", 0, parseInt(grd_outapplist.colRef("formcd")), "true", "true");//중복 서식 check
  2672. var test8Row = ds_grd_outapplist.findRow("formcd", "0800004097");
  2673. //utlf_addLog(" test8Row : " + test8Row);
  2674. ds_grd_outapplist.deleteRow(test8Row);
  2675. } else {
  2676. var iFndRow2 = ds_grd_outapplist.findRow("formcd", vsformcd);
  2677. //utlf_addLog(" iFndRow2 : " + iFndRow2 + " vsformcd : " + vsformcd);
  2678. //var iFndRow2 = grd_outapplist.findRow(vsformcd, 0, parseInt(grd_outapplist.colRef("formcd")), "true", "true");//중복 서식 check
  2679. ds_grd_outapplist.deleteRow(iFndRow2);
  2680. }
  2681. }
  2682. //회차별 입원 차트 조회
  2683. function fEMRChrtList(param)
  2684. {
  2685. utlf_addLog("***** fEMRChrtList("+param+") *****");
  2686. ds_send_search.clearData();
  2687. ds_send_search_rsrvinfo.clearData();
  2688. var nRow = ds_send_search.addRow();
  2689. var i = 1;
  2690. if(param != "F") {
  2691. if(btn_out.getSelectStatus() == true) {
  2692. cur = ds_grd_outpat.rowposition;
  2693. ds_send_search.setColumn(nRow, "pid" ,ds_grd_outpat.getColumn(cur, "pid"));
  2694. ds_send_search.setColumn(nRow, "orddd" ,ds_grd_outpat.getColumn(cur, "orddd"));
  2695. ds_send_search.setColumn(nRow, "cretno" ,ds_grd_outpat.getColumn(cur, "cretno"));
  2696. ds_send_search.setColumn(nRow, "deptcd" ,ds_grd_outpat.getColumn(cur, "orddeptcd"));
  2697. ds_send_search.setColumn(nRow, "chrtflag" ,"A");
  2698. } else if(btn_in.getSelectStatus() == true) {
  2699. cur = ds_grd_inapplist.rowposition;
  2700. ds_send_search.setColumn(nRow, "pid" ,ds_grd_inapplist.getColumn(cur, "pid"));
  2701. ds_send_search.setColumn(nRow, "orddd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2702. ds_send_search.setColumn(nRow, "indd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2703. ds_send_search.setColumn(nRow, "cretno" ,ds_grd_inapplist.getColumn(cur, "cretno"));
  2704. ds_send_search.setColumn(nRow, "deptcd" ,ds_grd_inapplist.getColumn(cur, "orddeptcd"));
  2705. ds_send_search.setColumn(nRow, "ordtype" ,"I");
  2706. ds_send_search.setColumn(nRow, "chrtflag" ,"A");
  2707. }
  2708. } else if(param == "F") {
  2709. cur = 1;
  2710. ds_send_search.setColumn(nRow, "pid" ,ds_grd_inapplist.getColumn(cur, "pid"));
  2711. ds_send_search.setColumn(nRow, "orddd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2712. ds_send_search.setColumn(nRow, "indd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2713. ds_send_search.setColumn(nRow, "cretno" ,ds_grd_inapplist.getColumn(cur, "cretno"));
  2714. ds_send_search.setColumn(nRow, "deptcd" ,ds_grd_inapplist.getColumn(cur, "orddeptcd"));
  2715. ds_send_search.setColumn(nRow, "ordtype" ,"I");
  2716. ds_send_search.setColumn(nRow, "chrtflag" ,"A");
  2717. }
  2718. ds_grd_emrapplist.clearData();
  2719. var oParam = {};
  2720. oParam.id = "TRMRC03007";
  2721. oParam.service = "chrtmngtapp.CopyIssMngt";
  2722. oParam.method = "reqGetCopyEmrTestInfo";
  2723. oParam.inds = "req=ds_send_search";
  2724. oParam.outds = "ds_main_emrinfo_emrlist=emrlist";
  2725. oParam.async = false;
  2726. oParam.callback = "cf_TRMRC03007";
  2727. tranf_submit(oParam);
  2728. if (arErrorCode.pop("TRMRC03007") > -1)
  2729. {
  2730. //var NodeList = instance1.selectNodes("/root/main/emrinfo/emrlist");
  2731. if(ds_main_emrinfo_emrlist.rowcount > 0) {
  2732. if(btn_out.getSelectStatus() == true) {
  2733. fOutEMRChrtListSelect();
  2734. } else if(btn_in.getSelectStatus() == true) {
  2735. ds_grd_outapplist.copyData(ds_main_emrinfo_emrlist);
  2736. //setCSVToNode("/root/main/issinfo", getNodeListCSV(NodeList), "emrapplist");
  2737. }
  2738. }
  2739. else{
  2740. return;
  2741. }
  2742. }
  2743. ds_send_search.clearData();
  2744. ds_send_search.addRow();
  2745. ds_send_search_rsrvinfo.clearData();
  2746. return;
  2747. }
  2748. // 입원 중분류 chart
  2749. function fGetINChrtList()
  2750. {
  2751. utlf_addLog("***** fGetINChrtList() *****");
  2752. if(ds_grd_inapplist.rowposition > -1)
  2753. {
  2754. iviewerIemr.cleanViewer();
  2755. ds_tmpinicert2_iniinfo.clearData();
  2756. //fShowProgress(true, "기록을 조회하고 있습니다");
  2757. cur = ds_grd_inapplist.rowposition;
  2758. ds_send_search.clearData();
  2759. ds_send_search.addRow();
  2760. ds_send_search.setColumn(0, "pid" ,ds_grd_inapplist.getColumn(cur, "pid"));
  2761. ds_send_search.setColumn(0, "orddd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2762. ds_send_search.setColumn(0, "indd" ,ds_grd_inapplist.getColumn(cur, "indd"));
  2763. ds_send_search.setColumn(0, "dschdd" ,ds_grd_inapplist.getColumn(cur, "dschdd"));
  2764. ds_send_search.setColumn(0, "cretno" ,ds_grd_inapplist.getColumn(cur, "cretno"));
  2765. ds_send_search.setColumn(0, "deptcd" ,ds_grd_inapplist.getColumn(cur, "orddeptcd"));
  2766. //ds_send_search.setColumn(0, "ordtype" ,ds_grd_inapplist.getColumn(cur, "ioflag"));
  2767. ds_send_search.setColumn(0, "ordtype" ,ds_grd_inapplist.getColumn(cur, "ioflag"));
  2768. ds_send_search.setColumn(0, "emrflag" ,ds_grd_inapplist.getColumn(cur, "emrflag"));
  2769. //2009-11-02 오후 11:36:28 강지훈 추가
  2770. ds_send_search.setColumn(0, "bfopentest" ,ds_grd_inapplist.getColumn(cur, "bfopentest"));
  2771. ds_send_search.setColumn(0, "chrtflag" ,"A");
  2772. ds_send_search.setColumn(0, "noview" ,"Y"); //이윤주추가(20151230)
  2773. //ds_send_search.setColumn(0, "orddeptcd" ,ds_grd_inapplist.getColumn(cur, "orddeptcd"));
  2774. //ds_send_search.setColumn(0, "tabflag" , "ALL");
  2775. ds_grd_inpat.clearData();
  2776. var oParam = {};
  2777. oParam.id = "TRMRC03021";
  2778. oParam.service = "chrtmngtapp.CopyIssMngt";
  2779. oParam.method = "reqGetInChrtList";
  2780. oParam.inds = "req=ds_send_search";
  2781. oParam.outds = "ds_grd_inpat=emrapplist";
  2782. oParam.async = false;
  2783. oParam.callback = "cf_TRMRC03021";
  2784. tranf_submit(oParam);
  2785. // fShowProgress(false);
  2786. }
  2787. }
  2788. /**
  2789. * @type : function
  2790. * @access : public
  2791. * @desc : 진료일자별 외래 차트 사본 신청
  2792. * @param :
  2793. * @return :
  2794. * @---------------------------------------------------
  2795. */
  2796. function fOutEMRChrtListSelect()
  2797. {
  2798. utlf_addLog("***** fOutEMRChrtListSelect() *****");
  2799. var formcd = "";
  2800. var reckeyno = "";
  2801. var duplFlag = false;
  2802. if(ds_main_emrinfo_emrlist.rowcount > 0){
  2803. for(var i = 0; i < ds_main_emrinfo_emrlist.rowcount; i++){
  2804. reckeyno = ds_main_emrinfo_emrlist.getColumn(i, "reckeyno");
  2805. formcd = ds_main_emrinfo_emrlist.getColumn(i, "formcd");
  2806. for(var rowcnt = 0; rowcnt < ds_grd_outapplist.rowcount; rowcnt++){
  2807. if((ds_grd_outapplist.getColumn(rowcnt, "reckeyno") == reckeyno) && (ds_grd_outapplist.getColumn(rowcnt, "formcd") == formcd)){
  2808. duplFlag = true;
  2809. break;
  2810. } else {
  2811. duplFlag = false;
  2812. }
  2813. }
  2814. if((duplFlag)){
  2815. //sysf_messageBox(sFormnm+"은(는) 이미 신청하신 서식지","I009");
  2816. }else{
  2817. var nRow = ds_grd_outapplist.addRow();
  2818. ds_grd_outapplist.setColumn(nRow, "formcd" ,ds_main_emrinfo_emrlist.getColumn(i, "formcd"));
  2819. ds_grd_outapplist.setColumn(nRow, "formnm" ,ds_main_emrinfo_emrlist.getColumn(i, "formnm"));
  2820. ds_grd_outapplist.setColumn(nRow, "chrtflag" ,ds_main_emrinfo_emrlist.getColumn(i, "chrtflag"));
  2821. ds_grd_outapplist.setColumn(nRow, "formrecdt" ,ds_main_emrinfo_emrlist.getColumn(i, "formrecdt"));
  2822. ds_grd_outapplist.setColumn(nRow, "reckeyno" ,ds_main_emrinfo_emrlist.getColumn(i, "reckeyno"));
  2823. ds_grd_outapplist.setColumn(nRow, "ioflag" ,"O");
  2824. ds_grd_outapplist.setColumn(nRow, "orddd" ,ds_grd_outpat.getColumn(ds_grd_outpat.rowposition, "orddd"));
  2825. ds_grd_outapplist.setColumn(nRow, "orddeptcd" ,ds_main_emrinfo_emrlist.getColumn(i, "formrecdeptcd"));
  2826. ds_grd_outapplist.setColumn(nRow, "orddeptnm" ,ds_main_emrinfo_emrlist.getColumn(i, "formrecdeptnm"));
  2827. ds_grd_outapplist.setColumn(nRow, "atdoctnm" ,ds_main_emrinfo_emrlist.getColumn(i, "formrecusernm"));
  2828. ds_grd_outapplist.setColumn(nRow, "atdoctid" ,ds_main_emrinfo_emrlist.getColumn(i, "formrecuserid"));
  2829. duplFlag = false;
  2830. }
  2831. }
  2832. }else{
  2833. //sysf_messageBox("신청할 서식이","I004");
  2834. if(ds_grd_outpat.getColumn(ds_grd_outpat.rowposition, "chk") == "Y") {
  2835. ds_grd_outpat.setColumn(ds_grd_outpat.rowposition, "chk", "N");
  2836. }
  2837. return;
  2838. }
  2839. // grd_outapplist.colDisabled(grd_outapplist.colRef("chrtflag"))=true;
  2840. // grd_outapplist.colDisabled(grd_outapplist.colRef("ioflag"))=true;
  2841. }
  2842. /**
  2843. * @type : function
  2844. * @access : public
  2845. * @desc : 진료일자별 입원 차트 사본 신청
  2846. * @param :
  2847. * @return :
  2848. * @---------------------------------------------------
  2849. */
  2850. function fInEMRChrtListSelect()
  2851. {
  2852. utlf_addLog("***** fInEMRChrtListSelect() *****");
  2853. var nodeListCnt = ds_grd_inpat.getCaseCount("chk == 'Y'");
  2854. if(nodeListCnt > 0){
  2855. // 서식
  2856. for(var i = 0; i < ds_grd_inpat.rowcount; i++){
  2857. var chk = ds_grd_inpat.getColumn(i, "chk");
  2858. if( chk == "Y") {
  2859. var leftindx = ds_grd_inpat.getColumn(i, "midindxseq");
  2860. for( var j = 0; j < ds_grd_emrapplist.rowcount; j++) {
  2861. var rightindx = ds_grd_emrapplist.getColumn(j, "midindxseq");
  2862. if(leftindx == rightindx) {
  2863. grd_outapplist.additem();
  2864. ds_grd_outapplist.setColumn(nRow, "formcd" ,ds_grd_emrapplist.getColumn(j, "formcd"));
  2865. ds_grd_outapplist.setColumn(nRow, "chrtflag" ,ds_grd_emrapplist.getColumn(j, "chrtflag"));
  2866. ds_grd_outapplist.setColumn(nRow, "reckeyno" ,ds_grd_emrapplist.getColumn(j, "reckeyno"));
  2867. ds_grd_outapplist.setColumn(nRow, "ioflag" , "I");
  2868. ds_grd_outapplist.setColumn(nRow, "indd" ,ds_grd_emrapplist.getColumn(j, "orddd"));
  2869. ds_grd_outapplist.setColumn(nRow, "orddd" ,ds_grd_emrapplist.getColumn(j, "orddd"));
  2870. ds_grd_outapplist.setColumn(nRow, "pid" ,ds_grd_emrapplist.getColumn(j, "pid"));
  2871. ds_grd_outapplist.setColumn(nRow, "cretno" ,ds_grd_emrapplist.getColumn(j, "cretno"));
  2872. ds_grd_outapplist.setColumn(nRow, "orddeptcd" ,ds_grd_emrapplist.getColumn(j, "orddeptcd"));
  2873. ds_grd_outapplist.setColumn(nRow, "testflag" ,ds_grd_emrapplist.getColumn(j, "testflag"));
  2874. ds_grd_outapplist.setColumn(nRow, "atdoctid" ,ds_grd_inpat.getColumn(i, "formrecuserid"));
  2875. }
  2876. }
  2877. }
  2878. }
  2879. }else{
  2880. //sysf_messageBox("신청할 서식이","I004");
  2881. if(ds_grd_inpat.getColumn(ds_grd_inpat.rowposition, "chk") == "Y") {
  2882. ds_grd_inpat.setColumn(ds_grd_inpat.rowposition, "chk", "N");
  2883. }
  2884. return;
  2885. }
  2886. // grd_outapplist.colDisabled(grd_outapplist.colRef("chrtflag"))=true;
  2887. // grd_outapplist.colDisabled(grd_outapplist.colRef("ioflag"))=true;
  2888. }
  2889. // 신청된 사본 재신청시.
  2890. function fInReCopyEMRChrtListSelect()
  2891. {
  2892. utlf_addLog("***** fInReCopyEMRChrtListSelect() *****");
  2893. // 서식
  2894. //var j = 0;
  2895. ds_main_emrinfo_emrlist.clearData();
  2896. lf_fMakeColumn_main_emrinfo();
  2897. for(var i = 0; i < ds_grd_emrapplist.rowcount; i++){
  2898. //ds_main_emrinfo_emrlist.insertRow(j);
  2899. var j = ds_main_emrinfo_emrlist.addRow();
  2900. ds_main_emrinfo_emrlist.setColumn(j, "formcd" ,ds_grd_emrapplist.getColumn(i, "formcd"));
  2901. ds_main_emrinfo_emrlist.setColumn(j, "chrtflag" ,ds_grd_emrapplist.getColumn(i, "chrtflag"));
  2902. ds_main_emrinfo_emrlist.setColumn(j, "reckeyno" ,ds_grd_emrapplist.getColumn(i, "reckeyno"));
  2903. ds_main_emrinfo_emrlist.setColumn(j, "ioflag" , "I");
  2904. ds_main_emrinfo_emrlist.setColumn(j, "indd" ,ds_grd_emrapplist.getColumn(i, "testorddd"));
  2905. ds_main_emrinfo_emrlist.setColumn(j, "orddd" ,ds_grd_emrapplist.getColumn(i, "testorddd"));
  2906. ds_main_emrinfo_emrlist.setColumn(j, "pid" ,ds_main_cond.getColumn(0, "pid"));
  2907. ds_main_emrinfo_emrlist.setColumn(j, "cretno" ,ds_grd_emrapplist.getColumn(i, "testcretno"));
  2908. ds_main_emrinfo_emrlist.setColumn(j, "orddeptcd",ds_grd_emrapplist.getColumn(i, "testorddeptcd"));
  2909. ds_main_emrinfo_emrlist.setColumn(j, "testflag" ,ds_grd_emrapplist.getColumn(i, "testflag"));
  2910. j ++;
  2911. }
  2912. ds_grd_outapplist.appendData(ds_main_emrinfo_emrlist, true, false);
  2913. //copyNodeListType("/root/temp/issinfo", "/root/main/emrinfo/emrlist", "after", model, model);
  2914. // grd_outapplist.colDisabled(grd_outapplist.colRef("chrtflag"))=true;
  2915. // grd_outapplist.colDisabled(grd_outapplist.colRef("ioflag"))=true;
  2916. }
  2917. /**
  2918. * @group :
  2919. * @ver :
  2920. * @by : 이창록 2008-08-29
  2921. * @---------------------------------------------------
  2922. * @type : function
  2923. * @access : public
  2924. * @desc : 초기화 버튼
  2925. * @param :
  2926. * @return :
  2927. * @---------------------------------------------------
  2928. */
  2929. function fAppCopyInfoClear(){
  2930. utlf_addLog("***** fAppCopyInfoClear() *****");
  2931. PRIN_COPY = ""; // 출력매수
  2932. PRIN_QUNT = ""; // 부수
  2933. SAVE_COPY = 1;
  2934. RESAVE_COPY = 1;
  2935. SAVE_ORDDD = "";
  2936. OUTCOPY_FLAG = "";
  2937. INCOPY_FLAG = "";
  2938. ds_send.clearData();
  2939. ds_send_cond.clearData();
  2940. ds_send_reqdata.clearData();
  2941. ds_send_search.clearData();
  2942. ds_send_search_rsrvinfo.clearData();
  2943. ds_main_appinfo_copyinfo.clearData();
  2944. ds_main_appinfo_copyinfo.addRow();
  2945. dsf_setDefaultVal(ds_main_appinfo_copyinfo, "all");
  2946. fSet_enableevent(false);
  2947. ds_main_otherinfo.clearData();
  2948. ds_main_otherinfo.addRow();
  2949. fSet_enableevent(true);
  2950. ds_grd_outapplist.clearData();
  2951. ds_grd_outpat.clearData();
  2952. ds_grd_inapplist.clearData();
  2953. ds_grd_emrapplist.clearData();
  2954. ds_grd_inpat.clearData();
  2955. ds_main_emrinfo_emrlist.clearData();
  2956. //model.resetInstanceNode("/root/result");
  2957. //model.removeNodeset("/root/main/ordinfo/ordlist");
  2958. /*
  2959. model.resetInstanceNode("/root/send");
  2960. model.resetInstanceNode("/root/main/appinfo");
  2961. model.resetInstanceNode("/root/main/otherinfo");
  2962. model.removeNodeset("/root/temp/issinfo/emrlist");
  2963. model.removeNodeset("/root/main/outpathistlist/outpathistlist");
  2964. model.removeNodeset("/root/main/inpathistlist/inpathistlist");
  2965. model.removeNodeset("/root/main/issinfo/emrapplist");
  2966. model.removeNodeset("/root/main/midissinfo/emrapplist");
  2967. model.removeNodeset("/root/main/emrinfo/emrlist");
  2968. */
  2969. rdo_appmanflag.enable = true;
  2970. rdo_trustyn.enable = true;
  2971. btn_save.enable = true;
  2972. btn_issgoal.enable = true;
  2973. btn_update.enable = false;
  2974. ds_main_appinfo_copyinfo.setColumn(0, "status","");
  2975. ds_main_appinfo_copyinfo.setColumn(0, "appmanflag", "1");
  2976. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "N");
  2977. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  2978. var dutplcecd = sysf_getUserInfo("dutplcecd");
  2979. if(utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")))
  2980. {
  2981. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd", sysf_getUserInfo("dutplcecd")); // 신청과
  2982. appf_getOrdDeptDoctorList("none", sysf_getUserInfo("dutplceinstcd"), cmb_emrorddeptcd.value, "usernm", "asc", utlf_getCurrentDate(), "ds_init_cmb_orddrid");//해당 주치의
  2983. ds_main_appinfo_copyinfo.setColumn(0, "appdrid", sysf_getUserId().getTrim()); //신청의
  2984. }
  2985. // KNUH_20101124_박성호_end
  2986. iviewerIemr.cleanViewer();
  2987. /*
  2988. iviewerIemr.enableevent = false;
  2989. // var e = new SizeEventInfo;
  2990. // frmf_inputEnterKey("iviewerIemr", "onsize", e);
  2991. var strWidth = parseInt(iviewerIemr.position.width);
  2992. var strHeight = parseInt(iviewerIemr.position.height);
  2993. iviewerIemr.setChartViewerSize(strWidth, strHeight);//687
  2994. iviewerIemr.enableevent = true;
  2995. */
  2996. }
  2997. /**
  2998. * @group :
  2999. * @ver :
  3000. * @by : 이창록 2008-08-29
  3001. * @---------------------------------------------------
  3002. * @type : function
  3003. * @access : public
  3004. * @desc : 신청인에 따른 위임장유뮤 변경
  3005. * @param :
  3006. * @return :
  3007. * @---------------------------------------------------
  3008. */
  3009. function fAppManNmSetting()
  3010. {
  3011. utlf_addLog("***** fAppManNmSetting() *****");
  3012. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")!="9"){
  3013. ipt_appmannm.enable = false;
  3014. ipt_appmannm.value = "";
  3015. var appmanflag = ds_main_appinfo_copyinfo.getColumn(0, "appmanflag");
  3016. if(appmanflag=="1"){
  3017. rdo_trustyn.value = "N";
  3018. }else{
  3019. rdo_trustyn.value = "Y";
  3020. }
  3021. }else{
  3022. ipt_appmannm.enable = true;
  3023. rdo_trustyn.value = "Y";
  3024. }
  3025. }
  3026. // 사본발행 재신청
  3027. function fReCopyAppInfoSave()
  3028. {
  3029. utlf_addLog("***** fReCopyAppInfoSave() *****");
  3030. ds_send_savedata_copyinfo.clearData();
  3031. ds_send_savedata_copyinfo.addRow();
  3032. ds_send_savedata_otptinfo.clearData();
  3033. ds_send_savedata_otptinfo.addRow();
  3034. ds_send_savedata_emrapplist.clearData();
  3035. ds_send_savedata_emrapplist.addRow();
  3036. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"))){
  3037. sysf_messageBox("진료과를 먼저 선택","I008");
  3038. return;
  3039. }
  3040. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdrid"))){
  3041. sysf_messageBox("신청의사를 선택","I008");
  3042. return;
  3043. }
  3044. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"))){
  3045. rdo_appmanflag.setFocus();
  3046. sysf_messageBox("사본발행 신청인을", "C001");
  3047. return;
  3048. }
  3049. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "trustyn"))){
  3050. rdo_trustyn.setFocus();
  3051. sysf_messageBox("위임장/인감증명서 유무를", "C001");
  3052. return;
  3053. }
  3054. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))){
  3055. ipt_issgoalnm.setFocus();
  3056. sysf_messageBox("사본발행목적을", "C001");
  3057. return;
  3058. }
  3059. var iCopyseqno = ds_main_cond.getColumn(0, "copyseqno");
  3060. if (utlf_isNull(iCopyseqno))
  3061. {
  3062. sysf_messageBox("사본발행 내역을","C002");
  3063. return;
  3064. }
  3065. ds_send_savedata_copyinfo.setColumn(0, "copyseqno", iCopyseqno);
  3066. ds_send_savedata_copyinfo.setColumn(0, "reappyn", "Y");
  3067. // 저장된 입원 서식 copy
  3068. if(RESAVE_COPY == 1) {
  3069. }
  3070. var userinfo = sysf_getUserInfo("dutplcecd");
  3071. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  3072. //if(userinfo == "3230000000"){
  3073. if(!utlf_isNull(ds_temp_hardcd.lookup("hardcd", userinfo, "hardcd")))
  3074. {
  3075. // KNUH_20101124_박성호_end
  3076. ds_main_appinfo_copyinfo.setColumn(0, "status","");
  3077. ds_main_appinfo_copyinfo.setColumn(0, "cretno","");
  3078. ds_main_cond.setColumn(0, "cretno","");
  3079. }else{
  3080. ds_main_appinfo_copyinfo.setColumn(0, "status","I");
  3081. }
  3082. ds_grd_outapplist.applyChange();
  3083. // 신청부서 1부 default
  3084. if (ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == "0" || utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")) ){
  3085. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", "1" );
  3086. }
  3087. else
  3088. ds_send_savedata_copyinfo.setColumn(0, "emrappcopies", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") );
  3089. // 신규일 때
  3090. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "status")) || ds_main_appinfo_copyinfo.getColumn(0, "status") == "I")
  3091. {
  3092. if(utlf_isNull(ds_main_cond.getColumn(0, "cretno"))) {
  3093. //model.removeNodeset("/root/send/savedata/otptinfo");
  3094. ds_send_savedata_otptinfo.setColumn(0, "otpt_flag","I"); // 구분자
  3095. ds_send_savedata_otptinfo.setColumn(0, "otpt_pid",ds_main_cond.getColumn(0, "pid")); // 등록번호
  3096. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddd",utlf_getCurrentDate()); // 진료일자
  3097. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddeptcd", ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd")); // 진료과
  3098. ds_send_savedata_otptinfo.setColumn(0, "otpt_orddrid", ds_main_appinfo_copyinfo.getColumn(0, "appdrid")); // 진료의사
  3099. ds_send_savedata_otptinfo.setColumn(0, "otpt_ordtm",utlf_getCurrentTime()); // 진료시간
  3100. ds_send_savedata_otptinfo.setColumn(0, "otpt_rsrvflag","4"); // 예약구분
  3101. ds_send_savedata_otptinfo.setColumn(0, "otpt_instcd",sysf_getUserInfo("dutplceinstcd")); // 기관코드
  3102. ds_send_savedata_otptinfo.setColumn(0, "otpt_remfact", ""); // 참고사항
  3103. ds_send_savedata_otptinfo.setColumn(0, "sess_userid",sysf_getUserInfo("userid")); // 사용자ID
  3104. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtestmyn", "N"); // 진찰료산정여부
  3105. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtpostyn", "Y"); // 진찰료후불여부
  3106. ds_send_savedata_otptinfo.setColumn(0, "otpt_medamtfreeresn", "10"); // 진찰료미산정사유
  3107. }
  3108. ds_send_savedata_copyinfo.setColumn(0, "status", "i");
  3109. ds_send_savedata_copyinfo.setColumn(0, "pid" ,ds_main_cond.getColumn(0, "pid"));
  3110. ds_send_savedata_copyinfo.setColumn(0, "appdd" ,utlf_getCurrentDate());
  3111. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9"){
  3112. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  3113. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,ipt_appmannm.text);
  3114. //ds_send_savedata_copyinfo.setColumn(0, "appmanetc" ,ipt_appmannm.text);
  3115. }else{
  3116. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  3117. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,rdo_appmanflag.text);
  3118. }
  3119. ds_send_savedata_copyinfo.setColumn(0, "trustyn" ,ds_main_appinfo_copyinfo.getColumn(0, "trustyn"));
  3120. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99"){ // 사본발행목적이 기타일 경우
  3121. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" , ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  3122. ds_send_savedata_copyinfo.setColumn(0, "issgoaletcnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  3123. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  3124. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  3125. }else{
  3126. ds_send_savedata_copyinfo.setColumn(0, "issgoaletc" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))
  3127. ds_send_savedata_copyinfo.setColumn(0, "issgoaletccd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  3128. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  3129. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  3130. }
  3131. ds_send_savedata_copyinfo.setColumn(0, "delivefact" ,ds_main_appinfo_copyinfo.getColumn(0, "delivefact"));
  3132. if((ds_main_appinfo_copyinfo.getColumn(0, "ioflag")=="O")||(ds_main_appinfo_copyinfo.getColumn(0, "ioflag")=="S")){
  3133. ds_send_savedata_copyinfo.setColumn(0, "orddd" ,ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3134. }else{
  3135. ds_send_savedata_copyinfo.setColumn(0, "orddd" ,ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3136. }
  3137. ds_send_savedata_copyinfo.setColumn(0, "cretno" ,ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  3138. ds_send_savedata_copyinfo.setColumn(0, "emrordflag" ,ds_main_appinfo_copyinfo.getColumn(0, "emrordflag"));
  3139. ds_send_savedata_copyinfo.setColumn(0, "emrorddeptcd" ,ds_main_appinfo_copyinfo.getColumn(0, "emrorddeptcd"));
  3140. ds_send_savedata_copyinfo.setColumn(0, "appdeptcd" ,ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"));
  3141. ds_send_savedata_copyinfo.setColumn(0, "appdrid" ,ds_main_appinfo_copyinfo.getColumn(0, "appdrid"));
  3142. }
  3143. //alert(54268); return;
  3144. var hRow = ds_grd_apphist.rowposition;
  3145. var IssNo = ds_grd_apphist.getColumn(hRow, "issno");
  3146. //BMT사본신청여부 20100322
  3147. ds_send_savedata_copyinfo.setColumn(0, "bmtappyn", ds_main_otherinfo.getColumn(0, "bmtappyn"));
  3148. if(!utlf_isNull(IssNo)){
  3149. var Msg= sysf_messageBox("한번 발행한 사본입니다.그래도 재신청을","Q004");
  3150. if(Msg=="6"){
  3151. // default value setting
  3152. dsf_setDefaultVal(ds_send_savedata_copyinfo, "emrappcopies:0,cretno:0,reappyn:N");
  3153. //dsf_setDefaultVal(ds_send_savedata_emrapplist, "reckeyno:0,chrtseqno:0");
  3154. var oParam = {};
  3155. oParam.id = "TXMRC03005";
  3156. oParam.service = "chrtmngtapp.CopyIssMngt";
  3157. oParam.method = "reqExeCopyIssInfo2";
  3158. oParam.inds = "reqcopyinfo=ds_send_savedata_copyinfo reqemrapplist=ds_send_savedata_emrapplist reqotptinfo=ds_send_savedata_otptinfo";
  3159. oParam.outds = "ds_return=return";
  3160. oParam.async = false;
  3161. oParam.callback = "cf_TXMRC03005";
  3162. tranf_submit(oParam);
  3163. if(arErrorCode.pop("TXMRC03005") > -1){
  3164. sysf_messageBox("재신청이","I002");
  3165. opener.frmf_setParameter("SMMRC03000_appYN", "Y");
  3166. var oprnerId = opener.frmf_getScreenID();
  3167. if(oprnerId == "SMMRC02200") opener.fGetCopyInfoHistSearch();
  3168. frmf_clearParameter("SMMRC03000_appYN");
  3169. }else{
  3170. sysf_mssageBox("재신청이","E009");
  3171. }
  3172. //this.close();
  3173. lf_setPid();
  3174. }else if(Msg=="7"){
  3175. RESAVE_COPY ++;
  3176. ds_send_savedata_copyinfo.clearData();
  3177. ds_send_savedata_emrapplist.clearData();
  3178. ds_send_savedata_otptinfo.clearData();
  3179. return;
  3180. }
  3181. }else{
  3182. var Msg= sysf_messageBox("신청된 사본입니다 그래도 재신청을","Q004");
  3183. if(Msg=="6"){
  3184. // default value setting
  3185. dsf_setDefaultVal(ds_send_savedata_copyinfo, "emrappcopies:0,cretno:0,reappyn:N");
  3186. //dsf_setDefaultVal(ds_send_savedata_emrapplist, "reckeyno:0,chrtseqno:0");
  3187. var oParam = {};
  3188. oParam.id = "TXMRC03005";
  3189. oParam.service = "chrtmngtapp.CopyIssMngt";
  3190. oParam.method = "reqExeCopyIssInfo2";
  3191. oParam.inds = "reqcopyinfo=ds_send_savedata_copyinfo reqemrapplist=ds_send_savedata_emrapplist reqotptinfo=ds_send_savedata_otptinfo";
  3192. oParam.outds = "ds_return=return";
  3193. oParam.async = false;
  3194. oParam.callback = "cf_TXMRC03005";
  3195. tranf_submit(oParam);
  3196. if(arErrorCode.pop("TXMRC03005") > -1){
  3197. sysf_messageBox("재신청이","I002");
  3198. opener.frmf_setParameter("SMMRC03000_appYN", "Y");
  3199. var oprnerId = opener.frmf_getScreenID();
  3200. if(oprnerId == "SMMRC02200") opener.fGetCopyInfoHistSearch();
  3201. frmf_clearParameter("SMMRC03000_appYN");
  3202. }else{
  3203. sysf_mssageBox("재신청이","E009");
  3204. }
  3205. //this.close();
  3206. lf_setPid();
  3207. }else if(Msg=="7"){
  3208. RESAVE_COPY ++;
  3209. ds_send_savedata_copyinfo.clearData();
  3210. ds_send_savedata_emrapplist.clearData();
  3211. ds_send_savedata_otptinfo.clearData();
  3212. return;
  3213. }
  3214. }
  3215. }
  3216. /**
  3217. * @group :
  3218. * @ver :
  3219. * @by : 이창록 2008-08-29
  3220. * @---------------------------------------------------
  3221. * @type : function
  3222. * @access : public
  3223. * @desc : 통합뷰어 창 close 시 사본신청 창 close
  3224. * @param :
  3225. * @return :
  3226. * @---------------------------------------------------
  3227. */
  3228. function fCopyInfoClose()
  3229. {
  3230. utlf_addLog("***** fCopyInfoClose() *****");
  3231. this.close();
  3232. }
  3233. /**
  3234. * @group :
  3235. * @ver :
  3236. * @by : 이창록 2008-08-29
  3237. * @---------------------------------------------------
  3238. * @type : function
  3239. * @access : public
  3240. * @desc : 서식신청이 없을 시 메세지
  3241. * @param :
  3242. * @return :
  3243. * @---------------------------------------------------
  3244. */
  3245. function fSaveExcp()
  3246. {
  3247. utlf_addLog("***** fSaveExcp() *****");
  3248. var msg = sysf_messageBox("사본 신청된 내역이 없습니다\n"+"검사 결과에 대해서만 사본신청을","Q004"
  3249. ,"\n(검사결과 신청내용은 텍스트로 전달사항에 기재해주세요)");
  3250. if(msg=="6"){
  3251. fCopySave();
  3252. }else if(msg=="7"){
  3253. sysf_messageBox("사본신청 취소가","I001");
  3254. return;
  3255. }
  3256. }
  3257. function fBfAppformInfo()
  3258. {
  3259. utlf_addLog("***** fBfAppformInfo() *****");
  3260. ds_send_search.setColumn(0, "pid" , ds_main_cond.getColumn(0, "pid"));
  3261. ds_send_search.setColumn(0, "copyseqno" , ds_grd_inapplist.getColumn(ds_grd_inapplist.rowposition, "copyseqno"));
  3262. ds_send_search.setColumn(0, "srchflag" , "Y");
  3263. dsf_createDs("ds_temp_issinfo_copyinfo");
  3264. dsf_createDs("ds_temp_issinfo_rcptlist");
  3265. var oParam = {};
  3266. oParam.id = "TRMRC03008";
  3267. oParam.service = "chrtmngtapp.CopyIssMngt";
  3268. oParam.method = "reqGetCopyIssDetailInfo";
  3269. oParam.inds = "req=ds_send_search";
  3270. oParam.outds = "ds_temp_issinfo_copyinfo=copyinfo ds_temp_issinfo_emrapplist=emrapplist ds_temp_issinfo_rcptlist=rcptlist";
  3271. oParam.async = false;
  3272. oParam.callback = "cf_TRMRC03008";
  3273. tranf_submit(oParam);
  3274. if (arErrorCode.pop("TRMRC03008") > -1) { } // 서식 /root/temp/issinfo/emrlist grd_outapplist
  3275. ds_send_search.clearData();
  3276. ds_send_search.addRow();
  3277. }
  3278. // 신청정보 상세조회
  3279. function fIssSearch()
  3280. {
  3281. utlf_addLog("***** fIssSearch() *****");
  3282. //debugger;
  3283. if (ds_grd_apphist.rowcount < 1) return;
  3284. if (ds_grd_apphist.rowposition < 0) return;
  3285. //Event Off
  3286. ds_grd_rcptlist.enableevent = false;
  3287. var lrow = ds_grd_apphist.rowposition;
  3288. var RecPrcpCd = ds_hidden_calcscorcd.getColumn(0, "hardcd");//의무기록 사본발행 수가코드
  3289. // ds_send_search.clearData();
  3290. // ds_send_search.addRow();
  3291. ds_send_search.setColumn(0, "pid", ds_grd_apphist.getColumn(lrow, "pid"));
  3292. ds_send_search.setColumn(0, "copyseqno", ds_grd_apphist.getColumn(lrow, "copyseqno"));
  3293. ds_send_search.setColumn(0, "issno", ds_grd_apphist.getColumn(lrow, "issno"));
  3294. var totalcopies = ds_grd_apphist.getColumn(lrow, "totalcopies");
  3295. // reqGetCopyIssDetailInfo
  3296. // getCopyIssInfo : 발행정보
  3297. // getPaperScopCd : 종이서식범위
  3298. // getCopyEmrAppList : emr서식
  3299. // getCopyRcptList : 수가
  3300. /*if(model.getValue("/root/main/isshist/isslist[" + lrow + "]/unprepyn") == "Y"){
  3301. messageBox("환자의 기록이 미완결","I009");
  3302. }*/
  3303. ds_grd_rcptlist.applyChange();// grd_rcptlist.clearStatus();
  3304. var oParam = {};
  3305. oParam.id = "TRMRC03023";
  3306. oParam.service = "chrtmngtapp.CopyIssMngt";
  3307. oParam.method = "reqGetCopyRcptList";
  3308. oParam.inds = "req=ds_send_search";
  3309. oParam.outds = "ds_grd_rcptlist=rcptlist";
  3310. oParam.async = false;
  3311. oParam.callback = "cf_TRMRC03023";
  3312. tranf_submit(oParam);
  3313. //utlf_addLog(ds_grd_rcptlist.saveXML());
  3314. //fDisabled(false);
  3315. // fAppManNmSetting("S");
  3316. // fIssGoalNmSetting();
  3317. ds_main_appinfo_copyinfo.setColumn(0, "status", "u");
  3318. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  3319. if(ds_grd_rcptlist.rowcount <= 0) // 그리드가 빈줄인 경우
  3320. {
  3321. var currentdate = utlf_getCurrentDate();
  3322. var lrow = ds_grd_rcptlist.addRow();
  3323. // 06: 직할병원 - 수가코드(HCDD001-서울성모)
  3324. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd)) // 무료 수가 코드 적용
  3325. {
  3326. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_FreeCalcscorcd);
  3327. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_FreeCalcscorcdnm);
  3328. // 처방코드(임시로 수가코드로 함)
  3329. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_FreeCalcscorcd);
  3330. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  3331. }
  3332. else
  3333. { // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  3334. if(g_DefCnt != 0) // 기본수가코드의 기본매수가 0 이 아닌 경우( ex) 의정부성모..등
  3335. {
  3336. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_DefCalcscorcd);
  3337. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_DefCalcscorcd);
  3338. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  3339. }
  3340. else
  3341. {
  3342. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_AddCalcscorcd);
  3343. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_AddCalcscorcd);
  3344. ds_grd_rcptlist.setColumn(lrow, "defyn", "ADD");
  3345. }
  3346. // 수가 명칭 설정
  3347. if(ds_grd_rcptlist.getColumn(lrow, "defyn") == "ADD")
  3348. {
  3349. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_AddCalcscorcdnm);
  3350. }
  3351. else
  3352. {
  3353. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_DefCalcscorcdnm);
  3354. }
  3355. }
  3356. if(g_DefCnt != 0)
  3357. {
  3358. if(utlf_isNull(totalcopies)){
  3359. ds_grd_rcptlist.setColumn(lrow, "shtno", g_DefCnt);
  3360. //ds_grd_rcptlist.setColumn(lrow, "shtno", "1");
  3361. ds_temp2_appinfo_copyinfo.setColumn(0, "totalshrtno", g_DefCnt);
  3362. }else{
  3363. ds_grd_rcptlist.setColumn(lrow, "shtno", totalcopies);
  3364. ds_temp2_appinfo_copyinfo.setColumn(0, "totalshrtno", totalcopies);
  3365. }
  3366. }
  3367. else
  3368. {
  3369. ds_grd_rcptlist.setColumn(lrow, "shtno", g_AddCnt);
  3370. ds_temp2_appinfo_copyinfo.setColumn(0, "totalshrtno", g_AddCnt);
  3371. }
  3372. //model.getValue("/root/temp/picmmech/picmmech_unitcost") 어디서나옴??
  3373. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  3374. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  3375. {
  3376. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3377. }
  3378. ds_grd_rcptlist.setColumn(lrow, "prcpdd", currentdate);
  3379. ds_grd_rcptlist.setColumn(lrow, "prcpno", "0");
  3380. ds_grd_rcptlist.setColumn(lrow, "prcphistno", "0");
  3381. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  3382. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3383. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  3384. ds_grd_rcptlist.setColumn(lrow, "oldshtno", "1");
  3385. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  3386. ds_temp2_appinfo_copyinfo.setColumn(0, "totalcopies", "1");
  3387. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0)
  3388. {
  3389. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", 1);
  3390. }
  3391. ds_grd_rcptlist.setColumn(lrow, "prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3392. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  3393. var arrPostion = new Array();
  3394. arrPostion[0] = lrow;
  3395. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  3396. }
  3397. else // 발행된 내역을 조회하는 경우
  3398. {
  3399. var shtno = 0;
  3400. var iFindRow = 0;
  3401. var RowCnt = 0;
  3402. var lrow = 0;
  3403. var currentdate = "";
  3404. var tmpTotalCopies = 0;
  3405. tmpTotalCopies = fGetTotalCopies();
  3406. if(ds_grd_rcptlist.rowcount == 1)
  3407. {
  3408. var iRow = ds_grd_rcptlist.rowcount - 1;
  3409. utlf_addLog("***** iRow : " + iRow + " *****");
  3410. if(parseInt(tmpTotalCopies) == parseInt(g_DefCnt))
  3411. {
  3412. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  3413. }
  3414. if(g_DefCnt > 0 && ds_grd_rcptlist.getColumn(iRow, "calcscorcd") == g_DefCalcscorcd)
  3415. {
  3416. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  3417. }
  3418. utlf_addLog("***** tmpTotalCopies : " + parseInt(tmpTotalCopies)+ " g_DefCnt : " + parseInt(g_DefCnt) +" *****");
  3419. if(parseInt(tmpTotalCopies) > parseInt(g_DefCnt)) // 기본 매수보다 새로 입력한 장수가 10장 미만인경우
  3420. {
  3421. //var rcptNodelist = findNodeset(model, "/root/main/rcptlist/rcptlist[" + iRow + "]");
  3422. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  3423. {
  3424. }
  3425. else
  3426. {
  3427. // if(rcptNodelist.length >= 1)
  3428. // {
  3429. //var rcptNode = rcptNodelist.item(0);
  3430. // 기본 수가로 설정
  3431. if(g_DefCnt != 0)
  3432. {
  3433. //rcptNode.parentNode.appendChild(rcptNode);
  3434. var nRow = ds_grd_rcptlist.addRow();
  3435. ds_grd_rcptlist.copyRow(nRow, ds_grd_rcptlist, iRow);
  3436. if(iRow == 0)
  3437. {
  3438. ds_grd_rcptlist.setColumn(iRow, "shtno", g_DefCnt);
  3439. //ds_grd_rcptlist.setColumn(iRow, "calcscornm", "의무기록사본발행");
  3440. ds_grd_rcptlist.setColumn(iRow, "calcscornm", g_DefCalcscorcdnm);
  3441. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  3442. ds_grd_rcptlist.setColumn(iRow, "prcpqty", "1"); // HCDD027 의 경우 매수를 10으로 하면 30000원이 계산됨.
  3443. // 추가 수가를 설정-1
  3444. ds_grd_rcptlist.setColumn(nRow, "calcscorcd", g_AddCalcscorcd);
  3445. //ds_grd_rcptlist.setColumn(nRow, "calcscornm", "의무기록복사(추가한매당)");
  3446. ds_grd_rcptlist.setColumn(nRow, "prcpcd", g_AddCalcscorcd);
  3447. ds_grd_rcptlist.setColumn(nRow, "shtno", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  3448. ds_grd_rcptlist.setColumn(nRow, "defyn", "ADD");
  3449. ds_grd_rcptlist.setColumn(nRow, "prcpqty", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  3450. }
  3451. }
  3452. else
  3453. {
  3454. ds_grd_rcptlist.setColumn(iRow, "calcscorcd", g_AddCalcscorcd);
  3455. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  3456. ds_grd_rcptlist.setColumn(iRow, "prcpcd", g_AddCalcscorcd);
  3457. if(g_DefCnt == 0)
  3458. {
  3459. ds_grd_rcptlist.setColumn(iRow, "shtno", tmpTotalCopies);
  3460. ds_grd_rcptlist.setColumn(iRow, "prcpqty", tmpTotalCopies);
  3461. }
  3462. else
  3463. {
  3464. ds_grd_rcptlist.setColumn(iRow, "shtno", (tmpTotalCopies-g_AddCnt));
  3465. ds_grd_rcptlist.setColumn(iRow, "prcpqty", (tmpTotalCopies-g_AddCnt));
  3466. }
  3467. ds_grd_rcptlist.setColumn(iRow, "defyn", "ADD");
  3468. }
  3469. //}
  3470. }
  3471. }
  3472. else // 기존 그리드가 1줄이고 이미 발행된 내역보다 새로 입력한 장수가 10장 이상인경우(그리드가 2줄이 되어야 함.
  3473. {
  3474. ds_grd_rcptlist.setColumn(iRow, "shtno", tmpTotalCopies);
  3475. }
  3476. utlf_addLog("***** g_inputbox : " + g_inputbox + " *****");
  3477. if(g_inputbox != "Y")
  3478. {
  3479. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") != ds_grd_rcptlist.getColumn(iRow, "prcptims"))
  3480. {
  3481. ds_grd_rcptlist.setColumn(iRow, "prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3482. var arrPostion = new Array();
  3483. arrPostion[0] = iRow;
  3484. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  3485. }
  3486. }
  3487. }
  3488. else // 수가가 여러줄인 경우
  3489. {
  3490. if(g_DefCalcscorcd != "HCDD030")
  3491. {
  3492. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  3493. {
  3494. // 첫번째 매수 확인
  3495. if(ds_grd_rcptlist.getColumn(iRow, "calcscorcd") == g_DefCalcscorcd && utlf_isNull(ds_grd_rcptlist.getColumn(iRow, "defyn")))
  3496. {
  3497. var fstshtno = ds_grd_rcptlist.getColumn(iRow, "shtno");
  3498. if(fstshtno == g_DefCnt)
  3499. {
  3500. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  3501. }
  3502. if(fstshtno > g_DefCnt)
  3503. {
  3504. ds_grd_rcptlist.setColumn(iRow, "shtno", g_DefCnt);
  3505. }
  3506. }
  3507. // 기본 수가로 설정
  3508. if(g_DefCnt != 0)
  3509. {
  3510. if(iRow == 0)
  3511. {
  3512. ds_grd_rcptlist.setColumn(iRow, "shtno", g_DefCnt);
  3513. //ds_grd_rcptlist.setColumn(iRow, "shtno", "1"); // HCDD027 의 경우 매수를 10으로 하면 30000원이 계산됨.
  3514. //ds_grd_rcptlist.setColumn(iRow, "calcscornm", "의무기록사본발행");
  3515. ds_grd_rcptlist.setColumn(iRow, "calcscornm", g_DefCalcscorcdnm);
  3516. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  3517. ds_grd_rcptlist.setColumn(iRow, "prcpqty", "1");
  3518. // 추가 수가를 설정
  3519. ds_grd_rcptlist.setColumn((iRow+1), "calcscorcd", g_AddCalcscorcd);
  3520. //ds_grd_rcptlist.setColumn((iRow+1), "calcscornm", "의무기록복사(추가한매당)");
  3521. ds_grd_rcptlist.setColumn((iRow+1), "calcscornm", g_AddCalcscorcdnm);
  3522. ds_grd_rcptlist.setColumn((iRow+1), "prcpcd", g_AddCalcscorcd);
  3523. ds_grd_rcptlist.setColumn((iRow+1), "shtno", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  3524. ds_grd_rcptlist.setColumn((iRow+1), "defyn", "ADD");
  3525. ds_grd_rcptlist.setColumn((iRow+1), "prcpqty", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  3526. }
  3527. }
  3528. else
  3529. {
  3530. ds_grd_rcptlist.setColumn(iRow, "calcscorcd", g_AddCalcscorcd);
  3531. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  3532. ds_grd_rcptlist.setColumn(iRow, "prcpcd", g_AddCalcscorcd);
  3533. ds_grd_rcptlist.setColumn(iRow, "shtno", parseInt(tmpTotalCopies)-parseInt(g_AddCnt));
  3534. ds_grd_rcptlist.setColumn(iRow, "defyn", "ADD");
  3535. ds_grd_rcptlist.setColumn(iRow, "prcpqty", parseInt(tmpTotalCopies)-parseInt(g_AddCnt));
  3536. // 의정부, 성가는 부수를 1로 고정
  3537. if(g_inputbox == "Y")
  3538. {
  3539. ds_grd_rcptlist.setColumn(iRow, "prcptims", "1");
  3540. }
  3541. }
  3542. }
  3543. }
  3544. }
  3545. // 직할병원
  3546. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  3547. {
  3548. //iFindRow = grd_rcptlist.findRow(g_FreeCalcscorcd,0,2);
  3549. iFindRow = ds_grd_rcptlist.findRow("calcscorcd", g_FreeCalcscorcd);
  3550. if(iFindRow < 0){
  3551. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  3552. {
  3553. var arrPostion = new Array();
  3554. arrPostion[0] = iRow;
  3555. grdf_setStatus(grd_rcptlist, "D", arrPostion);
  3556. ds_grd_rcptlist.setColumn(iRow, "readonly", "Y");
  3557. // grd_rcptlist.rowStatus(iRow) = 4;
  3558. // grd_rcptlist.isReadOnly(iRow,4) = true;
  3559. shtno += eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  3560. }
  3561. RowCnt = 1;
  3562. }
  3563. }
  3564. else
  3565. {// 그외 목적
  3566. //iFindRow = grd_rcptlist.findRow(RecPrcpCd,0,2);
  3567. iFindRow = ds_grd_rcptlist.findRow("calcscorcd", RecPrcpCd);
  3568. // utlf_addLog("*****#1 iFindRow : " + iFindRow +" *****");
  3569. // utlf_addLog("*****#1 RecPrcpCd : " + RecPrcpCd +" *****");
  3570. if(iFindRow < 0)
  3571. {
  3572. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  3573. {
  3574. var arrPostion = new Array();
  3575. arrPostion[0] = iRow;
  3576. grdf_setStatus(grd_rcptlist, "D", arrPostion);
  3577. ds_grd_rcptlist.setColumn(iRow, "readonly", "Y");
  3578. // grd_rcptlist.rowStatus(iRow) = 4;
  3579. // grd_rcptlist.isReadOnly(iRow,4) = true;
  3580. shtno += eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  3581. }
  3582. if(shtno > 10){
  3583. RowCnt = 2;
  3584. }else{
  3585. RowCnt = 1;
  3586. }
  3587. }
  3588. }
  3589. //utlf_addLog("*****#2 iFindRow : " + iFindRow +" *****");
  3590. if(iFindRow < 0)
  3591. {
  3592. for(var iRow = 0; iRow < RowCnt; iRow++)
  3593. {
  3594. currentdate = utlf_getCurrentDate();
  3595. lrow = ds_grd_rcptlist.addRow();
  3596. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  3597. {
  3598. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_FreeCalcscorcd);
  3599. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_FreeCalcscorcdnm);
  3600. // 처방코드(임시로 수가코드로 함)
  3601. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_FreeCalcscorcd);
  3602. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  3603. }
  3604. else
  3605. {
  3606. if(iRow == 0)
  3607. {
  3608. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", RecPrcpCd);
  3609. //ds_grd_rcptlist.setColumn(lrow, "calcscornm", "의무기록사본발행");
  3610. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_DefCalcscorcdnm);
  3611. // 처방코드(임시로 수가코드로 함)
  3612. ds_grd_rcptlist.setColumn(lrow, "prcpcd", RecPrcpCd);
  3613. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  3614. }
  3615. else if(iRow == 1)
  3616. {
  3617. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_AddCalcscorcd);
  3618. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_AddCalcscorcdnm);
  3619. // 처방코드(임시로 수가코드로 함)
  3620. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_AddCalcscorcd);
  3621. ds_grd_rcptlist.setColumn(lrow, "unitcost", "");
  3622. }
  3623. }
  3624. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  3625. {
  3626. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3627. }
  3628. ds_grd_rcptlist.setColumn(lrow, "prcpdd", currentdate);
  3629. ds_grd_rcptlist.setColumn(lrow, "prcpno", "0");
  3630. ds_grd_rcptlist.setColumn(lrow, "prcphistno", "0");
  3631. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  3632. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3633. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  3634. if(RowCnt == 1){
  3635. ds_grd_rcptlist.setColumn(lrow, "shtno", shtno);
  3636. ds_grd_rcptlist.setColumn(lrow, "oldshtno", shtno);
  3637. if(issgoalcd == "06"){
  3638. ds_grd_rcptlist.setColumn(lrow, "prcpqty", shtno);
  3639. }else{
  3640. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  3641. }
  3642. }else{ // 직할병원을 제외한 목적의 경우로 매수가 10매 이상인 경우
  3643. if(iRow == 0){ // 수가코드 (HCDD027) 처리
  3644. ds_grd_rcptlist.setColumn(lrow, "shtno", "10");
  3645. ds_grd_rcptlist.setColumn(lrow, "oldshtno", "10");
  3646. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  3647. }else if(iRow == 1){ // 수가코드(HCDD030) 처리
  3648. ds_grd_rcptlist.setColumn(lrow, "shtno", (shtno-10));
  3649. ds_grd_rcptlist.setColumn(lrow, "oldshtno", (shtno-10));
  3650. ds_grd_rcptlist.setColumn(lrow, "prcpqty", (shtno-10));
  3651. }
  3652. }
  3653. ds_grd_rcptlist.setColumn(lrow, "prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3654. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  3655. var arrPostion = new Array();
  3656. arrPostion[0] = lrow;
  3657. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  3658. //grd_rcptlist.addStatus(lrow, "insert");
  3659. }
  3660. }
  3661. //2008-10-24 이창록 수정 부수가 0이면 defalut 으로 1로 셋팅
  3662. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")==0){
  3663. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies",1);
  3664. fChangedAppCopies();
  3665. }
  3666. var totalcopiesNew = ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "totalcopies");
  3667. var emrappcopiesNew = ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "emrappcopies");
  3668. g_GrdTotalCnt = totalcopiesNew * emrappcopiesNew;
  3669. }
  3670. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  3671. {
  3672. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "shtno"), "edittype", "none");
  3673. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "shtno"), "prcptims", "none");
  3674. // grd_rcptlist.colAttribute (4, "disabled" ) = "true";
  3675. // grd_rcptlist.colAttribute (19, "disabled" ) = "true";
  3676. ds_grd_rcptlist.applyChange();
  3677. // 그리드 복사
  3678. ds_grd_tmprcptlist.copyData(ds_grd_rcptlist);
  3679. ds_grd_tmprcptlist.applyChange();
  3680. //model.copyNode("/root/temp2/rcptlist", "/root/main/rcptlist");
  3681. }
  3682. // event On
  3683. ds_grd_rcptlist.enableevent = true;
  3684. }
  3685. function fIssSearch_old()
  3686. {
  3687. if (grd_apphist.rows<= 1) return;
  3688. if (grd_apphist.row < 1) return;
  3689. var lrow = grd_apphist.row;
  3690. var RecPrcpCd = model.getValue("/root/hidden/calcscorcd/hardcd/hardcd");//의무기록 사본발행 수가코드
  3691. model.makeValue("/root/send/search/pid", model.getValue("/root/main/apphist/applist[" + lrow + "]/pid"));
  3692. model.makeValue("/root/send/search/copyseqno", model.getValue("/root/main/apphist/applist[" + lrow + "]/copyseqno"));
  3693. //model.removeNodeset("/root/main/issinfo/emrapplist");
  3694. // reqGetCopyIssDetailInfo
  3695. // getCopyIssInfo : 발행정보
  3696. // getPaperScopCd : 종이서식범위
  3697. // getCopyEmrAppList : emr서식
  3698. // getCopyRcptList : 수가
  3699. /*if(model.getValue("/root/main/isshist/isslist[" + lrow + "]/unprepyn") == "Y"){
  3700. messageBox("환자의 기록이 미완결","I009");
  3701. }*/
  3702. grd_rcptlist.clearStatus();
  3703. if (submit("TRMRC03023", false) == true)
  3704. //{
  3705. //fDisabled(false);
  3706. // fAppManNmSetting("S");
  3707. // fIssGoalNmSetting();
  3708. model.setValue("/root/main/appinfo/copyinfo/status", "u");
  3709. model.refresh();
  3710. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  3711. if(grd_rcptlist.rows == grd_rcptlist.fixedrows){
  3712. grd_rcptlist.additem();
  3713. var currentdate = getCurrentDate();
  3714. var lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  3715. // 06: 직할병원 - 수가코드(HCDD001)
  3716. if(issgoalcd == "06" && g_FreeCalcscorcd != "") {
  3717. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", "HCDD001");
  3718. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행(CMC 의사)");
  3719. // 처방코드(임시로 수가코드로 함)
  3720. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", "HCDD001");
  3721. }else{ // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  3722. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", RecPrcpCd);
  3723. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  3724. // 처방코드(임시로 수가코드로 함)
  3725. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", RecPrcpCd);
  3726. }
  3727. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  3728. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  3729. {
  3730. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3731. }
  3732. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", currentdate);
  3733. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpno", "0");
  3734. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcphistno", "0");
  3735. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  3736. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3737. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  3738. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", "1");
  3739. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", "1");
  3740. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  3741. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3742. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  3743. grd_rcptlist.addStatus(lrow, "insert");
  3744. //btn_delete.disabled = false;
  3745. //btn_delete.refresh();
  3746. }else{
  3747. var shtno = 0;
  3748. var iFindRow =0;
  3749. var RowCnt = 0;
  3750. var lrow = 0;
  3751. var currentdate = "";
  3752. for(var iRow = grd_rcptlist.fixedrows; iRow <= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++){
  3753. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") != model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims")){
  3754. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3755. grd_rcptlist.rowStatus(iRow) = 2;
  3756. }
  3757. }
  3758. // 직할병원
  3759. if(issgoalcd == "06" && g_FreeCalcscorcd != ""){
  3760. iFindRow = grd_rcptlist.findRow("HCDD001",0,2);
  3761. if(iFindRow < 1){
  3762. for(var iRow = grd_rcptlist.fixedrows; iRow <= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++){
  3763. grd_rcptlist.rowStatus(iRow) = 4;
  3764. grd_rcptlist.isReadOnly(iRow,4) = true;
  3765. shtno += eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  3766. }
  3767. RowCnt = 1;
  3768. }
  3769. }else{// 그외 목적
  3770. iFindRow = grd_rcptlist.findRow(RecPrcpCd,0,2);
  3771. if(iFindRow < 1){
  3772. for(var iRow = grd_rcptlist.fixedrows; iRow<= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++){
  3773. grd_rcptlist.rowStatus(iRow) = 4;
  3774. grd_rcptlist.isReadOnly(iRow,4) = true;
  3775. shtno += eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  3776. }
  3777. if(shtno > 10){
  3778. RowCnt = 2;
  3779. }else{
  3780. RowCnt = 1;
  3781. }
  3782. }
  3783. }
  3784. if(iFindRow < 1){
  3785. for(var iRow = 1; iRow <= RowCnt; iRow++){
  3786. grd_rcptlist.additem();
  3787. currentdate = getCurrentDate();
  3788. lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  3789. if(issgoalcd == "06"){
  3790. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", "HCDD001");
  3791. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행(CMC 의사)");
  3792. // 처방코드(임시로 수가코드로 함)
  3793. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", "HCDD001");
  3794. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  3795. }else{
  3796. if(iRow == 1){
  3797. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", RecPrcpCd);
  3798. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  3799. // 처방코드(임시로 수가코드로 함)
  3800. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", RecPrcpCd);
  3801. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  3802. }else if(iRow == 2){
  3803. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", "HCDD030");
  3804. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록복사(추가한매당)");
  3805. // 처방코드(임시로 수가코드로 함)
  3806. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", "HCDD030");
  3807. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", "");
  3808. }
  3809. }
  3810. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  3811. {
  3812. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3813. }
  3814. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", currentdate);
  3815. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpno", "0");
  3816. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcphistno", "0");
  3817. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  3818. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  3819. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  3820. if(RowCnt == 1){
  3821. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", shtno);
  3822. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", shtno);
  3823. if(issgoalcd == "06"){
  3824. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", shtno);
  3825. }else{
  3826. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  3827. }
  3828. }else{ // 직할병원을 제외한 목적의 경우로 매수가 10매 이상인 경우
  3829. if(iRow == 1){ // 수가코드 (HCDD027) 처리
  3830. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", "10");
  3831. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", "10");
  3832. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  3833. }else if(iRow == 2){ // 수가코드(HCDD030) 처리
  3834. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", (shtno-10));
  3835. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", (shtno-10));
  3836. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", (shtno-10));
  3837. }
  3838. }
  3839. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  3840. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  3841. grd_rcptlist.addStatus(lrow, "insert");
  3842. }
  3843. }
  3844. //2008-10-24 이창록 수정 부수가 0이면 defalut 으로 1로 셋팅
  3845. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")==0){
  3846. model.setValue("/root/main/appinfo/copyinfo/emrappcopies",1);
  3847. //ipt_emrappcopies.refresh();
  3848. fChangedAppCopies();
  3849. }
  3850. //btn_delete.disabled = true;
  3851. //btn_delete.refresh();
  3852. }
  3853. /* }
  3854. else
  3855. {
  3856. messageBox("조회를", "E009");
  3857. }*/
  3858. //model.refresh();
  3859. }
  3860. // 신청부수가 변경될 경우
  3861. function fChangedAppCopies(){
  3862. utlf_addLog(" ***** fChangedAppCopies() *****");
  3863. var sEMRAppCopies = ds_grd_rcptlist.getColumn(ds_grd_rcptlist.rowposition, "prcptims");
  3864. var iPrcpTims = 0;
  3865. var sShtNo = 0;
  3866. var sOldShtNo = 0;
  3867. var iStatus = 0;
  3868. iRow = ds_grd_rcptlist.rowposition;
  3869. iPrcpTims = ds_grd_rcptlist.getColumn(iRow, "oldprcptims");
  3870. iStatus = ds_grd_rcptlist.getRowType(iRow);
  3871. ds_grd_rcptlist.enableevent = false;
  3872. if(sEMRAppCopies != iPrcpTims){
  3873. ds_grd_rcptlist.setColumn(iRow, "prcptims",sEMRAppCopies);
  3874. // TF status 0 : new , 2 : update XP 1 : nomal, 4 : update
  3875. if(iStatus == 1){
  3876. var arrPostion = new Array();
  3877. arrPostion[0] = iRow;
  3878. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  3879. }
  3880. //grd_rcptlist.rowstatus(iRow) = 2;
  3881. }else{
  3882. sShtNo = ds_grd_rcptlist.getColumn(iRow, "shtno");
  3883. sOldShtNo = ds_grd_rcptlist.getColumn(iRow, "oldshtno");
  3884. if(sShtNo == sOldShtNo && iStatus == 4){
  3885. //grd_rcptlist.rowstatus(iRow) = 0;
  3886. var arrPostion = new Array();
  3887. arrPostion[0] = iRow;
  3888. grdf_setStatus(grd_rcptlist, Dataset.ROWTYPE_NORMAL, arrPostion);
  3889. }
  3890. }
  3891. ds_grd_rcptlist.enableevent = true;
  3892. }
  3893. function fChangedAppCopies_old(){
  3894. //var sEMRAppCopies = ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies");
  3895. var sEMRAppCopies = model.getValue("/root/main/rcptlist/rcptlist["+ grd_rcptlist.row +"]/prcptims");
  3896. var iPrcpTims = 0;
  3897. var sShtNo = 0;
  3898. var sOldShtNo = 0;
  3899. var iStatus = 0;
  3900. //for(var iRow = grd_rcptlist.fixedrows; iRow <= grd_rcptlist.rows - grd_rcptlist.fixedrows; iRow++){
  3901. iRow = grd_rcptlist.row;
  3902. iPrcpTims = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldprcptims");
  3903. iStatus = grd_rcptlist.rowstatus(iRow);
  3904. if(sEMRAppCopies != iPrcpTims){
  3905. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcptims",sEMRAppCopies);
  3906. if(iStatus == 0) grd_rcptlist.rowstatus(iRow) = 2;
  3907. }else{
  3908. sShtNo = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno");
  3909. sOldShtNo = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno");
  3910. if(sShtNo == sOldShtNo && iStatus == 2){
  3911. grd_rcptlist.rowstatus(iRow) = 0;
  3912. }
  3913. }
  3914. //}
  3915. }
  3916. function fGetInEmrFormList() {
  3917. var hRow = grd_apphist.row - grd_apphist.fixedRows +1;
  3918. model.removeNodeset("/root/main/issinfo/emrapplist");
  3919. model.makeValue("/root/send/search/copyseqno", model.getValue("/root/main/apphist/applist[" + hRow + "]/copyseqno"));
  3920. model.makeValue("/root/send/search/pid", model.getValue("/root/main/apphist/applist[" + hRow + "]/pid"));
  3921. if (submit("TRMRC03015",false)) // 서식지분류 조회 list /root/main/issinfo/emrapplist
  3922. {
  3923. }
  3924. btn_save.disabled = true;
  3925. btn_update.disabled = false;
  3926. btn_reappinfo.disabled = false;
  3927. grd_emrapplist.refresh();
  3928. }
  3929. function fGetEMRDrawList() {
  3930. var hRow = grd_apphist.row - grd_apphist.fixedRows +1;
  3931. model.removeNodeset("/root/main/issinfo/emrapplist");
  3932. model.makeValue("/root/send/search/copyseqno", model.getValue("/root/main/apphist/applist[" + hRow + "]/copyseqno"));
  3933. model.makeValue("/root/send/search/pid", model.getValue("/root/main/apphist/applist[" + hRow + "]/pid"));
  3934. if (submit("TRMRC03031",false))
  3935. {
  3936. }
  3937. btn_save.disabled = true;
  3938. btn_update.disabled = false;
  3939. btn_reappinfo.disabled = false;
  3940. grd_emrapplist.refresh();
  3941. }
  3942. // 신청된 사본 호출
  3943. function fGetMidFormList() {
  3944. utlf_addLog("***** fGetMidFormList() *****");
  3945. ds_grd_inpat.clearData();//model.removeNodeset("/root/main/midissinfo");
  3946. ds_main_midissinfo_totemrapplist.clearData();
  3947. dsf_createDs("ds_isstemp_emrapplist");
  3948. dsf_createDs("ds_totisstemp_totemrapplist");
  3949. dsf_copyColInfo(ds_isstemp_emrapplist, ds_grd_inpat);
  3950. dsf_copyColInfo(ds_totisstemp_totemrapplist, ds_main_midissinfo_totemrapplist);
  3951. var hRow = ds_grd_apphist.rowposition;
  3952. var copyseqno = ds_grd_apphist.getColumn(hRow, "copyseqno");
  3953. //var inpathistNodes = instance1.selectNodes("/root/main/inpathistlist/inpathistlist");
  3954. for(var i = 0; i < ds_grd_inapplist.rowcount; i++)
  3955. {
  3956. ds_send_search.clearData();
  3957. var nRow = ds_send_search.addRow();
  3958. ds_send_search.setColumn(nRow, "copyseqno", copyseqno);
  3959. ds_send_search.setColumn(nRow, "pid", ds_grd_inapplist.getColumn(i, "pid"));
  3960. ds_send_search.setColumn(nRow, "orddd", ds_grd_inapplist.getColumn(i, "indd"));
  3961. ds_send_search.setColumn(nRow, "cretno", ds_grd_inapplist.getColumn(i, "cretno"));
  3962. ds_send_search.setColumn(nRow, "orddeptcd", ds_grd_inapplist.getColumn(i, "orddeptcd"));
  3963. ds_send_search.setColumn(nRow, "ordtype", ds_grd_inapplist.getColumn(i, "ioflag"));
  3964. //2009-11-03 오전 2:06:12 강지훈 추가
  3965. ds_send_search.setColumn(nRow, "bfopentest", ds_grd_inapplist.getColumn(i, "bfopentest"));
  3966. if (!utlf_isNull(ds_grd_inapplist.getColumn(i, "pid")))
  3967. {
  3968. // 중분류 단위조회
  3969. var oParam = {};
  3970. oParam.id = "TRMRC03022";
  3971. oParam.service = "chrtmngtapp.CopyIssMngt";
  3972. oParam.method = "reqGetInMidEmrFormList";
  3973. oParam.inds = "req=ds_send_search";
  3974. oParam.outds = "ds_grd_inpat=emrapplist ds_main_midissinfo_totemrapplist=totemrapplist";
  3975. oParam.async = false;
  3976. oParam.callback = "cf_TRMRC03022";
  3977. tranf_submit(oParam);
  3978. if(arErrorCode.pop("TRMRC03022") > -1){
  3979. ds_isstemp_emrapplist.appendData(ds_grd_inpat);
  3980. ds_totisstemp_totemrapplist.appendData(ds_main_midissinfo_totemrapplist);
  3981. // copyNodeset("/root/isstemp/emrapplist", "/root/midtemp/midissinfo/emrapplist", "append");
  3982. // copyNodeset("/root/totisstemp/totemrapplist", "/root/midtemp/midissinfo/totemrapplist", "append");
  3983. ds_grd_inpat.clearData();//model.removeNodeset("/root/main/midissinfo");
  3984. ds_main_midissinfo_totemrapplist.clearData();
  3985. }
  3986. }
  3987. }
  3988. ds_grd_inpat.copyData(ds_isstemp_emrapplist);
  3989. ds_main_midissinfo_totemrapplist.copyData(ds_totisstemp_totemrapplist);
  3990. dsf_deleteDs("ds_isstemp_emrapplist");
  3991. dsf_deleteDs("ds_totisstemp_totemrapplist");
  3992. // copyNodeset("/root/main/midissinfo/emrapplist", "/root/isstemp/emrapplist", "append");
  3993. // copyNodeset("/root/main/midissinfo/totemrapplist", "/root/totisstemp/totemrapplist", "append");
  3994. // model.removeNodeset("/root/isstemp");
  3995. // model.removeNodeset("/root/totisstemp");
  3996. }
  3997. // 신청된 사본 호출
  3998. function fGetMidFormList_old() {
  3999. var hRow = grd_apphist.row - grd_apphist.fixedRows +1;
  4000. model.removeNodeset("/root/main/midissinfo/emrapplist");
  4001. model.makeValue("/root/send/search/copyseqno", model.getValue("/root/main/apphist/applist[" + hRow + "]/copyseqno"));
  4002. model.makeValue("/root/send/search/pid", model.getValue("/root/main/inpathistlist/inpathistlist/pid"));
  4003. model.makeValue("/root/send/search/orddd", model.getValue("/root/main/inpathistlist/inpathistlist/indd"));
  4004. model.makeValue("/root/send/search/cretno", model.getValue("/root/main/inpathistlist/inpathistlist/cretno"));
  4005. model.makeValue("/root/send/search/orddeptcd", model.getValue("/root/main/inpathistlist/inpathistlist/orddeptcd"));
  4006. model.makeValue("/root/send/search/ordtype", model.getValue("/root/main/inpathistlist/inpathistlist/ioflag"));
  4007. if (model.getValue("/root/main/inpathistlist/inpathistlist/pid") != "")
  4008. {
  4009. // 중분류 단위조회
  4010. if(submit("TRMRC03022")){
  4011. //for(var k = 1; k < grd_inpat.rows; k++)
  4012. // model.setValue("/root/main/midissinfo/emrapplist["+ k +"]/chk", "Y");
  4013. }
  4014. }
  4015. }
  4016. function fGetOutEmrFormList() {
  4017. utlf_addLog("***** fGetOutEmrFormList() *****");
  4018. var hRow = ds_grd_apphist.rowposition;
  4019. dsf_createDs("ds_grd_outapplist", [
  4020. {col:"chrtflag", type:"STRING", size:256}
  4021. , {col:"ioflag", type:"STRING", size:256}
  4022. , {col:"orddd", type:"STRING", size:256}
  4023. , {col:"dschdd", type:"STRING", size:256}
  4024. , {col:"orddeptnm", type:"STRING", size:256}
  4025. , {col:"atdoctnm", type:"STRING", size:256}
  4026. , {col:"formrecdt", type:"STRING", size:256}
  4027. , {col:"formnm", type:"STRING", size:256}
  4028. , {col:"sortno", type:"STRING", size:256}
  4029. , {col:"formcd", type:"STRING", size:256}
  4030. , {col:"formrecextnnm", type:"STRING", size:256}
  4031. , {col:"formrecseq", type:"BIGDECIMAL", size:256}
  4032. , {col:"reckeyno", type:"BIGDECIMAL", size:256}
  4033. , {col:"orddeptcd", type:"STRING", size:256}
  4034. , {col:"atdoctid", type:"STRING", size:256}
  4035. , {col:"atdoctid", type:"STRING", size:256}
  4036. , {col:"testflag", type:"STRING", size:256}
  4037. , {col:"pid", type:"STRING", size:256}
  4038. , {col:"cretno", type:"STRING", size:256}
  4039. , {col:"instcd", type:"STRING", size:256}
  4040. , {col:"appdd", type:"STRING", size:256}
  4041. , {col:"apptm", type:"STRING", size:256}
  4042. , {col:"appseq", type:"INT", size:256}
  4043. , {col:"medirecno", type:"BIGDECIMAL", size:256}
  4044. , {col:"status", type:"STRING", size:256}
  4045. , {col:"testorddd", type:"STRING", size:256}
  4046. , {col:"testcretno", type:"INT", size:256}
  4047. , {col:"testorddeptcd", type:"STRING", size:256}
  4048. , {col:"testioflag", type:"STRING", size:256}
  4049. , {col:"indd", type:"STRING", size:256}
  4050. , {col:"supitemindxseq", type:"STRING", size:256}
  4051. , {col:"midindxseq", type:"STRING", size:256}
  4052. , {col:"chrtseqno", type:"BIGDECIMAL", size:256}
  4053. , {col:"copyseqno", type:"BIGDECIMAL", size:256}
  4054. ], true);
  4055. // ds_send_search.clearData();
  4056. // var nRow = ds_send_search.addRow();
  4057. ds_send_search.setColumn(0, "copyseqno", ds_grd_apphist.getColumn(hRow, "copyseqno"));
  4058. ds_send_search.setColumn(0, "pid", ds_grd_apphist.getColumn(hRow, "pid"));
  4059. //xp code add : col id change!!!execprcpuniqno
  4060. if( !utlf_isNull(ds_grd_outapplist.getColumnInfo("orddeptcd")))
  4061. ds_grd_outapplist.updateColID("orddeptcd", "orddeptdcd");
  4062. var oParam = {};
  4063. oParam.id = "TRMRC03017";
  4064. oParam.service = "chrtmngtapp.CopyIssMngt";
  4065. oParam.method = "reqGetOutEmrFormList";
  4066. oParam.inds = "req=ds_send_search";
  4067. oParam.outds = "ds_grd_outapplist=emrlist";
  4068. oParam.async = false;
  4069. oParam.callback = "cf_TRMRC03017";
  4070. tranf_submit(oParam);
  4071. if (arErrorCode.pop("TRMRC03017") > -1) // 사본신청 list /root/temp/issinfo/emrlist
  4072. {
  4073. fSet_enableevent(false);
  4074. ds_main_otherinfo.clearData();
  4075. ds_main_otherinfo.addRow();
  4076. fSet_enableevent(true);
  4077. if(ds_grd_outapplist.rowcount > 0) {
  4078. for(var rowcnt = 0; rowcnt < ds_grd_outapplist.rowcount; rowcnt++){
  4079. if(ds_grd_outapplist.getColumn(rowcnt, "chrtflag") == "P") { // 종이차트
  4080. ds_main_otherinfo.setColumn(0, "outchrtflag", ds_grd_outapplist.getColumn(rowcnt, "formcd"));
  4081. }
  4082. var testflag = ds_grd_outapplist.getColumn(rowcnt, "testflag");
  4083. //utlf_addLog("testflag : " + testflag );
  4084. switch(testflag) {
  4085. case "A" : ds_main_otherinfo.setColumn(0, "prcpinfo", "Y"); break;
  4086. case "C" : ds_main_otherinfo.setColumn(0, "testinfo1", "Y"); break;
  4087. case "D" : ds_main_otherinfo.setColumn(0, "testinfo2", "Y"); break;
  4088. case "E" : ds_main_otherinfo.setColumn(0, "testinfo3", "Y"); break;
  4089. case "F" : ds_main_otherinfo.setColumn(0, "testinfo4", "Y"); break;
  4090. case "G" : ds_main_otherinfo.setColumn(0, "testinfo5", "Y"); break;
  4091. case "H" : ds_main_otherinfo.setColumn(0, "testinfo6", "Y"); break;
  4092. case "I" : ds_main_otherinfo.setColumn(0, "testinfo7", "Y"); break;
  4093. case "J" : ds_main_otherinfo.setColumn(0, "testinfo8", "Y"); break;
  4094. case "T" : ds_main_otherinfo.setColumn(0, "onlytest", "Y"); break;
  4095. case "O" : ds_main_otherinfo.setColumn(0, "testinfo", "Y"); break;
  4096. }
  4097. }
  4098. }
  4099. ds_main_otherinfo.setColumn(0, "lang", "K");
  4100. }
  4101. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  4102. ds_grd_outapplist.setColumn(i, "indd" ,ds_grd_outapplist.getColumn(i, "testorddd"));
  4103. ds_grd_outapplist.setColumn(i, "orddd" ,ds_grd_outapplist.getColumn(i, "testorddd"));
  4104. ds_grd_outapplist.setColumn(i, "cretno" ,ds_grd_outapplist.getColumn(i, "testcretno"));
  4105. ds_grd_outapplist.setColumn(i, "orddeptcd",ds_grd_outapplist.getColumn(i, "testorddeptcd"));
  4106. }
  4107. btn_reappinfo.enable = true;
  4108. //model.removeNodeset("/root/send/deptcond");
  4109. }
  4110. // 처방이력 팝업 호출
  4111. function fPopUpPrcpHist(){
  4112. utlf_addLog("***** fPopUpPrcpHist() *****");
  4113. if(ds_grd_apphist.rowposition < 0){
  4114. sysf_messageBox("환자를 먼저", "C002");
  4115. return;
  4116. }
  4117. var copyseqno = ds_main_appinfo_copyinfo.getColumn(0, "copyseqno");
  4118. frmf_setParameter("SPMRC02400_Param", copyseqno);
  4119. frmf_modal("SPMRC02400", "SPMRC02400", null, null, null, null, null, null, null, null, null, null, "M");
  4120. }
  4121. // 승락서/증명서 출력
  4122. function fPrnt(pFlag)
  4123. {
  4124. utlf_addLog("***** fPrnt("+pFlag+") *****");
  4125. sysf_trace("fPrnt Start");
  4126. var iRow = ds_grd_apphist.rowposition;
  4127. var recepinfochk = ds_main_cond.getColumn(0, "recepinfochk");
  4128. if(ds_grd_apphist.rowcount == 1) {iRow = 0;}
  4129. else {
  4130. var sCopySeqNo = ds_main_cond.getColumn(0, "copyseqno");
  4131. // 2009.05.29 이경희
  4132. // 이전 사본발행 내역에서 컬럼을 하나 추가함에 따라 검색 범위를 변경
  4133. //var iRow = grd_apphist.findRow(sCopySeqNo,1,24);
  4134. var iRow = ds_grd_apphist.findRow("copyseqno", sCopySeqNo);
  4135. ds_grd_apphist.rowposition = iRow;
  4136. }
  4137. var pid = ds_main_cond.getColumn(0, "pid");
  4138. if(utlf_isNull(pid)){
  4139. sysf_messageBox("환자를 먼저","C002");
  4140. return;
  4141. }
  4142. var issno = ds_grd_apphist.getColumn(iRow, "issno");
  4143. // 증명서
  4144. if (utlf_isNull(pFlag)) {
  4145. sysf_trace("**pFlag is null *****");
  4146. }
  4147. if(pFlag == "crtfct" || utlf_isNull(pFlag)){
  4148. utlf_addLog("**abc fPrnt("+pFlag+") *****");
  4149. ds_temp_crtfctinfo.clearData();
  4150. ds_temp_crtfctinfo.addRow();
  4151. var sIssGoalCd = "";
  4152. var sIssGoalNm = "";
  4153. ds_temp_crtfctinfo.setColumn(0, "pid", pid);
  4154. ds_temp_crtfctinfo.setColumn(0, "hngnm", ds_main_appinfo_copyinfo.getColumn(0, "hngnm"));
  4155. ds_temp_crtfctinfo.setColumn(0, "engnm", ds_main_appinfo_copyinfo.getColumn(0, "engnm"));
  4156. ds_temp_crtfctinfo.setColumn(0, "usernm", sysf_getUserInfo("usernm"));
  4157. sIssGoalCd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  4158. if(rdo_lang.value == "E"){
  4159. switch(sIssGoalCd){
  4160. case "01":
  4161. sIssGoalNm = "Hospital Referral";
  4162. break;
  4163. case "02":
  4164. sIssGoalNm = "Insurance company Submission";
  4165. break;
  4166. case "03":
  4167. sIssGoalNm = "Military Submission";
  4168. break;
  4169. case "04":
  4170. sIssGoalNm = ds_main_appinfo_copyinfo.getColumn(0, "issgoalnm");
  4171. break;
  4172. case "05":
  4173. sIssGoalNm = "Personal Record";
  4174. break;
  4175. case "06":
  4176. sIssGoalNm = ds_main_appinfo_copyinfo.getColumn(0, "issgoalnm");
  4177. break;
  4178. case "07":
  4179. sIssGoalNm = "Government Submission";
  4180. break;
  4181. case "08":
  4182. sIssGoalNm = "Police Submission";
  4183. break;
  4184. case "09":
  4185. sIssGoalNm = "Court Submission";
  4186. break;
  4187. case "10":
  4188. sIssGoalNm = "Public corporation Submission";
  4189. break;
  4190. case "11":
  4191. sIssGoalNm = "Company submission";
  4192. break;
  4193. case "12":
  4194. sIssGoalNm = "School Submission";
  4195. break;
  4196. case "13":
  4197. sIssGoalNm = "Medical certificate issuance";
  4198. break;
  4199. case "99":
  4200. sIssGoalNm = "Other";
  4201. sIssGoalNm += "("+ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm")+")";
  4202. break;
  4203. }
  4204. ds_temp_crtfctinfo.setColumn(0, "issgoalnm", sIssGoalNm);
  4205. ds_temp_crtfctinfo.setColumn(0, "enghospnm", ds_main_paper.getColumn(0, "enghospnm"));
  4206. } else {
  4207. sIssGoalNm = ds_main_appinfo_copyinfo.getColumn(0, "issgoalnm");
  4208. ds_temp_crtfctinfo.setColumn(0, "hospnm", ds_main_paper.getColumn(0, "hospnm"));
  4209. if(sIssGoalCd == "99"){ // 기타
  4210. sIssGoalNm += "("+ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm")+")";
  4211. }
  4212. }
  4213. ds_temp_crtfctinfo.setColumn(0, "issgoalnm", sIssGoalNm);
  4214. ds_temp_crtfctinfo.setColumn(0, "addr", ds_main_paper.getColumn(0, "addr"));
  4215. if(ds_temp2_appinfo_copyinfo.getColumn(0, "newcopy") == "Y") // 추가로 사본등록을 신청한 경우
  4216. {
  4217. ds_temp_crtfctinfo.setColumn(0, "totalcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4218. }
  4219. else
  4220. ds_temp_crtfctinfo.setColumn(0, "totalcopies", ds_main_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4221. ds_temp_crtfctinfo.setColumn(0, "issdd", ds_main_appinfo_copyinfo.getColumn(0, "issdt").substr(0,8));
  4222. ds_temp_crtfctinfo.setColumn(0, "nissdd", ds_main_appinfo_copyinfo.getColumn(0, "issdt").substr(0,4) + "." + ds_main_appinfo_copyinfo.getColumn(0, "issdt").substring(4,6)+ "." + ds_main_appinfo_copyinfo.getColumn(0, "issdt").substring(6,8));
  4223. //2008-09-20 이창록 추가 (신청 부수만큼 증명서 출력)
  4224. if(g_inputbox == "Y")
  4225. {
  4226. sEMRAppCopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  4227. ds_temp_crtfctinfo.setColumn(0, "totalcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  4228. }
  4229. else
  4230. {
  4231. sEMRAppCopies = ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies");
  4232. }
  4233. ds_temp_crtfctinfo.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  4234. //사용자 signimage 출력(20151117 이윤주)
  4235. dsf_createDsRow("ds_cond_docinfo", [{col: "userid" , val: sysf_getUserInfo("userid")}]);
  4236. var oParam = {};
  4237. oParam.id = "TRMRF01205";
  4238. oParam.service = "formmngtapp.FormIfMngt";
  4239. oParam.method = "reqGetUsrSignImge";
  4240. oParam.inds = "req=ds_cond_docinfo";
  4241. oParam.outds = "ds_data_docinfo=docinfo";
  4242. oParam.async = false;
  4243. //oParam.callback = "cf_TRMRF01205";
  4244. tranf_submit(oParam);
  4245. var objCxtCommon = new ExtCommon();
  4246. var objImgeData = objCxtCommon.encodeBase64(ds_data_docinfo.getColumn(0, "signdata"));
  4247. ds_temp_crtfctinfo.setColumn(0, "signimge", objImgeData);
  4248. var tmpissno = "";
  4249. utlf_addLog("**issnoYN fPrnt("+issnoYN+") *****");
  4250. if(issnoYN != "Y") {
  4251. ds_temp_crtfctinfo.setColumn(0, "issno", issno);
  4252. var objDOM = rptf_createDOM(); // DOM 객체 설정
  4253. rptf_setNodeListToDOM(objDOM, "/root/temp/crtfctinfo", ds_temp_crtfctinfo); // 데이터셋 1
  4254. //sysf_trace(objDOM.documentElement.source); // XML 내용출력
  4255. var objParam = new Object();
  4256. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  4257. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;async=0;";
  4258. var sPrnopt = "copies="+sEMRAppCopies+";";
  4259. //sysf_trace(objDOM.documentElement.source);
  4260. // 2013.09.05 CYW 증명서 출력시 느린현상 수정
  4261. if(rdo_lang.value == "K") {
  4262. rptf_exeReportPreview30(["RPMRC01100"],[objParam], option, sPrnopt);
  4263. } else if(rdo_lang.value == "E"){
  4264. //exeReportPreview("RPMRC01103", "XMLSTR", "/root/temp/crtfctinfo", "", "true", "", "", "", "", "true", "","","","","", sEMRAppCopies,"","", "/root/temp/crtfctinfo");
  4265. rptf_exeReportPreview30(["RPMRC01103"],[objParam], option, sPrnopt);
  4266. } else {
  4267. //exeReportPreview("RPMRC01100", "XMLSTR", "/root/temp/crtfctinfo", "", "true", "", "", "", "", "true", "","","","","", sEMRAppCopies,"","", "/root/temp/crtfctinfo");
  4268. rptf_exeReportPreview30(["RPMRC01100"],[objParam], option, sPrnopt);
  4269. }
  4270. } else if(issnoYN == "Y") {
  4271. //var issnolist = instance1.selectNodes("/root/return/return/issno");
  4272. //model.makeNode("/root/temp/crtfctinfo/issno");
  4273. var issnos = ds_return.rowcount;
  4274. var tmpissno1 = "";
  4275. var tmpissno2 = "";
  4276. for(var i = 0; i < ds_return.rowcount; i++) {
  4277. ds_temp_crtfctinfo.setColumn(0, "issno", ds_return.getColumn(i, "issno"));
  4278. var objDOM = rptf_createDOM(); // DOM 객체 설정
  4279. rptf_setNodeListToDOM(objDOM, "/root/temp/crtfctinfo", ds_temp_crtfctinfo); // 데이터셋 1
  4280. //sysf_trace(objDOM.documentElement.source); // XML 내용출력
  4281. var objParam = new Object();
  4282. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  4283. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;async=0;";
  4284. var sPrnopt = "copies="+sEMRAppCopies+";";
  4285. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트) 하면서 증명서 출력매수 오류 수정...
  4286. tmpissno1 = ds_return.getColumn(i, "issno");
  4287. utlf_addLog("**tmpissno1 fPrnt("+tmpissno1+") *****");
  4288. utlf_addLog("**tmpissno2 fPrnt("+tmpissno2+") *****");
  4289. if (tmpissno1 != tmpissno2)
  4290. {
  4291. utlf_addLog("**g_addstatus fPrnt("+g_addstatus+") *****");
  4292. if(g_addstatus == "Y")
  4293. tmpissno = ds_temp_crtfctinfo.getColumn(0, "llissno");
  4294. // 2013.09.05 CYW 증명서 출력시 느린현상 수정
  4295. utlf_addLog("**rdo_lang.value fPrnt("+rdo_lang.value+") *****");
  4296. if(rdo_lang.value == "K") {
  4297. //exeReportPreview("RPMRC01100", "XMLSTR", "/root/temp/crtfctinfo", "", "true", "", "", "", "", "true", "","","","","", sEMRAppCopies,"","", "/root/temp/crtfctinfo");
  4298. utlf_addLog("**option fPrnt("+option+") *****");
  4299. rptf_exeReportPreview30(["RPMRC01100"],[objParam], option, sPrnopt);
  4300. } else if(rdo_lang.value == "E"){
  4301. //exeReportPreview("RPMRC01103", "XMLSTR", "/root/temp/crtfctinfo", "", "true", "", "", "", "", "true", "","","","","", sEMRAppCopies,"","", "/root/temp/crtfctinfo");
  4302. rptf_exeReportPreview30(["RPMRC01103"],[objParam], option, sPrnopt);
  4303. } else {
  4304. //exeReportPreview("RPMRC01100", "XMLSTR", "/root/temp/crtfctinfo", "", "true", "", "", "", "", "true", "","","","","", sEMRAppCopies,"","", "/root/temp/crtfctinfo");
  4305. rptf_exeReportPreview30(["RPMRC01100"],[objParam], option, sPrnopt);
  4306. }
  4307. }
  4308. tmpissno2 = ds_return.getColumn(i, "issno");
  4309. }
  4310. }
  4311. }
  4312. if(pFlag == "cnfm" || utlf_isNull(pFlag)){ // 승락서
  4313. utlf_addLog("******"+pFlag+"^^^^^^^^");
  4314. ds_temp_cnfminfo_issinfo.clearData();
  4315. ds_temp_cnfminfo_issinfo.addRow();
  4316. ds_send_reqdata.clearData();
  4317. var nRow = ds_send_reqdata.addRow();
  4318. ds_send_reqdata.setColumn(nRow, "pid", ds_grd_apphist.getColumn(iRow, "pid"));
  4319. ds_send_reqdata.setColumn(nRow, "orddd", ds_grd_apphist.getColumn(iRow, "orddd"));
  4320. ds_send_reqdata.setColumn(nRow, "cretno", ds_grd_apphist.getColumn(iRow, "cretno"));
  4321. ds_send_reqdata.addColumn("formcd","string");
  4322. ds_send_reqdata.setColumn(nRow, "formcd", "0000001127");
  4323. //sysf_trace(ds_send_reqdata.saveXML());
  4324. var oParam = {};
  4325. oParam.id = "TRMRC03027";
  4326. oParam.service = "chrtmngtapp.CopyIssMngt";
  4327. oParam.method = "reqGetOCRInfo";
  4328. oParam.inds = "req=ds_send_reqdata";
  4329. oParam.outds = "ds_main_cnfmlist=cnfmlist";
  4330. oParam.async = false;
  4331. oParam.callback = "cf_TRMRC03027";
  4332. tranf_submit(oParam);
  4333. ds_temp_cnfminfo_issinfo.setColumn(0, "seq", ds_main_cnfmlist.getColumn(0, "seq"));
  4334. var formnm = "";
  4335. //model.resetInstanceNode("/root/temp/cnfminfo/issinfo");
  4336. ds_temp_cnfminfo_issinfo.setColumn(0, "pid", pid);
  4337. if(g_addstatus == "Y")
  4338. ds_temp_cnfminfo_issinfo.setColumn(0, "issno", tmpissno);
  4339. else
  4340. ds_temp_cnfminfo_issinfo.setColumn(0, "issno", issno);
  4341. ds_temp_cnfminfo_issinfo.setColumn(0, "orddeptnm", ds_main_appinfo_copyinfo.getColumn(0, "orddeptnm"));
  4342. ds_temp_cnfminfo_issinfo.setColumn(0, "atdoctnm", ds_main_appinfo_copyinfo.getColumn(0, "atdoctnm"));
  4343. ds_temp_cnfminfo_issinfo.setColumn(0, "hngnm", ds_main_appinfo_copyinfo.getColumn(0, "hngnm"));
  4344. ds_temp_cnfminfo_issinfo.setColumn(0, "rrgstno1", ds_main_appinfo_copyinfo.getColumn(0, "rrgstno1"));
  4345. var rrgstno2 = ds_main_appinfo_copyinfo.getColumn(0, "rrgstno2");
  4346. rrgstno2 = rrgstno2.substr(0,1) + "******";
  4347. ds_temp_cnfminfo_issinfo.setColumn(0, "rrgstno2", rrgstno2);
  4348. if(ds_temp2_appinfo_copyinfo.getColumn(0, "newcopy") == "Y") // 추가로 사본등록을 신청한 경우
  4349. {
  4350. ds_temp_cnfminfo_issinfo.setColumn(0, "totalcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4351. //model.removeNodeset("/root/temp2");
  4352. ds_temp2_appinfo_copyinfo.clearData();
  4353. ds_temp2_appinfo_copyinfo.addRow();
  4354. ds_grd_rcptlist.clearData();
  4355. }
  4356. else
  4357. ds_temp_cnfminfo_issinfo.setColumn(0, "totalcopies", ds_main_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4358. if(g_inputbox == "Y")
  4359. {
  4360. ds_temp_cnfminfo_issinfo.setColumn(0, "totalcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  4361. }
  4362. ds_temp_cnfminfo_issinfo.setColumn(0, "issgoalcd", ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd"));
  4363. ds_temp_cnfminfo_issinfo.setColumn(0, "issgoaletcnm", ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  4364. ds_temp_cnfminfo_issinfo.setColumn(0, "hospnm", ds_main_paper.getColumn(0, "hospnm"));
  4365. var emrordflag = ds_main_appinfo_copyinfo.getColumn(0, "emrordflag");
  4366. var inemrordinfo = ds_grd_inpat.getCaseCount("chk=='Y'");
  4367. if (emrordflag == "O" && inemrordinfo > 0)
  4368. {
  4369. ds_main_appinfo_copyinfo.setColumn(0, "emrordflag", "OI");
  4370. var emrordflag = ds_main_appinfo_copyinfo.getColumn(0, "emrordflag");
  4371. }
  4372. if (emrordflag.indexOf("O") >= 0 || emrordflag.indexOf("A") >= 0){
  4373. ds_temp_cnfminfo_issinfo.setColumn(0, "outflag", "O"); // 에러
  4374. }
  4375. if (emrordflag.indexOf("I") >= 0 || emrordflag.indexOf("A") >= 0){
  4376. ds_temp_cnfminfo_issinfo.setColumn(0, "inflag", "I");
  4377. }
  4378. if (emrordflag.indexOf("E") >= 0 || emrordflag.indexOf("A") >= 0){
  4379. ds_temp_cnfminfo_issinfo.setColumn(0, "erflag", "E");
  4380. }
  4381. ds_temp_cnfminfo_issinfo.setColumn(0, "appdd", ds_main_appinfo_copyinfo.getColumn(0, "appdt").substr(0,8));
  4382. ds_temp_cnfminfo_issinfo.setColumn(0, "issdd", ds_main_appinfo_copyinfo.getColumn(0, "issdt").substr(0,8));
  4383. for(var i = 0; i < ds_grd_outapplist.rowcount; i++){
  4384. if(ds_grd_outapplist.getColumn(i, "chrtflag") == "P"){
  4385. formnm += "종이차트("+ds_grd_outapplist.getColumn(i, "formnm")+")" + ",";
  4386. }else{
  4387. }
  4388. }
  4389. for(var i = 0; i < ds_main_midissinfo_totemrapplist.rowcount; i++){
  4390. formnm += ds_main_midissinfo_totemrapplist.getColCount(i, "formnm");
  4391. if(!utlf_isNull(formnm)) formnm += ",";
  4392. }
  4393. if(formnm.length > 0)
  4394. formnm = formnm.substring(0, formnm.length - 1)
  4395. // 승낙서 발행 시 상세내역 추가
  4396. formnm = fPrntDetailContents(formnm);
  4397. ds_temp_cnfminfo_issinfo.setColumn(0, "formnm", formnm);
  4398. // 승낙서 출력 셋팅 변경 ( 매수가 많을 경우 Instance양으로 인해 느려지는 현상 처리 ) - 2013.08.19 CYW
  4399. var instcd = "";
  4400. instcd = sysf_getUserInfo("dutplceinstcd");
  4401. var objDOM = rptf_createDOM(); // DOM 객체 설정
  4402. rptf_setNodeListToDOM(objDOM, "/root/temp/cnfminfo/issinfo", ds_temp_cnfminfo_issinfo); // 데이터셋 1
  4403. //sysf_trace(objDOM.documentElement.source); // XML 내용출력
  4404. //sysf_trace(ds_temp_cnfminfo_issinfo.saveXML());
  4405. var objParam = new Object();
  4406. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  4407. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;async=0;";
  4408. if( instcd == "031"){
  4409. //exeReportPreview("RPMRC01101", "XMLSTR", "/root/temp/cnfminfo/issinfo", "", "true","","","","","true","","", "","","","", "", "", "/root/temp/cnfminfo/issinfo");
  4410. rptf_exeReportPreview30(["RPMRC01101"],[objParam], option);
  4411. }else{
  4412. //exeReportPreview("RPMRC01102", "XMLSTR", "/root/temp/cnfminfo/issinfo", "", "true","","","","","true","","", "","","","", "", "", "/root/temp/cnfminfo/issinfo");
  4413. rptf_exeReportPreview30(["RPMRC01102"],[objParam], option);
  4414. }
  4415. var seq = ds_main_cnfmlist.getColumn(0, "seq");
  4416. var pid = ds_main_cnfmlist.getColumn(0, "pid");
  4417. var orddd = ds_main_cnfmlist.getColumn(0, "orddd");
  4418. var cretno = ds_main_cnfmlist.getColumn(0, "cretno");
  4419. var ordtype = ds_main_cnfmlist.getColumn(0, "ordtype");
  4420. var orddeptcd = ds_main_cnfmlist.getColumn(0, "orddeptcd");
  4421. var orddrid = ds_main_cnfmlist.getColumn(0, "orddrid");
  4422. var formcd = "0000001127";
  4423. var formfromdt = ds_main_cnfmlist.getColumn(0, "formfromdt");
  4424. var pagecnt = "1"; //출력장수
  4425. var rtnyn = ds_temp_hardcd7.getColumn(0, "hardcd"); //hardcdno : 9950
  4426. if(!fSaveOCRIF(seq, pid, orddd, cretno, ordtype, orddeptcd, orddrid, formcd, formfromdt, "", "", pagecnt, rtnyn)){
  4427. utlf_addLog("******************SaveOCRIF******************");
  4428. return;
  4429. }
  4430. }
  4431. if((pFlag == "recepinfo" && recepinfochk == "Y") || (pFlag == null && recepinfochk == "Y")){ // 진료기록사본발급
  4432. var appdt = ds_main_appinfo_copyinfo.getColumn(0, "appdt").substr(0,8);
  4433. var apptm = ds_main_appinfo_copyinfo.getColumn(0, "apptm").substr(0,8);
  4434. var appdttm = appdt + apptm;
  4435. var sorirrgstno1 = ds_main_cond.getColumn(0, "rrgstno1");
  4436. var srrgstno1 = "'" + sorirrgstno1.substr(0,2) + "." + sorirrgstno1.substr(2,2) + "." + sorirrgstno1.substr(4,2) + ".";
  4437. var rrgstno2 = ds_main_appinfo_copyinfo.getColumn(0, "rrgstno2");
  4438. rrgstno2 = rrgstno2.substr(0,1) + "******";
  4439. dsf_createDsRow("ds_temp3_receptinfo", [{col:"pid", type:"string", size:256, val:ds_grd_apphist.getColumn(iRow, "pid")} // 등록번호
  4440. , {col:"orddd", type:"string", size:256, val:ds_grd_apphist.getColumn(iRow, "orddd")} // 진료일자
  4441. , {col:"appdt", type:"string", size:256, val:appdt} // 사본신청일자
  4442. , {col:"apptm", type:"string", size:256, val:apptm} // 사본신청일자
  4443. , {col:"appdttm", type:"string", size:256, val:appdttm} // 사본신청일자
  4444. , {col:"hngnm", type:"string", size:256, val:ds_main_appinfo_copyinfo.getColumn(0, "hngnm")} // 환자이름
  4445. , {col:"rrgstno1", type:"string", size:256, val:srrgstno1} // 생년월일
  4446. , {col:"sex", type:"string", size:256, val:ds_main_result_pathistlist.getColumn(0, "sex")} // 환자성별
  4447. , {col:"age", type:"string", size:256, val:ds_main_result_pathistlist.getColumn(0, "age")} // 환자나이
  4448. , {col:"rrgstno2", type:"string", size:256, val:rrgstno2}
  4449. , {col:"orddeptnm", type:"string", size:256, val:ds_main_appinfo_copyinfo.getColumn(0, "orddeptnm")} // 진료과명
  4450. , {col:"atdoctnm", type:"string", size:256, val:ds_main_appinfo_copyinfo.getColumn(0, "atdoctnm")} // 진료의사이름
  4451. , {col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  4452. , {col:"rcptpossynmsg", type:"string", size:256, val:ds_main.getColumn(0, "rcptpossynmsg")} // 무인수납가능여부
  4453. , {col:"paylater", type:"string", size:256, val:ds_grd_apphist.getColumn(iRow, "paylater")} // 후불 수납여부
  4454. ]);
  4455. //exeReportPreview("RPMRC01104", "XMLSTR", "/root/temp3/recepinfo", "", "true", "", "", "", "", "true", "","","","","", "", "", "", "");
  4456. var objDOM = rptf_createDOM(); // DOM 객체 설정
  4457. rptf_setNodeListToDOM(objDOM, "/root/temp3/recepinfo", ds_temp3_receptinfo); // 데이터셋 1
  4458. var objParam = new Object();
  4459. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  4460. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;async=0;";
  4461. rptf_exeReportPreview30(["RPMRC01104"],[objParam], option);
  4462. }
  4463. sysf_trace("fPrnt End");
  4464. }
  4465. // 그리드 열 변경
  4466. function fChangedGridRow()
  4467. {
  4468. utlf_addLog("***** fChangedGridRow() *****");
  4469. var iRow = ds_grd_rcptlist.rowposition;
  4470. var totalshrtno = ds_grd_rcptlist.getColumn(iRow, "shtno");
  4471. var totalcopies = ds_grd_rcptlist.getColumn(iRow, "prcptims");
  4472. if(utlf_isNull(totalshrtno) || parseInt(totalshrtno) < 0)
  4473. return false;
  4474. if(utlf_isNull(totalcopies) || parseInt(totalcopies) < 0)
  4475. return false;
  4476. //Event Off
  4477. ds_grd_rcptlist.enableevent = false;
  4478. var totalpapers = parseInt(totalshrtno) * parseInt(totalcopies);
  4479. ds_temp2_appinfo_copyinfo.setColumn(0, "totalpapers", totalpapers);
  4480. var sShtNo= eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  4481. var sValue = 0;
  4482. var sCalcScorCd = ds_grd_rcptlist.getColumn(iRow, "calcscorcd");
  4483. var sExtraPrcpTims = 0;
  4484. var currentdate = utlf_getCurrentDate();
  4485. var iStatus = ds_grd_rcptlist.getRowType(iRow);
  4486. if(iStatus == 4){// TF 2 -> XP 4
  4487. if(ds_grd_rcptlist.getColumn(iRow, "shtno") == ds_grd_rcptlist.getColumn(iRow, "oldshtno")){
  4488. //grd_rcptlist.rowStatus(iRow) = 0;
  4489. var arrPostion = new Array();
  4490. arrPostion[0] = iRow;
  4491. grdf_setStatus(grd_rcptlist, Dataset.ROWTYPE_NORMAL, arrPostion);
  4492. }
  4493. }
  4494. // 전체 매수
  4495. var tmpTotalCopies = fGetTotalCopies();
  4496. var sShtNo = eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  4497. if(ds_grd_rcptlist.rowcount > 1)
  4498. {
  4499. if(ds_grd_rcptlist.getColumn(iRow, "defyn") == "DEF" && eval(ds_grd_rcptlist.getColumn(iRow, "shtno")) != 1)
  4500. {
  4501. sysf_messageBox("기본 수가부분은 변경할 수 없습니다. 하단의 추가수가부분을", "I008");
  4502. //model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno", "1");
  4503. if(g_DefCnt != 0)
  4504. ds_grd_rcptlist.setColumn(iRow, "shtno", g_DefCnt);
  4505. else
  4506. ds_grd_rcptlist.setColumn(iRow, "shtno", g_AddCnt);
  4507. ds_grd_rcptlist.setColumn(iRow, "prcpqty", "1");
  4508. ds_grd_rcptlist.enableevent = true;
  4509. return;
  4510. }
  4511. }
  4512. if(ds_grd_rcptlist.getColumn(iRow, "defyn") == "DEF" && eval(ds_grd_rcptlist.getColumn(iRow, "shtno")) > 1)
  4513. {
  4514. if(ds_grd_rcptlist.getColumn(iRow, "calcscorcd") == g_DefCalcscorcd)
  4515. {
  4516. sShtNo = eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  4517. if(sShtNo < 1)
  4518. {
  4519. sysf_messageBox("매수는","I003");
  4520. //model.setValue("/root/main/issinfo/rcptlist["+iRow+"]/shtno",model.getValue("/root/main/issinfo/rcptlist["+iRow+"]/oldshtno"));
  4521. ds_grd_rcptlist.setColumn(iRow, "shtno", ds_grd_rcptlist.getColumn(iRow, "oldshtno"));
  4522. if(iStatus == 4){
  4523. //grd_rcptlist.rowStatus(iRow) = 0;
  4524. var arrPostion = new Array();
  4525. arrPostion[0] = iRow;
  4526. grdf_setStatus(grd_rcptlist, Dataset.ROWTYPE_NORMAL, arrPostion);
  4527. }
  4528. }
  4529. //else if(sShtNo > 10) - 기본수가 보다 클때
  4530. else if(sShtNo > g_DefCnt)
  4531. {
  4532. // if(model.getValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/calcscorcd") == "")
  4533. if( utlf_isNull(ds_grd_rcptlist.lookup("calcscorcd", "HCDD030", "calcscorcd")) )
  4534. {
  4535. var currentdate = utlf_getCurrentDate();
  4536. var lrow = ds_grd_rcptlist.addRow();
  4537. // 기본 매수 등록
  4538. ds_grd_rcptlist.setColumn((lrow-1), "shtno", g_DefCnt);
  4539. ds_grd_rcptlist.setColumn((lrow-1), "prcpqty", "1");
  4540. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  4541. // 06: 직할병원 - 수가코드(HCDD001)
  4542. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  4543. {
  4544. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_FreeCalcscorcd);
  4545. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_FreeCalcscorcdnm);
  4546. // 처방코드(임시로 수가코드로 함)
  4547. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_FreeCalcscorcd);
  4548. }
  4549. else
  4550. { // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  4551. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_AddCalcscorcd);
  4552. if(g_AddCalcscorcd == "HCDD030")
  4553. {
  4554. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_AddCalcscorcdnm);
  4555. }
  4556. else
  4557. {
  4558. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_DefCalcscorcdnm);
  4559. }
  4560. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_AddCalcscorcd);
  4561. ds_grd_rcptlist.setColumn(lrow, "defyn", "ADD");
  4562. }
  4563. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  4564. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  4565. {
  4566. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  4567. }
  4568. ds_grd_rcptlist.setColumn(lrow, "prcpdd", currentdate);
  4569. ds_grd_rcptlist.setColumn(lrow, "prcpno", "0");
  4570. ds_grd_rcptlist.setColumn(lrow, "prcphistno", "0");
  4571. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  4572. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  4573. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  4574. ds_grd_rcptlist.setColumn(lrow, "shtno", (tmpTotalCopies - g_DefCnt));
  4575. ds_grd_rcptlist.setColumn(lrow, "oldshtno", "1");
  4576. ds_grd_rcptlist.setColumn(lrow, "prcpqty", (tmpTotalCopies - g_DefCnt));
  4577. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0)
  4578. {
  4579. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", 1);
  4580. }
  4581. ds_grd_rcptlist.setColumn(lrow, "prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  4582. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  4583. //grd_rcptlist.addStatus(lrow, "insert");
  4584. var arrPostion = new Array();
  4585. arrPostion[0] = lrow;
  4586. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  4587. }
  4588. else
  4589. {
  4590. var sExtraRow = ds_grd_rcptlist.findRow("calcscorcd", "HCDD030");
  4591. //grd_rcptlist.findRow("HCDD030", grd_rcptlist.fixedrows+1,2);
  4592. var sExtraStatus = ds_grd_rcptlist.getRowType(sExtraRow);
  4593. if(sExtraStatus != 2 ){
  4594. var arrPostion = new Array();
  4595. arrPostion[0] = sExtraRow;
  4596. grdf_setStatus(grd_rcptlist, "U", arrPostion);//grd_rcptlist.rowStatus(sExtraRow) = 2;
  4597. }
  4598. ds_grd_rcptlist.setColumn(sExtraRow, "shtno", sValue);
  4599. ds_grd_rcptlist.setColumn(sExtraRow, "prcpqty", sValue);
  4600. }
  4601. }
  4602. else
  4603. {
  4604. }
  4605. }
  4606. }
  4607. if(sCalcScorCd == g_FreeCalcscorcd)
  4608. {
  4609. if(sShtNo < 1){
  4610. sysf_messageBox("매수는","I003");
  4611. ds_grd_rcptlist.setColumn(iRow, "shtno",ds_grd_rcptlist.getColumn(iRow, "oldshtno"));
  4612. if(iStatus == 4){
  4613. //grd_rcptlist.rowStatus(iRow) = 0;
  4614. var arrPostion = new Array();
  4615. arrPostion[0] = iRow;
  4616. grdf_setStatus(grd_rcptlist, Dataset.ROWTYPE_NORMAL, arrPostion);
  4617. }
  4618. sShtNo = ds_grd_rcptlist.getColumn(iRow, "oldshtno");
  4619. }
  4620. if(sShtNo != ds_grd_rcptlist.getColumn(iRow, "prcpqty")){
  4621. ds_grd_rcptlist.setColumn(iRow, "prcpqty", sShtNo);
  4622. }
  4623. }
  4624. else
  4625. { // 추가
  4626. if(sShtNo < 1)
  4627. {
  4628. var iStatus = ds_grd_rcptlist.getRowType(iRow);
  4629. if(iStatus == 2)
  4630. {
  4631. ds_grd_rcptlist.deleteRow(iRow);
  4632. }
  4633. else
  4634. {
  4635. //grd_rcptlist.rowStatus(iRow) = 4;
  4636. var arrPostion = new Array();
  4637. arrPostion[0] = iRow;
  4638. grdf_setStatus(grd_rcptlist, "D", arrPostion);
  4639. }
  4640. }
  4641. else
  4642. {
  4643. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트)
  4644. var colorcalcscoryn = ds_hidden_colorcalcscoryn.getColumn(0, "hardcd");
  4645. if (colorcalcscoryn == "Y") {
  4646. if (ds_grd_rcptlist.getColumn(iRow, "pdefyn") == "ADD"){
  4647. ds_grd_rcptlist.setColumn(iRow, "pprcpqty", sShtNo);
  4648. }
  4649. } else {
  4650. if (ds_grd_rcptlist.getColumn(iRow, "pdefyn") == "ADD" && (tmpTotalCopies - g_DefCnt) != ds_grd_rcptlist.getColumn(iRow, "pprcpqty")){
  4651. ds_grd_rcptlist.setColumn(iRow, "pprcpqty", (tmpTotalCopies - g_DefCnt));
  4652. }
  4653. }
  4654. }
  4655. }
  4656. //Event On
  4657. ds_grd_rcptlist.enableevent = true;
  4658. }
  4659. function fChangedGridRow_old(){
  4660. var iRow = grd_rcptlist.row;
  4661. var sShtNo= eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  4662. var sValue = 0;
  4663. var sCalcScorCd = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/calcscorcd");
  4664. var sExtraPrcpTims = 0;
  4665. var currentdate = getCurrentDate();
  4666. var iStatus = grd_rcptlist.rowStatus(iRow);
  4667. if(iStatus == 2){
  4668. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno") == model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno")){
  4669. grd_rcptlist.rowStatus(iRow) = 0;
  4670. }
  4671. }
  4672. /*if(sCalcScorCd == "HCDD027"){
  4673. if(sShtNo < 1){
  4674. messageBox("매수는","I003");
  4675. model.setValue("/root/main/issinfo/rcptlist["+iRow+"]/shtno",model.getValue("/root/main/issinfo/rcptlist["+iRow+"]/oldshtno"));
  4676. if(iStatus == 2){
  4677. grd_rcptlist.rowStatus(iRow) = 0;
  4678. }
  4679. }else if(sShtNo > 10){
  4680. sValue = sShtNo - 10;
  4681. model.setValue("/root/main/issinfo/rcptlist["+iRow+"]/shtno","10");
  4682. if(model.getValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/calcscorcd") == ""){
  4683. grd_rcptlist.additem();
  4684. var lrow = grd_rcptlist.rows - 1;
  4685. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/calcscorcd", "HCDD030");
  4686. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/calcscornm", "의무기록복사(추가한매당)");
  4687. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/unitcost", "");
  4688. if (model.getValue("/root/main/issinfo/copyinfo/ioflag") == "O")
  4689. {
  4690. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcpdd", model.getValue("/root/main/issinfo/copyinfo/orddd"));
  4691. }
  4692. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcpdd", currentdate);
  4693. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcpno", "0");
  4694. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcphistno", "0");
  4695. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/pid", model.getValue("/root/main/issinfo/copyinfo/pid"));
  4696. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/orddd", model.getValue("/root/main/issinfo/copyinfo/orddd"));
  4697. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/cretno", model.getValue("/root/main/issinfo/copyinfo/cretno"));
  4698. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/shtno", sValue);
  4699. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/oldshtno", sValue);
  4700. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcpqty", sValue);
  4701. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcptims", model.getValue("/root/main/issinfo/copyinfo/emrappcopies"));
  4702. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/copyseqno", model.getValue("/root/main/issinfo/copyinfo/copyseqno"));
  4703. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/issno", model.getValue("/root/main/issinfo/rcptlist[" + iRow + "]/issno"));
  4704. // 처방코드(임시로 수가코드로 함)
  4705. model.setValue("/root/main/issinfo/rcptlist[" + lrow + "]/prcpcd", "HCDD030");
  4706. grd_rcptlist.addStatus(lrow, "insert");
  4707. }else{
  4708. var sExtraRow = grd_rcptlist.findRow("HCDD030", grd_rcptlist.fixedrows+1,2);
  4709. var sExtraStatus = grd_rcptlist.rowStatus(sExtraRow);
  4710. if(sExtraStatus != 1 && sExtraStatus != 3) grd_rcptlist.rowStatus(sExtraRow) = 2;
  4711. model.setValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/shtno", sValue);
  4712. model.setValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/prcpqty", sValue);
  4713. }
  4714. }else{
  4715. var sExtraRow = grd_rcptlist.findRow("HCDD030", grd_rcptlist.fixedrows+1,2);
  4716. var sExtraStatus = grd_rcptlist.rowStatus(sExtraRow);
  4717. if(sExtraStatus == 1 || sExtraStatus == 3){
  4718. grd_rcptlist.deleteRow(sExtraRow, true);
  4719. }else{
  4720. grd_rcptlist.rowStatus(sExtraRow) = 4;
  4721. }
  4722. }
  4723. }*/if(sCalcScorCd == "HCDD001"){
  4724. if(sShtNo < 1){
  4725. messageBox("매수는","I003");
  4726. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno",model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno"));
  4727. if(iStatus == 2){
  4728. grd_rcptlist.rowStatus(iRow) = 0;
  4729. }
  4730. sShtNo = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno");
  4731. }
  4732. if(sShtNo != model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty")){
  4733. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty", sShtNo);
  4734. }
  4735. }else{ // 추가
  4736. if(sShtNo < 1){
  4737. var iStatus = grd_rcptlist.rowStatus(iRow);
  4738. if(iStatus == 1 || iStatus == 3)
  4739. grd_rcptlist.deleteRow(iRow, true);
  4740. else
  4741. grd_rcptlist.rowStatus(iRow) = 4;
  4742. }else{
  4743. if(sShtNo != model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty")){
  4744. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty", sShtNo);
  4745. }
  4746. }
  4747. }
  4748. }
  4749. // 검사결과조회 호출
  4750. function fExamRultListCall(){
  4751. utlf_addLog("***** fExamRultListCall() *****");
  4752. var pid = ds_main_cond.getColumn(0, "pid");
  4753. if(utlf_isNull(pid)){
  4754. sysf_messageBox("검사결과조회 할 환자를", "C002");
  4755. return;
  4756. }
  4757. var objArgs = new Object();
  4758. //objArgs.ds_main_cond = ds_main_cond;
  4759. /////////////////////////////////
  4760. if( !isValidObject("ds_temp_cond")) dsf_createDs("ds_temp_cond");
  4761. if(ds_temp_cond.rowcount==0) ds_temp_cond.addRow();
  4762. dsf_makeValue(ds_temp_cond, "srchpid", "string", ds_main_cond.getColumn(0,"pid"), 0);
  4763. objArgs.arg_ds_send_singdata = ds_temp_cond;
  4764. ////////////////////////////////
  4765. frmf_open("SMAER00800", "SMAER00800", objArgs, null, null, null, null, null, null, null, null, null, "M");
  4766. //open("SMAER00800","","","","SMAER00800", "/root/main/cond/pid", "/root/send/data/singdata/srchpid");
  4767. }
  4768. // 통합기록조회 호출
  4769. function fMedirecListCall(){
  4770. utlf_addLog("***** fMedirecListCall() *****");
  4771. var pid = ds_main_cond.getColumn(0, "pid");
  4772. if(utlf_isNull(pid)){
  4773. sysf_messageBox("통합기록조회를 검색할 환자를", "C002");
  4774. return;
  4775. }
  4776. var wndobj = frmf_findPopup("SMMRI00400");
  4777. if(wndobj != null){
  4778. frmf_setParameter("SMMRI00400_param_pid", pid);
  4779. wndobj.fInitalize();
  4780. }else{
  4781. frmf_setParameter("SMMRI00400_param_pid", pid);
  4782. frmf_open("SMMRI00400", "SMMRI00400", null, null, null, null, null, null, null, null, null, null, "M");
  4783. }
  4784. }
  4785. // 차트대출 호출
  4786. function fChrtRultListCall(){
  4787. utlf_addLog("***** fChrtRultListCall() *****");
  4788. var pid = ds_main_cond.getColumn(0, "pid");
  4789. if(utlf_isNull(pid)){
  4790. sysf_messageBox("차트대출조회를 검색할 환자를", "C002");
  4791. return;
  4792. }
  4793. frmf_setParameter("pid", pid);
  4794. frmf_modal("SMMRC00100", "SMMRC00100", null, null, 1, 10, 10, null, null, null, null, null, "M");
  4795. }
  4796. // 차트대출이력 호출
  4797. function fChrtHistRultListCall(){
  4798. utlf_addLog("***** fChrtHistRultListCall() *****");
  4799. var pid = ds_main_cond.getColumn(0, "pid");
  4800. if(utlf_isNull(pid)){
  4801. sysf_messageBox("차트대출이력조회를 검색할 환자를", "C002");
  4802. return;
  4803. }
  4804. var wndobj = frmf_findPopup("SMMRC01400");
  4805. if(wndobj != null){
  4806. frmf_setParameter("pid", pid);
  4807. wndobj.fInitalize();
  4808. }else{
  4809. frmf_setParameter("pid", pid);
  4810. frmf_open("SMMRC01400", "SMMRC01400", null, null, 1, 10, 10, null, null, null, null, null, "M");
  4811. }
  4812. }
  4813. // 환자찾기 Popup
  4814. function fPatPopUp(pFlag)
  4815. {
  4816. utlf_addLog("***** fPatPopUp("+pFlag+") *****");
  4817. var objColInfo = new Array();
  4818. objColInfo.push({col: "pid", type:"string", size:256});
  4819. objColInfo.push({col: "hngnm", type:"string", size:256});
  4820. objColInfo.push({col: "srchcond", type:"string", size:256});
  4821. objColInfo.push({col: "autoflag", type:"string", size:256});
  4822. objColInfo.push({col: "rrgstno1", type:"string", size:256});
  4823. objColInfo.push({col: "rrgstno2", type:"string", size:256});
  4824. dsf_createDs("ds_temp_patcond", objColInfo);
  4825. ds_temp_patcond.addRow();
  4826. ds_temp_patcond.setColumn(0, "srchcond", pFlag);
  4827. if(pFlag == "1"){
  4828. ds_temp_patcond.setColumn(0, "pid", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "pid")));
  4829. }else{
  4830. ds_temp_patcond.setColumn(0, "pid", "");
  4831. }
  4832. if(pFlag == "2"){
  4833. ds_temp_patcond.setColumn(0, "hngnm", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "hngnm")));
  4834. }else{
  4835. ds_temp_patcond.setColumn(0, "hngnm", "");
  4836. }
  4837. if(pFlag == "3"){
  4838. ds_temp_patcond.setColumn(0, "rrgstno1", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1")));
  4839. ds_temp_patcond.setColumn(0, "rrgstno2", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  4840. //alert("주민번호:"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1"))+"#"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  4841. }else{
  4842. ds_temp_patcond.setColumn(0, "rrgstno1", "");
  4843. ds_temp_patcond.setColumn(0, "rrgstno2", "");
  4844. }
  4845. ds_temp_patcond.setColumn(0, "autoflag", "Y");
  4846. var objArgs = new Object();
  4847. //objArgs.ds_SPPMC02500 = ds_temp_patcond; //2015.04.10 주석
  4848. objArgs.arg_ds_send = ds_temp_patcond;
  4849. ds_main_cond.clearData();
  4850. ds_main_cond.addRow();
  4851. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  4852. // if(fIsEmrDept() == false){
  4853. // if(pFlag == "2"){
  4854. // var globalPid = appf_getPatientInfo("pid");
  4855. // var newPid = ds_patinfolist.getColumn(0, "pid");//model.getValue("/root/main/patinfo/patinfolist/pid");
  4856. // if(globalPid != newPid) {
  4857. // sysf_messageBox("사본신청은 진료중인 환자에 대해서만 신청이 가능합니다.\n등록번호를 상단 환자등록번호와 일치시켜서","C003");
  4858. // fInitialize();
  4859. // return;
  4860. // }
  4861. // }
  4862. // }
  4863. var spid = ds_patinfolist.getColumn(0, "pid");
  4864. ds_main_cond.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  4865. ds_main_cond.setColumn(0, "hngnm", ds_patinfolist.getColumn(0, "hngnm"));
  4866. ds_main_cond.setColumn(0, "rrgstno1", ds_patinfolist.getColumn(0, "rrgstno1"));
  4867. ds_main_cond.setColumn(0, "rrgstno2", ds_patinfolist.getColumn(0, "rrgstno2"));
  4868. //alert("주민번호2:"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1"))+"#"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  4869. ds_main_cond.setColumn(0, "sa", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  4870. ds_main_cond.setColumn(0, "recepinfochk", "Y");
  4871. lf_setPid();
  4872. /*
  4873. //환자기본 및 원무정보 조회
  4874. fReqGetComnPatOrdInfo(spid);
  4875. //환자 이전사본발행내역 조회
  4876. //fReqGetBfCopyIssHistList(ipt_pid.text);
  4877. fReqGetBfCopyIssHistList(spid);
  4878. // 진료내역 조회
  4879. fReqGetOutPatHistList(); // 외래진료내역
  4880. fReqGetInPatHistList(); // 입원진료내역
  4881. fReqGetPaperYN();
  4882. ds_main_appinfo_copyinfo.clearData();
  4883. ds_main_appinfo_copyinfo.addRow();
  4884. dsf_setDefaultVal(ds_main_appinfo_copyinfo, "all");
  4885. fSet_enableevent(false);
  4886. ds_main_otherinfo.clearData();
  4887. ds_main_otherinfo.addRow();
  4888. fSet_enableevent(true);
  4889. ds_grd_outapplist.clearData();
  4890. ds_grd_rcptlist.clearData();
  4891. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "N");
  4892. */
  4893. }
  4894. /**
  4895. * @group :
  4896. * @ver :
  4897. * @by : 이창록 2008-09-19 추가
  4898. * @---------------------------------------------------
  4899. * @type : function
  4900. * @access : public
  4901. * @desc : 발급제한 환자 제한
  4902. * @param :
  4903. * @return :
  4904. * @---------------------------------------------------
  4905. */
  4906. function fSaveRcpt()
  4907. {
  4908. var iIssHistRow = grd_isshist.row;
  4909. var msg = messageBox("사본 발급 제한 사유 : "+ model.getValue("/root/main/isshist/isslist["+iIssHistRow+"]/limrem")
  4910. +"\n"+ model.getValue("/root/main/isshist/isslist["+iIssHistRow+"]/hngnm")+"환자는 사본발급 제한 환자입니다\n","Q002");
  4911. if(msg=="6"){
  4912. fSave();
  4913. }else if(msg=="7"){
  4914. return;
  4915. }
  4916. }
  4917. // 수가입력저장
  4918. function fSave()
  4919. {
  4920. utlf_addLog("***** fSave() *****");
  4921. if(ds_grd_apphist.rowposition < 0){
  4922. sysf_messageBox("환자를 먼저", "C002");
  4923. return;
  4924. }
  4925. ds_send_reqdata.clearData();
  4926. var nRow = ds_send_reqdata.addRow();
  4927. ds_send_reqdata.setColumn(nRow, "pid", ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "pid"));
  4928. ds_send_reqdata.setColumn(nRow, "orddd", ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "orddd"));
  4929. // KNUH_20101124_박성호_start_사본용도 체크(멀티인 경우 수가입력 안되게)
  4930. var IssUsgeCnt = ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd").split(",").length;
  4931. if (IssUsgeCnt > 1){
  4932. sysf_messageBox("하나의 사본발행목적일 때만 수가입력이 가능합니다. 여러목적으로 할 경우에는 신청내역을 저장하신 후", "I008");
  4933. return;
  4934. }
  4935. ds_send_savedata_copyinfo.clearData();
  4936. //ds_send_savedata_copyinfo.addRow();
  4937. ds_send_savedata_outinfo.clearData();
  4938. ds_send_savedata_ininfo.clearData();
  4939. ds_send_savedata_rcptlist.clearData();
  4940. ds_send_savedata_newinput.clearData();
  4941. ds_send_savedata_newinput.addRow();
  4942. if(g_inputbox == "Y")
  4943. {
  4944. ds_send_savedata_newinput.setColumn(0, "newinput", g_inputbox);
  4945. //ds_send_savedata_newinput.setColumn(0, "shtno", ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  4946. ds_send_savedata_newinput.setColumn(0, "shtno", ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  4947. var tmp = parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno")) * parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4948. // KNUH_20101001_박성호_start 오류 수정
  4949. // if (tmp = 0)
  4950. if (tmp == 0)
  4951. {
  4952. ds_send_savedata_newinput.setColumn(0, "emrappcopies", 1);
  4953. var delyn = 'Y';
  4954. }
  4955. else
  4956. {
  4957. ds_send_savedata_newinput.setColumn(0, "emrappcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4958. }
  4959. ds_send_savedata_newinput.setColumn(0, "totalcopies", tmp);
  4960. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4961. }
  4962. else
  4963. {
  4964. var slow = ds_grd_rcptlist.rowcount - 1;
  4965. ds_send_savedata_newinput.setColumn(0, "newinput", "N");
  4966. ds_send_savedata_newinput.setColumn(0, "shtno", ds_grd_rcptlist.getColumn(slow, "shtno"));
  4967. ds_send_savedata_newinput.setColumn(0, "emrappcopies", ds_grd_rcptlist.getColumn(slow, "prcptims"));
  4968. var tmp = parseInt(ds_grd_rcptlist.getColumn(slow, "shtno")) * parseInt(ds_grd_rcptlist.getColumn(slow, "prcptims"));
  4969. ds_send_savedata_newinput.setColumn(0, "totalcopies", tmp);
  4970. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트)
  4971. var colorcalcscoryn = ds_hidden_colorcalcscoryn.getColumn(0, "hardcd");
  4972. if (colorcalcscoryn == "Y") {
  4973. var tmp = parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno")) * parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  4974. ds_send_savedata_newinput.setColumn(0, "totalcopies", tmp);
  4975. }
  4976. }
  4977. ds_main_appinfo_copyinfo.setColumn(0, "addstatus", "N");
  4978. ds_send_savedata_newinput.setColumn(0, "prcpflag", "N");
  4979. var iIssHistRow = ds_grd_apphist.rowposition;
  4980. var sIssNo = ds_grd_apphist.getColumn(iIssHistRow, "issno");
  4981. if(!utlf_isNull(sIssNo)) {
  4982. if (delyn == "Y"){// 반환이면 승락서, 증명서 출력안되도록.
  4983. pntflag = "N";
  4984. }
  4985. else{
  4986. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  4987. if(ds_temp_hardcd2.getColumn(i, "hardcd")==sysf_getUserInfo("dutplceinstcd")){
  4988. var ret = sysf_messageBox("추가 사본발행 수가를", "Q014");
  4989. }else if(ds_temp_hardcd2.getColumn(i, "hardcd")!=sysf_getUserInfo("dutplceinstcd")){
  4990. var ret = sysf_messageBox("새로운 발행 번호로 수가를", "Q014");
  4991. break;
  4992. }
  4993. }
  4994. if(ret == 6) { // 신규로 등록
  4995. ds_send_savedata_newinput.setColumn(0, "prcpflag", "Y");
  4996. PRCP_REISS = "Y";
  4997. ds_grd_rcptlist.rowposition = 0;
  4998. for(var iRow = ds_grd_rcptlist.rowcount -1; iRow >= 0; iRow--)
  4999. {
  5000. if(ds_grd_rcptlist.getRowType(iRow) == 8)// TF 4 : delete -> XP 8
  5001. {
  5002. ds_grd_rcptlist.deleteRow(iRow);
  5003. }
  5004. }
  5005. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  5006. {
  5007. //grd_rcptlist.rowstatus(iRow) = 1; // insert 상태로 변경
  5008. var arrPostion = new Array();
  5009. arrPostion[0] = iRow;
  5010. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  5011. }
  5012. var Tmptotalcopies = ds_main_appinfo_copyinfo.getColumn(0, "totalcopies");
  5013. ds_temp2_appinfo_copyinfo.setColumn(0, "newcopy", "Y");
  5014. ds_main_appinfo_copyinfo.setColumn(0, "addstatus", "Y");
  5015. g_addstatus = "Y";
  5016. if(g_inputbox != "Y") // 서울성모인 경우
  5017. {
  5018. ds_temp2_appinfo_copyinfo.setColumn(0, "totalcopies", ds_grd_rcptlist.getColumn((iRow-1), "shtno"));
  5019. }
  5020. }
  5021. else
  5022. {
  5023. // 반환이면 승락서, 증명서 출력안되도록.
  5024. iRow = ds_grd_rcptlist.rowposition;
  5025. if(ds_grd_rcptlist.getRowType(iRow) == 8) var pntflag = "N";
  5026. // 수가처방
  5027. var iRow = ds_grd_rcptlist.rowposition;
  5028. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  5029. {
  5030. if (ds_grd_rcptlist.getRowType(iRow) == 1) // 상태값이 new일시에 TF 0 : new , XP 1 : nomal
  5031. {
  5032. //grd_rcptlist.rowstatus(iRow) = 1; // insert 상태로 변경
  5033. var arrPostion = new Array();
  5034. arrPostion[0] = iRow;
  5035. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  5036. }
  5037. }
  5038. }
  5039. }
  5040. }
  5041. else
  5042. {
  5043. ds_send_savedata_newinput.setColumn(0, "prcpflag", "Y");
  5044. for(var iRow = 0; iRow < ds_grd_rcptlist.rowcount; iRow++)
  5045. {
  5046. if (ds_grd_rcptlist.getRowType(iRow) == 1)
  5047. {
  5048. //grd_rcptlist.rowstatus(iRow) = 1; // insert 상태로 변경
  5049. var arrPostion = new Array();
  5050. arrPostion[0] = iRow;
  5051. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  5052. }
  5053. }
  5054. }
  5055. // 의정부인경우 출력 안되게..
  5056. if(g_inputbox == "Y")
  5057. {
  5058. var tmp = parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno")) * parseInt(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  5059. if (tmp == 0)
  5060. {
  5061. var pntflag = "N";
  5062. }
  5063. }
  5064. //fCopyReSave(); // 부수만큼 신청내역 insert
  5065. // 신청정보
  5066. if (ds_main_appinfo_copyinfo.getColumn(0, "appmanflag") == "9") // 사본발행 신청인이 기타일 경우
  5067. {
  5068. ds_main_appinfo_copyinfo.setColumn(0, "appmannm", ipt_appmannm.text);
  5069. }
  5070. // 사본목적
  5071. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99"){
  5072. ds_main_appinfo_copyinfo.setColumn(0, "issgoalnm", ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  5073. }else{
  5074. ds_main_appinfo_copyinfo.setColumn(0, "issgoalnm", ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"));
  5075. }
  5076. ds_main_appinfo_copyinfo.setColumn(0, "issgoalcd", ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  5077. /*getUserStateMsg : 사용자 일반의, 퇴직의 조회*/
  5078. var deptcd = ds_main_appinfo_copyinfo.getColumn(0, "orddeptcd");
  5079. var objColInfo = new Array();
  5080. objColInfo.push({col: "userid", type:"string", size:256, val:ds_main_appinfo_copyinfo.getColumn(0, "orddrid")});
  5081. objColInfo.push({col: "deptcd", type:"string", size:256, val:deptcd});
  5082. dsf_createDsRow("ds_send_msg", objColInfo);
  5083. objColInfo = new Array();
  5084. objColInfo.push({col: "chk_msg", type:"string", size:256});
  5085. dsf_createDs("ds_main_msg", objColInfo);
  5086. var oParam = {};
  5087. oParam.id = "TRMMR00001";
  5088. oParam.service = "medirecapp.ComnMediRec";
  5089. oParam.method = "reqGetUserStateMsg";
  5090. oParam.inds = "req=ds_send_msg";
  5091. oParam.outds = "ds_main_msg=msg";
  5092. oParam.async = false;
  5093. oParam.callback = "cf_TRMMR00001";
  5094. tranf_submit(oParam);
  5095. var chk_msg = ds_main_msg.getColumn(0, "chk_msg");
  5096. var nodecnt = ds_main_msg.rowcount;
  5097. if( nodecnt > 0 ){
  5098. sysf_messageBox(chk_msg, "E");
  5099. frmf_setParameter("SPMMR06503_pid", ds_main_appinfo_copyinfo.getColumn(0, "pid") );
  5100. frmf_setParameter("SPMMR06503_orddeptcd", deptcd );
  5101. frmf_setParameter("SPMMR06503_vieworddeptcd", deptcd );
  5102. frmf_setParameter("SPMMR06503_switflag" , "orddrid" );
  5103. var rtn = frmf_modal("SPMMR06503", "SPMMR06503", null, null, null, null, null, null, null, null, null, null, "M");
  5104. //ds_send_chngissinfo dataset return
  5105. if( utlf_isNull(rtn) ){
  5106. sysf_trace(" SPMMR06503 return value Null ");
  5107. }
  5108. if( utlf_isNull(ds_send_chngissinfo.getColumn(0, "orddoctid")) ){
  5109. sysf_messageBox("발행의사를 선택하신 후 진행해주십시오.", "C999");
  5110. return;
  5111. }else{
  5112. ds_main_appinfo_copyinfo.setColumn(0, "orddrid", ds_send_chngissinfo.getColumn(0, "orddoctid"));
  5113. }
  5114. }
  5115. ds_send_savedata_copyinfo.copyData(ds_main_appinfo_copyinfo);
  5116. if( ds_send_savedata_copyinfo.getColumnInfo("bmtappyn") == null
  5117. || ds_send_savedata_copyinfo.getColumnInfo("reappyn") == null ){
  5118. ds_send_savedata_copyinfo.addColumn("bmtappyn", "string");
  5119. ds_send_savedata_copyinfo.addColumn("reappyn", "string");
  5120. }
  5121. //model.copyNode("/root/send/savedata/copyinfo", "/root/main/appinfo/copyinfo");
  5122. // emr서식정보
  5123. ds_grd_outapplist.applyChange();
  5124. ds_grd_emrapplist.applyChange();
  5125. // var outinfo = model.instance1.selectNodes("/root/temp/issinfo/emrlist");
  5126. // var ininfo = model.instance1.selectNodes("/root/main/issinfo/emrapplist");
  5127. if(ds_grd_outapplist.rowcount > 0) {
  5128. //model.setValue("/root/send/savedata/outinfo", getNodeListCSV(outinfo));
  5129. ds_send_savedata_outinfo.copyData(ds_grd_outapplist);
  5130. //xp code add : col id change!!!orddeptcd
  5131. if( !utlf_isNull(ds_send_savedata_outinfo.getColumnInfo("orddeptcd")))
  5132. ds_send_savedata_outinfo.updateColID("orddeptcd", "orddeptdcd");
  5133. }
  5134. if(ds_grd_emrapplist.rowcount > 0) {
  5135. //model.setValue("/root/send/savedata/ininfo", getNodeListCSV(ininfo));
  5136. ds_send_savedata_ininfo.copyData(ds_grd_emrapplist);
  5137. //xp code add : col id change!!!orddeptcd
  5138. if( !utlf_isNull(ds_send_savedata_ininfo.getColumnInfo("orddeptcd")))
  5139. ds_send_savedata_ininfo.updateColID("orddeptcd", "orddeptdcd");
  5140. }
  5141. //model.setValue("/root/send/savedata/rcptlist", grd_rcptlist.getUpdateData());
  5142. var oDsUpdate = grdf_getGridUpdateData(grd_rcptlist);
  5143. if( utlf_isNull(oDsUpdate) ) {
  5144. sysf_trace("***** grdf_getGridUpdateData(grd_outapplist) data is NULL *****");
  5145. }
  5146. grdf_setStatusColumn(oDsUpdate, "status");
  5147. ds_send_savedata_rcptlist.copyData(oDsUpdate, true);
  5148. //sysf_trace(ds_send_savedata_rcptlist.saveXML());
  5149. var sCopySeqNo = ds_main_appinfo_copyinfo.getColumn(0, "copyseqno");
  5150. var sEMRAppCopies = ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies");
  5151. if(g_inputbox == "Y")
  5152. {
  5153. // 출력매수 =
  5154. PRIN_COPY = ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno");
  5155. // 출력부수 =
  5156. PRIN_QUNT = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  5157. }
  5158. else
  5159. {
  5160. // 출력매수 =
  5161. PRIN_COPY = ds_grd_rcptlist.getColumn(0, "shtno");
  5162. // 출력부수 =
  5163. PRIN_QUNT = ds_grd_rcptlist.getColumn(0, "prcptims");
  5164. }
  5165. //2012/03/13 Start
  5166. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  5167. if(ds_temp_hardcd2.getColumn(i, "hardcd")!=sysf_getUserInfo("dutplceinstcd")){
  5168. if(before_delivefact!=ds_main_appinfo_copyinfo.getColumn(0, "delivefact")){
  5169. after_delivefact=ds_main_appinfo_copyinfo.getColumn(0, "delivefact")
  5170. var chk_result = sysf_messageBox("기타 상세신청내역이 변경되었습니다. 변경된 내역으로 저장 ","S001");
  5171. if(chk_result=="6"){ //변경된 내역으로 저장
  5172. }else if(chk_result=="7"){ //변경되기 전 내역으로 저장
  5173. ds_send_savedata_copyinfo.setColumn(0, "delivefact", before_delivefact);
  5174. }else if(chk_result=="2"){// 수가 입력을 취소
  5175. return;
  5176. }
  5177. }
  5178. }
  5179. break;
  5180. }
  5181. //2012/03/13 End
  5182. var oParam = {};
  5183. oParam.id = "TRMRC03033";
  5184. oParam.service = "chrtmngtapp.CopyIssMngt";
  5185. oParam.method = "reqGetTrnsYN";
  5186. oParam.inds = "req=ds_main_appinfo_copyinfo";
  5187. oParam.outds = "ds_temp5=trns";
  5188. oParam.async = false;
  5189. //oParam.callback = "cf_TRMRC03033";
  5190. tranf_submit(oParam);
  5191. var trnsyn = ds_temp5.getColumn(0,"trnsyn");
  5192. if (trnsyn == "Y") {
  5193. if ("6" != sysf_messageBox("포털전송 무료발급 대상 환자입니다 계속 진행하시겠습니까?","Q")) {
  5194. return;
  5195. }
  5196. }
  5197. dsf_setDefaultVal(ds_send_savedata_copyinfo, "emrappcopies:0,cretno:0");
  5198. dsf_setDefaultVal(ds_send_savedata_emrapplist, "formrecseq:0,appseq:0,medirecno:0");
  5199. dsf_setDefaultVal(ds_send_savedata_outinfo, "appseq:0,medirecno:0");
  5200. dsf_setDefaultVal(ds_send_savedata_rcptlist, "prcpno:0,prcphistno:0");
  5201. var oParam = {};
  5202. oParam.id = "TXMRC03006";
  5203. oParam.service = "chrtmngtapp.CopyIssMngt";
  5204. oParam.method = "reqExeCopyIssMngt2";
  5205. oParam.inds = "reqcopyinfo=ds_send_savedata_copyinfo "
  5206. + "reqemrapplist=ds_send_savedata_emrapplist "
  5207. + "reqoutinfo=ds_send_savedata_outinfo "
  5208. + "reqininfo=ds_send_savedata_ininfo "
  5209. + "reqrcptlist=ds_send_savedata_rcptlist "
  5210. + "reqnewinput=ds_send_savedata_newinput";
  5211. oParam.outds = "ds_return=return";
  5212. oParam.async = false;
  5213. oParam.callback = "cf_TXMRC03006";
  5214. tranf_submit(oParam);
  5215. if (arErrorCode.pop("TXMRC03006") > -1)
  5216. {
  5217. sysf_trace("cf_TXMRC03006 Start");
  5218. ds_main_appinfo_copyinfo.setColumn(0, "totalcopies", PRIN_COPY);
  5219. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", PRIN_QUNT);
  5220. ds_grd_rcptlist.applyChange();
  5221. fReqGetBfCopyIssHistList(ipt_pid.text);
  5222. fSetRcptpossynmsg(ds_main_cond.getColumn(0, "pid")); //무인수납 가능 여부 조회 15.02.05 - AYS
  5223. // 2009.05.29 이경희
  5224. // 이전 사본발행 내역에서 컬럼을 하나 추가함에 따라 검색 범위를 변경
  5225. var iRow = ds_grd_apphist.findRow("copyseqno", sCopySeqNo);
  5226. //grd_apphist.findRow(sCopySeqNo,1,25);
  5227. ds_grd_apphist.rowposition = iRow;
  5228. fIssSearch();
  5229. fAppInfoSearch();
  5230. // 신규로 발행번호 발생시 출력.
  5231. if(pntflag != "N") { // 반환된것은 출력되지 않도록
  5232. if(utlf_isNull(sIssNo)){
  5233. //var isslist = instance1.selectNodes("/root/return/return/issno");
  5234. if(ds_return.rowcount > 0) {
  5235. //2012/03/12 칠곡에서는 사본발행 목적을 바꾸더라도 증명서 및 승낙서가 발급되도록
  5236. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  5237. if(ds_temp_hardcd2.getColumn(i, "hardcd")==sysf_getUserInfo("dutplceinstcd")){
  5238. issnoYN = "Y";
  5239. }else if(ds_temp_hardcd2.getColumn(i, "hardcd")!=sysf_getUserInfo("dutplceinstcd")){
  5240. issnoYN = "";
  5241. }
  5242. }
  5243. }
  5244. //2012/03/12 End
  5245. fPrnt();
  5246. }else if((!utlf_isNull(sIssNo))&&(sEMRAppCopies!=0)){// 사본 반환후 다시 입력시출력 가능
  5247. //var isslist = instance1.selectNodes("/root/return/return/issno");
  5248. if(ds_return.rowcount > 0) {
  5249. issnoYN = "Y";
  5250. }
  5251. fPrnt();
  5252. }
  5253. }
  5254. //lf_setPid();
  5255. //fInitialize();
  5256. //2012/02/29 칠곡 요청 수가입력 후 자동으로 안닫히도록 수정(5567번)
  5257. // for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  5258. // if(ds_temp_hardcd2.getColumn(i, "hardcd")==sysf_getUserInfo("dutplceinstcd")){
  5259. // //this.close();
  5260. // return;
  5261. // }
  5262. // }
  5263. sysf_trace("cf_TXMRC03006 Start End");
  5264. //sysf_messageBox("저장 ", "I001");
  5265. return;
  5266. //2012/02/29
  5267. }
  5268. else
  5269. {
  5270. sysf_messageBox("저장에", "E009");
  5271. }
  5272. }
  5273. // 이전내역조회
  5274. // jw.choe grd_isshist 화면에 미존재 호출부분 없음.
  5275. function fHistDetilSearch()
  5276. {
  5277. // reqGetCopyIssHist
  5278. // getCopyIssHist
  5279. //model.resetInstanceNode("/root/main/issinfo/copyinfo");
  5280. //model.removeNodeset("/root/main/issinfo/emrapplist");
  5281. //model.removenode("/root/main/issinfo/rcptlist");
  5282. //model.removeNodeset("/root/main/issinfo/rcptlist");
  5283. if (submit("TRMRC01101",false) == true)
  5284. {
  5285. grd_isshist.rebuild();
  5286. grd_isshist.rebuildStyle();
  5287. setRowStyle("grd_isshist","0","입원","ioflagnm");
  5288. }
  5289. else
  5290. {
  5291. messageBox("조회를", "E009");
  5292. }
  5293. grd_isshist.rebuild();
  5294. }
  5295. /**
  5296. * @group :
  5297. * @ver :
  5298. * @by : 이창록 2008-08-29
  5299. * @---------------------------------------------------
  5300. * @type : function
  5301. * @access : public
  5302. * @desc : 체크박스 선택시 전달사항에 전달
  5303. * @param :
  5304. * @return :
  5305. * @---------------------------------------------------
  5306. */
  5307. function fSendChkLabelText(label)
  5308. {
  5309. label += "\n";
  5310. ds_main_appinfo_copyinfo.setColumn(0, "delivefact",txt_delivefact.text+label);
  5311. }
  5312. /**
  5313. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  5314. * @id :
  5315. * @event : onclick
  5316. * @return : void
  5317. * @authur : 박종훈
  5318. */
  5319. function fEmrImgRec()
  5320. {
  5321. utlf_addLog("***** fEmrImgRec() *****");
  5322. //var certnodeList = instance1.selectNodes("/root/tmpinicert2/iniinfo");
  5323. //--20130418 김동준 start(본원과 칠곡 분기)
  5324. var foldernm = "C:/CertrecPrnt" + sysf_getUserInfo("dutplceinstcd");
  5325. var local_path ="";
  5326. local_path = foldernm + "\\";
  5327. //var foldernm = "C:/CertrecPrnt";
  5328. //--20130418 김동준 end
  5329. //alert("ds_tmpinicert2_iniinfo.rowcount 건수" + ds_tmpinicert2_iniinfo.rowcount);
  5330. if (ds_tmpinicert2_iniinfo.rowcount <= 0)
  5331. return;
  5332. var emrpath = "";
  5333. var emrorddate = "";
  5334. var emrformnm = "";
  5335. var emrformcd = "";
  5336. var emrdeptnm = "";
  5337. var emrdeptcd = "";
  5338. //2013/01/15 Start
  5339. var signemrdeptnm = "";
  5340. var signemrdeptcd = "";
  5341. var signorddeptcd = "";
  5342. var signdeptengabbr = "";
  5343. //2013/01/15 End
  5344. var emrpage = "";
  5345. var emrhiddenmsg = "";
  5346. var k = "";
  5347. var pid = "";
  5348. var ptnm = "";
  5349. var depthngnm = "";
  5350. var deptengabbr = "";
  5351. var icdrdeptengabbr = "";
  5352. var rgstno = "";
  5353. var sa = "";
  5354. var disporddd = "";
  5355. var orddd = "";
  5356. var drid = "";
  5357. var icdrdrid = "";
  5358. var roomcd = "";
  5359. var icdrroomcd = "";
  5360. var ordtype = "";
  5361. var chosflag = "";
  5362. var orddeptcd = "";
  5363. var signflag = "";
  5364. var imgflag = "";
  5365. var langflag = "";
  5366. var tmptreatno = "";
  5367. var tmpiformcd = "";
  5368. var signno = 0;
  5369. var formcd = "";
  5370. var srcformcd = "";
  5371. var formnm = "";
  5372. var formprogflag = "";
  5373. var recdt = "";
  5374. var wardheader = "";
  5375. var dateheader = "";
  5376. var doctorheader = "";
  5377. var printheader = "";
  5378. var pageheader = "";
  5379. var imgepath = "";
  5380. var formrecdt = "";
  5381. var fstrgstdt = "";
  5382. var lastupdtdt = "";
  5383. var staffconfirmdt = "";
  5384. var fstrgstrusrnm = "";
  5385. var lastupdtrusrnm = "";
  5386. var erdt = "";
  5387. var ervisittm = "";
  5388. var staffnmheader = "";
  5389. var staffnm = "";
  5390. var emrrecusrnmheader = "";
  5391. var emrrecusrnm = "";
  5392. var indd = "";
  5393. var dschdd = "";
  5394. var inorddepthngnm = "";
  5395. var dschorddepthngnm = "";
  5396. var incnt = "";
  5397. var mainyn = "";
  5398. var rowno = "";
  5399. //2013/02/15 소스머지 시작(추가)
  5400. var surgeon = "";
  5401. var cover_header = "";
  5402. var cover_footer = "";
  5403. var makebodyfilecnt =0;
  5404. var default_cover_header = "";
  5405. var default_cover_footer = "";
  5406. var cover_header1 = "";
  5407. var cover_header2 = "";
  5408. var cover_header3 = "";
  5409. var cover_header4 = "";
  5410. var cover_header10 = "";
  5411. var cover_footer1 = "";
  5412. var cover_footer2 = "";
  5413. var cover_header_filenm = "";
  5414. var cover_footer_filenm = "";
  5415. //2013/02/15 소스머지 끝
  5416. //2013/02/18 추가
  5417. var trans="";
  5418. var signgenrflag = "";
  5419. //2013/02/18 추가
  5420. //2013/08/20 Start CDIS 해당하는 이미지만 나오도록 수정
  5421. var orderseqno = "";
  5422. var temporderseqno="";
  5423. //2013/08/20 End
  5424. var prtnunm = sysf_getUserInfo("usernm");
  5425. var prtndeptnm = "";
  5426. //var getuseren = getUserInfo("userengnm");
  5427. var getdate = utlf_getCurrentDate();
  5428. var gettime = utlf_getCurrentTime();
  5429. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  5430. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  5431. var prtdt = dateprnt + " " + timeprnt;
  5432. var sDutplcecd = sysf_getUserInfo("dutplcecd");
  5433. fExistFolder(foldernm);
  5434. for(var i = 0; i < ds_tmpinicert2_iniinfo.rowcount; i++)
  5435. {
  5436. orderseqno = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "cmc_orderseqno"));
  5437. signno = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "signno"));
  5438. formcd = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "formcd"));
  5439. srcformcd = ds_tmpinicert2_iniinfo.getColumn(i, "srcformcd");
  5440. formnm = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "formnm"));
  5441. formprogflag = ds_tmpinicert2_iniinfo.getColumn(i, "formprogflag");
  5442. recdt = ds_tmpinicert2_iniinfo.getColumn(i, "recdt");
  5443. recdd = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "recdd"));
  5444. if(utlf_isNull(recdd)){ //의사지시기록
  5445. recdd = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "recdt"));
  5446. }
  5447. if(utlf_isNull(recdd)){//진단검사결과지, 영상의학판독, 핵의학검사지, 미생물검사결과지
  5448. recdd = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "orddd"));
  5449. }
  5450. trans = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "trans"));
  5451. pid = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "pid"));
  5452. ptnm = ds_tmpinicert2_iniinfo.getColumn(i, "ptnm");
  5453. depthngnm = ds_tmpinicert2_iniinfo.getColumn(i, "depthngnm");
  5454. deptengabbr = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "deptengabbr"));
  5455. icdrdeptengabbr = ds_tmpinicert2_iniinfo.getColumn(i, "icdrdeptengabbr");
  5456. signorddeptcd = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "signorddeptcd"));
  5457. signdeptengabbr = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "signdeptengabbr"));
  5458. rgstno = ds_tmpinicert2_iniinfo.getColumn(i, "rgstno");
  5459. sa = ds_tmpinicert2_iniinfo.getColumn(i, "sa");
  5460. disporddd = ds_tmpinicert2_iniinfo.getColumn(i, "disporddd");
  5461. orddd = ds_tmpinicert2_iniinfo.getColumn(i, "orddd");
  5462. drid = ds_tmpinicert2_iniinfo.getColumn(i, "drid");
  5463. icdrdrid = ds_tmpinicert2_iniinfo.getColumn(i, "icdrdrid");
  5464. roomcd = ds_tmpinicert2_iniinfo.getColumn(i, "roomcd");
  5465. icdrroomcd = ds_tmpinicert2_iniinfo.getColumn(i, "icdrroomcd");
  5466. ordtype = ds_tmpinicert2_iniinfo.getColumn(i, "ordtype");
  5467. signgenrflag = ordtype;
  5468. chosflag = ds_tmpinicert2_iniinfo.getColumn(i, "chosflag");
  5469. orddeptcd = ds_tmpinicert2_iniinfo.getColumn(i, "orddeptcd");
  5470. signflag = ds_tmpinicert2_iniinfo.getColumn(i, "signflag");
  5471. imgflag = ds_tmpinicert2_iniinfo.getColumn(i, "imgflag");
  5472. langflag = ds_tmpinicert2_iniinfo.getColumn(i, "langflag");
  5473. formrecdt = utlf_transNullToEmpty(ds_tmpinicert2_iniinfo.getColumn(i, "formrecdt"));
  5474. formrecdt = formrecdt.toString().toDate().getDateFormat("YYYY/MM/DD");
  5475. fstrgstdt = ds_tmpinicert2_iniinfo.getColumn(i, "fstrgstdt");
  5476. lastupdtdt = ds_tmpinicert2_iniinfo.getColumn(i, "lastupdtdt");
  5477. staffconfirmdt = ds_tmpinicert2_iniinfo.getColumn(i, "staffconfirmdt");
  5478. fstrgstrusrnm = ds_tmpinicert2_iniinfo.getColumn(i, "fstrgstrusrnm");
  5479. /* 20100407-kys-작성자일시 주석처리.
  5480. if(fstrgstrusrnm != "")
  5481. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  5482. */
  5483. lastupdtrusrnm = ds_tmpinicert2_iniinfo.getColumn(i, "lastupdtrusrnm");
  5484. /* 20100407-kys-작성자일시 주석처리.
  5485. if(lastupdtrusrnm != "")
  5486. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  5487. */
  5488. erdt = ds_tmpinicert2_iniinfo.getColumn(i, "erdt");
  5489. ervisittm = ds_tmpinicert2_iniinfo.getColumn(i, "ervisittm");
  5490. staffnm = ds_tmpinicert2_iniinfo.getColumn(i, "staffnm");
  5491. surgeon = staffnm;
  5492. emrrecusrnm = ds_tmpinicert2_iniinfo.getColumn(i, "emrrecusrnm");
  5493. indd = ds_tmpinicert2_iniinfo.getColumn(i, "indd");
  5494. dschdd = ds_tmpinicert2_iniinfo.getColumn(i, "dschdd");
  5495. inorddepthngnm = ds_tmpinicert2_iniinfo.getColumn(i, "inorddepthngnm");
  5496. dschorddepthngnm = ds_tmpinicert2_iniinfo.getColumn(i, "dschorddepthngnm");
  5497. mainyn = ds_tmpinicert2_iniinfo.getColumn(i, "mainyn");
  5498. rowno = ds_tmpinicert2_iniinfo.getColumn(i, "rowno");
  5499. incnt = ds_tmpinicert2_iniinfo.getColumn(i, "incnt");
  5500. if(!utlf_isNull(incnt))
  5501. incnt += " 회차";
  5502. var ininfo = indd + " / " + inorddepthngnm;
  5503. if(!utlf_isNull(erdt))
  5504. ininfo += " (응급실 내원일 : " + erdt + ")";
  5505. var dschinfo = dschdd + " / " + dschorddepthngnm;
  5506. var formnmarr = formnm.split("\n");
  5507. var topformnm = "";
  5508. var botformnm = "";
  5509. if (formnmarr.length == 1)
  5510. {
  5511. topformnm = formnmarr[0];
  5512. }
  5513. else if (formnmarr.length == 2)
  5514. {
  5515. topformnm = formnmarr[0];
  5516. botformnm = formnmarr[1];
  5517. }
  5518. else
  5519. {
  5520. topformnm = formnm;
  5521. }
  5522. //2009-06-02 등록번호 "-" 병원별 제거
  5523. var pidynhcd = ds_init_pidynhcd.getColumn(0, "hardcd");
  5524. if (pidynhcd == "Y")
  5525. {
  5526. for(var k = pid.length; k <= 8; k++)
  5527. {
  5528. if(k < 8){
  5529. pid = "0"+pid;
  5530. }
  5531. }
  5532. var str1 = pid.substr(0, 3);
  5533. var str2 = pid.substr(3, 2);
  5534. var str3 = pid.substr(5, 2);
  5535. var str4 = pid.substr(7, 1);
  5536. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  5537. }
  5538. else
  5539. {
  5540. tmppid = pid;
  5541. }
  5542. if (chosflag == "O" || chosflag == "S")
  5543. {
  5544. wardheader = "진료과 : ";
  5545. }
  5546. else
  5547. {
  5548. wardheader = "병실 : ";
  5549. }
  5550. if (langflag == "KO")
  5551. {
  5552. if (chosflag == "O" || chosflag == "S")
  5553. {
  5554. wardheader = "진료과 : ";
  5555. }
  5556. else
  5557. {
  5558. wardheader = "병실 : ";
  5559. }
  5560. dateheader = "진료기간 : ";
  5561. doctorheader = "주치의 : ";
  5562. printheader = "출력 : ";
  5563. prtndeptnm = sysf_getUserInfo("dutplcenm");
  5564. imgepath = fGetImgPath("KO");
  5565. //imgepath = "com/commonweb/images/biglogo012.jpg"
  5566. pageheader = "페이지 : ";
  5567. }
  5568. else
  5569. {
  5570. if (chosflag == "O" || chosflag == "S")
  5571. {
  5572. wardheader = "Dept : ";
  5573. }
  5574. else
  5575. {
  5576. wardheader = "Room : ";
  5577. }
  5578. dateheader = "Date : ";
  5579. doctorheader = "Doctor : ";
  5580. printheader = "Print date : ";
  5581. prtndeptnm = sysf_getUserInfo("deptengnm");
  5582. imgepath = fGetImgPath("EN");
  5583. //imgepath = "com/commonweb/images/biglogo012e.jpg"
  5584. if (utlf_isNull(prtndeptnm))
  5585. {
  5586. prtndeptnm = sysf_getUserInfo("dutplcenm");
  5587. }
  5588. pageheader = "Page : ";
  5589. }
  5590. if (imgflag == "N")
  5591. {
  5592. //ds_datagrid1.insertRow(i);
  5593. var prtRow = ds_datagrid1.addRow();
  5594. ds_datagrid1.setColumn(prtRow, "pid", pid);
  5595. ds_datagrid1.setColumn(prtRow, "signno", signno);
  5596. ds_datagrid1.setColumn(prtRow, "reckind", "01");
  5597. ds_datagrid1.setColumn(prtRow, "readprtflag", "E");
  5598. ds_datagrid1.setColumn(prtRow, "formcd", formcd);
  5599. ds_datagrid1.setColumn(prtRow, "signflag", signflag);
  5600. ds_datagrid1.setColumn(prtRow, "orddd", orddd);
  5601. ds_datagrid1.setColumn(prtRow, "chosflag", chosflag);
  5602. ds_datagrid1.setColumn(prtRow, "refusge", "");
  5603. ds_datagrid1.setColumn(prtRow, "refremark", "");
  5604. if(utlf_isNull(trans))
  5605. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  5606. //이윤주 수정(20140819:최초작성시각 보이는 서식)
  5607. // var fstsrcformcdcnt = ds_temp_hardcd6.getCaseCount("hardcd == '" + srcformcd + "'");
  5608. // if (fstsrcformcdcnt > 0) {
  5609. // if(!utlf_isNull(fstrgstrusrnm)) {
  5610. // fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  5611. // }
  5612. // }
  5613. //이윤주 추가(20140819:기록시점에 헤더정보 표현)
  5614. //alert("ds_datagrid1.rowcount 건수" + ds_datagrid1.rowcount);
  5615. var icdrsrcformcdcnt = ds_temp_hardcd6.getCaseCount("hardcd == '" + srcformcd + "'");
  5616. if (icdrsrcformcdcnt > 0) {
  5617. deptengabbr = icdrdeptengabbr;
  5618. roomcd = icdrroomcd;
  5619. drid = icdrdrid;
  5620. }
  5621. var instcd = sysf_getUserInfo("dutplceinstcd");
  5622. switch(srcformcd)
  5623. {
  5624. case "0000000003"://입원초진
  5625. cover_header = "emr/chrtmngtxp/html/cover_header2_"+instcd+".html";
  5626. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5627. break;
  5628. case "0000000676"://수술기록
  5629. cover_header = "emr/chrtmngtxp/html/cover_header_"+instcd+".html";
  5630. cover_footer = "emr/chrtmngtxp/html/cover_footer2.html";
  5631. break;
  5632. case "0000000679"://응급실기록
  5633. cover_header = "emr/chrtmngtxp/html/cover_header3_"+instcd+".html";
  5634. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5635. break;
  5636. case "0000000680"://입퇴원요약
  5637. cover_header = "emr/chrtmngtxp/html/cover_header1_"+instcd+".html";
  5638. cover_footer = "emr/chrtmngtxp/html/cover_footer1.html";
  5639. break;
  5640. case "0000002022"://마취기록지
  5641. cover_header = "emr/chrtmngtxp/html/cover_header4_"+instcd+".html";
  5642. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5643. break;
  5644. //case "0000003325"://DSC기록
  5645. case "0000003169"://Brief OP Note
  5646. cover_header = "emr/chrtmngtxp/html/cover_header_"+instcd+".html";
  5647. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5648. break;
  5649. default:
  5650. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5651. cover_header = "emr/chrtmngtxp/html/cover_header10_"+instcd+".html";
  5652. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5653. }else{
  5654. cover_header = "emr/chrtmngtxp/html/cover_header_"+instcd+".html";
  5655. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5656. }
  5657. break;
  5658. }
  5659. /*
  5660. if( instcd == "032" ){
  5661. switch(srcformcd)
  5662. {
  5663. case "0000000003"://입원초진
  5664. cover_header = "emr/chrtmngtxp/html/cover_header2_032.html";
  5665. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5666. break;
  5667. case "0000000676"://수술기록
  5668. cover_header = "emr/chrtmngtxp/html/cover_header_032.html";
  5669. cover_footer = "emr/chrtmngtxp/html/cover_footer2.html";
  5670. break;
  5671. case "0000000679"://응급실기록
  5672. cover_header = "emr/chrtmngtxp/html/cover_header3_032.html";
  5673. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5674. break;
  5675. case "0000000680"://입퇴원요약
  5676. cover_header = "emr/chrtmngtxp/html/cover_header1_032.html";
  5677. cover_footer = "emr/chrtmngtxp/html/cover_footer1.html";
  5678. break;
  5679. case "0000002022"://마취기록지
  5680. cover_header = "emr/chrtmngtxp/html/cover_header4_032.html";
  5681. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5682. break;
  5683. //case "0000003325"://DSC기록
  5684. case "0000003169"://Brief OP Note
  5685. cover_header = "emr/chrtmngtxp/html/cover_header_032.html";
  5686. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5687. break;
  5688. default:
  5689. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5690. cover_header = "emr/chrtmngtxp/html/cover_header10_032.html";
  5691. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5692. }else{
  5693. cover_header = "emr/chrtmngtxp/html/cover_header_032.html";
  5694. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5695. }
  5696. break;
  5697. }
  5698. }else{
  5699. switch(srcformcd)
  5700. {
  5701. case "0000000003"://입원초진
  5702. cover_header = "emr/chrtmngtxp/html/cover_header2.html";
  5703. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5704. break;
  5705. case "0000000676"://수술기록
  5706. cover_header = "emr/chrtmngtxp/html/cover_header.html";
  5707. cover_footer = "emr/chrtmngtxp/html/cover_footer2.html";
  5708. break;
  5709. case "0000000679"://응급실기록
  5710. cover_header = "emr/chrtmngtxp/html/cover_header3.html";
  5711. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5712. break;
  5713. case "0000000680"://입퇴원요약
  5714. cover_header = "emr/chrtmngtxp/html/cover_header1.html";
  5715. cover_footer = "emr/chrtmngtxp/html/cover_footer1.html";
  5716. break;
  5717. case "0000002022"://마취기록지
  5718. cover_header = "emr/chrtmngtxp/html/cover_header4.html";
  5719. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5720. break;
  5721. //case "0000003325"://DSC기록
  5722. case "0000003169"://Brief OP Note
  5723. cover_header = "emr/chrtmngtxp/html/cover_header.html";
  5724. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5725. break;
  5726. default:
  5727. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5728. cover_header = "emr/chrtmngtxp/html/cover_header10.html";
  5729. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5730. }else{
  5731. cover_header = "emr/chrtmngtxp/html/cover_header.html";
  5732. cover_footer = "emr/chrtmngtxp/html/cover_footer.html";
  5733. }
  5734. break;
  5735. }
  5736. }
  5737. */
  5738. trans = "utf16://<!--@\n @DOCUMENT_HOME = " + sysf_getURLprefix() + "/xpapps/ " +
  5739. "\n @COVER_HEADER = " + cover_header +
  5740. "\n @COVER_FOOTER = " + cover_footer +
  5741. "\n @BODY_HEADER = emr/chrtmngtxp/html/body_header.html" +
  5742. "\n @BODY_FOOTER = emr/chrtmngtxp/html/body_footer.html" +
  5743. "\n @DEFAULT_FONT = 굴림 " +
  5744. "\n @DEFAULT_PRE_FONT = 굴림 " +
  5745. "\n @DEFAULT_FONT_SIZE = 9pt " +
  5746. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  5747. "\n @FONT_SIZE_OFFSET = 3px " +
  5748. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  5749. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  5750. "\n @VAR_PAT_NUM = " + tmppid +
  5751. "\n @VAR_CLASS = " + ordtype +
  5752. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  5753. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  5754. "\n @VAR_CHART_NAME_LINE = " + formnm +
  5755. "\n @VAR_PAT_AGE_SEX = " + sa +
  5756. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  5757. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  5758. "\n @VAR_PAT_NAME = " + ptnm +
  5759. "\n @VAR_PRINT_NAME = " + prtnunm +
  5760. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  5761. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  5762. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  5763. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  5764. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  5765. "\n @SYS_PAGE_HEADER = " + pageheader +
  5766. "\n @VAR_HOSP_IMG = " + imgepath +
  5767. "\n @VAR_ORDDATE = " + formrecdt +
  5768. "\n @VAR_ORDDEPT = " + depthngnm +
  5769. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  5770. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  5771. "\n @VAR_ERDT = " + erdt +
  5772. "\n @VAR_ERVISITTM = " + ervisittm +
  5773. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  5774. "\n @VAR_STAFFNM = " + staffnm +
  5775. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  5776. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  5777. "\n @VAR_ININFO = " + ininfo +
  5778. "\n @VAR_DSCHINFO = " + dschinfo +
  5779. "\n @VAR_INCNT = " + incnt +
  5780. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  5781. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  5782. "\n @VAR_REALRECDT = " + erdt +
  5783. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  5784. "\n @VAR_DSCHINFO = " + dschinfo +
  5785. "\n @VAR_SURGEON = " + surgeon +
  5786. "\n @OUTPUT_MAGNIFICATION = 1 " +
  5787. /* 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 begin */
  5788. "\n @USE_KEEP_DESIGN = TRUE" + //box 계단 문제 해결
  5789. "\n @USE_NU_TD_ADJUST = FALSE" + //데이터없는 TD 높이유지
  5790. "\n @USE_SCH_HR_ADJUST = TRUE" + //수직선을 그리기 위한 옵션 추가
  5791. "\n @LINE_BREAK_METHOD = SCH" + //wordwrap 속성 (word+literal)
  5792. "\n @TEXT_LINE_HEIGHT = MTX_* 130, GRD_* 130, LBL_* 120, CCN_* 130, OPN_* 130, DGN_* 130" + //줄간격
  5793. "\n @VERTICAL_COMPACTION = 10" + //여백제거
  5794. /* end 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 */
  5795. "\n@-->\n" + trans + "\n";
  5796. // SMMRC03000.xjs 6940 Line 동일
  5797. // SMMRC03100.xjs 6378line 동일
  5798. if( trans.indexOf("&amp;instcd=&amp;") > -1 ){
  5799. trans = trans.replace("&amp;instcd=&amp;", "&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;");
  5800. }else if( trans.indexOf("&amp;business_id=") > -1 && !(trans.indexOf("&amp;instcd=03") > -1) ){
  5801. trans = trans.replace("&amp;business_id=", "&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;business_id=");
  5802. }
  5803. // trans 크기에 따른 속도저하로 임시 제외
  5804. // if( trans.length < 150000 )
  5805. // emrpath = emrpath + trans.replace(/"/g, "'") + splittxt;
  5806. // else
  5807. emrpath = emrpath + trans + splittxt;
  5808. //emrorddate += orddd + "|";
  5809. emrorddate += recdd + splittxt; //기록일을 보여달라는 의료정보팀 요청
  5810. emrformnm += formnm + splittxt;
  5811. emrformcd += formcd + splittxt;
  5812. emrdeptnm += deptengabbr + splittxt;
  5813. emrdeptcd += orddeptcd + splittxt;
  5814. //2013/01/15 Start
  5815. signemrdeptnm += signdeptengabbr + splittxt;
  5816. signemrdeptcd += signorddeptcd + splittxt;
  5817. //2013/01/15 End
  5818. emrpage += "1"+ splittxt;
  5819. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  5820. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E" + splittxt;
  5821. }
  5822. else
  5823. {
  5824. tmptreatno += signno + ",";
  5825. tmpiformcd += formcd + ",";
  5826. emrpath += "*" + splittxt;
  5827. emrorddate += "*" + splittxt;
  5828. emrformnm += "*" + splittxt;
  5829. emrformcd += "*" + splittxt;
  5830. emrdeptnm += "*" + splittxt;
  5831. emrdeptcd += "*" + splittxt;
  5832. //2013/01/15 Start
  5833. signemrdeptnm += "*" + splittxt;
  5834. signemrdeptcd += "*" + splittxt;
  5835. //2013/01/15 End
  5836. emrpage += "*" + splittxt;
  5837. emrhiddenmsg += "*" + splittxt;
  5838. //2013/08/20 Start
  5839. temporderseqno += orderseqno +",";
  5840. //2013/08/20 End
  5841. }
  5842. }
  5843. //model.removeNodeset("/root/temp/inisend");
  5844. dsf_createDsRow("ds_imgrec_iemr", [{col: "treatno", type:"string", size:256, val:tmptreatno.substring(0, tmptreatno.length - 1)}
  5845. , {col: "pid", type:"string", size:256, val:""}
  5846. , {col: "orddeptcd", type:"string", size:256, val:""}
  5847. , {col: "indd", type:"string", size:256, val:""}
  5848. , {col: "docucd", type:"string", size:256, val:tmpiformcd.substring(0, tmpiformcd.length - 1)}
  5849. , {col: "ioflag", type:"string", size:256, val:""}
  5850. , {col: "cmc_cretno", type:"string", size:256, val:""}
  5851. , {col: "cmc_spcid", type:"string", size:256, val:""}
  5852. , {col: "cmc_orddate", type:"string", size:256, val:""}
  5853. , {col: "cmc_orderseqno", type:"string", size:256, val:temporderseqno.substring(0, temporderseqno.length - 1)}]);
  5854. dsf_createDsRow("ds_temp_inisend", [{col: "emrpath", type:"string", size:256, val:emrpath.substring(0, emrpath.length - 1)}
  5855. , {col: "emrorddate", type:"string", size:256, val:emrorddate.substring(0, emrorddate.length - 1)}
  5856. , {col: "emrformnm", type:"string", size:256, val:emrformnm.substring(0, emrformnm.length - 1)}
  5857. , {col: "emrformcd", type:"string", size:256, val:emrformcd.substring(0, emrformcd.length - 1)}
  5858. , {col: "emrdeptnm", type:"string", size:256, val:emrdeptnm.substring(0, emrdeptnm.length - 1)}
  5859. , {col: "emrdeptcd", type:"string", size:256, val:emrdeptcd.substring(0, emrdeptcd.length - 1)}
  5860. , {col: "signemrdeptcd", type:"string", size:256, val:signemrdeptcd.substring(0, signemrdeptcd.length - 1)}
  5861. , {col: "signemrdeptnm", type:"string", size:256, val:signemrdeptnm.substring(0, signemrdeptnm.length - 1)}
  5862. , {col: "emrpage", type:"string", size:256, val:emrpage.substring(0, emrpage.length - 1)}
  5863. , {col: "emrhiddenmsg", type:"string", size:256, val:emrhiddenmsg.substring(0, emrhiddenmsg.length - 1)}]);
  5864. //이미지경로
  5865. iviewerIemr.main_emrpath = ds_temp_inisend.getColumn(0, "emrpath");
  5866. //진료일
  5867. iviewerIemr.main_emrorddate = ds_temp_inisend.getColumn(0, "emrorddate");
  5868. //서식명
  5869. iviewerIemr.main_emrformnm = ds_temp_inisend.getColumn(0, "emrformnm");
  5870. //서식코드
  5871. iviewerIemr.main_emrformcd = ds_temp_inisend.getColumn(0, "emrformcd");
  5872. //진료과
  5873. iviewerIemr.main_emrdeptnm = ds_temp_inisend.getColumn(0, "emrdeptnm");
  5874. //진료과코드
  5875. iviewerIemr.main_emrdeptcd = ds_temp_inisend.getColumn(0, "emrdeptcd");
  5876. //2013/01/15 Start
  5877. //기록과코드
  5878. iviewerIemr.main_signemrdeptcd = ds_temp_inisend.getColumn(0, "signemrdeptcd");
  5879. //기록과
  5880. iviewerIemr.main_signemrdeptnm = ds_temp_inisend.getColumn(0, "signemrdeptnm");
  5881. //2013/01/15 End
  5882. //페이지
  5883. iviewerIemr.main_emrpage = ds_temp_inisend.getColumn(0, "emrpage");
  5884. iviewerIemr.main_emrhiddenmsg = ds_temp_inisend.getColumn(0, "emrhiddenmsg");
  5885. gtmptreatno = tmptreatno;
  5886. gtmpiformcd = tmpiformcd;
  5887. gemrpath = emrpath;
  5888. gemrorddate = emrorddate;
  5889. gemrformnm = emrformnm;
  5890. gemrformcd = emrformcd;
  5891. gemrdeptnm = emrdeptnm;
  5892. gemrdeptcd = emrdeptcd;
  5893. gemrpage = emrpage;
  5894. gemrhiddenmsg = emrhiddenmsg;
  5895. //var iemrNode = ds_imgrec_iemr;
  5896. iviewerIemr.searchChart_EMR(ds_imgrec_iemr); // CDIS 및 스캔 이미지 세팅
  5897. //alert("iviewerIemr 영상emr");
  5898. if (iviewerIemr.downloadChart() == true)
  5899. {
  5900. // 뷰어 모드 유지 기능 추가 - 20080417
  5901. var ViewMode;
  5902. ViewMode = iviewerIemr.hidden_currentViewMode;
  5903. if (utlf_isNull(ViewMode))
  5904. {
  5905. //2013/02/15 소스머지 시작(수정)
  5906. iviewerIemr.setupChartCopy("ChartView");
  5907. //2013/02/15 소스머지 끝
  5908. }
  5909. else
  5910. {
  5911. //2013/02/15 소스머지 시작(수정)
  5912. iviewerIemr.setupChartCopy(ViewMode);
  5913. //2013/02/15 소스머지 끝
  5914. }
  5915. }
  5916. }
  5917. /* @group : 폴더 존재여부 파악
  5918. * @ver : 2007.01.06
  5919. * @by : 박종훈
  5920. * @-----------------------------------
  5921. * @type : function
  5922. * @access : public
  5923. * @desc :
  5924. */
  5925. function fExistFolder(foldernm)
  5926. {
  5927. var objExtCommon = new ExtCommon();
  5928. var usernm = objExtCommon.getUserName();
  5929. if(utlf_isNull(foldernm)){
  5930. return;
  5931. }
  5932. var folderDept = foldernm.split("\\");
  5933. var currentPos = folderDept[0];
  5934. for(var i =1; i<folderDept.length ; i++){
  5935. if(utlf_isNull(folderDept[i])){
  5936. break;
  5937. }
  5938. currentPos += ("\\" + folderDept[i]);
  5939. objExtCommon.checkDirectory(currentPos, 1);
  5940. }
  5941. /*
  5942. //var fso,
  5943. var folder, s;
  5944. //fso = new ActiveXObject("Scripting.FileSystemObject");
  5945. try
  5946. {
  5947. folder = fso.GetFolder(foldernm);
  5948. s = folder.DateCreated;
  5949. if (!utlf_isNull(s))
  5950. {
  5951. fDelFolder(foldernm);
  5952. fMakeFolder(foldernm);
  5953. }
  5954. }
  5955. catch (e)
  5956. {
  5957. fMakeFolder(foldernm);
  5958. }
  5959. */
  5960. }
  5961. /* @group : 폴더 삭제
  5962. * @ver : 2007.01.06
  5963. * @by : 박종훈
  5964. * @-----------------------------------
  5965. * @type : function
  5966. * @access : public
  5967. * @desc :
  5968. */
  5969. function fDelFolder(foldernm)
  5970. {
  5971. // var fso;
  5972. // fso = new ActiveXObject("Scripting.FileSystemObject");
  5973. //20130418 김동준 start try Catch 추가
  5974. try {
  5975. fso.DeleteFolder(foldernm);
  5976. }
  5977. catch(e){
  5978. }
  5979. //20130418 김동준 end
  5980. }
  5981. /* @group : 폴더 생성
  5982. * @ver : 2007.01.06
  5983. * @by : 박종훈
  5984. * @-----------------------------------
  5985. * @type : function
  5986. * @access : public
  5987. * @desc :
  5988. */
  5989. function fMakeFolder(foldernm)
  5990. {
  5991. // var fso = new ActiveXObject("Scripting.FileSystemObject");
  5992. var check = true;
  5993. while(check){
  5994. try
  5995. {
  5996. var a = fso.CreateFolder(foldernm);
  5997. check = false;
  5998. }
  5999. catch (e)
  6000. {
  6001. check = true;
  6002. }
  6003. }
  6004. }
  6005. function fMakeFolder_20130328(foldernm)
  6006. {
  6007. // var fso = new ActiveXObject("Scripting.FileSystemObject");
  6008. var a = fso.CreateFolder(foldernm);
  6009. }
  6010. /**
  6011. * @desc : 사본발행 신청
  6012. * @id :
  6013. * @event : xforms-ready
  6014. * @return : void
  6015. * @authur : 박종훈
  6016. */
  6017. function fAppcopy()
  6018. {
  6019. utlf_addLog("***** fAppcopy() *****");
  6020. var appcopykey = iviewerIemr.setCopy(true); //영상뷰어에서의 리턴값
  6021. utlf_addLog("***** appcopykey : "+ appcopykey );
  6022. if (!utlf_isNull(appcopykey))
  6023. {
  6024. var copykey = appcopykey.split("|");
  6025. var appkeyArr = copykey[0].split("▦");
  6026. var reckind = ""; //기록, 영상구분(E/I)
  6027. //var chosflag = model.getValue(ref + "[" + rowpos + "]/chosflag");
  6028. if(btn_out.getSelectStatus() == true) {
  6029. var chosflag = "O";
  6030. } else if(btn_in.getSelectStatus() == true) {
  6031. var chosflag = "I";
  6032. }
  6033. var sendval = "";
  6034. var sendformcd = "";
  6035. var tmpval = "";
  6036. var tmpformcd = "";
  6037. var tmptotpage = "";
  6038. appkeyArr = "";
  6039. var copyparam = "";
  6040. var compsignno = "";
  6041. for(var i = 0; i < copykey.length; i++)
  6042. {
  6043. appkeyArr = copykey[i].split("▦");
  6044. reckind = appkeyArr[0];
  6045. if (reckind == "I")
  6046. {
  6047. tmpval = appkeyArr[1];
  6048. tmpformcd = appkeyArr[2];
  6049. tmptotpage = appkeyArr[3];
  6050. }
  6051. else
  6052. {
  6053. tmpval = appkeyArr[2];
  6054. tmpformcd = appkeyArr[1];
  6055. tmptotpage = appkeyArr[20];
  6056. if (compsignno != tmpval)
  6057. {
  6058. compsignno = tmpval;
  6059. }
  6060. else
  6061. {
  6062. continue;
  6063. }
  6064. }
  6065. var objColInfo = new Array();
  6066. objColInfo.push({col: "val", type:"string", size:256, val:tmpval});
  6067. objColInfo.push({col: "formcd", type:"string", size:256, val:tmpformcd});
  6068. objColInfo.push({col: "reckind", type:"string", size:256, val:reckind});
  6069. objColInfo.push({col: "chosflag", type:"string", size:256, val:chosflag});
  6070. objColInfo.push({col: "instcd", type:"string", size:256});
  6071. dsf_createDsRow("ds_copysend", objColInfo);
  6072. objColInfo = new Array();
  6073. objColInfo.push({col: "patnm", type:"string", size:256});
  6074. objColInfo.push({col: "ioflag", type:"string", size:256});
  6075. objColInfo.push({col: "recdd", type:"string", size:256});
  6076. objColInfo.push({col: "formnm", type:"string", size:256});
  6077. objColInfo.push({col: "deptnm", type:"string", size:256});
  6078. objColInfo.push({col: "deptcd", type:"string", size:256});
  6079. objColInfo.push({col: "orddd", type:"string", size:256});
  6080. objColInfo.push({col: "dschdd", type:"string", size:256});
  6081. objColInfo.push({col: "atdoctnm", type:"string", size:256});
  6082. objColInfo.push({col: "atdoctcd", type:"string", size:256});
  6083. objColInfo.push({col: "keyno", type:"string", size:256});
  6084. objColInfo.push({col: "formcd", type:"string", size:256});
  6085. objColInfo.push({col: "cretno", type:"string", size:256});
  6086. dsf_createDsRow("ds_tmpcopyinfo_copyinfo", objColInfo);
  6087. var oParam = {};
  6088. oParam.id = "TRMRI00407";
  6089. oParam.service = "recmngtapp.SystView";
  6090. oParam.method = "reqGetReqCopyInfo";
  6091. oParam.inds = "req=ds_copysend";
  6092. oParam.outds = "ds_tmpcopyinfo_copyinfo=copyinfo";
  6093. oParam.async = false;
  6094. oParam.callback = "cf_TRMRI00407";
  6095. tranf_submit(oParam);
  6096. if (arErrorCode.pop("TRMRI00407") > -1)
  6097. {
  6098. var patid = ds_patinfolist.getColumn(0, "pid");
  6099. var patnm = ds_patinfolist.getColumn(0, "hngnm");
  6100. var ioflag = ds_tmpcopyinfo_copyinfo.getColumn(0, "ioflag");
  6101. var recdd = ds_tmpcopyinfo_copyinfo.getColumn(0, "recdd");
  6102. var formnm = ds_tmpcopyinfo_copyinfo.getColumn(0, "formnm");
  6103. var deptnm = ds_tmpcopyinfo_copyinfo.getColumn(0, "deptnm");
  6104. var deptcd = ds_tmpcopyinfo_copyinfo.getColumn(0, "deptcd");
  6105. var orddd = ds_tmpcopyinfo_copyinfo.getColumn(0, "orddd");
  6106. var dschdd = ds_tmpcopyinfo_copyinfo.getColumn(0, "dschdd");
  6107. var atdoctnm = ds_tmpcopyinfo_copyinfo.getColumn(0, "atdoctnm");
  6108. var atdoctcd = ds_tmpcopyinfo_copyinfo.getColumn(0, "atdoctcd");
  6109. var sex = ds_patinfolist.getColumn(0, "sex");
  6110. var age = ds_patinfolist.getColumn(0, "age");
  6111. }
  6112. copyparam += patid + "▦" + patnm + "▦" + age + "▦" + sex + "▦" + tmptotpage + "▦" + reckind + "▦" + chosflag + "▦" + recdd + "▦" + formnm + "▦"
  6113. + deptnm + "▦" + deptcd + "▦" + orddd + "▦" + dschdd + "▦" + atdoctnm + "▦" + atdoctcd + "▦" + tmpval + "▦" + tmpformcd + "▩";
  6114. }
  6115. this.close();
  6116. return copyparam;
  6117. }
  6118. return "";
  6119. }
  6120. function fCheckAppList() {
  6121. var userinfo = getUserInfo("dutplcecd");
  6122. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  6123. //if(userinfo == "3230000000"){
  6124. if(model.getValue("/root/temp/hardcd/hardcd[hardcd='" + userinfo + "']/hardcd") != "")
  6125. {
  6126. // KNUH_20101124_박성호_end
  6127. var grdoRow = 0;
  6128. var grdcRow = 0;
  6129. var hist_orddd = 0;
  6130. var hist_cretno = 0;
  6131. var hist_indd = 0;
  6132. var copyseqno = 0;
  6133. var issno = 0;
  6134. for( var i = 1 ; i < grd_apphist.rows; i++) {
  6135. hist_orddd = model.getValue("/root/main/apphist/applist["+ i +"]/orddd");
  6136. hist_indd = model.getValue("/root/main/apphist/applist["+ i +"]/orddd");
  6137. hist_cretno = model.getValue("/root/main/apphist/applist["+ i +"]/cretno");
  6138. copyseqno = model.getValue("/root/main/apphist/applist["+ i +"]/copyseqno");
  6139. issno = model.getValue("/root/main/apphist/applist["+ i +"]/copyseqno");
  6140. // 외래 신청내역 check되도록
  6141. for(var j = 1; j < grd_outpat.rows; j++) {
  6142. grdoRow = grd_outpat.findRow(hist_orddd, j, 3);
  6143. grdcRow = grd_outpat.findRow(hist_cretno, j, 2);
  6144. if(grdoRow > 0 && (grdoRow == grdcRow)) model.setValue("/root/main/outpathistlist/outpathistlist["+ j +"]/chk", "Y");
  6145. }
  6146. // 입원 신청내역 check 되도록
  6147. for(var k = 1; k < grd_inapplist.rows; k++) {
  6148. grdoRow = grd_inapplist.findRow(hist_indd, k, 1);
  6149. grdcRow = grd_inapplist.findRow(hist_cretno, k, 6);
  6150. if(grdoRow > 0 && (grdoRow == grdcRow)) {
  6151. model.setValue("/root/main/inpathistlist/inpathistlist["+ k +"]/chk", "Y");
  6152. model.makeValue("/root/main/inpathistlist/inpathistlist["+ k +"]/copyseqno", copyseqno);
  6153. model.makeValue("/root/main/inpathistlist/inpathistlist["+ k +"]/issno", issno);
  6154. }
  6155. }
  6156. }
  6157. }
  6158. }
  6159. // 서식만
  6160. /*function fGetEMRList() {
  6161. model.removeNodeset("/root/send/reqdata");
  6162. ds_send_reqdata.setColumn(nRow, "depth", "3");
  6163. ds_send_reqdata.setColumn(nRow, "label", "-");
  6164. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6165. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6166. ds_send_reqdata.setColumn(nRow, "condflag", "ORDDD");
  6167. ds_send_reqdata.setColumn(nRow, "testflag", "N");
  6168. if(btn_out.selected) {
  6169. ds_send_reqdata.setColumn(nRow, "orddd", model.getValue("/root/main/outpathistlist/outpathistlist[" + grd_outpat.row + "]/orddd"));
  6170. ds_send_reqdata.setColumn(nRow, "indd", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddd"));
  6171. ds_send_reqdata.setColumn(nRow, "val", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddd"));
  6172. ds_send_reqdata.setColumn(nRow, "pid", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/pid"));
  6173. ds_send_reqdata.setColumn(nRow, "cretno", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/cretno"));
  6174. ds_send_reqdata.setColumn(nRow, "chosflag", "O");
  6175. ds_send_reqdata.setColumn(nRow, "ioflag", "O");
  6176. ds_send_reqdata.setColumn(nRow, "ordtype", "O");
  6177. ds_send_reqdata.setColumn(nRow, "orddeptcd",model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddeptcd"));
  6178. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6179. } else if(btn_in.selected) {
  6180. ds_send_reqdata.setColumn(nRow, "orddd", model.getValue("/root/main/inpathistlist/inpathistlist[" + grd_inapplist.row + "]/indd"));
  6181. ds_send_reqdata.setColumn(nRow, "indd", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/indd"));
  6182. ds_send_reqdata.setColumn(nRow, "val", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/indd"));
  6183. ds_send_reqdata.setColumn(nRow, "pid", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/pid"));
  6184. ds_send_reqdata.setColumn(nRow, "cretno", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/cretno"));
  6185. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6186. ds_send_reqdata.setColumn(nRow, "ioflag", "I");
  6187. ds_send_reqdata.setColumn(nRow, "ordtype", "I");
  6188. ds_send_reqdata.setColumn(nRow, "orddeptcd",model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/orddeptcd"));
  6189. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6190. }
  6191. if (submit("TRMRC03026",false))
  6192. {
  6193. }
  6194. btn_save.disabled = false;
  6195. btn_update.disabled = true;
  6196. btn_reappinfo.disabled = true;
  6197. }*/
  6198. // 외래 : 기록조회
  6199. function fGetEMROutTestList() {
  6200. utlf_addLog("***** fGetEMROutTestList() *****");
  6201. ds_send_reqdata.clearData();
  6202. var nRow = ds_send_reqdata.addRow();
  6203. ds_send_reqdata.setColumn(nRow, "testflag", "Y");
  6204. ds_grd_outpat.filter("chk=='Y'");
  6205. //var rsrvinfo = model.instance1.selectNodes("/root/main/outpathistlist/outpathistlist[chk = 'Y']");
  6206. if(ds_grd_outpat.rowcount < 1) {
  6207. ds_grd_outpat.filter("");
  6208. sysf_messageBox("외래 진료일을 check", "I008");
  6209. return;
  6210. } else{
  6211. ds_tmpinicert2_iniinfo.clearData();
  6212. iviewerIemr.resetInstance_EMR();
  6213. iviewerIemr.cleanViewer();
  6214. dsf_createDs("ds_grd_outpat_rsrvinfo_filter");
  6215. ds_grd_outpat_rsrvinfo_filter.copyData(ds_grd_outpat, true);
  6216. ds_grd_outpat.filter("");
  6217. ds_grd_outpat_rsrvinfo_filter.addColumn("chosflag", "string");
  6218. dsf_setDefaultVal(ds_grd_outpat_rsrvinfo_filter, "all");
  6219. for(var i=0; i<ds_grd_outpat_rsrvinfo_filter.rowcount; i++)
  6220. ds_grd_outpat_rsrvinfo_filter.setColumn(i, "chosflag", ds_grd_outpat_rsrvinfo_filter.getColumn(i, "ordtype"));
  6221. //ds_send_reqdata.setColumn(nRow, "rsrvinfo",getNodeListCSV(rsrvinfo));
  6222. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6223. ds_send_reqdata.setColumn(nRow, "depth", "3");
  6224. ds_send_reqdata.setColumn(nRow, "label", "-");
  6225. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6226. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6227. ds_send_reqdata.setColumn(nRow, "condflag", "ORDDD");
  6228. }
  6229. ds_send_reqdata.setColumn(nRow, "scrnid" , "SMMRC03000" );
  6230. ds_send_reqdata.setColumn(nRow, "addimageyn" , ds_main_otherinfo.getColumn(0, "addimageyn"));
  6231. if(group1.chk_testinfo.value == "Y") {
  6232. ds_send_reqdata.setColumn(nRow, "testinfo", "Y");
  6233. for( var i = 2; i < 9 ; i++) {
  6234. ds_main_otherinfo.setColumn(0, "testinfo" + i +"", "Y");
  6235. ds_send_reqdata.setColumn(nRow, "testinfo" + i +"", "Y");
  6236. }
  6237. } else {
  6238. if(group1.chk_testinfo2.value == "Y") {
  6239. ds_send_reqdata.setColumn(nRow, "testinfo2", "Y");
  6240. }
  6241. if(group1.chk_testinfo3.value == "Y") {
  6242. ds_send_reqdata.setColumn(nRow, "testinfo3", "Y");
  6243. }
  6244. if(group1.chk_testinfo4.value == "Y") {
  6245. ds_send_reqdata.setColumn(nRow, "testinfo4", "Y");
  6246. }
  6247. if(group1.chk_testinfo5.value == "Y") {
  6248. ds_send_reqdata.setColumn(nRow, "testinfo5", "Y");
  6249. }
  6250. if(group1.chk_testinfo6.value == "Y") {
  6251. ds_send_reqdata.setColumn(nRow, "testinfo6", "Y");
  6252. }
  6253. if(group1.chk_testinfo7.value == "Y") {
  6254. ds_send_reqdata.setColumn(nRow, "testinfo7", "Y");
  6255. }
  6256. if(group1.chk_testinfo8.value == "Y") {
  6257. ds_send_reqdata.setColumn(nRow, "testinfo8", "Y");
  6258. }
  6259. }
  6260. if(group1.chk_prcpinfo.value == "Y") {
  6261. ds_send_reqdata.setColumn(nRow, "prcpinfo", "Y");
  6262. }
  6263. // 검사결과만
  6264. if(group1.chk_onlytest.value == "Y") {
  6265. ds_send_reqdata.setColumn(nRow, "onlytest", "Y");
  6266. }
  6267. ds_tmpinicert2_iniinfo.clearData();
  6268. // utlf_addLog(ds_grd_outpat_rsrvinfo_filter.saveXML());
  6269. // utlf_addLog(ds_send_reqdata.saveXML());
  6270. //xp code add : col id change!!!execprcpuniqno
  6271. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  6272. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  6273. var oParam = {};
  6274. oParam.id = "TRMRC03016";
  6275. oParam.service = "chrtmngtapp.CopyIssMngt";
  6276. oParam.method = "reqGetEMROutTestList";
  6277. oParam.inds = "rsrvinfo=ds_grd_outpat_rsrvinfo_filter req=ds_send_reqdata";
  6278. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  6279. oParam.async = false;
  6280. oParam.callback = "cf_TRMRC03016";
  6281. tranf_submit(oParam);
  6282. if (arErrorCode.pop("TRMRC03016") > -1)
  6283. {
  6284. /* 이윤주(2015/11/03)
  6285. if( ds_main_otherinfo.getColumn(0, "addimageyn") != "Y" ){
  6286. iviewerIemr.cleanViewer();
  6287. var noimg = "";
  6288. var imgarray = "";
  6289. var certcnt = ds_tmpinicert_iniinfo.rowcount;
  6290. for(var a = 0; a < certcnt ; a++ ){
  6291. var add_imgflag = ds_tmpinicert_iniinfo.getColumn(a, "imgflag");
  6292. var add_formcd = ds_tmpinicert_iniinfo.getColumn(a, "formcd");
  6293. var add_formprogflag = ds_tmpinicert_iniinfo.getColumn(a, "formprogflag");
  6294. if( !utlf_isNull(add_imgflag) ){
  6295. if( add_imgflag != "N" && add_formcd != "Z001" && add_formprogflag != "IMG" ){
  6296. if( a == 0 ){
  6297. noimg = ds_tmpinicert_iniinfo.getColumn(a, "signno");
  6298. }else{
  6299. noimg = noimg + "*" + ds_tmpinicert_iniinfo.getColumn(a, "signno");
  6300. }
  6301. }
  6302. }
  6303. }
  6304. if( !utlf_isNull(noimg) )
  6305. imgarray = noimg.toString().split("*");
  6306. for(var i = 0; i < imgarray.length ; i++ ){
  6307. for(var j = 0; j < certcnt ; j++ ){
  6308. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumn(j, "signno")) && ( imgarray[i] == ds_tmpinicert_iniinfo.getColumn(j, "signno").toString() )){
  6309. var bSucc = ds_tmpinicert_iniinfo.deleteRow(j);
  6310. //ds_tmpinicert_iniinfo.applyChange();
  6311. }
  6312. }
  6313. }
  6314. }
  6315. */
  6316. dsf_copyColInfo(ds_tmpinicert2_iniinfo, ds_tmpinicert_iniinfo);
  6317. //dsf_copyDs(ds_tmpinicert2_iniinfo, ds_tmpinicert_iniinfo, "after");
  6318. ds_tmpinicert2_iniinfo.appendData(ds_tmpinicert_iniinfo);
  6319. dsf_setDefaultVal(ds_tmpinicert2_iniinfo, "all");
  6320. }
  6321. btn_reappinfo.enable = false;
  6322. }
  6323. // 입원 : 기록조회
  6324. function fGetEMRInTestList() {
  6325. var supitemindxseq = "";
  6326. var midindxseq = "";
  6327. for(var i = 0; i < grd_inpat.rows; i++ ) {
  6328. if("Y" == ds_grd_inpat.getColumn(i, "chk")) {
  6329. supitemindxseq += ds_grd_inpat.getColumn(i, "supitemindxseq") + ",";
  6330. midindxseq = ds_grd_inpat.getColumn(i, "midindxseq") + ",";
  6331. }
  6332. }
  6333. model.removeNodeset("/root/send/reqdata");
  6334. ds_send_reqdata.setColumn(nRow, "orddd", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/orddd"));
  6335. ds_send_reqdata.setColumn(nRow, "indd", model.getValue("/root/main/midissinfo/emrapplist["+ grd_inpat.row +"]/orddd"));
  6336. ds_send_reqdata.setColumn(nRow, "val", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/midindxseq"));
  6337. ds_send_reqdata.setColumn(nRow, "pid", model.getValue("/root/main/midissinfo/emrapplist["+ grd_inpat.row +"]/pid"));
  6338. ds_send_reqdata.setColumn(nRow, "cretno", model.getValue("/root/main/midissinfo/emrapplist["+ grd_inpat.row +"]/cretno"));
  6339. ds_send_reqdata.setColumn(nRow, "orddeptcd",model.getValue("/root/main/midissinfo/emrapplist["+ grd_inpat.row +"]/orddeptcd"));
  6340. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6341. ds_send_reqdata.setColumn(nRow, "ioflag", "I");
  6342. ds_send_reqdata.setColumn(nRow, "ordtype", "I");
  6343. if(isSearchString(supitemindxseq, "19338") || isSearchString(supitemindxseq, "5162")) {
  6344. if(isSearchString(midindxseq, "19698")) { // 처방(운영)
  6345. ds_send_reqdata.setColumn(nRow, "prcpinfo", "Y");
  6346. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6347. } else if(isSearchString(midindxseq, "18788")) { // 핵의학
  6348. ds_send_reqdata.setColumn(nRow, "testinfo6", "Y");
  6349. } else if(isSearchString(midindxseq, "19697")) { // 미생물
  6350. ds_send_reqdata.setColumn(nRow, "testinfo8", "Y");
  6351. } else { // 통합검사결과에 포함되는 검사결과
  6352. if(isSearchString(midindxseq, "11137")) { // 진검
  6353. ds_send_reqdata.setColumn(nRow, "depth", "5");
  6354. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"))
  6355. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6356. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6357. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6358. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6359. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6360. ds_send_reqdata.setColumn(nRow, "testinfo2", "Y");
  6361. } else if(isSearchString(midindxseq, "11136")) { // 영상
  6362. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"))
  6363. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6364. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6365. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6366. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6367. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6368. ds_send_reqdata.setColumn(nRow, "testinfo5", "Y");
  6369. } else if(isSearchString(midindxseq, "11133")) { // 내시경
  6370. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"))
  6371. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6372. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6373. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6374. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6375. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6376. ds_send_reqdata.setColumn(nRow, "testinfo7", "Y");
  6377. } else if(isSearchString(midindxseq, "11135")) { // 기능
  6378. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"))
  6379. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6380. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6381. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6382. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6383. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6384. ds_send_reqdata.setColumn(nRow, "testinfo4", "Y");
  6385. } else {
  6386. ds_send_reqdata.setColumn(nRow, "depth", "5");
  6387. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"));
  6388. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6389. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6390. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6391. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6392. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6393. }
  6394. }
  6395. } else{
  6396. ds_send_reqdata.setColumn(nRow, "depth", "5");
  6397. ds_send_reqdata.setColumn(nRow, "label", model.getValue("/root/main/midissinfo/emrapplist[" + grd_inpat.row + "]/formnm"));
  6398. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6399. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6400. ds_send_reqdata.setColumn(nRow, "condflag", "MID");
  6401. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6402. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6403. }
  6404. if(submit("TRMRC03025")) {
  6405. copyNodeset("/root/tmpinicert2/iniinfo", "/root/tmpinicert/iniinfo");
  6406. fEmrImgRec(); // html
  6407. }
  6408. btn_save.disabled = false;
  6409. btn_update.disabled = true;
  6410. btn_reappinfo.disabled = true;
  6411. }
  6412. // 수진이력
  6413. function fGetPatHist() {
  6414. frmf_setParameter("SPMMR05500_orddeptcd", ds_main_cond.getColumn(0, "orddeptcd"));
  6415. frmf_setParameter("SPMMR05500_pid", ds_main_cond.getColumn(0, "pid"));
  6416. frmf_modal("SPMMR05500", "SPMMR05500", null, null, 1, 10, 10, null, null, null, null, null, "M");
  6417. }
  6418. // 입원결과만
  6419. function fGetEMRTestList() {
  6420. model.removeNodeset("/root/send/reqdata");
  6421. ds_send_reqdata.setColumn(nRow, "depth", "3");
  6422. ds_send_reqdata.setColumn(nRow, "label", "-");
  6423. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6424. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6425. ds_send_reqdata.setColumn(nRow, "condflag", "ORDDD");
  6426. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6427. if(btn_out.selected) {
  6428. ds_send_reqdata.setColumn(nRow, "orddd", model.getValue("/root/main/outpathistlist/outpathistlist[" + grd_outpat.row + "]/orddd"));
  6429. ds_send_reqdata.setColumn(nRow, "indd", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddd"));
  6430. ds_send_reqdata.setColumn(nRow, "val", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddd"));
  6431. ds_send_reqdata.setColumn(nRow, "pid", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/pid"));
  6432. ds_send_reqdata.setColumn(nRow, "cretno", model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/cretno"));
  6433. ds_send_reqdata.setColumn(nRow, "chosflag", "O");
  6434. ds_send_reqdata.setColumn(nRow, "ioflag", "O");
  6435. ds_send_reqdata.setColumn(nRow, "ordtype", "O");
  6436. ds_send_reqdata.setColumn(nRow, "orddeptcd",model.getValue("/root/main/outpathistlist/outpathistlist["+ grd_outpat.row +"]/orddeptcd"));
  6437. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6438. var rsrvinfo = model.instance1.selectNodes("/root/main/outpathistlist/outpathistlist[chk = 'Y']");
  6439. model.makeValue("/root/send/search/rsrvinfo",getNodeListCSV(rsrvinfo));
  6440. } else if(btn_in.selected) {
  6441. ds_send_reqdata.setColumn(nRow, "orddd", model.getValue("/root/main/inpathistlist/inpathistlist[" + grd_inapplist.row + "]/indd"));
  6442. ds_send_reqdata.setColumn(nRow, "indd", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/indd"));
  6443. ds_send_reqdata.setColumn(nRow, "val", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/indd"));
  6444. ds_send_reqdata.setColumn(nRow, "pid", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/pid"));
  6445. ds_send_reqdata.setColumn(nRow, "cretno", model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/cretno"));
  6446. ds_send_reqdata.setColumn(nRow, "chosflag", "I");
  6447. ds_send_reqdata.setColumn(nRow, "ioflag", "I");
  6448. ds_send_reqdata.setColumn(nRow, "ordtype", "I");
  6449. ds_send_reqdata.setColumn(nRow, "orddeptcd",model.getValue("/root/main/inpathistlist/inpathistlist["+ grd_inapplist.row +"]/orddeptcd"));
  6450. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6451. /*ds_main_otherinfo.setColumn(0, "testinfo2", "Y");
  6452. ds_main_otherinfo.setColumn(0, "testinfo6", "Y");
  6453. ds_main_otherinfo.setColumn(0, "testinfo8", "Y");
  6454. ds_main_otherinfo.setColumn(0, "testinfo5", "Y");
  6455. ds_main_otherinfo.setColumn(0, "prcpinfo", "Y");*/
  6456. ds_send_reqdata.setColumn(nRow, "testinfo2", "Y");
  6457. ds_send_reqdata.setColumn(nRow, "testinfo6", "Y");
  6458. ds_send_reqdata.setColumn(nRow, "testinfo8", "Y");
  6459. ds_send_reqdata.setColumn(nRow, "testinfo5", "Y");
  6460. ds_send_reqdata.setColumn(nRow, "prcpinfo", "Y");
  6461. }
  6462. if(chk_testinfo.value == "Y") {
  6463. ds_send_reqdata.setColumn(nRow, "testinfo", "Y");
  6464. for( var i = 2; i < 9 ; i++) {
  6465. ds_main_otherinfo.setColumn(0, "testinfo" + i +"", "Y");
  6466. ds_send_reqdata.setColumn(nRow, "testinfo" + i +"", "Y");
  6467. }
  6468. } else {
  6469. if(chk_testinfo2.value == "Y") {
  6470. ds_send_reqdata.setColumn(nRow, "testinfo2", "Y");
  6471. }
  6472. if(chk_testinfo3.value == "Y") {
  6473. ds_send_reqdata.setColumn(nRow, "testinfo3", "Y");
  6474. }
  6475. if(chk_testinfo4.value == "Y") {
  6476. ds_send_reqdata.setColumn(nRow, "testinfo4", "Y");
  6477. }
  6478. if(chk_testinfo5.value == "Y") {
  6479. ds_send_reqdata.setColumn(nRow, "testinfo5", "Y");
  6480. }
  6481. if(chk_testinfo6.value == "Y") {
  6482. ds_send_reqdata.setColumn(nRow, "testinfo6", "Y");
  6483. }
  6484. if(chk_testinfo7.value == "Y") {
  6485. ds_send_reqdata.setColumn(nRow, "testinfo7", "Y");
  6486. }
  6487. if(chk_testinfo8.value == "Y") {
  6488. ds_send_reqdata.setColumn(nRow, "testinfo8", "Y");
  6489. }
  6490. }
  6491. if(chk_prcpinfo.value == "Y") {
  6492. ds_send_reqdata.setColumn(nRow, "prcpinfo", "Y");
  6493. }
  6494. /*if(param == "PRCP") {
  6495. ds_send_reqdata.setColumn(nRow, "fromdd", model.getValue("/root/main/cond/fromdd"));
  6496. ds_send_reqdata.setColumn(nRow, "todd", model.getValue("/root/main/cond/todd"));
  6497. model.makeValue("")
  6498. }*/
  6499. if (submit("TRMRC03025"))
  6500. {
  6501. }
  6502. btn_save.disabled = false;
  6503. btn_update.disabled = true;
  6504. btn_reappinfo.disabled = true;
  6505. }
  6506. // 처방일만
  6507. function fGetEMRPrcpList() {
  6508. utlf_addLog("***** fGetEMRPrcpList() *****");
  6509. ds_send_reqdata.clearData();
  6510. var nRow = ds_send_reqdata.addRow();
  6511. ds_send_reqdata.setColumn(nRow, "depth", "3");
  6512. ds_send_reqdata.setColumn(nRow, "label", "-");
  6513. ds_send_reqdata.setColumn(nRow, "tabflag", "ALL");
  6514. ds_send_reqdata.setColumn(nRow, "viewflag", "DEPT");
  6515. ds_send_reqdata.setColumn(nRow, "condflag", "ORDDD");
  6516. ds_send_reqdata.setColumn(nRow, "recinfo", "Y");
  6517. ds_send_reqdata.setColumn(nRow, "scrnflag", "prcp");
  6518. ds_send_reqdata.setColumn(nRow, "testinfo2", "Y");
  6519. ds_send_reqdata.setColumn(nRow, "testinfo6", "Y");
  6520. ds_send_reqdata.setColumn(nRow, "testinfo8", "Y");
  6521. ds_send_reqdata.setColumn(nRow, "testinfo5", "Y");
  6522. ds_send_reqdata.setColumn(nRow, "prcpinfo", "Y");
  6523. ds_send_reqdata.setColumn(nRow, "pid", ds_main_cond.getColumn(0, "pid"));
  6524. ds_send_reqdata.setColumn(nRow, "fromdd", ds_main_cond.getColumn(0, "fromdd"));
  6525. ds_send_reqdata.setColumn(nRow, "todd", ds_main_cond.getColumn(0, "todd"));
  6526. ds_send_reqdata.setColumn(nRow, "prcpflag", "Y");
  6527. //xp code add : col id change!!!execprcpuniqno
  6528. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  6529. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  6530. var oParam = {};
  6531. oParam.id = "TRMRC03029";
  6532. oParam.service = "chrtmngtapp.CopyIssMngt";
  6533. oParam.method = "reqGetEMRPrcpList";
  6534. oParam.inds = "req=ds_send_reqdata";
  6535. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  6536. oParam.async = false;
  6537. oParam.callback = "cf_TRMRC03029";
  6538. tranf_submit(oParam);
  6539. }
  6540. // 병동위임장
  6541. function fGetInptRoomInfo() {
  6542. ds_send_reqdata.clearData();
  6543. var nRow = ds_send_reqdata.addRow();
  6544. var iRow = ds_grd_apphist.rowposition;
  6545. ds_send_reqdata.setColumn(nRow, "pid", ds_grd_apphist.getColumn(iRow, "pid"));
  6546. ds_send_reqdata.setColumn(nRow, "orddd", ds_grd_apphist.getColumn(iRow, "orddd"));
  6547. ds_send_reqdata.setColumn(nRow, "cretno", ds_grd_apphist.getColumn(iRow, "cretno"));
  6548. ds_send_reqdata.setColumn(nRow, "formcd", "0000001127");
  6549. var oParam = {};
  6550. oParam.id = "TRMRC03027";
  6551. oParam.service = "chrtmngtapp.CopyIssMngt";
  6552. oParam.method = "reqGetOCRInfo";
  6553. oParam.inds = "req=ds_send_reqdata";
  6554. oParam.outds = "ds_main_cnfmlist=cnfmlist";
  6555. oParam.async = false;
  6556. oParam.callback = "cf_TRMRC03027";
  6557. tranf_submit(oParam);
  6558. if(arErrorCode.pop("TRMRC03027") > -1) {
  6559. ds_main_cond.setColumn(0, "dschdd", ds_main_cnfmlist.getColumn(0, "dschdd"));
  6560. ds_main_cond.setColumn(0, "roomcd", ds_main_cnfmlist.getColumn(0, "roomcd"));
  6561. }
  6562. }
  6563. // 신청된 사본 발급시 이미지 draw
  6564. function fViewer_back()
  6565. {
  6566. if (grd_apphist.rows<= 1) return;
  6567. if (grd_apphist.row < 1) return;
  6568. var iRow = grd_emrapplist.row;
  6569. if((grd_emrapplist.findRow("E", 1, grd_emrapplist.colRef("chrtflag"), false, false) == -1 && grd_emrapplist.findRow("I", 1, grd_emrapplist.colRef("chrtflag"), false, false) == -1)
  6570. && (grd_outapplist.findRow("E", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1 && grd_outapplist.findRow("I", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1)
  6571. ){
  6572. //messageBox("출력할 EMR 서식이 ","I004");
  6573. return;
  6574. }
  6575. /*if(grd_outapplist.findRow("E", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1 && grd_outapplist.findRow("I", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1){
  6576. messageBox("출력할 EMR 서식이 ","I004");
  6577. return;
  6578. }*/
  6579. var pid = model.getValue("/root/main/cond/pid");
  6580. var certinfo = "";
  6581. var intestinfo = "";
  6582. var outtestinfo = "";
  6583. var sChrtFlag = "";
  6584. // 영상 or EMR : 입원
  6585. for(var rowCnt = 1; rowCnt <= grd_emrapplist.rows; rowCnt++){
  6586. sChrtFlag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/chrtflag");
  6587. sReckeyNo = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno");
  6588. if(sReckeyNo != 0) {
  6589. if(sChrtFlag == "E"){
  6590. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag") + "▩";
  6591. }else if(sChrtFlag == "I"){
  6592. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag") + "▩";
  6593. }
  6594. }
  6595. }
  6596. // 영상 or EMR : 외래
  6597. for(var rowCnt = 1; rowCnt <= grd_outapplist.rows; rowCnt++){
  6598. sChrtFlag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/chrtflag");
  6599. sReckeyNo = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno");
  6600. if(sReckeyNo != 0) {
  6601. if(sChrtFlag == "E"){
  6602. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag") + "▩";
  6603. }else if(sChrtFlag == "I"){
  6604. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag") + "▩";
  6605. }
  6606. }
  6607. }
  6608. // 영상 or EMR : 입원
  6609. for(var rowCnt = 1; rowCnt <= grd_emrapplist.rows; rowCnt++){
  6610. sChrtFlag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/chrtflag");
  6611. testflag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag");
  6612. if(testflag != "-") {
  6613. if(sChrtFlag == "E"){
  6614. intestinfo = intestinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/orddd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag")+ "▩";
  6615. }
  6616. }
  6617. }
  6618. // 영상 or EMR : 외래
  6619. for(var rowCnt = 1; rowCnt <= grd_outapplist.rows; rowCnt++){
  6620. sChrtFlag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/chrtflag");
  6621. testflag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag");
  6622. if(testflag != "-") {
  6623. if(sChrtFlag == "E"){
  6624. outtestinfo = outtestinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/orddd")+ "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag")+"▩";
  6625. }
  6626. }
  6627. }
  6628. if (certinfo != "" || intestinfo != "" || outtestinfo != "")
  6629. {
  6630. var certArr = certinfo.split("▩");
  6631. var tmpsignno = ""; //EMR기록 인증번호
  6632. var tmptreatno = ""; //영상차트 키값
  6633. var tmpeformcd = ""; //EMR기록 서식코드
  6634. var tmpiformcd = ""; //영상차트 서식코드
  6635. var ieflag = "";
  6636. var tmpotestflag = "";
  6637. var tmpotestorddd = "";
  6638. var tmpotestcretno = "";
  6639. var tmpotestorddeptcd = "";
  6640. var tmpotestioflag = "";
  6641. var tmptestlist = "";
  6642. var tmpitestflag = "";
  6643. var tmpitestorddd = "";
  6644. var tmpitestcretno = "";
  6645. var tmpitestorddeptcd = "";
  6646. var tmpitestioflag = "";
  6647. var otestorddd = "";
  6648. var otestcretno = "";
  6649. var otestioflag = "";
  6650. var itestorddd = "";
  6651. var itestcretno = "";
  6652. var itestioflag = "";
  6653. var emrpath = "";
  6654. var emrorddate = "";
  6655. var emrformnm = "";
  6656. var emrformcd = "";
  6657. var emrdeptnm = "";
  6658. var emrdeptcd = "";
  6659. var emrpage = "";
  6660. var emrhiddenmsg = "";
  6661. var emrchosflag = "";
  6662. var emrsortno = "";
  6663. for(var i = 0; i < (certArr.length - 1); i++)
  6664. {
  6665. ieflag = certArr[i].split("▦")[0];
  6666. if (ieflag == "I")
  6667. {
  6668. tmptreatno += certArr[i].split("▦")[1]+ ",";
  6669. tmpiformcd += certArr[i].split("▦")[2]+ ",";
  6670. }
  6671. else
  6672. {
  6673. tmpsignno += certArr[i].split("▦")[1]+ ",";
  6674. tmpeformcd += certArr[i].split("▦")[2]+ ",";
  6675. }
  6676. }
  6677. if (tmpsignno != "" || intestinfo != "" || outtestinfo != "") //EMR기록 + 검사결과
  6678. {
  6679. model.removeNodeset("/root/inisend");
  6680. model.removeNodeset("/root/prthist");
  6681. model.makeValue("/root/inisend/signno", tmpsignno.substring(0, tmpsignno.length - 1));
  6682. model.makeValue("/root/inisend/dispall", "Y");
  6683. model.makeValue("/root/inisend/pid", model.getValue("/root/main/cond/pid"));
  6684. var outinfo = model.instance1.selectNodes("/root/temp/issinfo/emrlist[reckeyno = '0' and chrtflag = 'E']");
  6685. var ininfo = model.instance1.selectNodes("/root/main/issinfo/emrapplist[reckeyno = '0' and chrtflag = 'E']");
  6686. model.makeValue("/root/inisend/outinfo" ,getNodeListCSV(outinfo));
  6687. model.makeValue("/root/inisend/ininfo" ,getNodeListCSV(ininfo));
  6688. //if(submit("TRMRI02401"))
  6689. if(submit("TRMRC03020"))
  6690. {
  6691. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  6692. //--20130418 김동준 start(본원과 칠곡 분기)
  6693. var foldernm = "C:/CertrecPrnt" + getUserInfo("dutplceinstcd");
  6694. //var foldernm = "C:/CertrecPrnt";
  6695. //--20130418 김동준 end
  6696. if (certnodeList.length <= 0)
  6697. {
  6698. return;
  6699. }
  6700. //fExistFolder(foldernm);
  6701. var k = "";
  6702. var pid = "";
  6703. var ptnm = "";
  6704. var depthngnm = "";
  6705. var deptengabbr = "";
  6706. var rgstno = "";
  6707. var sa = "";
  6708. var disporddd = "";
  6709. var orddd = "";
  6710. var drid = "";
  6711. var roomcd = "";
  6712. var ordtype = "";
  6713. var chosflag = "";
  6714. var orddeptcd = "";
  6715. var signflag = "";
  6716. var imgflag = "";
  6717. var langflag = "";
  6718. //var tmptreatno = "";
  6719. //var tmpiformcd = "";
  6720. var signno = 0;
  6721. var formcd = "";
  6722. var srcformcd = "";
  6723. var formnm = "";
  6724. var formprogflag = "";
  6725. var recdt = "";
  6726. var wardheader = "";
  6727. var dateheader = "";
  6728. var doctorheader = "";
  6729. var printheader = "";
  6730. var pageheader = "";
  6731. var imgepath = "";
  6732. var formrecdt = "";
  6733. var fstrgstdt = "";
  6734. var lastupdtdt = "";
  6735. var staffconfirmdt = "";
  6736. var fstrgstrusrnm = "";
  6737. var lastupdtrusrnm = "";
  6738. var erdt = "";
  6739. var ervisittm = "";
  6740. var staffnmheader = "";
  6741. var staffnm = "";
  6742. var emrrecusrnmheader = "";
  6743. var emrrecusrnm = "";
  6744. var indd = "";
  6745. var dschdd = "";
  6746. var inorddepthngnm = "";
  6747. var dschorddepthngnm = "";
  6748. var sortno = "";
  6749. var incnt = "";
  6750. var prtnunm = getUserInfo("usernm");
  6751. var prtndeptnm = "";
  6752. //var getuseren = getUserInfo("userengnm");
  6753. var getdate = getCurrentDate();
  6754. var gettime = getCurrentTime();
  6755. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  6756. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  6757. var prtdt = dateprnt + " " + timeprnt;
  6758. /*var item = grdObj.item(grdObj.selectedIndex);
  6759. if(item == null){return;}
  6760. var rowpos = item.index + 1;
  6761. var condflag = model.getValue(ref + "[" + rowpos + "]/condflag");*/
  6762. var sDutplcecd = getUserInfo("dutplcecd");
  6763. srchorgcnt = certnodeList.length;
  6764. // KNUH_20101124_박성호_start_의무기록 부서코드 가져오기
  6765. //if (srchorgcnt < 15 || sDutplcecd == "3230000000")
  6766. if(srchorgcnt < 15 || (model.getValue("/root/temp/hardcd/hardcd[hardcd='" + sDutplcecd + "']/hardcd") != ""))
  6767. {
  6768. // KNUH_20101124_박성호_end
  6769. srchcnt = srchorgcnt;
  6770. }
  6771. else
  6772. {
  6773. srchcnt = 15;
  6774. }
  6775. //openLoadingBar("기록정보");
  6776. fExistFolder(foldernm);
  6777. for(var i = 1; i <= srchcnt; i++)
  6778. {
  6779. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  6780. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  6781. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  6782. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  6783. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  6784. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  6785. // 2009.10.27 이경희
  6786. // 사본발행에서 간호경과기록의 기록일자가 보이지 않는 문제점 수정
  6787. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  6788. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  6789. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  6790. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  6791. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  6792. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  6793. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  6794. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  6795. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  6796. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  6797. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  6798. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  6799. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  6800. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  6801. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  6802. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  6803. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  6804. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  6805. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  6806. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  6807. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  6808. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  6809. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  6810. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  6811. if(fstrgstrusrnm != "")
  6812. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  6813. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  6814. if(lastupdtrusrnm != "")
  6815. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  6816. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  6817. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  6818. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  6819. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  6820. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  6821. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  6822. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  6823. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  6824. sortno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sortno");
  6825. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  6826. if(incnt != "")
  6827. incnt += " 회차";
  6828. var ininfo = indd + " / " + inorddepthngnm;
  6829. if(erdt != "")
  6830. ininfo += " (응급실 내원일 : " + erdt + ")";
  6831. var dschinfo = dschdd + " / " + dschorddepthngnm;
  6832. var formnmarr = formnm.split("\n");
  6833. var topformnm = "";
  6834. var botformnm = "";
  6835. if (formnmarr.length == 1)
  6836. {
  6837. topformnm = formnmarr[0];
  6838. }
  6839. else if (formnmarr.length == 2)
  6840. {
  6841. topformnm = formnmarr[0];
  6842. botformnm = formnmarr[1];
  6843. }
  6844. else
  6845. {
  6846. topformnm = formnm;
  6847. }
  6848. for(var k = pid.length; k <= 8; k++)
  6849. {
  6850. if(k < 8){
  6851. pid = "0"+pid;
  6852. }
  6853. }
  6854. var str1 = pid.substr(0, 3);
  6855. var str2 = pid.substr(3, 2);
  6856. var str3 = pid.substr(5, 2);
  6857. var str4 = pid.substr(7, 1);
  6858. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  6859. if (chosflag == "O" || chosflag == "S")
  6860. {
  6861. wardheader = "진료과 : ";
  6862. }
  6863. else
  6864. {
  6865. wardheader = "병실 : ";
  6866. }
  6867. if (langflag == "KO")
  6868. {
  6869. if (chosflag == "O" || chosflag == "S")
  6870. {
  6871. wardheader = "진료과 : ";
  6872. }
  6873. else
  6874. {
  6875. wardheader = "병실 : ";
  6876. }
  6877. dateheader = "진료기간 : ";
  6878. doctorheader = "주치의 : ";
  6879. printheader = "출력 : ";
  6880. prtndeptnm = getUserInfo("dutplcenm");
  6881. imgepath = fGetImgPath("KO");
  6882. //imgepath = "com/commonweb/images/biglogo012.jpg"
  6883. pageheader = "페이지 : ";
  6884. }
  6885. else
  6886. {
  6887. if (chosflag == "O" || chosflag == "S")
  6888. {
  6889. wardheader = "Dept : ";
  6890. }
  6891. else
  6892. {
  6893. wardheader = "Room : ";
  6894. }
  6895. dateheader = "Date : ";
  6896. doctorheader = "Doctor : ";
  6897. printheader = "Print date : ";
  6898. prtndeptnm = getUserInfo("deptengnm");
  6899. imgepath = fGetImgPath("EN");
  6900. //imgepath = "com/commonweb/images/biglogo012e.jpg"
  6901. if (prtndeptnm == "" || prtndeptnm == null)
  6902. {
  6903. prtndeptnm = getUserInfo("dutplcenm");
  6904. }
  6905. pageheader = "Page : ";
  6906. }
  6907. ds_datagrid1.setColumn(i, "pid", pid);
  6908. ds_datagrid1.setColumn(i, "signno", signno);
  6909. ds_datagrid1.setColumn(i, "reckind", "01");
  6910. ds_datagrid1.setColumn(i, "readprtflag", "E");
  6911. ds_datagrid1.setColumn(i, "formcd", formcd);
  6912. ds_datagrid1.setColumn(i, "signflag", signflag);
  6913. ds_datagrid1.setColumn(i, "orddd", orddd);
  6914. ds_datagrid1.setColumn(i, "chosflag", chosflag);
  6915. ds_datagrid1.setColumn(i, "refusge", "");
  6916. ds_datagrid1.setColumn(i, "refremark", "");
  6917. if(trans == "")
  6918. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  6919. var ininm = "cmc";
  6920. switch(srcformcd)
  6921. {
  6922. case "0000000001"://외래초진
  6923. case "0000000002"://외래재진
  6924. /* case "0000000003"://입원초진 */
  6925. case "0000000004"://입원경과
  6926. case "0000003325"://DSC기록
  6927. ininm += "_0000000001.ini";
  6928. break;
  6929. case "0000000003"://입원초진 분리 -20100311-kys
  6930. /* 20100309-kys-입원초진 Staff사인 추가-사본 버젼 맞춘후 반영하기로 함-20100310 */
  6931. if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){
  6932. staffnmheader = "◈ Staff작성 및 확인 :";
  6933. if(staffnm != "")
  6934. staffnm += "(" + staffconfirmdt + ")";
  6935. emrrecusrnmheader = "";
  6936. ininm += "_1000000003.ini";
  6937. }else{
  6938. ininm += "_0000000003.ini";
  6939. }
  6940. break;
  6941. case "0000000676"://수술기록
  6942. staffnmheader = "◈ Surgeon :";
  6943. if(staffnm != "")
  6944. staffnm += "(" + staffconfirmdt + ")";
  6945. emrrecusrnmheader = "";
  6946. ininm += "_0000000676.ini";
  6947. break;
  6948. case "0000003169"://Brief OP Note
  6949. staffnmheader = "";
  6950. ininm += "_0000000676.ini";
  6951. break;
  6952. case "0000000680"://입퇴원요약
  6953. staffnmheader = "◈ Staff작성 및 확인 :";
  6954. if(staffnm != "")
  6955. staffnm += "(" + staffconfirmdt + ")";
  6956. emrrecusrnmheader = "◈ 의무기록사 :";
  6957. ininm += "_0000000680.ini";
  6958. break;
  6959. case "0000000679"://응급실기록
  6960. ininm += "_0000000679.ini";
  6961. break;
  6962. default:
  6963. //ininm += "_0000000001.ini";
  6964. if(formprogflag == "-" || formprogflag == "MAIN")
  6965. ininm += "_0000000001.ini";
  6966. else
  6967. ininm += ".ini";
  6968. break;
  6969. }
  6970. //출력메세지 미정의로 임시 막음(2009-06-30 박종훈)
  6971. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  6972. //trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_PRINT_COPY = " + "이 서식은 사본입니다(원본대조필)" + "\n %-->\n" + trans;
  6973. var fso = new ActiveXObject("Scripting.FileSystemObject");
  6974. if(signno != 0) {
  6975. var a = fso.CreateTextFile(foldernm + "\\" + chosflag + "_" + signno + "_" + formcd + ".HTML", true, true);
  6976. }else if(signno == 0) {
  6977. var a = fso.CreateTextFile(foldernm + "\\" + chosflag + "_" + orddd + "_" + formcd + ".HTML", true, true);
  6978. }
  6979. a.WriteLine(trans);
  6980. a.Close();
  6981. if(signno != 0) {
  6982. emrpath += foldernm + "\\" + chosflag + "_" + signno + "_" + formcd + ".HTML|";
  6983. }else if(signno == 0) {
  6984. emrpath += foldernm + "\\" + chosflag + "_" + orddd + "_" + formcd + ".HTML|";
  6985. }
  6986. //emrorddate += orddd + "|";
  6987. emrorddate += recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  6988. emrformnm += formnm + "|";
  6989. emrformcd += formcd + "|";
  6990. emrdeptnm += deptengabbr + "|";
  6991. emrdeptcd += orddeptcd + "|";
  6992. emrpage += "1|";
  6993. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  6994. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  6995. emrchosflag += chosflag + "|";
  6996. emrsortno += emrsortno + "|";
  6997. }
  6998. model.removeNodeset("/root/temp/inisend");
  6999. //이미지경로
  7000. model.makeValue("/root/temp/inisend/emrpath", emrpath.substring(0, emrpath.length - 1));
  7001. //진료일
  7002. model.makeValue("/root/temp/inisend/emrorddate", emrorddate.substring(0, emrorddate.length - 1));
  7003. //서식명
  7004. model.makeValue("/root/temp/inisend/emrformnm", emrformnm.substring(0, emrformnm.length - 1));
  7005. //서식코드
  7006. model.makeValue("/root/temp/inisend/emrformcd", emrformcd.substring(0, emrformcd.length - 1));
  7007. //진료과
  7008. model.makeValue("/root/temp/inisend/emrdeptnm", emrdeptnm.substring(0, emrdeptnm.length - 1));
  7009. //진료과코드
  7010. model.makeValue("/root/temp/inisend/emrdeptcd", emrdeptcd.substring(0, emrdeptcd.length - 1));
  7011. //페이지
  7012. model.makeValue("/root/temp/inisend/emrpage", emrpage.substring(0, emrpage.length - 1));
  7013. model.makeValue("/root/temp/inisend/emrhiddenmsg", emrhiddenmsg.substring(0, emrhiddenmsg.length - 1));
  7014. model.makeValue("/root/temp/inisend/emrchosflag", emrchosflag.substring(0, emrchosflag.length - 1));
  7015. model.makeValue("/root/temp/inisend/emrsortno", emrsortno.substring(0, emrsortno.length - 1));
  7016. }
  7017. model.refresh();
  7018. //chartview에 넘길 노드값 재구성(영상+EMR)
  7019. var treatvar = "";
  7020. var tsignno = "";
  7021. var temrpath = "";
  7022. var temrorddate = "";
  7023. var temrformnm = "";
  7024. var temrformcd = "";
  7025. var temrdeptnm = "";
  7026. var temrdeptcd = "";
  7027. var temrpage = "";
  7028. var temrhiddenmsg = "";
  7029. var outtestArr = outtestinfo.split("▩"); // 검사결과서식
  7030. var intestArr = intestinfo.split("▩"); // 검사결과서식
  7031. if(certArr.length > 1 ) { //EMR 서식이 있는 경우
  7032. for(var i = 0; i < (certArr.length - 1); i++)
  7033. {
  7034. ieflag = certArr[i].split("▦")[0];
  7035. if (ieflag == "I")
  7036. {
  7037. treatvar = "*" + certArr[i].split("▦")[1] + "-" + certArr[i].split("▦")[2];
  7038. temrpath += treatvar + "|";
  7039. temrorddate += treatvar + "|";
  7040. temrformnm += treatvar + "|";
  7041. temrformcd += treatvar + "|";
  7042. temrdeptnm += treatvar + "|";
  7043. temrdeptcd += treatvar + "|";
  7044. temrpage += treatvar + "|";
  7045. temrhiddenmsg += treatvar + "|";
  7046. }
  7047. else
  7048. {
  7049. tsignno = certArr[i].split("▦")[1];
  7050. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7051. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7052. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7053. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7054. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7055. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7056. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7057. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7058. var filepathnm = "";
  7059. var orddatenm = "";
  7060. var formnmnm = "";
  7061. var formcdnm = "";
  7062. var deptnmnm = "";
  7063. var deptcdnm = "";
  7064. var pagenm = "";
  7065. var hiddnm = "";
  7066. var chosflagnm = "";
  7067. for (var j = 0; j < filepathnmArr.length; j++)
  7068. {
  7069. filepathnm = filepathnmArr[j];
  7070. orddatenm = orddateArr[j];
  7071. formnmnm = formnmArr[j];
  7072. formcdnm = formcdArr[j];
  7073. deptnmnm = deptnmArr[j];
  7074. deptcdnm = deptcdArr[j];
  7075. pagenm = pageArr[j];
  7076. hiddnm = hiddArr[j];
  7077. if(isSearchString(filepathnm, tsignno))
  7078. {
  7079. temrpath += filepathnm + "|";
  7080. temrorddate += orddatenm + "|";
  7081. temrformnm += formnmnm + "|";
  7082. temrformcd += formcdnm + "|";
  7083. temrdeptnm += deptnmnm + "|";
  7084. temrdeptcd += deptcdnm + "|";
  7085. temrpage += pagenm + "|";
  7086. temrhiddenmsg += hiddnm + "|";
  7087. }
  7088. }
  7089. }
  7090. }
  7091. if(outtestArr.length > 1) { // reckeyno 가 없는 서식이 있음
  7092. for(var i = 0; i < (outtestArr.length - 1); i++)
  7093. {
  7094. tformno = outtestArr[i].split("▦")[5] +"_" + outtestArr[i].split("▦")[4] +"_" + outtestArr[i].split("▦")[2];
  7095. //torddd = outtestArr[i].split("▦")[4];
  7096. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7097. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7098. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7099. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7100. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7101. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7102. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7103. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7104. var chosflagArr = model.getValue("/root/temp/inisend/emrchosflag").split("|");
  7105. for (var j = 0; j < filepathnmArr.length; j++)
  7106. {
  7107. filepathnm = filepathnmArr[j];
  7108. orddatenm = orddateArr[j];
  7109. formnmnm = formnmArr[j];
  7110. formcdnm = formcdArr[j];
  7111. deptnmnm = deptnmArr[j];
  7112. deptcdnm = deptcdArr[j];
  7113. pagenm = pageArr[j];
  7114. hiddnm = hiddArr[j];
  7115. chosflagnm = chosflagArr[j];
  7116. if(chosflagnm == "O") {
  7117. if(isSearchString(filepathnm, tformno)) // formcd 만 있는 경우
  7118. {
  7119. temrpath += filepathnm + "|";
  7120. temrorddate += orddatenm + "|";
  7121. temrformnm += formnmnm + "|";
  7122. temrformcd += formcdnm + "|";
  7123. temrdeptnm += deptnmnm + "|";
  7124. temrdeptcd += deptcdnm + "|";
  7125. temrpage += pagenm + "|";
  7126. temrhiddenmsg += hiddnm + "|";
  7127. }
  7128. }
  7129. }
  7130. }
  7131. }
  7132. if(intestArr.length > 1) { // reckeyno 가 없는 서식이 있음
  7133. for(var i = 0; i < (intestArr.length - 1); i++)
  7134. {
  7135. tformno = intestArr[i].split("▦")[5] + "_" + intestArr[i].split("▦")[4] + "_" + intestArr[i].split("▦")[2];
  7136. //torddd = intestArr[i].split("▦")[4];
  7137. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7138. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7139. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7140. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7141. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7142. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7143. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7144. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7145. var chosflagArr = model.getValue("/root/temp/inisend/emrchosflag").split("|");
  7146. for (var j = 0; j < filepathnmArr.length; j++)
  7147. {
  7148. filepathnm = filepathnmArr[j];
  7149. orddatenm = orddateArr[j];
  7150. formnmnm = formnmArr[j];
  7151. formcdnm = formcdArr[j];
  7152. deptnmnm = deptnmArr[j];
  7153. deptcdnm = deptcdArr[j];
  7154. pagenm = pageArr[j];
  7155. hiddnm = hiddArr[j];
  7156. chosflagnm = chosflagArr[j];
  7157. if(chosflagnm == "I") {
  7158. if(isSearchString(filepathnm, tformno)) // formcd 만 있는 경우
  7159. {
  7160. temrpath += filepathnm + "|";
  7161. temrorddate += orddatenm + "|";
  7162. temrformnm += formnmnm + "|";
  7163. temrformcd += formcdnm + "|";
  7164. temrdeptnm += deptnmnm + "|";
  7165. temrdeptcd += deptcdnm + "|";
  7166. temrpage += pagenm + "|";
  7167. temrhiddenmsg += hiddnm + "|";
  7168. }
  7169. }
  7170. }
  7171. }
  7172. }
  7173. //sortNodeList("/root/main/grid01/row", "a", "asc");
  7174. } else { // 검사결과서식만 있는 경우
  7175. if(outtestArr.length > 1) { // reckeyno 가 없는 서식이 있음
  7176. for(var i = 0; i < (outtestArr.length - 1); i++)
  7177. {
  7178. tformno = outtestArr[i].split("▦")[5] +"_" + outtestArr[i].split("▦")[4] +"_" + outtestArr[i].split("▦")[2];
  7179. //tformno = outtestArr[i].split("▦")[2];
  7180. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7181. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7182. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7183. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7184. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7185. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7186. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7187. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7188. var chosflagArr = model.getValue("/root/temp/inisend/emrchosflag").split("|");
  7189. for (var j = 0; j < filepathnmArr.length; j++)
  7190. {
  7191. filepathnm = filepathnmArr[j];
  7192. orddatenm = orddateArr[j];
  7193. formnmnm = formnmArr[j];
  7194. formcdnm = formcdArr[j];
  7195. deptnmnm = deptnmArr[j];
  7196. deptcdnm = deptcdArr[j];
  7197. pagenm = pageArr[j];
  7198. hiddnm = hiddArr[j];
  7199. chosflagnm = chosflagArr[j];
  7200. if(chosflagnm == "O") {
  7201. if(isSearchString(filepathnm, tformno)) // formcd 만 있는 경우
  7202. {
  7203. temrpath += filepathnm + "|";
  7204. temrorddate += orddatenm + "|";
  7205. temrformnm += formnmnm + "|";
  7206. temrformcd += formcdnm + "|";
  7207. temrdeptnm += deptnmnm + "|";
  7208. temrdeptcd += deptcdnm + "|";
  7209. temrpage += pagenm + "|";
  7210. temrhiddenmsg += hiddnm + "|";
  7211. }
  7212. }
  7213. }
  7214. }
  7215. }
  7216. if(intestArr.length > 1) { // reckeyno 가 없는 서식이 있음
  7217. for(var i = 0; i < (intestArr.length - 1); i++)
  7218. {
  7219. //tformno = intestArr[i].split("▦")[2];
  7220. tformno = intestArr[i].split("▦")[5] + "_" + intestArr[i].split("▦")[4] + "_" + intestArr[i].split("▦")[2];
  7221. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7222. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7223. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7224. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7225. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7226. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7227. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7228. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7229. var chosflagArr = model.getValue("/root/temp/inisend/emrchosflag").split("|");
  7230. for (var j = 0; j < filepathnmArr.length; j++)
  7231. {
  7232. filepathnm = filepathnmArr[j];
  7233. orddatenm = orddateArr[j];
  7234. formnmnm = formnmArr[j];
  7235. formcdnm = formcdArr[j];
  7236. deptnmnm = deptnmArr[j];
  7237. deptcdnm = deptcdArr[j];
  7238. pagenm = pageArr[j];
  7239. hiddnm = hiddArr[j];
  7240. chosflagnm = chosflagArr[j];
  7241. if(chosflagnm == "I") {
  7242. if(isSearchString(filepathnm, tformno)) // formcd 만 있는 경우
  7243. {
  7244. temrpath += filepathnm + "|";
  7245. temrorddate += orddatenm + "|";
  7246. temrformnm += formnmnm + "|";
  7247. temrformcd += formcdnm + "|";
  7248. temrdeptnm += deptnmnm + "|";
  7249. temrdeptcd += deptcdnm + "|";
  7250. temrpage += pagenm + "|";
  7251. temrhiddenmsg += hiddnm + "|";
  7252. }
  7253. }
  7254. }
  7255. }
  7256. }
  7257. }
  7258. model.resetInstanceNode("/root/send/iemr");
  7259. model.setValue("/root/send/iemr/treatno", tmptreatno.substring(0, tmptreatno.length - 1));
  7260. model.setValue("/root/send/iemr/docucd", tmpiformcd.substring(0, tmpiformcd.length - 1));
  7261. //이미지경로
  7262. model.makeValue("/root/inisend/emrpath", temrpath.substring(0, temrpath.length - 1));
  7263. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/inisend/emrpath"));
  7264. //진료일
  7265. model.makeValue("/root/inisend/emrorddate", temrorddate.substring(0, temrorddate.length - 1));
  7266. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/inisend/emrorddate"));
  7267. //서식명
  7268. model.makeValue("/root/inisend/emrformnm", temrformnm.substring(0, temrformnm.length - 1));
  7269. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/inisend/emrformnm"));
  7270. //서식코드
  7271. model.makeValue("/root/inisend/emrformcd", temrformcd.substring(0, temrformcd.length - 1));
  7272. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/inisend/emrformcd"));
  7273. //진료과
  7274. model.makeValue("/root/inisend/emrdeptnm", temrdeptnm.substring(0, temrdeptnm.length - 1));
  7275. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/inisend/emrdeptnm"));
  7276. //진료과코드
  7277. model.makeValue("/root/inisend/emrdeptcd", temrdeptcd.substring(0, temrdeptcd.length - 1));
  7278. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/inisend/emrdeptcd"));
  7279. //페이지
  7280. model.makeValue("/root/inisend/emrpage", temrpage.substring(0, temrpage.length - 1));
  7281. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/inisend/emrpage"));
  7282. //히든 메세지
  7283. model.makeValue("/root/inisend/emrhiddenmsg", temrhiddenmsg.substring(0, temrhiddenmsg.length - 1));
  7284. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/inisend/emrhiddenmsg"));
  7285. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  7286. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  7287. if (iviewerIemr.window.javascript.downloadChart() == true)
  7288. {
  7289. // 뷰어 모드 유지 기능 추가 - 20080417
  7290. var ViewMode;
  7291. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  7292. if (ViewMode == null || ViewMode == "")
  7293. {
  7294. iviewerIemr.window.javascript.setupChart("ChartView");
  7295. }
  7296. else
  7297. {
  7298. iviewerIemr.window.javascript.setupChart(ViewMode);
  7299. }
  7300. }
  7301. }
  7302. }
  7303. }
  7304. // 신청된 사본 발급시 이미지 draw
  7305. function fViewer()
  7306. {
  7307. if (grd_apphist.rows<= 1) return;
  7308. if (grd_apphist.row < 1) return;
  7309. var iRow = grd_emrapplist.row;
  7310. if((grd_emrapplist.findRow("E", 1, grd_emrapplist.colRef("chrtflag"), false, false) == -1 && grd_emrapplist.findRow("I", 1, grd_emrapplist.colRef("chrtflag"), false, false) == -1)
  7311. && (grd_outapplist.findRow("E", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1 && grd_outapplist.findRow("I", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1)
  7312. ){
  7313. //messageBox("출력할 EMR 서식이 ","I004");
  7314. return;
  7315. }
  7316. /*if(grd_outapplist.findRow("E", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1 && grd_outapplist.findRow("I", 1, grd_outapplist.colRef("chrtflag"), false, false) == -1){
  7317. messageBox("출력할 EMR 서식이 ","I004");
  7318. return;
  7319. }*/
  7320. var pid = model.getValue("/root/main/cond/pid");
  7321. var certinfo = "";
  7322. var intestinfo = "";
  7323. var outtestinfo = "";
  7324. var sChrtFlag = "";
  7325. lf_getHardCDList("N", 3801, null, ds_init_pidynhcd);
  7326. //mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/pidynhcd", 3801); // 환자 등록번호에 '0' 처리여부
  7327. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  7328. // 영상 or EMR : 입원
  7329. for(var rowCnt = 1; rowCnt <= grd_emrapplist.rows; rowCnt++){
  7330. sChrtFlag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/chrtflag");
  7331. sReckeyNo = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno");
  7332. testflag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag");
  7333. if(sReckeyNo != 0) {
  7334. if(sChrtFlag == "E"){
  7335. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag") + "▩";
  7336. }else if(sChrtFlag == "I"){
  7337. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag") + "▩";
  7338. }
  7339. }
  7340. else if(testflag != "-") {
  7341. if(sChrtFlag == "E"){
  7342. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/orddd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag")+ "▩";
  7343. }
  7344. }
  7345. }
  7346. // 영상 or EMR : 외래
  7347. for(var rowCnt = 1; rowCnt <= grd_outapplist.rows; rowCnt++){
  7348. sChrtFlag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/chrtflag");
  7349. sReckeyNo = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno");
  7350. testflag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag");
  7351. if(sReckeyNo != 0) {
  7352. if(sChrtFlag == "E" && testflag != "T"){
  7353. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag") + "▩";
  7354. }else if(sChrtFlag == "I"){
  7355. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag") + "▩";
  7356. }
  7357. }
  7358. else if(testflag != "-" && testflag != "T") {
  7359. if(sChrtFlag == "E"){
  7360. certinfo = certinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/orddd")+ "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag")+"▩";
  7361. }
  7362. }
  7363. }
  7364. //alert(certinfo);
  7365. // 영상 or EMR : 입원
  7366. /* for(var rowCnt = 1; rowCnt <= grd_emrapplist.rows; rowCnt++){
  7367. sChrtFlag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/chrtflag");
  7368. testflag = model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag");
  7369. if(testflag != "-") {
  7370. if(sChrtFlag == "E"){
  7371. intestinfo = intestinfo + sChrtFlag + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/reckeyno") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/formcd") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/orddd") + "▦" + model.getValue("/root/main/issinfo/emrapplist["+rowCnt+"]/ioflag")+ "▩";
  7372. }
  7373. }
  7374. }*/
  7375. // 영상 or EMR : 외래
  7376. /*for(var rowCnt = 1; rowCnt <= grd_outapplist.rows; rowCnt++){
  7377. sChrtFlag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/chrtflag");
  7378. testflag = model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag");
  7379. if(testflag != "-") {
  7380. if(sChrtFlag == "E"){
  7381. outtestinfo = outtestinfo + sChrtFlag + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/reckeyno") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/formcd") + "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/testflag") +"▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/orddd")+ "▦" + model.getValue("/root/temp/issinfo/emrlist["+rowCnt+"]/ioflag")+"▩";
  7382. }
  7383. }
  7384. }*/
  7385. //alert(certinfo);
  7386. if (certinfo != "")
  7387. {
  7388. var certArr = certinfo.split("▩");
  7389. var tmpsignno = ""; //EMR기록 인증번호
  7390. var tmptreatno = ""; //영상차트 키값
  7391. var tmpeformcd = ""; //EMR기록 서식코드
  7392. var tmpiformcd = ""; //영상차트 서식코드
  7393. var ieflag = "";
  7394. var tmpotestflag = "";
  7395. var tmpotestorddd = "";
  7396. var tmpotestcretno = "";
  7397. var tmpotestorddeptcd = "";
  7398. var tmpotestioflag = "";
  7399. var tmptestlist = "";
  7400. var tmpitestflag = "";
  7401. var tmpitestorddd = "";
  7402. var tmpitestcretno = "";
  7403. var tmpitestorddeptcd = "";
  7404. var tmpitestioflag = "";
  7405. var otestorddd = "";
  7406. var otestcretno = "";
  7407. var otestioflag = "";
  7408. var itestorddd = "";
  7409. var itestcretno = "";
  7410. var itestioflag = "";
  7411. var emrpath = "";
  7412. var emrorddate = "";
  7413. var emrformnm = "";
  7414. var emrformcd = "";
  7415. var emrdeptnm = "";
  7416. var emrdeptcd = "";
  7417. var emrpage = "";
  7418. var emrhiddenmsg = "";
  7419. var emrchosflag = "";
  7420. var emrsortno = "";
  7421. for(var i = 0; i < (certArr.length - 1); i++)
  7422. {
  7423. ieflag = certArr[i].split("▦")[0];
  7424. if (ieflag == "I")
  7425. {
  7426. tmptreatno += certArr[i].split("▦")[1]+ ",";
  7427. tmpiformcd += certArr[i].split("▦")[2]+ ",";
  7428. }
  7429. else
  7430. {
  7431. tmpsignno += certArr[i].split("▦")[1]+ ",";
  7432. tmpeformcd += certArr[i].split("▦")[2]+ ",";
  7433. }
  7434. }
  7435. if (tmpsignno != "") //EMR기록 + 검사결과
  7436. {
  7437. model.removeNodeset("/root/inisend");
  7438. model.removeNodeset("/root/prthist");
  7439. model.makeValue("/root/inisend/signno", tmpsignno.substring(0, tmpsignno.length - 1));
  7440. model.makeValue("/root/inisend/dispall", "Y");
  7441. model.makeValue("/root/inisend/pid", model.getValue("/root/main/cond/pid"));
  7442. var outinfo = model.instance1.selectNodes("/root/temp/issinfo/emrlist[reckeyno = '0' and chrtflag = 'E' and testflag != 'T']");
  7443. var ininfo = model.instance1.selectNodes("/root/main/issinfo/emrapplist[reckeyno = '0' and chrtflag = 'E']");
  7444. model.makeValue("/root/inisend/outinfo" ,getNodeListCSV(outinfo));
  7445. model.makeValue("/root/inisend/ininfo" ,getNodeListCSV(ininfo));
  7446. //if(submit("TRMRI02401"))
  7447. if(submit("TRMRC03020"))
  7448. {
  7449. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  7450. //--20130418 김동준 start(본원과 칠곡 분기)
  7451. var foldernm = "C:/CertrecPrnt" + getUserInfo("dutplceinstcd");
  7452. //var foldernm = "C:/CertrecPrnt";
  7453. //--20130418 김동준 end
  7454. if (certnodeList.length <= 0)
  7455. {
  7456. return;
  7457. }
  7458. //fExistFolder(foldernm);
  7459. var k = "";
  7460. var pid = "";
  7461. var ptnm = "";
  7462. var depthngnm = "";
  7463. var deptengabbr = "";
  7464. var rgstno = "";
  7465. var sa = "";
  7466. var disporddd = "";
  7467. var orddd = "";
  7468. var drid = "";
  7469. var roomcd = "";
  7470. var ordtype = "";
  7471. var chosflag = "";
  7472. var orddeptcd = "";
  7473. var signflag = "";
  7474. var imgflag = "";
  7475. var langflag = "";
  7476. //var tmptreatno = "";
  7477. //var tmpiformcd = "";
  7478. var signno = 0;
  7479. var formcd = "";
  7480. var srcformcd = "";
  7481. var formnm = "";
  7482. var formprogflag = "";
  7483. var recdt = "";
  7484. var wardheader = "";
  7485. var dateheader = "";
  7486. var doctorheader = "";
  7487. var printheader = "";
  7488. var pageheader = "";
  7489. var imgepath = "";
  7490. var formrecdt = "";
  7491. var fstrgstdt = "";
  7492. var lastupdtdt = "";
  7493. var staffconfirmdt = "";
  7494. var fstrgstrusrnm = "";
  7495. var lastupdtrusrnm = "";
  7496. var erdt = "";
  7497. var ervisittm = "";
  7498. var staffnmheader = "";
  7499. var staffnm = "";
  7500. var emrrecusrnmheader = "";
  7501. var emrrecusrnm = "";
  7502. var indd = "";
  7503. var dschdd = "";
  7504. var inorddepthngnm = "";
  7505. var dschorddepthngnm = "";
  7506. var sortno = "";
  7507. var incnt = "";
  7508. var prtnunm = getUserInfo("usernm");
  7509. var prtndeptnm = "";
  7510. //var getuseren = getUserInfo("userengnm");
  7511. var getdate = getCurrentDate();
  7512. var gettime = getCurrentTime();
  7513. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  7514. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  7515. var prtdt = dateprnt + " " + timeprnt;
  7516. /*var item = grdObj.item(grdObj.selectedIndex);
  7517. if(item == null){return;}
  7518. var rowpos = item.index + 1;
  7519. var condflag = model.getValue(ref + "[" + rowpos + "]/condflag");*/
  7520. var sDutplcecd = getUserInfo("dutplcecd");
  7521. srchorgcnt = certnodeList.length;
  7522. srchcnt = srchorgcnt;
  7523. /*if (srchorgcnt < 15 || sDutplcecd == "3230000000")
  7524. srchcnt = srchorgcnt;
  7525. else
  7526. srchcnt = 15;*/
  7527. //openLoadingBar("기록정보");
  7528. fExistFolder(foldernm);
  7529. for(var i = 1; i <= srchcnt; i++)
  7530. {
  7531. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  7532. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  7533. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  7534. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  7535. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  7536. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  7537. // 2009.10.27 이경희
  7538. // 사본발행에서 간호경과기록의 기록일자가 보이지 않는 문제점 수정
  7539. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  7540. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  7541. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  7542. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  7543. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  7544. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  7545. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  7546. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  7547. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  7548. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  7549. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  7550. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  7551. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  7552. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  7553. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  7554. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  7555. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  7556. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  7557. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  7558. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  7559. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  7560. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  7561. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  7562. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  7563. /* 20100407-kys-작성자일시 주석처리.
  7564. if(fstrgstrusrnm != "")
  7565. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  7566. */
  7567. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  7568. /* 20100407-kys-작성자일시 주석처리.
  7569. if(lastupdtrusrnm != "")
  7570. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  7571. */
  7572. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  7573. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  7574. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  7575. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  7576. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  7577. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  7578. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  7579. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  7580. sortno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sortno");
  7581. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  7582. if(incnt != "")
  7583. incnt += " 회차";
  7584. var ininfo = indd + " / " + inorddepthngnm;
  7585. if(erdt != "")
  7586. ininfo += " (응급실 내원일 : " + erdt + ")";
  7587. var dschinfo = dschdd + " / " + dschorddepthngnm;
  7588. var formnmarr = formnm.split("\n");
  7589. var topformnm = "";
  7590. var botformnm = "";
  7591. if (formnmarr.length == 1)
  7592. {
  7593. topformnm = formnmarr[0];
  7594. }
  7595. else if (formnmarr.length == 2)
  7596. {
  7597. topformnm = formnmarr[0];
  7598. botformnm = formnmarr[1];
  7599. }
  7600. else
  7601. {
  7602. topformnm = formnm;
  7603. }
  7604. if (pidynhcd == "Y")
  7605. {
  7606. for(var k = pid.length; k <= 8; k++)
  7607. {
  7608. if(k < 8){
  7609. pid = "0"+pid;
  7610. }
  7611. }
  7612. var str1 = pid.substr(0, 3);
  7613. var str2 = pid.substr(3, 2);
  7614. var str3 = pid.substr(5, 2);
  7615. var str4 = pid.substr(7, 1);
  7616. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  7617. }
  7618. else
  7619. {
  7620. tmppid = pid;
  7621. }
  7622. /*
  7623. for(var k = pid.length; k <= 8; k++)
  7624. {
  7625. if(k < 8){
  7626. pid = "0"+pid;
  7627. }
  7628. }
  7629. var str1 = pid.substr(0, 3);
  7630. var str2 = pid.substr(3, 2);
  7631. var str3 = pid.substr(5, 2);
  7632. var str4 = pid.substr(7, 1);
  7633. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  7634. */
  7635. if (chosflag == "O" || chosflag == "S")
  7636. {
  7637. wardheader = "진료과 : ";
  7638. }
  7639. else
  7640. {
  7641. wardheader = "병실 : ";
  7642. }
  7643. if (langflag == "KO")
  7644. {
  7645. if (chosflag == "O" || chosflag == "S")
  7646. {
  7647. wardheader = "진료과 : ";
  7648. }
  7649. else
  7650. {
  7651. wardheader = "병실 : ";
  7652. }
  7653. dateheader = "진료기간 : ";
  7654. doctorheader = "주치의 : ";
  7655. printheader = "출력 : ";
  7656. prtndeptnm = getUserInfo("dutplcenm");
  7657. imgepath = fGetImgPath("KO");
  7658. //imgepath = "com/commonweb/images/biglogo012.jpg"
  7659. pageheader = "페이지 : ";
  7660. }
  7661. else
  7662. {
  7663. if (chosflag == "O" || chosflag == "S")
  7664. {
  7665. wardheader = "Dept : ";
  7666. }
  7667. else
  7668. {
  7669. wardheader = "Room : ";
  7670. }
  7671. dateheader = "Date : ";
  7672. doctorheader = "Doctor : ";
  7673. printheader = "Print date : ";
  7674. prtndeptnm = getUserInfo("deptengnm");
  7675. imgepath = fGetImgPath("EN");
  7676. //imgepath = "com/commonweb/images/biglogo012e.jpg"
  7677. if (prtndeptnm == "" || prtndeptnm == null)
  7678. {
  7679. prtndeptnm = getUserInfo("dutplcenm");
  7680. }
  7681. pageheader = "Page : ";
  7682. }
  7683. ds_datagrid1.setColumn(i, "pid", pid);
  7684. ds_datagrid1.setColumn(i, "signno", signno);
  7685. ds_datagrid1.setColumn(i, "reckind", "01");
  7686. ds_datagrid1.setColumn(i, "readprtflag", "E");
  7687. ds_datagrid1.setColumn(i, "formcd", formcd);
  7688. ds_datagrid1.setColumn(i, "signflag", signflag);
  7689. ds_datagrid1.setColumn(i, "orddd", orddd);
  7690. ds_datagrid1.setColumn(i, "chosflag", chosflag);
  7691. ds_datagrid1.setColumn(i, "refusge", "");
  7692. ds_datagrid1.setColumn(i, "refremark", "");
  7693. if(trans == "")
  7694. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  7695. var ininm = "cmc";
  7696. switch(srcformcd)
  7697. {
  7698. case "0000000001"://외래초진
  7699. case "0000000002"://외래재진
  7700. /* case "0000000003"://입원초진 */
  7701. case "0000000004"://입원경과
  7702. case "0000003325"://DSC기록
  7703. ininm += "_0000000001.ini";
  7704. break;
  7705. case "0000000003"://입원초진 분리 -20100311-kys
  7706. /* 20100309-kys-입원초진 Staff사인 추가-사본 버젼 맞춘후 반영하기로 함-20100310 */
  7707. if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){
  7708. staffnmheader = "◈ Staff작성 및 확인 :";
  7709. /* 20100407-kys-작성자일시 주석처리.
  7710. if(staffnm != "")
  7711. staffnm += "(" + staffconfirmdt + ")";
  7712. */
  7713. emrrecusrnmheader = "";
  7714. ininm += "_1000000003.ini";
  7715. }else{
  7716. ininm += "_0000000003.ini";
  7717. }
  7718. break;
  7719. case "0000000676"://수술기록
  7720. staffnmheader = "◈ Surgeon :";
  7721. /*
  7722. if(staffnm != "")
  7723. staffnm += "(" + staffconfirmdt + ")";
  7724. */
  7725. emrrecusrnmheader = "";
  7726. ininm += "_0000000676.ini";
  7727. break;
  7728. case "0000003169"://Brief OP Note
  7729. staffnmheader = "";
  7730. ininm += "_0000000676.ini";
  7731. break;
  7732. case "0000000680"://입퇴원요약
  7733. staffnmheader = "◈ Staff작성 및 확인 :";
  7734. /*
  7735. if(staffnm != "")
  7736. staffnm += "(" + staffconfirmdt + ")";
  7737. */
  7738. emrrecusrnmheader = "◈ 의무기록사 :";
  7739. ininm += "_0000000680.ini";
  7740. break;
  7741. case "0000000679"://응급실기록
  7742. ininm += "_0000000679.ini";
  7743. break;
  7744. default:
  7745. //ininm += "_0000000001.ini";
  7746. if(formprogflag == "-" || formprogflag == "MAIN")
  7747. ininm += "_0000000001.ini";
  7748. else
  7749. ininm += ".ini";
  7750. break;
  7751. }
  7752. //출력메세지 미정의로 임시 막음(2009-06-30 박종훈)
  7753. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  7754. //trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_PRINT_COPY = " + "이 서식은 사본입니다(원본대조필)" + "\n %-->\n" + trans;
  7755. var fso = new ActiveXObject("Scripting.FileSystemObject");
  7756. if(signno != 0) {
  7757. var a = fso.CreateTextFile(foldernm + "\\" + chosflag + "_" + signno + "_" + formcd + ".HTML", true, true);
  7758. }else if(signno == 0) {
  7759. var a = fso.CreateTextFile(foldernm + "\\" + chosflag + "_" + orddd + "_" + formcd + ".HTML", true, true);
  7760. }
  7761. a.WriteLine(trans);
  7762. a.Close();
  7763. if(signno != 0) {
  7764. emrpath += foldernm + "\\" + chosflag + "_" + signno + "_" + formcd + ".HTML|";
  7765. }else if(signno == 0) {
  7766. emrpath += foldernm + "\\" + chosflag + "_" + orddd + "_" + formcd + ".HTML|";
  7767. }
  7768. //emrorddate += orddd + "|";
  7769. emrorddate += recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  7770. emrformnm += formnm + "|";
  7771. emrformcd += formcd + "|";
  7772. emrdeptnm += deptengabbr + "|";
  7773. emrdeptcd += orddeptcd + "|";
  7774. emrpage += "1|";
  7775. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  7776. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  7777. emrchosflag += chosflag + "|";
  7778. }
  7779. model.removeNodeset("/root/temp/inisend");
  7780. //이미지경로
  7781. model.makeValue("/root/temp/inisend/emrpath", emrpath.substring(0, emrpath.length - 1));
  7782. //진료일
  7783. model.makeValue("/root/temp/inisend/emrorddate", emrorddate.substring(0, emrorddate.length - 1));
  7784. //서식명
  7785. model.makeValue("/root/temp/inisend/emrformnm", emrformnm.substring(0, emrformnm.length - 1));
  7786. //서식코드
  7787. model.makeValue("/root/temp/inisend/emrformcd", emrformcd.substring(0, emrformcd.length - 1));
  7788. //진료과
  7789. model.makeValue("/root/temp/inisend/emrdeptnm", emrdeptnm.substring(0, emrdeptnm.length - 1));
  7790. //진료과코드
  7791. model.makeValue("/root/temp/inisend/emrdeptcd", emrdeptcd.substring(0, emrdeptcd.length - 1));
  7792. //페이지
  7793. model.makeValue("/root/temp/inisend/emrpage", emrpage.substring(0, emrpage.length - 1));
  7794. model.makeValue("/root/temp/inisend/emrhiddenmsg", emrhiddenmsg.substring(0, emrhiddenmsg.length - 1));
  7795. model.makeValue("/root/temp/inisend/emrchosflag", emrchosflag.substring(0, emrchosflag.length - 1));
  7796. }
  7797. model.refresh();
  7798. //chartview에 넘길 노드값 재구성(영상+EMR)
  7799. var treatvar = "";
  7800. var tsignno = "";
  7801. var temrpath = "";
  7802. var temrorddate = "";
  7803. var temrformnm = "";
  7804. var temrformcd = "";
  7805. var temrdeptnm = "";
  7806. var temrdeptcd = "";
  7807. var temrpage = "";
  7808. var temrhiddenmsg = "";
  7809. //var outtestArr = outtestinfo.split("▩"); // 검사결과서식
  7810. //var intestArr = intestinfo.split("▩"); // 검사결과서식
  7811. if(certArr.length > 1 ) { //EMR 서식이 있는 경우
  7812. for(var i = 0; i < (certArr.length - 1); i++)
  7813. {
  7814. ieflag = certArr[i].split("▦")[0];
  7815. if (ieflag == "I")
  7816. {
  7817. treatvar = "*" + certArr[i].split("▦")[1] + "-" + certArr[i].split("▦")[2];
  7818. temrpath += treatvar + "|";
  7819. temrorddate += treatvar + "|";
  7820. temrformnm += treatvar + "|";
  7821. temrformcd += treatvar + "|";
  7822. temrdeptnm += treatvar + "|";
  7823. temrdeptcd += treatvar + "|";
  7824. temrpage += treatvar + "|";
  7825. temrhiddenmsg += treatvar + "|";
  7826. }
  7827. else
  7828. {
  7829. tsignno = certArr[i].split("▦")[3] +"_" + certArr[i].split("▦")[1] +"_" + certArr[i].split("▦")[2];
  7830. tformno = certArr[i].split("▦")[5] +"_" + certArr[i].split("▦")[4] +"_" + certArr[i].split("▦")[2];
  7831. var filepathnmArr = model.getValue("/root/temp/inisend/emrpath").split("|");
  7832. var orddateArr = model.getValue("/root/temp/inisend/emrorddate").split("|");
  7833. var formnmArr = model.getValue("/root/temp/inisend/emrformnm").split("|");
  7834. var formcdArr = model.getValue("/root/temp/inisend/emrformcd").split("|");
  7835. var deptnmArr = model.getValue("/root/temp/inisend/emrdeptnm").split("|");
  7836. var deptcdArr = model.getValue("/root/temp/inisend/emrdeptcd").split("|");
  7837. var pageArr = model.getValue("/root/temp/inisend/emrpage").split("|");
  7838. var hiddArr = model.getValue("/root/temp/inisend/emrhiddenmsg").split("|");
  7839. var filepathnm = "";
  7840. var orddatenm = "";
  7841. var formnmnm = "";
  7842. var formcdnm = "";
  7843. var deptnmnm = "";
  7844. var deptcdnm = "";
  7845. var pagenm = "";
  7846. var hiddnm = "";
  7847. var chosflagnm = "";
  7848. for (var j = 0; j < filepathnmArr.length; j++)
  7849. {
  7850. filepathnm = filepathnmArr[j];
  7851. orddatenm = orddateArr[j];
  7852. formnmnm = formnmArr[j];
  7853. formcdnm = formcdArr[j];
  7854. deptnmnm = deptnmArr[j];
  7855. deptcdnm = deptcdArr[j];
  7856. pagenm = pageArr[j];
  7857. hiddnm = hiddArr[j];
  7858. if(isSearchString(filepathnm, tsignno))
  7859. {
  7860. temrpath += filepathnm + "|";
  7861. temrorddate += orddatenm + "|";
  7862. temrformnm += formnmnm + "|";
  7863. temrformcd += formcdnm + "|";
  7864. temrdeptnm += deptnmnm + "|";
  7865. temrdeptcd += deptcdnm + "|";
  7866. temrpage += pagenm + "|";
  7867. temrhiddenmsg += hiddnm + "|";
  7868. } else if(isSearchString(filepathnm, tformno)) {
  7869. temrpath += filepathnm + "|";
  7870. temrorddate += orddatenm + "|";
  7871. temrformnm += formnmnm + "|";
  7872. temrformcd += formcdnm + "|";
  7873. temrdeptnm += deptnmnm + "|";
  7874. temrdeptcd += deptcdnm + "|";
  7875. temrpage += pagenm + "|";
  7876. temrhiddenmsg += hiddnm + "|";
  7877. }
  7878. }
  7879. }
  7880. }
  7881. }
  7882. model.resetInstanceNode("/root/send/iemr");
  7883. model.setValue("/root/send/iemr/treatno", tmptreatno.substring(0, tmptreatno.length - 1));
  7884. model.setValue("/root/send/iemr/docucd", tmpiformcd.substring(0, tmpiformcd.length - 1));
  7885. //이미지경로
  7886. model.makeValue("/root/inisend/emrpath", temrpath.substring(0, temrpath.length - 1));
  7887. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/inisend/emrpath"));
  7888. //진료일
  7889. model.makeValue("/root/inisend/emrorddate", temrorddate.substring(0, temrorddate.length - 1));
  7890. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/inisend/emrorddate"));
  7891. //서식명
  7892. model.makeValue("/root/inisend/emrformnm", temrformnm.substring(0, temrformnm.length - 1));
  7893. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/inisend/emrformnm"));
  7894. //서식코드
  7895. model.makeValue("/root/inisend/emrformcd", temrformcd.substring(0, temrformcd.length - 1));
  7896. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/inisend/emrformcd"));
  7897. //진료과
  7898. model.makeValue("/root/inisend/emrdeptnm", temrdeptnm.substring(0, temrdeptnm.length - 1));
  7899. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/inisend/emrdeptnm"));
  7900. //진료과코드
  7901. model.makeValue("/root/inisend/emrdeptcd", temrdeptcd.substring(0, temrdeptcd.length - 1));
  7902. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/inisend/emrdeptcd"));
  7903. //페이지
  7904. model.makeValue("/root/inisend/emrpage", temrpage.substring(0, temrpage.length - 1));
  7905. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/inisend/emrpage"));
  7906. //히든 메세지
  7907. model.makeValue("/root/inisend/emrhiddenmsg", temrhiddenmsg.substring(0, temrhiddenmsg.length - 1));
  7908. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/inisend/emrhiddenmsg"));
  7909. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  7910. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  7911. if (iviewerIemr.window.javascript.downloadChart() == true)
  7912. {
  7913. // 뷰어 모드 유지 기능 추가 - 20080417
  7914. var ViewMode;
  7915. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  7916. if (ViewMode == null || ViewMode == "")
  7917. {
  7918. iviewerIemr.window.javascript.setupChart("ChartView");
  7919. }
  7920. else
  7921. {
  7922. iviewerIemr.window.javascript.setupChart(ViewMode);
  7923. }
  7924. }
  7925. } else
  7926. {
  7927. model.removeNodeset("/root/inisend");
  7928. model.resetInstanceNode("/root/send/iemr");
  7929. model.setValue("/root/send/iemr/treatno", tmptreatno.substring(0, tmptreatno.length - 1));
  7930. model.setValue("/root/send/iemr/docucd", tmpiformcd.substring(0, tmpiformcd.length - 1));
  7931. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  7932. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  7933. if (iviewerIemr.window.javascript.downloadChart() == true)
  7934. {
  7935. // 뷰어 모드 유지 기능 추가 - 20080417
  7936. var ViewMode;
  7937. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  7938. if (ViewMode == null || ViewMode == "")
  7939. {
  7940. iviewerIemr.window.javascript.setupChart("ChartView");
  7941. }
  7942. else
  7943. {
  7944. iviewerIemr.window.javascript.setupChart(ViewMode);
  7945. }
  7946. }
  7947. }
  7948. }
  7949. }
  7950. function fGetImgPath(langflag)
  7951. {
  7952. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  7953. if(langflag != "EN")
  7954. {
  7955. //imgepath = "com/commonweb/images/biglogo" + dutplceinstcd + ".jpg";
  7956. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + ".jpg"
  7957. }
  7958. else
  7959. {
  7960. //imgepath = "com/commonweb/images/biglogo" + dutplceinstcd + "e.jpg";
  7961. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + "e.jpg"
  7962. }
  7963. return imgepath;
  7964. }
  7965. // 의무기록 부서코드 찾기
  7966. function fIsEmrDept()
  7967. {
  7968. var dutplcecd = sysf_getUserInfo("dutplcecd");
  7969. var hardcdno = "1001";
  7970. if( ds_send_reqdata.rowcount == 0 ) ds_send_reqdata.addRow();
  7971. ds_send_reqdata.setColumn(0, "hardcdno", hardcdno);
  7972. //utlf_addLog(ds_send_reqdata.saveXML());
  7973. var oParam = {};
  7974. oParam.id = "TRMRF03104";
  7975. oParam.service = "formmngtapp.SetIndxMngt";
  7976. oParam.method = "reqGetEmrInfoTeamCd";
  7977. oParam.inds = "req=ds_send_reqdata";
  7978. oParam.outds = "ds_main_hardcdlist=hardcdlist";
  7979. oParam.async = false;
  7980. oParam.callback = "cf_TRMRF03104";
  7981. tranf_submit(oParam);
  7982. //utlf_addLog(ds_main_hardcdlist.saveXML());
  7983. for(var idx = 0; idx < ds_main_hardcdlist.rowcount; idx++)
  7984. {
  7985. if(dutplcecd == ds_main_hardcdlist.getColumn(idx, "trgtcd"))
  7986. {
  7987. return 1;
  7988. }
  7989. }
  7990. return 0;
  7991. }
  7992. function fGetTotalCopies()
  7993. {
  7994. utlf_addLog("***** fGetTotalCopies() *****");
  7995. var tmpTotalCopies = 0;
  7996. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  7997. {
  7998. var shtno = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  7999. var copies = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  8000. tmpTotalCopies = shtno * copies;
  8001. }
  8002. else // 서울성모
  8003. {
  8004. // 가져온 그리드가 여러줄인경우를 대비해 전체 매수를 구한다.
  8005. for(var idx = 0; idx < ds_grd_rcptlist.rowcount; idx++)
  8006. {
  8007. tmpTotalCopies += eval(ds_grd_rcptlist.getColumn(idx, "shtno"));
  8008. }
  8009. }
  8010. utlf_addLog("***** tmpTotalCopies : " + tmpTotalCopies );
  8011. return tmpTotalCopies;
  8012. }
  8013. function fAddCalcorcdColumn(prnShtno)
  8014. {
  8015. var RecPrcpCd = model.getValue("/root/hidden/calcscorcd/hardcd/hardcd"); //의무기록 사본발행 수가코드
  8016. var shtno = 0;
  8017. var iFindRow =0;
  8018. var RowCnt = 0;
  8019. var lrow = 0;
  8020. var currentdate = "";
  8021. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8022. var PrevTotalCopies = fGetTotalCopies();
  8023. var AddCopies = prnShtno;
  8024. var Total = eval(PrevTotalCopies) + eval(AddCopies);
  8025. if(eval(grd_rcptlist.rows-grd_rcptlist.fixedrows) == 1) // 그리드에 한줄만 있을 경우
  8026. {
  8027. var iRow = grd_rcptlist.fixedrows;
  8028. if(Total == g_DefCnt)
  8029. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "DEF");
  8030. if(Total > g_DefCnt)
  8031. {
  8032. var rcptNodelist = findNodeset(model, "/root/main/rcptlist/rcptlist[" + iRow + "]");
  8033. if(rcptNodelist.length >= 1)
  8034. {
  8035. var rcptNode = rcptNodelist.item(0);
  8036. // 기본 수가로 설정
  8037. if(g_DefCnt != 0)
  8038. {
  8039. rcptNode.parentNode.appendChild(rcptNode);
  8040. if(iRow == 1)
  8041. {
  8042. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", g_DefCnt);
  8043. //model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscornm", "의무기록사본발행");
  8044. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "DEF");
  8045. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcpqty", "1"); // HCDD027 의 경우 매수를 10으로 하면 30000원이 계산됨.
  8046. // 추가 수가를 설정
  8047. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscorcd", g_AddCalcscorcd);
  8048. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  8049. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpcd", g_AddCalcscorcd);
  8050. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/shtno", eval(PrevTotalCopies) - eval(g_DefCnt) + eval(AddCopies));
  8051. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/defyn", "ADD");
  8052. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpqty", eval(PrevTotalCopies) - eval(g_DefCnt) + eval(AddCopies));
  8053. grd_rcptlist.refresh();
  8054. for(var idx = grd_rcptlist.fixedrows; idx <= eval(grd_rcptlist.rows-grd_rcptlist.fixedrows); idx++)
  8055. grd_rcptlist.rowStatus(idx) = 1;
  8056. }
  8057. }
  8058. else // g_DefCnt == 0 인 경우 추가 수가에만 변경한다.
  8059. {
  8060. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscorcd", g_AddCalcscorcd);
  8061. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  8062. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcpcd", g_AddCalcscorcd);
  8063. //model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", eval(PrevTotalCopies) + eval(AddCopies));
  8064. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", eval(AddCopies));
  8065. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "ADD");
  8066. //model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcpqty", eval(PrevTotalCopies) + eval(AddCopies));
  8067. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcpqty", eval(AddCopies));
  8068. }
  8069. /*
  8070. if(iRow == 1)
  8071. {
  8072. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", g_DefCnt);
  8073. //model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscornm", "의무기록사본발행");
  8074. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "DEF");
  8075. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcpqty", "1");
  8076. // 추가 수가를 설정
  8077. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscorcd", g_AddCalcscorcd);
  8078. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  8079. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpcd", g_AddCalcscorcd);
  8080. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/shtno", (tmpTotalCopies-g_DefCnt));
  8081. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/defyn", "ADD");
  8082. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpqty", (tmpTotalCopies-g_DefCnt));
  8083. }
  8084. */
  8085. //if(model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscorcd") == g_DefCalcscorcd && model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn") == "")
  8086. //{}
  8087. }
  8088. }
  8089. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") != model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims"))
  8090. {
  8091. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8092. grd_rcptlist.rowStatus(iRow) = 2;
  8093. }
  8094. }
  8095. else
  8096. {
  8097. for(var iRow = grd_rcptlist.fixedrows; iRow <= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++)
  8098. {
  8099. // 첫번째 매수 확인
  8100. if(model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscorcd") == g_DefCalcscorcd && model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn") == "")
  8101. {
  8102. var fstshtno = model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno");
  8103. if(fstshtno == g_DefCnt)
  8104. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "DEF");
  8105. if(fstshtno > g_DefCnt)
  8106. if(g_DefCnt == 0)
  8107. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", fstshtno);
  8108. else
  8109. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", g_DefCnt);
  8110. }
  8111. // 기본 수가로 설정
  8112. if(iRow == 1)
  8113. {
  8114. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/shtno", g_DefCnt);
  8115. //model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/calcscornm", "의무기록사본발행");
  8116. model.makeValue("/root/main/rcptlist/rcptlist[" + iRow + "]/defyn", "DEF");
  8117. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpqty", "1");
  8118. // 추가 수가를 설정
  8119. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscorcd", g_AddCalcscorcd);
  8120. //model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/calcscornm", "의무기록복사(추가한매당)");
  8121. model.setValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpcd", g_AddCalcscorcd);
  8122. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/shtno", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  8123. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/defyn", "ADD");
  8124. model.makeValue("/root/main/rcptlist/rcptlist[" + (iRow+1) + "]/prcpqty", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  8125. }
  8126. //{}
  8127. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") != model.getValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims"))
  8128. {
  8129. model.setValue("/root/main/rcptlist/rcptlist[" + iRow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8130. grd_rcptlist.rowStatus(iRow) = 2;
  8131. }
  8132. }
  8133. }
  8134. grd_rcptlist.refresh();
  8135. /*
  8136. for(var idx = grd_rcptlist.fixedrows; idx <= eval(grd_rcptlist.rows-grd_rcptlist.fixedrows); idx++)
  8137. grd_rcptlist.rowStatus(idx) = 1;
  8138. // 직할병원
  8139. if(issgoalcd == "06" && g_FreeCalcscorcd != "") {
  8140. iFindRow = grd_rcptlist.findRow("HCDD001",0,2);
  8141. if(iFindRow < 1){
  8142. for(var iRow = grd_rcptlist.fixedrows; iRow <= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++){
  8143. grd_rcptlist.rowStatus(iRow) = 4;
  8144. grd_rcptlist.isReadOnly(iRow,4) = true;
  8145. shtno += eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  8146. }
  8147. RowCnt = 1;
  8148. }
  8149. }else{// 그외 목적
  8150. //iFindRow = grd_rcptlist.findRow(RecPrcpCd,0,2);
  8151. //iFindRow = grd_rcptlist.findRow(g_AddCalcscorcd, 2, 2);
  8152. iFindRow = grd_rcptlist.findRow("ADD", 0, 22);
  8153. if(iFindRow < 1){
  8154. for(var iRow = grd_rcptlist.fixedrows; iRow<= (grd_rcptlist.rows-grd_rcptlist.fixedrows); iRow++){
  8155. grd_rcptlist.rowStatus(iRow) = 4;
  8156. grd_rcptlist.isReadOnly(iRow,4) = true;
  8157. shtno += eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  8158. }
  8159. if(shtno > 10){
  8160. RowCnt = 2;
  8161. }else{
  8162. RowCnt = 1;
  8163. }
  8164. }
  8165. }
  8166. if(iFindRow < 1)
  8167. {
  8168. for(var iRow = 1; iRow <= RowCnt; iRow++)
  8169. {
  8170. grd_rcptlist.additem();
  8171. currentdate = getCurrentDate();
  8172. lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8173. if(issgoalcd == "06")
  8174. {
  8175. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", "HCDD001");
  8176. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행(CMC 의사)");
  8177. // 처방코드(임시로 수가코드로 함)
  8178. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", "HCDD001");
  8179. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  8180. }
  8181. else
  8182. {
  8183. if(iRow == 1){
  8184. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_DefCalcscorcd);
  8185. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  8186. // 처방코드(임시로 수가코드로 함)
  8187. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_DefCalcscorcd);
  8188. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  8189. }else if(iRow == 2){
  8190. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_AddCalcscorcd);
  8191. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록복사(추가한매당)");
  8192. // 처방코드(임시로 수가코드로 함)
  8193. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_AddCalcscorcd);
  8194. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", "");
  8195. }
  8196. }
  8197. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  8198. {
  8199. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8200. }
  8201. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", currentdate);
  8202. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpno", "0");
  8203. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcphistno", "0");
  8204. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8205. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8206. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8207. if(RowCnt == 1){
  8208. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", shtno);
  8209. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", shtno);
  8210. if(issgoalcd == "06"){
  8211. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", shtno);
  8212. }else{
  8213. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  8214. }
  8215. }else{ // 직할병원을 제외한 목적의 경우로 매수가 10매 이상인 경우
  8216. if(iRow == 1){ // 수가코드 (HCDD027) 처리
  8217. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", "10");
  8218. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", "10");
  8219. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  8220. }else if(iRow == 2){ // 수가코드(HCDD030) 처리
  8221. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", (shtno-10));
  8222. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", (shtno-10));
  8223. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", (shtno-10));
  8224. }
  8225. }
  8226. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8227. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8228. grd_rcptlist.addStatus(lrow, "insert");
  8229. }
  8230. }
  8231. */
  8232. //2008-10-24 이창록 수정 부수가 0이면 defalut 으로 1로 셋팅
  8233. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies")==0){
  8234. model.setValue("/root/main/appinfo/copyinfo/emrappcopies",1);
  8235. //ipt_emrappcopies.refresh();
  8236. fChangedAppCopies();
  8237. }
  8238. //btn_delete.disabled = true;
  8239. //btn_delete.refresh();
  8240. }
  8241. /**
  8242. * @desc : 서식로드시 LoadingBar표시, 닫기
  8243. * @id :
  8244. * @event :
  8245. * @return :
  8246. * @authur : 박종훈
  8247. */
  8248. // function fShowProgress(flag, msg)
  8249. // {
  8250. // /*
  8251. // if (gPrestIvw != null)
  8252. // {
  8253. // gPrestIvw.visible = !flag;
  8254. // }
  8255. // */
  8256. // if (flag)
  8257. // {
  8258. // openLoadingBar(msg);
  8259. // }
  8260. // else
  8261. // {
  8262. // closeLoadingBar();
  8263. // }
  8264. // }
  8265. // 신청부수가 변경될 경우
  8266. function fChangedAppCopies2()
  8267. {
  8268. utlf_addLog("***** fChangedAppCopies2() *****");
  8269. utlf_addLog("***** "+g_inputbox+"*****");
  8270. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  8271. {
  8272. // grd_rcptlist.colAttribute (4, "disabled" ) = "true";
  8273. // grd_rcptlist.colAttribute (19, "disabled" ) = "true";
  8274. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "shtno"), "edittype", "none");
  8275. grd_rcptlist.setCellProperty("body", grd_rcptlist.getBindCellIndex("body", "prcptims"), "edittype", "none");
  8276. // 그리드 복사(이미 발행된 사본의 경우 백업을 해둠)
  8277. var lrow = ds_grd_apphist.rowposition;
  8278. var issno = ds_grd_apphist.getColumn(lrow, "issno");
  8279. if(!utlf_isNull(issno))
  8280. {
  8281. ds_grd_rcptlist.enableevent = false;
  8282. ds_grd_rcptlist.clearData();
  8283. ds_grd_rcptlist.copyData(ds_grd_tmprcptlist);
  8284. // model.removenode("/root/main/rcptlist");
  8285. // model.makeNode("/root/main/rcptlist");
  8286. // model.copyNode("/root/main/rcptlist", "/root/temp2/rcptlist");
  8287. ds_grd_rcptlist.rowposition = 0;
  8288. ds_grd_rcptlist.enableevent = true;
  8289. }
  8290. }
  8291. if (ds_grd_apphist.rowcount < 1) return;
  8292. if (ds_grd_apphist.rowposition < 0) return;
  8293. var totalshrtno = ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno");
  8294. var totalcopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  8295. //alert(totalcopies);
  8296. //alert(totalshrtno);
  8297. if(utlf_isNull(totalshrtno) || parseInt(totalshrtno) < 0)
  8298. return false;
  8299. if(utlf_isNull(totalcopies) || parseInt(totalcopies) < 0)
  8300. return false;
  8301. var totalpapers = parseInt(totalshrtno) * parseInt(totalcopies);
  8302. ds_temp2_appinfo_copyinfo.setColumn(0, "totalpapers", totalpapers);
  8303. return true;
  8304. }
  8305. function fChangedGridRow2()
  8306. {
  8307. var tmpTotalCopies = fGetTotalCopies(); // 수가 그리드의 매수 합만 계산
  8308. //var tmpTotalCopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalpapers");
  8309. var iRow = grd_rcptlist.row;
  8310. if(iRow < 0)
  8311. return;
  8312. var sShtNo= eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  8313. var sValue = 0;
  8314. var sCalcScorCd = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/calcscorcd");
  8315. var sExtraPrcpTims = 0;
  8316. var currentdate = getCurrentDate();
  8317. var iStatus = grd_rcptlist.rowStatus(iRow);
  8318. if(iStatus == 2){
  8319. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno") == model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno")){
  8320. grd_rcptlist.rowStatus(iRow) = 0;
  8321. }
  8322. }
  8323. // 선택한 그리드 행의 매수를 구함.
  8324. var sShtNo = eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  8325. /* 매수 부수 입력창이 있는 경우 매수, 부수를 수정하지 못하도록 수정하였기 때문에 필요가 없는 로직임.
  8326. // 2009.06.07 이경희
  8327. if(grd_rcptlist.rows > 2)
  8328. {
  8329. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/defyn") == "DEF" && eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno")) != 1)
  8330. {
  8331. messageBox("기본 수가부분은 변경할 수 없습니다. 하단의 추가수가부분을", "I008");
  8332. //model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno", "1");
  8333. if(g_DefCnt != 0)
  8334. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno", g_DefCnt);
  8335. else
  8336. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno", g_AddCnt);
  8337. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty", "1");
  8338. model.refresh();
  8339. return;
  8340. }
  8341. }
  8342. */
  8343. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/defyn") == "DEF" && eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno")) > 1)
  8344. {
  8345. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/calcscorcd") == g_DefCalcscorcd)
  8346. {
  8347. sShtNo = eval(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno"));
  8348. if(parseInt(sShtNo) < 1)
  8349. {
  8350. messageBox("매수는","I003");
  8351. model.setValue("/root/main/issinfo/rcptlist["+iRow+"]/shtno",model.getValue("/root/main/issinfo/rcptlist["+iRow+"]/oldshtno"));
  8352. if(iStatus == 2){
  8353. grd_rcptlist.rowStatus(iRow) = 0;
  8354. }
  8355. }
  8356. //else if(sShtNo > 10)
  8357. //else if(sShtNo > g_DefCnt)
  8358. else if(parseInt(tmpTotalCopies) > parseInt(g_DefCnt))
  8359. {
  8360. if(model.getValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/calcscorcd") == "")
  8361. {
  8362. var currentdate = getCurrentDate();
  8363. var lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8364. // 기존 그리드가 2줄인 경우
  8365. if((grd_rcptlist.rows - grd_rcptlist.fixedrows) == 2)
  8366. {
  8367. }
  8368. else
  8369. {
  8370. grd_rcptlist.additem();
  8371. lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8372. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8373. // 06: 직할병원 - 수가코드(HCDD001)
  8374. if(issgoalcd == "06" && g_FreeCalcscorcd != "")
  8375. {
  8376. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_FreeCalcscorcd);
  8377. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", g_FreeCalcscorcdnm);
  8378. // 처방코드(임시로 수가코드로 함)
  8379. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_FreeCalcscorcd);
  8380. }
  8381. else
  8382. { // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  8383. /*
  8384. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", RecPrcpCd);
  8385. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  8386. // 처방코드(임시로 수가코드로 함)
  8387. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", RecPrcpCd);
  8388. */
  8389. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_AddCalcscorcd);
  8390. if(g_AddCalcscorcd == "HCDD030")
  8391. {
  8392. //model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록복사(추가한매당)");
  8393. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", g_AddCalcscorcdnm);
  8394. }
  8395. else
  8396. {
  8397. //model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  8398. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", g_AddCalcscorcdnm);
  8399. }
  8400. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_AddCalcscorcd);
  8401. model.makeValue("/root/main/rcptlist/rcptlist[" + lrow + "]/defyn", "ADD");
  8402. }
  8403. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/unitcost", model.getValue("/root/temp/picmmech/picmmech_unitcost"));
  8404. if (ds_main_appinfo_copyinfo.getColumn(0, "ioflag") == "O")
  8405. {
  8406. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8407. }
  8408. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpdd", currentdate);
  8409. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpno", "0");
  8410. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcphistno", "0");
  8411. }
  8412. //var currentdate = getCurrentDate();
  8413. //var lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8414. // 기본 매수 등록
  8415. model.setValue("/root/main/rcptlist/rcptlist[" + (lrow-1) + "]/shtno", g_DefCnt);
  8416. model.setValue("/root/main/rcptlist/rcptlist[" + (lrow-1) + "]/prcpqty", "1");
  8417. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8418. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8419. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8420. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", parseInt(tmpTotalCopies) - parseInt(g_DefCnt));
  8421. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", "1");
  8422. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", parseInt(tmpTotalCopies) - parseInt(g_DefCnt));
  8423. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0)
  8424. {
  8425. model.setValue("/root/main/appinfo/copyinfo/emrappcopies", 1);
  8426. }
  8427. else
  8428. {
  8429. var Tmpappcopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  8430. model.setValue("/root/main/appinfo/copyinfo/emrappcopies", Tmpappcopies);
  8431. }
  8432. if(g_DefCalcscorcd != "HCDD027")
  8433. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8434. else
  8435. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", "1");
  8436. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8437. grd_rcptlist.addStatus(lrow, "insert");
  8438. }
  8439. else
  8440. {
  8441. var sExtraRow = grd_rcptlist.findRow("HCDD030", grd_rcptlist.fixedrows+1,2);
  8442. var sExtraStatus = grd_rcptlist.rowStatus(sExtraRow);
  8443. if(sExtraStatus != 1 && sExtraStatus != 3) grd_rcptlist.rowStatus(sExtraRow) = 2;
  8444. model.setValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/shtno", sValue);
  8445. model.setValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/prcpqty", sValue);
  8446. }
  8447. }
  8448. else // 총 매수가 10장 미만인 경우
  8449. {
  8450. if(model.getValue("/root/main/issinfo/rcptlist[calcscorcd ='HCDD030']/calcscorcd") == "")
  8451. {
  8452. var currentdate = getCurrentDate();
  8453. var lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8454. // 10장 미만이므로 전체 매수를 기입한다.
  8455. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", tmpTotalCopies);
  8456. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  8457. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8458. // 06: 직할병원 - 수가코드(HCDD001)
  8459. if(issgoalcd == "06" && g_FreeCalcscorcd != "")
  8460. {
  8461. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_FreeCalcscorcd);
  8462. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", g_FreeCalcscorcdnm);
  8463. // 처방코드(임시로 수가코드로 함)
  8464. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_FreeCalcscorcd);
  8465. }
  8466. }
  8467. }
  8468. }
  8469. }
  8470. else
  8471. {
  8472. var lrow = grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8473. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8474. // 06: 직할병원 - 수가코드(HCDD001)
  8475. if(issgoalcd == "06" && g_FreeCalcscorcd != "")
  8476. {
  8477. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", g_FreeCalcscorcd);
  8478. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", g_FreeCalcscorcdnm);
  8479. // 처방코드(임시로 수가코드로 함)
  8480. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", g_FreeCalcscorcd);
  8481. }
  8482. else
  8483. { // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  8484. /*
  8485. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscorcd", RecPrcpCd);
  8486. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/calcscornm", "의무기록사본발행");
  8487. // 처방코드(임시로 수가코드로 함)
  8488. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpcd", RecPrcpCd);
  8489. */
  8490. for(var i = 1; i < lrow; i++)
  8491. {
  8492. if(model.getValue("/root/main/rcptlist/rcptlist[" + i + "]/calcscorcd") == g_AddCalcscorcd)
  8493. {
  8494. lrow = i;
  8495. break;
  8496. }
  8497. }
  8498. if(parseInt(tmpTotalCopies) > parseInt(g_DefCnt))
  8499. {
  8500. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", parseInt(tmpTotalCopies) - parseInt(g_DefCnt));
  8501. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", parseInt(tmpTotalCopies) - parseInt(g_DefCnt));
  8502. }
  8503. else
  8504. {
  8505. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/shtno", parseInt(tmpTotalCopies));
  8506. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", "1");
  8507. }
  8508. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/oldshtno", "1");
  8509. //model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcpqty", parseInt(tmpTotalCopies) - parseInt(g_DefCnt));
  8510. }
  8511. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0)
  8512. {
  8513. model.setValue("/root/main/appinfo/copyinfo/emrappcopies", 1);
  8514. }
  8515. else
  8516. {
  8517. var Tmpappcopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  8518. model.setValue("/root/main/appinfo/copyinfo/emrappcopies", Tmpappcopies);
  8519. }
  8520. if(g_DefCalcscorcd != "HCDD027")
  8521. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8522. else
  8523. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", "1");
  8524. //model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8525. model.setValue("/root/main/rcptlist/rcptlist[" + lrow + "]/copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8526. grd_rcptlist.addStatus(lrow, "insert");
  8527. }
  8528. //if(sCalcScorCd == "HCDD001")
  8529. if(sCalcScorCd == g_FreeCalcscorcd)
  8530. {
  8531. if(sShtNo < 1){
  8532. messageBox("매수는","I003");
  8533. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/shtno",model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno"));
  8534. if(iStatus == 2){
  8535. grd_rcptlist.rowStatus(iRow) = 0;
  8536. }
  8537. sShtNo = model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/oldshtno");
  8538. }
  8539. if(sShtNo != model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty")){
  8540. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty", sShtNo);
  8541. }
  8542. }
  8543. else
  8544. { // 추가
  8545. if(sShtNo < 1)
  8546. {
  8547. var iStatus = grd_rcptlist.rowStatus(iRow);
  8548. if(iStatus == 1 || iStatus == 3)
  8549. grd_rcptlist.deleteRow(iRow, true);
  8550. else
  8551. grd_rcptlist.rowStatus(iRow) = 4;
  8552. }
  8553. else
  8554. {
  8555. if(model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/defyn") == "ADD" && (tmpTotalCopies - g_DefCnt) != model.getValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty")){
  8556. model.setValue("/root/main/rcptlist/rcptlist["+iRow+"]/prcpqty", (tmpTotalCopies - g_DefCnt));
  8557. }
  8558. }
  8559. }
  8560. }
  8561. // 추가(20090610)
  8562. // 수가 그리드 처리
  8563. function fChangedSugaGridRow()
  8564. {
  8565. utlf_addLog("***** fChangedSugaGridRow() *****");
  8566. var tmpTotalCopies = fGetTotalCopies(); // 수가 그리드의 매수 합만 계산
  8567. var iRow = ds_grd_rcptlist.rowposition;
  8568. utlf_addLog("***** fChangedSugaGridRow()"+iRow+"*****");
  8569. if(iRow < 0)
  8570. {
  8571. return;
  8572. }
  8573. //Event Off
  8574. ds_grd_rcptlist.enableevent = false;
  8575. // 매수
  8576. var sShtNo= eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  8577. var sValue = 0;
  8578. var sCalcScorCd = ds_grd_rcptlist.getColumn(iRow, "calcscorcd");
  8579. var sExtraPrcpTims = 0;
  8580. var currentdate = utlf_getCurrentDate();
  8581. // 선택한 그리드 행의 매수를 구함.
  8582. var sShtNo = eval(ds_grd_rcptlist.getColumn(iRow, "shtno"));
  8583. ds_grd_rcptlist.clearData();
  8584. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8585. // 06: 직할병원 - 수가코드(HCDD001)
  8586. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  8587. {
  8588. var currentdate = utlf_getCurrentDate();
  8589. var lrow = ds_grd_rcptlist.addRow;
  8590. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_FreeCalcscorcd);
  8591. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_FreeCalcscorcdnm);
  8592. ds_grd_rcptlist.setColumn(lrow, "prcpqty", tmpTotalCopies);
  8593. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  8594. ds_grd_rcptlist.setColumn(lrow, "rcptyn", ds_grd_tmprcptlist.getColumn(0, "rcptyn"));
  8595. // 처방코드(임시로 수가코드로 함)
  8596. ds_grd_rcptlist.setColumn(lrow, "prcpno", ds_grd_tmprcptlist.getColumn(0, "prcpno"));
  8597. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_FreeCalcscorcd);
  8598. ds_grd_rcptlist.setColumn(lrow, "prcphistno", ds_grd_tmprcptlist.getColumn(0, "prcphistno"));
  8599. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8600. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8601. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8602. ds_grd_rcptlist.setColumn(lrow, "shtno", tmpTotalCopies);
  8603. ds_grd_rcptlist.setColumn(lrow, "oldshtno", ds_grd_tmprcptlist.getColumn(0, "oldshtno"));
  8604. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_grd_tmprcptlist.getColumn(0, "prcpdd"));
  8605. ds_grd_rcptlist.setColumn(lrow, "issseqno", ds_main_appinfo_copyinfo.getColumn(0, "issseqno"));
  8606. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8607. ds_grd_rcptlist.setColumn(lrow, "issno", ds_main_appinfo_copyinfo.getColumn(0, "issno"));
  8608. ds_grd_rcptlist.setColumn(lrow, "prcptims", 1);
  8609. ds_grd_rcptlist.setColumn(lrow, "oldprcptims", ds_grd_tmprcptlist.getColumn(0, "oldprcptims"));
  8610. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  8611. // 부수
  8612. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0)
  8613. {
  8614. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", 1);
  8615. }
  8616. var arrPostion = new Array();
  8617. arrPostion[0] = lrow;
  8618. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8619. //grd_rcptlist.addStatus(lrow, "insert");
  8620. }
  8621. else
  8622. { // 다른 목적 : 수가코드(HCDD027) ->200원짜리 수가코드로 (HCDD030) 변경 이창록
  8623. // 총매수가 기본수가(10장)을 넘길 경우 첫번째 Row는 기본 수가로 2번째 Row는 추가수가로 셋팅
  8624. utlf_addLog("******"+tmpTotalCopies+"******");
  8625. utlf_addLog("******"+g_DefCnt+"******");
  8626. if(parseInt(tmpTotalCopies) > parseInt(g_DefCnt))
  8627. {
  8628. ds_grd_rcptlist.addRow();
  8629. ds_grd_rcptlist.addRow();
  8630. for(var i = 0; i < 2; i++)
  8631. //for(var i = 0; i < 2; i++)
  8632. {
  8633. var currentdate = utlf_getCurrentDate();
  8634. var lrow = i; //grd_rcptlist.rows - grd_rcptlist.fixedrows;
  8635. if (i == 0)
  8636. {
  8637. ds_grd_rcptlist.setColumn(lrow, "prcpstatcd", ds_grd_tmprcptlist.getColumn(0, "prcpstatcd"));
  8638. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_DefCalcscorcd);
  8639. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_DefCalcscorcdnm);
  8640. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  8641. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  8642. ds_grd_rcptlist.setColumn(lrow, "rcptyn", ds_grd_tmprcptlist.getColumn(0, "rcptyn"));
  8643. ds_grd_rcptlist.setColumn(lrow, "prcpno", ds_grd_tmprcptlist.getColumn(0, "prcpno"));
  8644. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_DefCalcscorcd);
  8645. ds_grd_rcptlist.setColumn(lrow, "prcphistno", ds_grd_tmprcptlist.getColumn(0, "prcphistno"));
  8646. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8647. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8648. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8649. ds_grd_rcptlist.setColumn(lrow, "shtno", g_DefCnt);
  8650. ds_grd_rcptlist.setColumn(lrow, "oldshtno", ds_grd_tmprcptlist.getColumn(0, "oldshtno"));
  8651. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_grd_tmprcptlist.getColumn(0, "prcpdd"));
  8652. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8653. // 기본일때는 수량을 1로
  8654. ds_grd_rcptlist.setColumn(lrow, "prcptims", "1");
  8655. ds_grd_rcptlist.setColumn(lrow, "oldprcptims", ds_grd_tmprcptlist.getColumn(0, "oldprcptims"));
  8656. // 처방코드(임시로 수가코드로 함)
  8657. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  8658. ds_grd_rcptlist.setColumn(lrow, "issseqno", ds_main_appinfo_copyinfo.getColumn(0, "issseqno"));
  8659. ds_grd_rcptlist.setColumn(lrow, "issno", ds_main_appinfo_copyinfo.getColumn(0, "issno"));
  8660. var arrPostion = new Array();
  8661. arrPostion[0] = lrow;
  8662. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8663. //grd_rcptlist.addStatus(lrow, "insert");
  8664. }
  8665. else
  8666. {
  8667. ds_grd_rcptlist.setColumn(lrow, "prcpstatcd", ds_grd_tmprcptlist.getColumn(0, "prcpstatcd"));
  8668. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_AddCalcscorcd);
  8669. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_AddCalcscorcdnm);
  8670. ds_grd_rcptlist.setColumn(lrow, "prcpqty", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  8671. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  8672. ds_grd_rcptlist.setColumn(lrow, "rcptyn", ds_grd_tmprcptlist.getColumn(0, "rcptyn"));
  8673. ds_grd_rcptlist.setColumn(lrow, "prcpno", ds_grd_tmprcptlist.getColumn(0, "prcpno"));
  8674. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_AddCalcscorcd);
  8675. ds_grd_rcptlist.setColumn(lrow, "prcphistno", ds_grd_tmprcptlist.getColumn(0, "prcphistno"));
  8676. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8677. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8678. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8679. ds_grd_rcptlist.setColumn(lrow, "shtno", parseInt(tmpTotalCopies)-parseInt(g_DefCnt));
  8680. ds_grd_rcptlist.setColumn(lrow, "oldshtno", ds_grd_tmprcptlist.getColumn(0, "oldshtno"));
  8681. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_grd_tmprcptlist.getColumn(0, "prcpdd"));
  8682. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8683. ds_grd_rcptlist.setColumn(lrow, "prcptims", 1);
  8684. ds_grd_rcptlist.setColumn(lrow, "oldprcptims", ds_grd_tmprcptlist.getColumn(0, "oldprcptims"));
  8685. // 처방코드(임시로 수가코드로 함)
  8686. ds_grd_rcptlist.setColumn(lrow, "defyn", "ADD");
  8687. ds_grd_rcptlist.setColumn(lrow, "issseqno", ds_main_appinfo_copyinfo.getColumn(0, "issseqno"));
  8688. ds_grd_rcptlist.setColumn(lrow, "issno", ds_main_appinfo_copyinfo.getColumn(0, "issno"));
  8689. var arrPostion = new Array();
  8690. arrPostion[0] = lrow;
  8691. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8692. //grd_rcptlist.addStatus(lrow, "insert");
  8693. }
  8694. }
  8695. }
  8696. else
  8697. {
  8698. if (tmpTotalCopies > 0)
  8699. {
  8700. var currentdate = utlf_getCurrentDate();
  8701. var lrow = ds_grd_rcptlist.addRow();
  8702. ds_grd_rcptlist.setColumn(lrow, "prcpstatcd", ds_grd_tmprcptlist.getColumn(0, "prcpstatcd"));
  8703. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_DefCalcscorcd);
  8704. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_DefCalcscorcdnm);
  8705. ds_grd_rcptlist.setColumn(lrow, "prcpqty", 1);
  8706. ds_grd_rcptlist.setColumn(lrow, "unitcost", ds_temp_picmmech.getColumn(0, "picmmech_unitcost"));
  8707. ds_grd_rcptlist.setColumn(lrow, "rcptyn", ds_grd_tmprcptlist.getColumn(0, "rcptyn"));
  8708. ds_grd_rcptlist.setColumn(lrow, "prcpno", ds_grd_tmprcptlist.getColumn(0, "prcpno"));
  8709. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_DefCalcscorcd);
  8710. ds_grd_rcptlist.setColumn(lrow, "prcphistno", ds_grd_tmprcptlist.getColumn(0, "prcphistno"));
  8711. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  8712. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  8713. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  8714. ds_grd_rcptlist.setColumn(lrow, "shtno", tmpTotalCopies);
  8715. ds_grd_rcptlist.setColumn(lrow, "oldshtno", ds_grd_tmprcptlist.getColumn(0, "oldshtno"));
  8716. ds_grd_rcptlist.setColumn(lrow, "prcpdd", ds_grd_tmprcptlist.getColumn(0, "prcpdd"));
  8717. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8718. ds_grd_rcptlist.setColumn(lrow, "prcptims", 1);
  8719. ds_grd_rcptlist.setColumn(lrow, "oldprcptims", ds_grd_tmprcptlist.getColumn(0, "oldprcptims"));
  8720. // 처방코드(임시로 수가코드로 함)
  8721. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  8722. ds_grd_rcptlist.setColumn(lrow, "issseqno", ds_main_appinfo_copyinfo.getColumn(0, "issseqno"));
  8723. ds_grd_rcptlist.setColumn(lrow, "issno", ds_main_appinfo_copyinfo.getColumn(0, "issno"));
  8724. var arrPostion = new Array();
  8725. arrPostion[0] = lrow;
  8726. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8727. //grd_rcptlist.addStatus(lrow, "insert");
  8728. }
  8729. }
  8730. }
  8731. //Event On
  8732. ds_grd_rcptlist.enableevent = true;
  8733. }
  8734. function fSugaCalc()
  8735. {
  8736. utlf_addLog("***** fSugaCalc() *****");
  8737. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  8738. {
  8739. var lrow = ds_grd_apphist.rowposition;
  8740. ds_send_search.setColumn(0, "issno", ds_grd_apphist.getColumn(lrow, "issno"));
  8741. var issno = ds_grd_apphist.getColumn(lrow, "issno");
  8742. utlf_addLog("fSugaCalc issno : " + issno );
  8743. if(ds_grd_rcptlist.rowcount > 0 && utlf_isNull(issno))
  8744. {
  8745. //Event Off
  8746. ds_grd_rcptlist.enableevent = false;
  8747. // 매수 * 부수 입력창
  8748. var shtno1 = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  8749. var copies1 = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  8750. var total1 = shtno1 * copies1;
  8751. var shtno2 = 0;
  8752. var copies2 = 1;
  8753. var total2 = 0;
  8754. for(var idx = 0; idx < ds_grd_rcptlist.rowcount; idx++)
  8755. {
  8756. shtno2 += eval(ds_grd_rcptlist.getColumn(idx, "shtno"));
  8757. }
  8758. total2 = shtno2 * copies2;
  8759. if(total1 < total2) // 그리드의 총 장수에 비해 입력한 매수*부수의 결과가 작은경우
  8760. {
  8761. // 그리드가 2줄인 경우 한줄을 삭제하고 기본으로 미리 세팅한다.
  8762. if(ds_grd_rcptlist.rowcount > 1)
  8763. {
  8764. //model.removeNodeset("/root/main/rcptlist/rcptlist[" + (grd_rcptlist.rows-grd_rcptlist.fixedrows) + "]");
  8765. ds_grd_rcptlist.deleteRow(ds_grd_rcptlist.rowcount - 1);
  8766. }
  8767. // 기본 수가로 설정
  8768. var iRow = ds_grd_rcptlist.rowcount - 1;
  8769. ds_grd_rcptlist.setColumn(iRow, "shtno", g_DefCnt);
  8770. //ds_grd_rcptlist.setColumn(iRow, "shtno", "1"); // HCDD027 의 경우 매수를 10으로 하면 30000원이 계산됨.
  8771. ds_grd_rcptlist.setColumn(iRow, "calcscornm", "의무기록사본발행");
  8772. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  8773. ds_grd_rcptlist.setColumn(iRow, "prcpqty", "1");
  8774. var arrPostion = new Array();
  8775. arrPostion[0] = 0;
  8776. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8777. //grd_rcptlist.rowStatus(1) = 1;
  8778. ds_grd_rcptlist.rowposition = 0;
  8779. }
  8780. //Event Off
  8781. ds_grd_rcptlist.enableevent = true;
  8782. return 1;
  8783. }
  8784. }
  8785. }
  8786. function fChangeStatus()
  8787. {
  8788. utlf_addLog("***** fChangeStatus() *****");
  8789. //Event Off
  8790. ds_grd_rcptlist.enableevent = false;
  8791. var lrow = ds_grd_apphist.rowposition;
  8792. ds_send_search.setColumn(0, "issno", ds_grd_apphist.getColumn(lrow, "issno"));
  8793. var issno = ds_grd_apphist.getColumn(lrow, "issno");
  8794. utlf_addLog("***** fChangeStatus() issno : " + issno + "*****");
  8795. // 발행번호가 있는 경우 --> 수정으로 들어갈때
  8796. if(!utlf_isNull(issno))
  8797. {
  8798. // 매수 * 부수 입력창
  8799. var shtno1 = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  8800. var copies1 = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  8801. var NewTotal = shtno1 * copies1;
  8802. var shtno2 = 0;
  8803. var copies2 = 1;
  8804. var OldTotal = 0;
  8805. for(var idx = 0; idx < ds_grd_tmprcptlist.rowcount; idx++)
  8806. {
  8807. shtno2 += eval(ds_grd_rcptlist.getColumn(idx, "shtno"));
  8808. }
  8809. OldTotal = shtno2 * copies2;
  8810. // 1) 이미 발행된 사본의 총 장수가 10장 미만인 경우 그리드는 1줄
  8811. if(parseInt(OldTotal) <= parseInt(g_DefCnt))
  8812. {
  8813. var iRow = ds_grd_rcptlist.rowcount - 1;
  8814. // 새로 입력받은 사본의 총 장수가 10장 미만(처방 그리드는 1줄이며, 매수를 기본으로 변경해주고 그리드 상태값을 변경)
  8815. if(parseInt(NewTotal) <= parseInt(g_DefCnt))
  8816. {
  8817. ds_grd_rcptlist.setColumn(iRow, "shtno", NewTotal);
  8818. ds_grd_rcptlist.setColumn(iRow, "calcscornm", "의무기록사본발행");
  8819. ds_grd_rcptlist.setColumn(iRow, "defyn", "DEF");
  8820. ds_grd_rcptlist.setColumn(iRow, "prcpqty", "1");
  8821. ds_grd_rcptlist.rowposition = 0;
  8822. var arrPostion = new Array();
  8823. arrPostion[0] = 0;
  8824. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  8825. //grd_rcptlist.rowStatus(1) = 2; // UPDATE
  8826. }
  8827. else // 새로 입력받은 사본의 총 장수가 10장 이상이 되서 처방 그리드가 2줄이 되는 경우
  8828. {
  8829. var issgoalcd = ds_main_appinfo_copyinfo.getColumn(0, "issgoalcd");
  8830. // 06: 직할병원 - 수가코드(HCDD001)
  8831. if(issgoalcd == "06" && !utlf_isNull(g_FreeCalcscorcd))
  8832. {
  8833. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", g_FreeCalcscorcd);
  8834. ds_grd_rcptlist.setColumn(lrow, "calcscornm", g_FreeCalcscorcdnm);
  8835. // 처방코드(임시로 수가코드로 함)
  8836. ds_grd_rcptlist.setColumn(lrow, "prcpcd", g_FreeCalcscorcd);
  8837. }
  8838. else
  8839. {
  8840. var lrow = ds_grd_rcptlist.rowcount - 1;
  8841. utlf_addLog(" parseInt(NewTotal) <= parseInt(g_DefCnt) else : issgoalcd == 06 && !utlf_isNull(g_FreeCalcscorcd else : " + lrow);
  8842. var arrPostion = new Array();
  8843. arrPostion[0] = lrow-1;
  8844. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  8845. arrPostion[0] = lrow;
  8846. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  8847. // ds_grd_rcptlist.addStatus(lrow-1, "update");
  8848. // ds_grd_rcptlist.addStatus(lrow, "insert");
  8849. }
  8850. }
  8851. }
  8852. else // 2) 이미 발행된 사본의 총 장수가 10장 이상이 되는 경우
  8853. {
  8854. var iRow = ds_grd_rcptlist.rowcount - 1;
  8855. // 새로 입력받은 사본의 총 장수가 10장 미만(처방 그리드는 2줄인 상태에서 상태값을 변경)
  8856. if(parseInt(NewTotal) <= parseInt(g_DefCnt))
  8857. {
  8858. // 첫번째 그리드는 매수 수정
  8859. ds_grd_rcptlist.rowposition = 0;
  8860. var lrow = ds_grd_rcptlist.rowposition;
  8861. var arrPostion = new Array();
  8862. arrPostion[0] = lrow;
  8863. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  8864. //grd_rcptlist.rowStatus(lrow) = 2; // UPDATE
  8865. ds_grd_rcptlist.setColumn(lrow, "shtno", NewTotal);
  8866. ds_grd_rcptlist.setColumn(lrow, "calcscornm", "의무기록사본발행");
  8867. ds_grd_rcptlist.setColumn(lrow, "defyn", "DEF");
  8868. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  8869. // 2번째 그리드는 삭제 상태로 변경
  8870. var arrPostion = new Array();
  8871. arrPostion[0] = (parseInt(lrow)+1);
  8872. grdf_setStatus(grd_rcptlist, "D", arrPostion);
  8873. //grd_rcptlist.rowStatus( (parseInt(lrow)+1) ) = 4; // DELETE
  8874. }
  8875. else // 새로 입력받은 사본의 총 장수가 10장 이상(처방 그리드는 이미 2줄이므로 HCDD030 수가의 prcpqty를 변경)
  8876. {
  8877. // 첫번째 그리드는 그대로 둔 상태에서 추가 수가 부분만 매수를 변경하고 그리드 상태를 업데이트로 변경
  8878. ds_grd_rcptlist.rowposition = 1;
  8879. var lrow = ds_grd_rcptlist.rowposition;
  8880. ds_grd_rcptlist.setColumn(lrow, "shtno", parseInt(NewTotal) - parseInt(g_DefCnt));
  8881. ds_grd_rcptlist.setColumn(lrow, "prcpqty", parseInt(NewTotal) - parseInt(g_DefCnt));
  8882. ds_grd_rcptlist.setColumn(lrow, "defyn", "ADD");
  8883. if(ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies") == 0){
  8884. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", 1);
  8885. }else{
  8886. var Tmpappcopies = ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies");
  8887. ds_main_appinfo_copyinfo.setColumn(0, "emrappcopies", Tmpappcopies);
  8888. }
  8889. if(g_DefCalcscorcd != "HCDD027")
  8890. ds_grd_rcptlist.setColumn(lrow, "prcptims", ds_main_appinfo_copyinfo.getColumn(0, "emrappcopies"));
  8891. else
  8892. ds_grd_rcptlist.setColumn(lrow, "prcptims", "1");
  8893. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  8894. // 기존에 발행된 내역이 1줄(10매 미안)이었다가 10매 이상이 되어 변경한 후 다시 10매 이상으로 변경하는 경우)
  8895. // 2번째 row의 상태를 insert로 두기 위함.
  8896. var arrPostion = new Array();
  8897. arrPostion[0] = lrow;
  8898. grdf_setStatus(grd_rcptlist, "U", arrPostion);
  8899. //grd_rcptlist.rowStatus(lrow) = 2; // UPDATE
  8900. }
  8901. }
  8902. }
  8903. //Event On
  8904. ds_grd_rcptlist.enableevent = true;
  8905. }
  8906. function fSetSugaCode()
  8907. {
  8908. utlf_addLog("***** fSetSugaCode() *****");
  8909. lf_getHardCDList("N", 77, null, ds_hidden_calcscorcd); //의무기록사본발행수가코드
  8910. lf_getHardCDList("N", 1004, null, ds_hidden_tmpcalcscorcd); //의무기록사본발행수가코드
  8911. // 2009.05.11 이경희
  8912. // 기본수가, 추가수가로 변경
  8913. for(var idx = 0; idx < ds_hidden_tmpcalcscorcd.rowcount; idx++)
  8914. {
  8915. var arrCalcscorcd = ds_hidden_tmpcalcscorcd.getColumn(idx, "hardcd").split("|");
  8916. if(arrCalcscorcd[0] == "DEF") // 기본 수가코드
  8917. {
  8918. g_DefCalcscorcd = arrCalcscorcd[1];
  8919. g_DefCalcscorcdnm = ds_hidden_tmpcalcscorcd.getColumn(idx, "hardcdnm");
  8920. ds_hidden.setColumn(0, "defcalcscorcd", g_DefCalcscorcd);
  8921. ds_hidden.setColumn(0, "defcalcscorcdnm", g_DefCalcscorcdnm);
  8922. g_DefCnt = arrCalcscorcd[2];
  8923. }
  8924. if(arrCalcscorcd[0] == "ADD") // 추가 수가코드
  8925. {
  8926. g_AddCalcscorcd = arrCalcscorcd[1];
  8927. g_AddCalcscorcdnm = ds_hidden_tmpcalcscorcd.getColumn(idx, "hardcdnm");
  8928. ds_hidden.setColumn(0, "addcalcscorcd", g_AddCalcscorcd);
  8929. ds_hidden.setColumn(0, "addcalcscorcdnm", g_AddCalcscorcdnm);
  8930. g_AddCnt = arrCalcscorcd[2];
  8931. }
  8932. if(arrCalcscorcd[0] == "FREE") // 무료 수가코드
  8933. {
  8934. g_FreeCalcscorcd = arrCalcscorcd[1];
  8935. g_FreeCalcscorcdnm = ds_hidden_tmpcalcscorcd.getColumn(idx, "hardcdnm");
  8936. ds_hidden.setColumn(0, "freecalcscorcd", g_FreeCalcscorcd);
  8937. ds_hidden.setColumn(0, "freecalcscorcdnm", g_FreeCalcscorcdnm);
  8938. g_FreeCnt = g_FreeCalcscorcd[2];
  8939. }
  8940. }
  8941. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트)
  8942. lf_getHardCDList("N", 1201, null, ds_hidden_colorcalcscoryn); //1201 : 의무기록 사본발행 진료기록 컬러복사 수가코드 사용여부
  8943. lf_getHardCDList("N", 1202, null, ds_hidden_colorcalcscorcd); //1202 : 의무기록 사본발행 진료기록 컬러복사 수가코드
  8944. var colorcalcscoryn = ds_hidden_colorcalcscoryn.getColumn(0, "hardcd");
  8945. var colorcalcscorcd = ds_hidden_colorcalcscorcd.getColumn(0, "hardcd");
  8946. if (colorcalcscoryn == "Y")
  8947. {
  8948. btn_colorcalcscoryn.visible = true;
  8949. }
  8950. }
  8951. function fDispMidForm(idx)
  8952. {
  8953. utlf_addLog("***** fDispMidForm *****");
  8954. var supitemindxseq = ds_grd_inpat.getColumn(idx, "supitemindxseq");
  8955. var midindxseq = ds_grd_inpat.getColumn(idx, "midindxseq");
  8956. var emrflag = ds_grd_inpat.getColumn(idx, "emrflag");
  8957. if(emrflag == "I") { // 구영상
  8958. ds_imgrec_iemr.clearData();
  8959. ds_imgrec_iemr.addRow();
  8960. iviewerIemr.resetInstance_EMR();
  8961. ds_imgrec_iemr.setColumn(0, "treatno", ds_grd_inpat.getColumn(idx, "midindxseq"));
  8962. ds_imgrec_iemr.setColumn(0, "docucd", ds_grd_inpat.getColumn(idx, "supitemindxseq"));
  8963. var iemrNode = ds_imgrec_iemr;
  8964. iviewerIemr.searchChart(iemrNode);
  8965. if (iviewerIemr.downloadChart() == true)
  8966. {
  8967. // 뷰어 모드 유지 기능 추가 - 20080417
  8968. var ViewMode;
  8969. ViewMode = iviewerIemr.hidden_currentViewMode;
  8970. if (utlf_isNull(ViewMode))
  8971. {
  8972. iviewerIemr.setupChartCopy("ChartView");
  8973. }
  8974. else
  8975. {
  8976. iviewerIemr.setupChartCopy(ViewMode);
  8977. }
  8978. }
  8979. }
  8980. else
  8981. {
  8982. ds_send.clearData();
  8983. ds_send.addRow();
  8984. ds_send.setColumn(0, "pid" , ds_grd_inpat.getColumn(idx, "pid"));
  8985. ds_send.setColumn(0, "orddd" , ds_grd_inpat.getColumn(idx, "orddd"));
  8986. ds_send.setColumn(0, "cretno" , ds_grd_inpat.getColumn(idx, "cretno"));
  8987. ds_send.setColumn(0, "chosflag" , "I" );
  8988. ds_send.setColumn(0, "tabflag" , "ALL" );
  8989. ds_send.setColumn(0, "recall" , "Y" );
  8990. ds_send.setColumn(0, "orddeptcd" , ds_grd_inpat.getColumn(idx, "orddeptcd"));
  8991. ds_send.setColumn(0, "reckind" , ds_grd_inpat.getColumn(idx, "reckind"));
  8992. ds_send.setColumn(0, "itemindxseq" , ds_grd_inpat.getColumn(idx, "midindxseq"));
  8993. ds_send.setColumn(0, "lisflag" , ds_grd_inpat.getColumn(idx, "lisflag"));
  8994. //2009-11-04 오후 1:29:15 강지훈 수정 : 오픈전 미시행검사처방 처리 관련 수정
  8995. ds_send.setColumn(0, "midbftest" , ds_grd_inpat.getColumn(idx, "midbftest"));
  8996. ds_send.setColumn(0, "scrnid" , "SMMRC03000" );
  8997. ds_send.setColumn(0, "addimageyn" , ds_main_otherinfo.getColumn(0, "addimageyn"));
  8998. ds_send.setColumn(0, "noview" , "Y" ); //이윤주 추가(20151230)
  8999. dsf_setDefaultVal(ds_send, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:'',pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N");
  9000. //xp code add : col id change!!!execprcpuniqno
  9001. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  9002. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  9003. var oParam = {};
  9004. oParam.id = "TRMRI03004";
  9005. oParam.service = "recmngtapp.IntegrityRec";
  9006. oParam.method = "reqGetRecDetailInfoByCondFlag";
  9007. oParam.inds = "req=ds_send";
  9008. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  9009. oParam.async = false;
  9010. oParam.callback = "cf_TRMRI03004";
  9011. tranf_submit(oParam);
  9012. if(arErrorCode.pop("TRMRI03004") > -1){
  9013. ds_tmpinicert2_iniinfo.copyData(ds_tmpinicert_iniinfo);
  9014. fEmrImgRec();
  9015. }
  9016. }
  9017. }
  9018. function fDispAllForm(){
  9019. utlf_addLog("***** fDispAllForm() *****");
  9020. utlf_addLog("***** fDispAllForm() " + utlf_getCurrentDate() + " *****");
  9021. var supitemindxseq = "";
  9022. var midindxseq = "";
  9023. var emrflag = "";
  9024. var imgtret = "";
  9025. var imgformcd = "";
  9026. //alert("ds_grd_inpat.rowcount : " + ds_grd_inpat.rowcount);
  9027. for(var idx = 0; idx < ds_grd_inpat.rowcount; idx++)
  9028. {
  9029. supitemindxseq = ds_grd_inpat.getColumn(idx, "supitemindxseq");
  9030. midindxseq = ds_grd_inpat.getColumn(idx, "midindxseq");
  9031. emrflag = ds_grd_inpat.getColumn(idx, "emrflag");
  9032. //alert("idx 건수 : " + idx);
  9033. if(emrflag == "I")
  9034. { // 구영상
  9035. iviewerIemr.resetInstance_EMR();
  9036. imgtret = ds_grd_inpat.getColumn(idx, "midindxseq");
  9037. imgformcd = ds_grd_inpat.getColumn(idx, "supitemindxseq");
  9038. var objColInfo = new Array();
  9039. objColInfo.push({col: "signno", type:"string", size:256, val:imgtret});
  9040. objColInfo.push({col: "formcd", type:"string", size:256, val:imgformcd});
  9041. objColInfo.push({col: "imgflag", type:"string", size:256, val:"Y"});
  9042. dsf_createDsRow("ds_initmp_iniinfo", objColInfo);
  9043. //dsf_copyDs(ds_tmpinicert2_iniinfo, ds_initmp_iniinfo, "after");
  9044. ds_tmpinicert2_iniinfo.appendData(ds_initmp_iniinfo, true, false);
  9045. //copyNodeset("/root/tmpinicert2/iniinfo", "/root/initmp/iniinfo", "append");
  9046. dsf_deleteDs("ds_initmp_iniinfo");
  9047. }
  9048. else
  9049. {
  9050. ds_send.clearData();
  9051. ds_send.addRow();
  9052. ds_send.setColumn(0, "pid", ds_grd_inpat.getColumn(idx, "pid"));
  9053. ds_send.setColumn(0, "orddd", ds_grd_inpat.getColumn(idx, "orddd"));
  9054. ds_send.setColumn(0, "cretno", ds_grd_inpat.getColumn(idx, "cretno"));
  9055. ds_send.setColumn(0, "chosflag", "I");
  9056. ds_send.setColumn(0, "tabflag", "ALL");
  9057. ds_send.setColumn(0, "recall", "Y");
  9058. ds_send_reqdata.setColumn(0, "scrnid" , "SMMRC03000" );
  9059. ds_send.setColumn(0, "addimageyn" , ds_main_otherinfo.getColumn(0, "addimageyn"));
  9060. ds_send.setColumn(0, "orddeptcd", ds_grd_inpat.getColumn(idx, "orddeptcd"));
  9061. ds_send.setColumn(0, "reckind", ds_grd_inpat.getColumn(idx, "reckind"));
  9062. ds_send.setColumn(0, "itemindxseq", ds_grd_inpat.getColumn(idx, "midindxseq"));
  9063. ds_send.setColumn(0, "lisflag", ds_grd_inpat.getColumn(idx, "lisflag"));
  9064. ds_send.setColumn(0, "midbftest", ds_grd_inpat.getColumn(idx, "midbftest"));
  9065. dsf_setDefaultVal(ds_send, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:'',pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N");
  9066. //xp code add : col id change!!!execprcpuniqno
  9067. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  9068. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  9069. var oParam = {};
  9070. oParam.id = "TRMRI03004";
  9071. oParam.service = "recmngtapp.IntegrityRec";
  9072. oParam.method = "reqGetRecDetailInfoByCondFlag";
  9073. oParam.inds = "req=ds_send";
  9074. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  9075. oParam.async = false;
  9076. oParam.callback = "cf_TRMRI03004";
  9077. tranf_submit(oParam);
  9078. //one transaction으로 변경해야함.
  9079. if(arErrorCode.pop("TRMRI03004") > -1){
  9080. /*이윤주(2015/11/03)
  9081. if( ds_main_otherinfo.getColumn(0, "addimageyn") != "Y" ){
  9082. var noimg = "";
  9083. var imgarray = "";
  9084. var certcnt = ds_tmpinicert_iniinfo.rowcount;
  9085. for(var a = 0; a < certcnt ; a++ ){
  9086. var add_imgflag = ds_tmpinicert_iniinfo.getColumn(a, "imgflag");
  9087. var add_formcd = ds_tmpinicert_iniinfo.getColumn(a, "formcd");
  9088. var add_formprogflag = ds_tmpinicert_iniinfo.getColumn(a, "formprogflag");
  9089. if( !utlf_isNull(add_imgflag) ){
  9090. if( add_imgflag != "N" && add_formcd != "Z001" && add_formprogflag != "IMG" ){
  9091. if( a == 0 ){
  9092. noimg = utlf_transNullToEmpty(ds_tmpinicert_iniinfo.getColumn(a, "signno"));
  9093. }else{
  9094. noimg = noimg + "*" + utlf_transNullToEmpty(ds_tmpinicert_iniinfo.getColumn(a, "signno"));
  9095. }
  9096. }
  9097. }
  9098. }
  9099. if( !utlf_isNull(noimg) )
  9100. imgarray = noimg.toString().split("*");
  9101. for(var i = 0; i < imgarray.length ; i++ ){
  9102. for(var j = 0; j < certcnt ; j++ ){
  9103. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumn(j, "signno")) && ( imgarray[i] == ds_tmpinicert_iniinfo.getColumn(j, "signno").toString() )){
  9104. ds_tmpinicert_iniinfo.deleteRow(j);
  9105. }
  9106. }
  9107. }
  9108. }
  9109. */
  9110. //utlf_addLog("ds_tmpinicert_iniinfo.rowcount : " + ds_tmpinicert_iniinfo.rowcount);
  9111. //dsf_copyDs(ds_tmpinicert2_iniinfo, ds_tmpinicert_iniinfo, "after");
  9112. ds_tmpinicert2_iniinfo.appendData(ds_tmpinicert_iniinfo, true, false);
  9113. }
  9114. }
  9115. }
  9116. //alert("fEmrImgRec 시행 ");
  9117. fEmrImgRec();
  9118. }
  9119. function fMidIndxSet(val)
  9120. {
  9121. utlf_addLog("***** fMidIndxSet("+val+") *****");
  9122. var curs = ds_grd_inapplist.rowposition;
  9123. var pid = ds_grd_inapplist.getColumn(curs, "pid");
  9124. var indd = ds_grd_inapplist.getColumn(curs, "indd");
  9125. var cretno = ds_grd_inapplist.getColumn(curs, "cretno");
  9126. var orddeptcd = ds_grd_inapplist.getColumn(curs, "orddeptcd");
  9127. var subNode = "";
  9128. //var midNodes = instance1.selectNodes("/root/main/midissinfo/emrapplist");
  9129. for(var i = 0; i < ds_grd_inpat.rowcount; i++)
  9130. {
  9131. if(ds_grd_inpat.getColumn(i, "pid") == pid
  9132. && ds_grd_inpat.getColumn(i, "orddd") == indd
  9133. && ds_grd_inpat.getColumn(i, "cretno") == cretno
  9134. && ds_grd_inpat.getColumn(i, "orddeptcd") == orddeptcd)
  9135. {
  9136. ds_grd_inpat.setColumn(i, "chk", val);
  9137. }
  9138. }
  9139. }
  9140. function fAddDetailContents()
  9141. {
  9142. utlf_addLog("***** fAddDetailContents() *****");
  9143. try
  9144. {
  9145. var OldDeliverect = ds_main_appinfo_copyinfo.getColumn(0, "delivefact");
  9146. var NewDeliverect = "";
  9147. if(!utlf_isNull(OldDeliverect))
  9148. {
  9149. NewDeliverect += OldDeliverect;
  9150. }
  9151. var tmpStr = iviewerIemr.fGetSelectChrtName(OldDeliverect);
  9152. if(!utlf_isNull(tmpStr))
  9153. {
  9154. NewDeliverect += tmpStr;
  9155. ds_main_appinfo_copyinfo.setColumn(0, "delivefact", NewDeliverect);
  9156. }
  9157. }
  9158. catch(e)
  9159. {
  9160. }
  9161. }
  9162. function fPrntDetailContents(category)
  9163. {
  9164. utlf_addLog("***** fPrntDetailContents("+category+") *****");
  9165. try
  9166. {
  9167. var finalformnm = category;
  9168. //2012/03/13 Start
  9169. for(var i=0; i<ds_temp_hardcd2.rowcount; i++){
  9170. if(ds_temp_hardcd2.getColumn(i, "hardcd")==sysf_getUserInfo("dutplceinstcd")){
  9171. var contents = ds_main_appinfo_copyinfo.getColumn(0, "delivefact");
  9172. }else if(ds_temp_hardcd2.getColumn(i, "hardcd")!=sysf_getUserInfo("dutplceinstcd")){
  9173. if(!utlf_isNull(after_delivefact)){
  9174. var contents=after_delivefact;
  9175. }else{
  9176. var contents = ds_main_appinfo_copyinfo.getColumn(0, "delivefact");
  9177. }
  9178. }
  9179. }
  9180. //2012/03/13 End
  9181. var contentsArr = "";
  9182. if(!utlf_isNull(contents))
  9183. {
  9184. contentsArr = contents.split("\n");
  9185. for(var idx = 0; idx < contentsArr.length; idx++)
  9186. {
  9187. if(!utlf_isNull(contentsArr[idx]))
  9188. {
  9189. finalformnm += contentsArr[idx];
  9190. //2012/08/23 Start
  9191. if(idx==8){
  9192. finalformnm += "\n" + "~이하생략~";
  9193. break;
  9194. }
  9195. //2012/08/23 End
  9196. if((idx + 1) != contentsArr.length)
  9197. finalformnm += ", ";
  9198. }
  9199. }
  9200. }
  9201. if(finalformnm.substring( (finalformnm.length - 2), finalformnm.length ) == ", ")
  9202. {
  9203. finalformnm = finalformnm.substring( 0, (finalformnm.length - 2) );
  9204. }
  9205. return finalformnm;
  9206. }
  9207. catch(e)
  9208. {
  9209. }
  9210. }
  9211. // 2010.04.26. 이은영 -> 컬러복사 수가 적용 (017:빈센트)
  9212. function fAddColorCalcScor() {
  9213. utlf_addLog("***** fAddColorCalcScor() *****");
  9214. var colorcalcscorcd = ds_hidden_colorcalcscorcd.getColumn(0, "hardcd");
  9215. var colorcalcscornm = ds_hidden_colorcalcscorcd.getColumn(0, "hardcdnm");
  9216. for (var i=0; i < ds_grd_rcptlist.rowcount ; i++)
  9217. {
  9218. var calcscorcd = ds_grd_rcptlist.getColumn(i, "calcscorcd");
  9219. if (calcscorcd == colorcalcscorcd) {
  9220. var Msg = sysf_messageBox("수가코드 추가가 불", "I006");
  9221. return;
  9222. }
  9223. }
  9224. if (i == ds_grd_rcptlist.rowcount) {
  9225. //Event Off
  9226. ds_grd_rcptlist.enableevent = false;
  9227. var currentdate = utlf_getCurrentDate();
  9228. var lrow = ds_grd_rcptlist.addRow();
  9229. ds_grd_rcptlist.setColumn(lrow, "calcscorcd", colorcalcscorcd);
  9230. ds_grd_rcptlist.setColumn(lrow, "calcscornm", colorcalcscornm);
  9231. // 처방코드(임시로 수가코드로 함)
  9232. ds_grd_rcptlist.setColumn(lrow, "prcpcd", colorcalcscorcd);
  9233. ds_grd_rcptlist.setColumn(lrow, "unitcost", "");
  9234. ds_grd_rcptlist.setColumn(lrow, "prcpdd", currentdate);
  9235. ds_grd_rcptlist.setColumn(lrow, "prcpno", "0");
  9236. ds_grd_rcptlist.setColumn(lrow, "prcphistno", "0");
  9237. ds_grd_rcptlist.setColumn(lrow, "pid", ds_main_appinfo_copyinfo.getColumn(0, "pid"));
  9238. ds_grd_rcptlist.setColumn(lrow, "orddd", ds_main_appinfo_copyinfo.getColumn(0, "orddd"));
  9239. ds_grd_rcptlist.setColumn(lrow, "cretno", ds_main_appinfo_copyinfo.getColumn(0, "cretno"));
  9240. ds_grd_rcptlist.setColumn(lrow, "shtno", "1");
  9241. ds_grd_rcptlist.setColumn(lrow, "oldshtno", "1");
  9242. ds_grd_rcptlist.setColumn(lrow, "prcpqty", "1");
  9243. ds_grd_rcptlist.setColumn(lrow, "prcptims", "1");
  9244. ds_grd_rcptlist.setColumn(lrow, "oldprcptims", "1");
  9245. ds_grd_rcptlist.setColumn(lrow, "copyseqno", ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"));
  9246. ds_grd_rcptlist.setColumn(lrow, "issseqno", ds_main_appinfo_copyinfo.getColumn(0, "issseqno"));
  9247. ds_grd_rcptlist.setColumn(lrow, "issno", ds_main_appinfo_copyinfo.getColumn(0, "issno"));
  9248. ds_grd_rcptlist.setColumn(lrow, "defyn", "ADD");
  9249. var arrPostion = new Array();
  9250. arrPostion[0] = lrow;
  9251. grdf_setStatus(grd_rcptlist, "I", arrPostion);
  9252. //grd_rcptlist.addStatus(lrow, "insert");
  9253. //Event On
  9254. ds_grd_rcptlist.enableevent = true;
  9255. }
  9256. }
  9257. /**
  9258. * @desc : 마우스 오른쪽 버튼 팝업창
  9259. * @
  9260. * @param : 기본수가추가 (fAddCalcScor), 컬러수가추가 (fAddColorCalcScor), 수가삭제 (fDelCalcScor)
  9261. * @return :
  9262. * @authur : 이은영 2010.04.26
  9263. * @---------------------------------------------------
  9264. */
  9265. function fMouseRghtBtnPopup(gridObj, e)
  9266. {
  9267. utlf_addLog("fMouseRghtBtnPopup(gridObj, e)");
  9268. var oDs = this.objects[gridObj.binddataset];
  9269. if( oDs.rowcount < 1 ) return;
  9270. if( e.row < 0 || e.col < 0 ) return;
  9271. popupmenu00.trackPopup(e.screenX,e.screenY);
  9272. }
  9273. /**
  9274. * @desc : 마우스 오른쪽 버튼 팝업창
  9275. * @
  9276. * @param : 기본수가추가 (fAddCalcScor)
  9277. * @return :
  9278. * @authur : 이은영 2010.04.26
  9279. * @---------------------------------------------------
  9280. */
  9281. function fAddCalcScor() {
  9282. utlf_addLog("***** fAddCalcScor() *****");
  9283. var RecPrcpCd = ds_hidden_calcscorcd.getColumn(0, "hardcd"); // 의무기록 사본발행 기본수가코드
  9284. for (var i=0; i < ds_grd_rcptlist.rowcount ; i++)
  9285. {
  9286. var calcscorcd = ds_grd_rcptlist.getColumn(i, "calcscorcd");
  9287. if (calcscorcd == RecPrcpCd) {
  9288. var Msg = sysf_messageBox("수가코드 추가가 불", "I006");
  9289. return;
  9290. }
  9291. }
  9292. if (i == ds_grd_rcptlist.rowcount) {
  9293. fIssSearch();
  9294. }
  9295. }
  9296. /**
  9297. * @desc : 마우스 오른쪽 버튼 팝업창
  9298. * @
  9299. * @param : 수가삭제 (fDelCalcScor)
  9300. * @return :
  9301. * @authur : 이은영 2010.04.26
  9302. * @---------------------------------------------------
  9303. */
  9304. function fDelCalcScor() {
  9305. utlf_addLog("***** fDelCalcScor() *****");
  9306. var row = ds_grd_rcptlist.rowposition;
  9307. if (row > -1) {
  9308. var rowstatus = ds_grd_rcptlist.rowstatus(row);
  9309. // rowstatus => 0 :empty 1 : normal 2 : insert 4 : update 8 : delete 16 : group
  9310. if (rowstatus == "2") {
  9311. var Msg = sysf_messageBox("선택하신 수가코드를", "Q001");
  9312. if(Msg=="6"){
  9313. ds_grd_rcptlist.deleteRow(row);
  9314. }
  9315. } else {
  9316. var Msg = sysf_messageBox("수가코드 삭제가 불", "I006");
  9317. return;
  9318. }
  9319. }
  9320. }
  9321. /**
  9322. * 이전사본발행내역에서 발행내역 삭제
  9323. */
  9324. function fdeletecopy(){
  9325. utlf_addLog("***** fdeletecopy() *****");
  9326. var issno = ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "issno");
  9327. if(!utlf_isNull(issno)){
  9328. alert("이미 발행된 사본내역은 삭제 불가능합니다");
  9329. return;
  9330. }else if(utlf_isNull(issno)){
  9331. var chk=sysf_messageBox("신청 내역을 삭제하시겠습니까? ", "S001", ""); //예:6 아니오:7 취소:2
  9332. if(chk=="6"){
  9333. ds_send_reqdata.clearData();
  9334. var nRow = ds_send_reqdata.addRow();
  9335. ds_send_reqdata.setColumn(nRow, "copyseqno", ds_grd_apphist.getColumn(ds_grd_apphist.rowposition, "copyseqno"));
  9336. ds_send_reqdata.setColumn(nRow, "lastupdtrid", sysf_getUserInfo("userid"));
  9337. var oParam = {};
  9338. oParam.id = "TXMRC01310";
  9339. oParam.service = "chrtmngtapp.ChrtRendMngt";
  9340. oParam.method = "setUpdateCopyState";
  9341. oParam.inds = "req=ds_send_reqdata";
  9342. //oParam.outds = "null";
  9343. oParam.async = false;
  9344. oParam.callback = "cf_TXMRC01310";
  9345. tranf_submit(oParam);
  9346. fAppCopyInfoClear();
  9347. //사본발행 수가입력쪽 삭제
  9348. ds_grd_rcptlist.clearData();
  9349. ds_grd_rcptlist.applyChange();
  9350. ds_temp2_appinfo_copyinfo.clearData();
  9351. ds_temp2_appinfo_copyinfo.addRow();
  9352. ds_main.clearData();
  9353. ds_main.addRow();
  9354. // model.resetInstanceNode("/root/main/rcptlist");
  9355. // model.resetInstanceNode("/root/temp2/appinfo/copyinfo");
  9356. // model.resetInstanceNode("/root/main/delivefactcnt");
  9357. // 이전사본발행내역에서 내역을 삭제한 후 reload
  9358. fReqGetBfCopyIssHistList(ipt_pid.text);
  9359. alert("삭제되었습니다");
  9360. }
  9361. }
  9362. }
  9363. /**
  9364. * 서 식 Header & Footer 정의 2013.08.26 CYW
  9365. * @param srcformcd
  9366. * @returns
  9367. */
  9368. function MakerHeaderNFooter( srcformcd , formprogflag , mainyn ){
  9369. utlf_addLog("***** MakerHeaderNFooter( "+srcformcd+" , "+formprogflag+" , "+mainyn+" ) *****")
  9370. var instcd = sysf_getUserInfo("dutplceinstcd");
  9371. var formcd = srcformcd; // 서식코드
  9372. var cover_header = "";
  9373. var cover_header_start = "";
  9374. var cover_header_txt = "";
  9375. var cover_header_end = "";
  9376. var cover_footer = "";
  9377. var cover_footer_start = "";
  9378. var cover_footer_txt = "";
  9379. var cover_footer_end = "";
  9380. var body_header = "";
  9381. var body_footer = "";
  9382. //var logo = "com/commonweb/images/logo_lctech.png";
  9383. var logo = "IMAGES/emr/MN/logo_lctech.png";
  9384. // Cover Header 부분 ---------------------------------------------------------------------------------------------------
  9385. cover_header_start ="<HTML> " +
  9386. "\n<BODY style='margin: 0;'> " +
  9387. "\n<TABLE cellspacing='0' width='100%'> " +
  9388. "\n<TR> " +
  9389. "\n <TD width='65%'> " +
  9390. "\n <TABLE style='width=100%; font-family: 맑은 고딕;'> " +
  9391. "\n <TR> " +
  9392. "\n <TD> " +
  9393. "\n <IMG SRC='" + logo + "' /> " +
  9394. "\n </TD> " +
  9395. "\n </TR> " +
  9396. "\n <TR> " +
  9397. "\n <TD style='font-size: 18pt; text-align: center;'><!--?VAR_CHART_NAME_TOP?--></TD>" +
  9398. "\n </TR> " +
  9399. "\n <TR> " +
  9400. "\n <TD style='font-size: 14pt; text-align: center;'><!--?VAR_CHART_NAME_BOTTOM?--></TD>" +
  9401. "\n </TR> " +
  9402. "\n </TABLE> " +
  9403. "\n </TD> " +
  9404. "\n <TD width='35%' style='padding-right: 20px; padding-bottom: 5px'> " +
  9405. "\n <DIV style='border-style: solid; border-width: 1px; padding: 5px;'> " +
  9406. "\n <TABLE cellspacing='0' width='100%' style='font-family: 맑은 고딕;'> " +
  9407. "\n <TR> " +
  9408. "\n <TD style='font-size: 18pt' colspan='2'><!--?VAR_PAT_NUM?--></TD>" +
  9409. "\n </TR> " +
  9410. "\n <TR> " +
  9411. "\n <TD style='font-size: 18pt'><!--?VAR_PAT_NAME?--></TD> " +
  9412. "\n <TD style='font-size: 14pt'><!--?VAR_TREAT_DEPT?--></TD> " +
  9413. "\n </TR> " +
  9414. "\n <TR> " +
  9415. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_JUMIN_NO?--></TD> " +
  9416. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_AGE_SEX?--></TD> " +
  9417. "\n </TR> " +
  9418. "\n </TABLE> " +
  9419. "\n </DIV> " +
  9420. "\n </TD> " +
  9421. "\n</TR> " +
  9422. "\n</TABLE> " +
  9423. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'> " +
  9424. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  9425. "\n <TR> " +
  9426. "\n <TD style='width: 50%; text-align: left'><!--?VAR_DATE_HEADER?--></TD> " +
  9427. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_DOCTOR_HEADER?--></TD> " +
  9428. "\n <TD style='width: 25%; text-align: center;'><!--?VAR_WARD_HEAD?--></TD> " +
  9429. "\n <TD style='width: 10%; text-align: right;'><!--?VAR_CLASS?--></TD> " +
  9430. "\n </TR> " +
  9431. "\n </TABLE> " +
  9432. "\n</DIV>";
  9433. cover_header_end = "\n</BODY>"+
  9434. "\n</HTML>";
  9435. // Cover Footer 부분 ---------------------------------------------------------------------------------------------------
  9436. cover_footer_start = "<HTML>"+
  9437. "\n<BODY style='margin: 0;'>"+
  9438. "\n"+
  9439. "\n<DIV>"+
  9440. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>"+
  9441. "\n <TR>";
  9442. cover_footer_end = "\n<DIV style='border-top-style: solid; border-width: 2px;'>"+
  9443. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  9444. "\n <TR>"+
  9445. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD>"+
  9446. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD>"+
  9447. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD>"+
  9448. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD>"+
  9449. "\n </TR>"+
  9450. "\n </TABLE>"+
  9451. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  9452. "\n <TR>"+
  9453. "\n <TD style='width: 20%; text-align: left; '></TD>"+
  9454. "\n </TR>"+
  9455. "\n </TABLE>"+
  9456. "\n</DIV>"+
  9457. "\n"+
  9458. "\n</BODY>"+
  9459. "\n</HTML>";
  9460. //Body Header 부분 ---------------------------------------------------------------------------------------------------
  9461. body_header = "<HTML>"+
  9462. "\n<BODY style='margin-top: 0; margin-left: 0; margin-right; 0;'> "+
  9463. "\n "+
  9464. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'>"+
  9465. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  9466. "\n <TR> "+
  9467. "\n <TD style='width: 10%; text-align: left; '><!--?VAR_PAT_NUM?--></TD> "+
  9468. "\n <TD style='width: 10%; text-align: center;'><!--?VAR_PAT_NAME?--></TD> "+
  9469. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_PAT_AGE_SEX?--></TD> "+
  9470. "\n <TD style='width: 55%; text-align: center;'><!--?VAR_DATE_HEADER?--></TD> "+
  9471. "\n <TD style='width: 10%; text-align: right; '><!--?VAR_CLASS?--></TD> "+
  9472. "\n </TR> "+
  9473. "\n </TABLE> "+
  9474. "\n</DIV> "+
  9475. "\n "+
  9476. "\n</BODY> "+
  9477. "\n</HTML>";
  9478. // Body Footer 부분 ---------------------------------------------------------------------------------------------------
  9479. body_footer = "<HTML>"+
  9480. "\n<BODY style='margin: 0;'> "+
  9481. "\n "+
  9482. "\n<DIV> "+
  9483. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  9484. "\n <TR> "+
  9485. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD> "+
  9486. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> "+
  9487. "\n </TR> "+
  9488. "\n </TABLE> "+
  9489. "\n</DIV> "+
  9490. "\n<DIV style='border-top-style: solid; border-width: 2px;'> "+
  9491. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  9492. "\n <TR> "+
  9493. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD> "+
  9494. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD> "+
  9495. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD> "+
  9496. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD> "+
  9497. "\n </TR> "+
  9498. "\n </TABLE> "+
  9499. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  9500. "\n <TR> "+
  9501. "\n <TD style='width: 20%; text-align: left; '></TD> "+
  9502. "\n </TR> "+
  9503. "\n </TABLE> "+
  9504. "\n</DIV> "+
  9505. "\n "+
  9506. "\n</BODY> "+
  9507. "\n</HTML>";
  9508. // ----------------------------------------------------------------------------------------------------------------------
  9509. if( srcformcd == "0000000003"){ //입원초진
  9510. cover_header_txt = "\n <DIV>" +
  9511. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  9512. "\n <TR><TD style='text-align: left; font-weight: bold;'>입원일자 : <!--?VAR_ORDDATE?--></TD></TR> " +
  9513. "\n <TR><TD style='text-align: left; font-weight: bold;'>입 원 과 : <!--?VAR_INORDDEPTHNGNM?--></TD></TR> " +
  9514. "\n </TABLE>" +
  9515. "\n </DIV>";
  9516. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  9517. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9518. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9519. "\n </TR>" +
  9520. "\n </TABLE>" +
  9521. "\n </DIV>";
  9522. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9523. }else if( srcformcd == "0000000676"){ //수술기록
  9524. cover_header = cover_header_start + cover_header_end;
  9525. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9526. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Surgeon : <!--?VAR_SURGEON?--></TD>"+
  9527. "\n </TR>"+
  9528. "\n <TR>"+
  9529. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  9530. "\n </TR>"+
  9531. "\n </TABLE>"+
  9532. "\n</DIV>";
  9533. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9534. }else if( srcformcd == "0000000679"){ //응급실기록
  9535. cover_header_txt = "\n<DIV>" +
  9536. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  9537. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR>" +
  9538. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR>" +
  9539. "\n <TR><TD style='text-align: left; font-weight: bold;'></TD></TR>" +
  9540. "\n <TR><TD style='text-align: left; font-weight: bold;'>[환자 내원시간] : <!--?VAR_ERDT?--></TD></TR>" +
  9541. "\n </TABLE>" +
  9542. "\n</DIV>";
  9543. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  9544. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9545. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9546. "\n </TR>" +
  9547. "\n </TABLE>" +
  9548. "\n </DIV>";
  9549. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9550. }else if( srcformcd == "0000000680"){ //입퇴원요약
  9551. cover_header_txt = "\n<DIV>" +
  9552. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>" +
  9553. "\n <TR><TD style='text-align: left; font-weight: bold;'>[입퇴원정보] </TD></TR>" +
  9554. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;입원일/입원과 : <!--?VAR_ININFO?--></TD></TR>" +
  9555. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;퇴원일/퇴원과 : <!--?VAR_DSCHINFO?--></TD></TR>" +
  9556. "\n </TABLE>" +
  9557. "\n</DIV>";
  9558. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  9559. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9560. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Staff작성 및 확인 : <!--?VAR_STAFFNM?--></TD>"+
  9561. "\n </TR>"+
  9562. "\n <TR>"+
  9563. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  9564. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 의무기록사 : <!--?VAR_EMRRECUSRNM?--></TD>"+
  9565. "\n </TR>"+
  9566. "\n </TABLE>"+
  9567. "\n</DIV>";
  9568. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9569. }else if( srcformcd == "0000002022"){ //마취기록지
  9570. cover_header = cover_header_start + cover_header_end;
  9571. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9572. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9573. "\n </TR>" +
  9574. "\n </TABLE>" +
  9575. "\n </DIV>";
  9576. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9577. // }else if( srcformcd == "0000003325"){ //DSC기록
  9578. }else if( srcformcd == "0000003169"){ //Brief OP Note
  9579. cover_header = cover_header_start + cover_header_end;
  9580. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9581. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9582. "\n </TR>" +
  9583. "\n </TABLE>" +
  9584. "\n </DIV>";
  9585. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9586. }else{
  9587. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  9588. cover_header_txt = "\n<DIV>" +
  9589. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  9590. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR>" +
  9591. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR>" +
  9592. "\n </TABLE>" +
  9593. "\n</DIV>";
  9594. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  9595. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9596. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9597. "\n </TR>" +
  9598. "\n </TABLE>" +
  9599. "\n </DIV>";
  9600. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9601. }else{
  9602. cover_header = cover_header_start + cover_header_end;
  9603. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>" +
  9604. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  9605. "\n </TR>" +
  9606. "\n </TABLE>" +
  9607. "\n </DIV>";
  9608. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  9609. }
  9610. }
  9611. var txt = cover_header + "♥" + cover_footer + "♥" + body_header + "♥" + body_footer;
  9612. return txt;
  9613. }
  9614. function MakeRecFile( hfflag, txt, htmltxt ){
  9615. utlf_addLog("***** MakeRecFile( "+hfflag+", "+txt+", "+htmltxt+" ) *****");
  9616. var foldernm = "C:/CertrecPrnt" + sysf_getUserInfo("dutplceinstcd");
  9617. var local_path ="";
  9618. local_path = foldernm + "\\";
  9619. if( hfflag == "h" ){
  9620. //var headso = new ActiveXObject("Scripting.FileSystemObject");
  9621. if(fso.FileExists(local_path +txt + "_cover_header.html") == true)
  9622. {
  9623. fso.DeleteFile(local_path + txt + "_cover_header.html", true)
  9624. }
  9625. var h = fso.CreateTextFile( local_path + txt + "_cover_header.html" , true, true);
  9626. h.WriteLine(htmltxt);
  9627. h.Close();
  9628. }
  9629. if( hfflag == "f" ){
  9630. //var footso = new ActiveXObject("Scripting.FileSystemObject");
  9631. if(fso.FileExists(local_path + txt + "_cover_footer.html") == true)
  9632. {
  9633. fso.DeleteFile(local_path + txt + "_cover_footer.html", true)
  9634. }
  9635. var f = fso.CreateTextFile( local_path + txt + "_cover_footer.html" , true, true);
  9636. f.WriteLine(htmltxt);
  9637. f.Close();
  9638. }
  9639. }
  9640. ]]></Script>