1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[var gMediRecMain = false; //진료기록에서 호출 할때만 true로 세팅됨.
- var gSaveAfterClose = false;
- var gIsPouUp = false;
- var gPrestIvw;
- var gFstLevlItemCd = "";
- var gIsFirstOpen = false; //초진기록지 처음 오픈시에만 messageBox띄우기 위한 변수
- var gViewPrt;
- var beforeSaveExeFuncNm = "";
- var afterSaveExeFuncNm = "";
- var gOpenMode = "";
- var gSaveYN = false;
- //코사인 기록의 변경여부를 위해 대상서식 로딩 후 기록정보를 넣어두기 위한 변수
- var g_formrec_newimge_cosign = "";
- var g_recitem_newimge_cosign = "";
- var g_formrec_oldimge = "";
- var g_recitem_oldimge = "";
- var g_formrec_newimge = "";
- var g_recitem_newimge = "";
- var g_recitem_oldrec = "";
- var g_recitem_newrec = "";
- var gRecdd = "";
- //var gFormLoadStatus = new FORM_LOAD_STATUS();
- var PATH_LOADER_INI = "/root/hidden/loader_ini";
- var ComnFormObj = "";
- var objExt = new ExtCommon();
- var gChkModiRecFlag = true; // 수정여부 체크 플래그
- var lgv_Foldernm = system.convertRealPath("%MYDOCUMENT%") + "\KU20\\temp\\";
- //var lgv_Foldernm = objExt.getSystemDir("PERSONAL") + "\\KU20\\temp\\";
- //MRF02000.xjs
- var gCashedFormDegnSeq = "";
- // 2016.04.22 기록확정저장시 기준일자 제어 제거
- // 2016.04.08 순환기내과 채성철교수님 요청 기록확정저장시 기준일자 제어
- // var gChkFormrecdt = true;
- /**
- * @desc :
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoaderEndForm()
- {
- if (gOpenMode == "newform")
- {
- fInitClearForm();
- SetUserTimeLog("fLoaderEndForm", "fInitClearForm END");
- try {
- gPrestIvw.window.javascript.fInitFormRec();
- }
- catch (e) {};
- fShowProgress(false);
- SetToLoadTime(1);
- SetUserTimeLog("fLoaderEndForm", "newform END");
- }
- else if (gOpenMode == "recform")
- {
- fInitFormRec();
- SetUserTimeLog("fLoaderEndForm", "fInitFormRec END");
- fShowProgress(false);
- SetToLoadTime(1);
- SetUserTimeLog("fLoaderEndForm", "recform END");
- }
- gOpenMode = "";
- if (gMediRecMain)
- {
- opener.window.javascript.fOpenPrcpMainWnd();
- }
- }
- /**
- * @desc : 기록 아이템 밸류 SET
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetRecItemValue_MMR01100(reciteminfo)
- {
- if (fGetFormMast("formprogflag") == "PROG" && fGetFormMast("formprognm") != "-")
- {
- return ivw_base.window.javascript.fSetRecItemValue(reciteminfo);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 삭제버튼 클릭
- * return type : true / flase
- ****************************************************************************************/
- function fClickDelete()
- {
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_delete") == false) {
- return false;
- }
- //ktas 전송완료된 건(20151224 이윤주)
- if (fGetFormRec("fstktas") == "Y")
- {
- sysf_messageBox("NEDIS 전송 완료되어 삭제 불가합니다","E");
- return;
- }
- if (utlf_isNull(fGetFormRec("formrecseq")))
- {
- sysf_messageBox("삭제 ", "E001");
- return;
- }
- //2010.05.03 김달현 updtfreeyn이 Y일경우 모든 권한체크 제외.
- var updtfreeyn = ds_data_formmast.getColumn(0, "updtfreeyn");
-
- if(!fCheckSaveDept() && updtfreeyn != "Y") //기록부서와 수정부서 동일여부 체크
- {
- sysf_messageBox("타부서 또는 타사용자의 작성 기록은 삭제", "E001");
- return;
- }
-
- if (fGetFormMast("srcformcd") == "0000000677")
- {
- sysf_messageBox("컨설트 기록은 삭제 할 수 없습니다. 의뢰취소는 컨설트 관리화면을 이용", "I008");
- return;
- }
- //2014.01.28 사용자가 의사이고 서식로더가 진료기록조회(SMMMR00100) 속해 있으면 검사기록지는 삭제 못하도록 블로킹 처리
- if(fCheckedTestRecYN()){
- return;
- }
- //2014.01.28 end
-
- // [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
- // [요청번호:20190107033] 입원(응급실)기록 정정화면 내 임시저장 버튼 추가 요청
- // : 인증저장 건에 대하여 삭제시 체크
- if( fGetFormRec("espiyn") == "Y" && lf_getChkRecCorrect("D") == false ){
- return;
- }
-
- var oprnerId = oOpener.frmf_getScreenID();
- if(oprnerId == "SMMMR00100"){
- // 20191010 금정화 추가; 퇴원(퇴실)전 사본발급 시 정정 주의 팝업 메시지
- // 조건추가 -> 1. 임시기록작성이나 신규작성일 경우 인증저장/새 이름으로 저장 시 팝업
- // 2. 확정기록 수정일 경우 인증저장/새 이름으로 저장/삭제 시 팝업 (삭제 로직에도 추가)
- var espiyn = utlf_transNullToEmpty(fGetFormRec("espiyn"));
-
- if (lf_ContainsHardCD("100016", "Y") && espiyn == "Y") {
- if(!oOpener.lf_checkConditionYesNo(espiyn)) return; // MMR00100
- }
- }
-
- fBeforeSaveExtnDoing();
- if (gMediRecMain)
- {
- oOpener.fDelete();
- }
- else
- {
- var rtnDel = fDelFormRec();
- //2016.04.22 기록삭제 중지 기능추가
- if( !utlf_isNull(rtnDel) && !utlf_isNull(rtnDel.rechistseq) && rtnDel.rechistseq == -100 ){
- return;
- }
- if (oOpener.frmf_getParameter("openmode") == "openform")
- {
- oOpener.frmf_setParameter("openmadalformsave", "Y");
- }
- }
- fAfterSaveExtnDoing();
- }
- /****************************************************************************************
- * Function : fClickSave
- * Description : 저장버튼 클릭
- * Argument : 01. signedYn - 인증저장 유무
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fClickSave(signedYn)
- {
- sysf_trace("***** fClickSave("+signedYn+") MMR01100 저장로직 시작!! *****");
- var oprnerId = oOpener.frmf_getScreenID();
-
- sysf_trace("***** fClickSave("+signedYn+") oprnerId : " + oprnerId + " *****");
-
- var rscdeptcd = this.objects["ds_init_cond"] == null ? "" : ds_init_cond.getColumn(0, "rscdeptcd");
-
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_save") == false) {
- return false;
- }
-
- //2016.04.22 삭제 중지 기능에 따른 상태변경
- if(fGetFormRec("status") == "D"){
- fSetFormRec("status", "U");
- }
-
- if(fGetFormRec("status") == "U")
- {
- var userid = sysf_getUserInfo("userid"); //userid, usernm, dutplceinstcd, dutplcecd
-
- //2010.05.03 dhkim updtfreeyn이 Y일경우 모든 권한체크 제외.
- var updtfreeyn = ds_data_formmast.getColumn(0, "updtfreeyn");
-
- //이윤주 수정(20190521)
- if (lf_ContainsHardCD("5967",fGetFormMast("srcformcd"))) {
- var recUserid = fGetFormRec("formrecuserid");
- //대상서식중 작성자와 수정자가 다르면
- if (recUserid != sysf_getUserInfo("userid")) {
- sysf_messageBox("타사용자가 기록을 수정할 수 없습니다!");
- return false;
- }
- }
-
- //이윤주 추가(20150209)
- lf_getHardCDList("N", 5987, 0 , ds_init_savecross);
- //mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/savecross", 5987);
- var srcformCnt = ds_init_savecross.getCaseCount("hardcd == '" + fGetFormMast("srcformcd") + "'"); //서식존재여부
-
- if(srcformCnt == 0 && !fCheckSaveDept() && updtfreeyn != "Y") //기록부서와 수정부서 동일여부 체크
- {
- sysf_messageBox("타부서 또는 타사용자의 작성 기록은 수정", "E001");
- return false;
- }
-
- //20151224 이윤주 수정
- if (fGetFormRec("fstktas") == "Y") {
- sysf_messageBox("NEDIS 전송완료되어 기록을 수정할 수 없습니다!", "E");
- return false;
- }
- }
-
- if(oprnerId == "SMMMR00100"){
- // 20191010 금정화 추가; 퇴원(퇴실)전 사본발급 시 정정 주의 팝업 메시지
- // 조건추가 -> 1. 임시기록작성이나 신규작성일 경우 인증저장/새 이름으로 저장 시 팝업
- // 2. 확정기록 수정일 경우 인증저장/새 이름으로 저장/삭제 시 팝업 (삭제 로직에도 추가)
- //trace("cosignyn >>> " + utlf_transNullToEmpty(fGetFormRec("cosignyn")));
- if(lf_ContainsHardCD("100016", "Y")){
- if(signedYn == "Y" && utlf_transNullToEmpty(fGetFormRec("cosignyn")) != "Y") {
- if(!oOpener.lf_checkConditionYesNo(signedYn)) return false; // MMR00100
- }
- }
- }else if(oprnerId == "SMMMR02900"){
- // 20191014 금정화 추가. 제증명 관리 화면에서 특정 서식일 때 체크하는 로직 (저장제어 없이 알림성 팝업만 띄움)
- oOpener.lf_checkCondition(signedYn); // MMR02900
- }
-
-
- //저장 전 실행할 함수 여부 검사 후 있을경우 실행
- fBeforeSaveExtnDoing();
-
- //수술부위 확인 점검표 저장확인 이윤주 with 손성훈 20120425
- if (signedYn == "Y"){
- var oprsrvno = ds_data_formrec.getColumn(0, "oprsrvno");
- var formcd = fGetFormRec("srcformcd");
- if( fOppartchk(oprsrvno, formcd) == false ){ //CareCom.xjs
- return;
- }
-
- //2016.04.22 기록확정저장시 기준일자 제어 제거
- /*
- if( lf_mmbfGetUserEnvQuestValue("072") == "001" ){
-
- // 2016.04.08 순환기내과 채성철교수님 요청 기록확정저장시 기준일자 제어
- //기준 : 신규 or 임시저장상태 기록 확정저장, 외래초재진(scrformcd '0000000001', '0000000002')만
- var sEspiyn = utlf_transNullToEmpty(ds_data_formrec.getColumn(ds_data_formrec.rowposition, "espiyn"));
- if( (fGetFormRec("status") == "C" || sEspiyn == "N") && (fGetFormMast("srcformcd") == "0000000001" || fGetFormMast("srcformcd") == "0000000002") ){
- var orddd = utlf_transNullToEmpty(ds_data_formrec.getColumn(ds_data_formrec.rowposition, "orddd"));
- var formrecdd = utlf_transNullToEmpty(ds_data_formrec.getColumn(ds_data_formrec.rowposition, "formrecdd"));
- var formrechm = utlf_transNullToEmpty(ds_data_formrec.getColumn(ds_data_formrec.rowposition, "formrechm"));
- var currenthm = utlf_getCurrentTime().substring(0, 4);
- //Check1 수진일자 != 기준일자
- //Check2 기준일자가 현재시간대비 10분 초과 시
- //Check3 임시저장상태일때 현재시간 이후 설정되어있을 경우
- var rMsg = "";
- if( gChkFormrecdt == true && !utlf_isNull(orddd) && !utlf_isNull(formrecdd) && orddd != formrecdd ){
- rMsg= sysf_messageBox("대상자의 수진일자와 기록 기준일자가 일치하지 않습니다.", "Q003");
- gChkFormrecdt = false;
- }else if( fGetFormRec("status") == "C" && gChkFormrecdt == true && !utlf_isNull(formrechm) && formrechm.length == 4 && utlf_getTimeInterval(formrechm, currenthm) >= 600){
- rMsg= sysf_messageBox("기준시간이 현재 시간대비 10분을 초과하였습니다.", "Q003");
- gChkFormrecdt = false;
- }else if( sEspiyn == "N" && gChkFormrecdt == true && !utlf_isNull(formrechm) && formrechm.length == 4 && utlf_getTimeInterval(formrechm, currenthm) < 0){
- rMsg= sysf_messageBox("기준시간이 현재 시간보다 미래시간입니다.", "Q003");
- gChkFormrecdt = false;
- }
-
- if( rMsg == 7 ){
- gChkFormrecdt = true;
- return false;
- }
-
- }
-
- }
- */
- }
-
- //2010.02.23 안치원 - 인증저장후에 임시저장 차단 TASK(39128)요청번호(9402)
- //2010.05.26 김달현 - call visit되지 않은 환자의 인증저장 제한(서소영선생님요청)
- if (fChkPreSave_MMR01100(signedYn) == false)
- return false;
-
- //2010.02.16 dhkim (JCI xsltflag세팅)
- try
- {
- if (ivw_base.fSetXsltFlag() == false)
- {
- return false;
- }
- }
- catch (e)
- {
- sysf_catchTrace(e);
- }
-
- // 2018.01.10 저장 부서 선택 팝업(내과계열 전공의가 등록부서를 선택 하여 저장 하는 기능)
- //if (signedYn == "Y"){
- var sUserDeptCd = sysf_getUserInfo("dutplcecd"); // 사용자 부서코드
- var sUserDeptNm = sysf_getUserInfo("dutplcenm"); // 사용자 부서명
- var sUserDeptEngNm = sysf_getUserInfo("deptengnm"); // 사용자 영문부서명
- var sOrdDeptCd = fGetFormRec("orddeptcd");
- var sIoFlag = fGetFormRec("chosflag");
- var sJobPosCd = sysf_getUserInfo("jobposcd"); // 사용자 직군
- var sUserId = sysf_getUserInfo ("userid");
-
- utlf_addLog("598 : " + lf_ContainsHardCD("598", "Y") + " || 568 : " + lf_ContainsHardCD("568", sOrdDeptCd) + " || 568 : " + lf_ContainsHardCD("568", sUserDeptCd));
-
- frmf_clearParameter ( "SPMMB08700_deptcd" );
- frmf_clearParameter ( "SPMMB08700_deptnm" );
-
- if ( ("I" == sIoFlag || "E" == sIoFlag || "D" == sIoFlag) // 외래 제외
- && sOrdDeptCd != sUserDeptCd // 환자의 부서와 로그인 부서가 다른경우
- && lf_ContainsHardCD("598", "Y") // 내과계열 등록부서 사용여부(598)
- && lf_ContainsHardCD("568", sOrdDeptCd) // 환자의 진료과 내과계열 부서(568)
- && lf_ContainsHardCD("568", sUserDeptCd) // 로그인 부서 내과계열 부서(568)
- ) {
- if( sJobPosCd == "1799" // 인턴
- || sJobPosCd == "1800" // 전공의
- || lf_ContainsHardCD("617", sUserId) // 처방 기록 저장 부서 선택 팝업 사용자 (내과계열 전공의 제외)
- ) {
- frmf_setParameter("SPMMB08700_deptcd", sOrdDeptCd); // 디폴트 선택 부서 없으면 로그인 부서
- frmf_modal("SPMMB08700", "SPMMB08700", null, null, null, null, null, null, null, null, null, null, "P");
- sUserDeptCd = frmf_getParameter("SPMMB08700_deptcd");
- sUserDeptNm = frmf_getParameter("SPMMB08700_deptnm");
- sUserDeptEngNm = frmf_getParameter("SPMMB08700_deptengnm");
- utlf_addLog("sUserDeptCd : " + sUserDeptCd + " || sUserDeptNm : " + sUserDeptNm );
- if( !utlf_isNull(sUserDeptCd) && !utlf_isNull(sUserDeptNm)){
- fSetFormRec("formrecdeptcd" , sUserDeptCd);
- fSetFormRec("formrecdeptnm" , sUserDeptNm);
- fSetFormRec("newformrecdeptcd" , sUserDeptCd);
- fSetFormRec("newformrecdeptnm" , sUserDeptNm);
-
- if( oprnerId == "SMMMR02900" ){
- var itemvalue = new ITEMVAL();
- var langflag = fGetFormMast("langflag");
- if(langflag == "EN"){ //영문서식인 경우 영문명 설정
- itemvalue.reccnts = sUserDeptEngNm;
- lf_setItemDataByItemBaseCd("0000965", "0000965", itemvalue); //진료과 : 0000965
- }else{
- itemvalue.reccnts = sUserDeptNm;
- lf_setItemDataByItemBaseCd("0000965", "0000965", itemvalue); //진료과 : 0000965
- }
- }
-
- }
- }
- }
- //}
- //KNUH, 가정간호 의뢰 인증저장 후 가정간호 처방 발행 메세지 보여주도록 (2011.03.21 JJE)
- var bfCnstStat = 0; //저장 전 의뢰상태
- if( oprnerId == "SMMMR05000" ) bfCnstStat = fGetFormRec("cnststat");
-
- // <--- 인증 저장 전
- var savedInfo = fSaveFormRec(signedYn); // 저장 데이터 취합 및 인증데이터 return
- // ---> 인증 저장 후
-
- //2007.12.13 박종훈 수정
- if (!utlf_isNull(savedInfo.formrecseq) && savedInfo.formrecseq != 0)
- {
- if (oOpener.frmf_getParameter("openmode") == "openform")
- {
- oOpener.frmf_setParameter("openmadalformsave", "Y");
- }
- if (!utlf_isNull(fGetFormRec("calledflag")) && fGetFormRec("calledflag").indexOf("cpgmain") == 0)
- {
- try
- {
- var ordpatlistObj = frmf_findPopup("SMMMP00800");
- if(!utlf_isNull(ordpatlistObj))
- {
- addEmrLog("calledflag : " + fGetFormRec("calledflag"));
- ordpatlistObj.fSnedValToCpWnd(fGetFormRec("formcd"), savedInfo.formrecseq, fGetFormRec("calledflag"));
- }
- }
- catch(e)
- {
- return false
- }
- }
-
- frmf_setParameter("espisavesuccess", signedYn);;
-
- fAfterSaveExtnDoing();
-
- //20081209 오지훈SW 요청
- var wndobj = frmf_findPopup("SMMRI01800"); //의사별 미비리스트
- if(!utlf_isNull(wndobj)){
- var status = fGetFormRec("status");
- var pid = fGetFormRec("pid");
- var orddd = fGetFormRec("orddd");
- var cretno = fGetFormRec("cretno");
- var formcd = fGetFormRec("srcformcd");
- var formrecdd = fGetFormRec("formrecdd");
- var formrecseq = fGetFormRec("formrecseq");
- //2010.02.27 안치원 - 미비항목화면연계 수정 formrecdeptcd추가(이은영 요청)
- var formrecdeptcd = fGetFormRec("formrecdeptcd");
- //2010.02.09 안치원 - 미비항목화면연계 수정(이은영 요청)
- //var unprepFlag = signedYn == "Y" ? "usg" : "";
-
- //2010.04.19 dhkim (미비확인 오류)
- //cosign이 Y일때는 uss, 인증저장일?는 usg넘김.
- var cosignYn = fGetFormRec("cosignyn");
- var unprepFlag = (cosignYn == "Y")? "uss" : (signedYn == "Y") ? "usg" : "";
-
- var param = status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + unprepFlag + "^" + formrecdeptcd;
- //oOpener.frmf_setParameter("SMMRI01800_medirecinfo", param);
-
- wndobj.fDispUnPrepDrCnfm(param);
- frmf_setFocusPop("SMMRI01800");
- wndobj.grd_unpreplist.setFocus();
- }
-
- //KNUH, 가정간호 의뢰 인증저장 후 가정간호 처방 발행 메세지 보여주도록 (2011.03.21 JJE)
- if( oprnerId == "SMMMR05000" && signedYn == "Y" && (fGetFormMast("formcd") == "0000000692" || fGetFormMast("formcd") == "1600017738") && bfCnstStat < 12 && savedInfo.formrecseq != frmf_getParameter("savedReqHomeCareSeq") ){
- sysf_messageBox("가정간호 의뢰를 인증저장하였습니다.\n\n가정간호 PRN처방을 발행", "I008"); //하십시오
- frmf_setParameter("savedReqHomeCareSeq", savedInfo.formrecseq);
-
- // 가정간호 안내문 출력 _ 2011.06.01 _ 손성훈 ------------------------
- dsf_createDsRow("ds_main_homecarerep_patinfo", [{col: "pid", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "pid")}
- , {col: "sex", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "sex")}
- , {col: "hngnm", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "hngnm")}
- , {col: "age", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "age")}
- , {col: "rgstno1", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "rrgstno1")}
- , {col: "rgstno2", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "rrgstno2")}
- , {col: "deptnm", type:"string", size:256, val:ds_main_vpaminfo.getColumn(0, "orddeptnm")}
- ]);
-
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/homecarerep/patinfo", ds_main_homecarerep_patinfo); // 데이터셋 1
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=1;show=0";
-
- if (fGetFormMast("formcd") == "1600017738") {
- rptf_exeReportPreview30(["RPMMR05001"],[objParam], option);
- }else{
- rptf_exeReportPreview30(["RPMMR05000"],[objParam], option);
- }
- //exeReportPreview("RPMMR05000", "XMLSTR", "/root/main/homecarerep/patinfo", "", "true", "", "", "", "", "true");
- //exeReportPreview(레포트명, 연계방법, 매개변수필드 XPath, SubmitID, 출력여부, 인쇄 창 보임 여부, 저장타입, 파일명, 파일 저장 창 보임여부, 미리보기창닫기여부, 모니터 번호, 데이터 소스, 데이터 XPath , 메인리포트 반복XPath, 서브리포트1 반복Xpath)
- ivw_base.fDoHomeNurOrd();
- }
- }
- else
- {
- var oprnerId = oOpener.frmf_getScreenID();
-
- if((oprnerId == "SMMMR00100" && sysf_getObjType(this) != "Form" ) || oprnerId == "SPMMR05400" || oprnerId == "SMMMR05000")
- {
- return false;
- }
- else
- {
- if (frmf_getParameter("mediRecCnclYn") == "Y")
- {
- oOpener.frmf_setParameter("SMMMR02900_saveerr", "Y");
- frmf_clearParameter("mediRecCnclYn");
- return false;
- }
- else
- {
- frmf_clearParameter("mediRecCnclYn");
- return true;
- }
- }
-
- }
- if (!gSubmitSaveFlag)
- {
- if (savedInfo.rechistseq == -100)
- return true;
- else
- return false;
- }
-
- gSaveYN = true;
- return true;
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 기존 작성된기록을 새 기록으로 저장(수정모드에서 신규기록으로 저장)
- ****************************************************************************************/
- function fClickSaveAsNew()
- {
-
- //이윤주 수정(20140221) - 공통서식 서식폼 변경에 따른 새이름 저장 제어
- lf_getHardCDList("N", 5629, 0 , ds_init_srcformcd);
- //mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/srcformcd", 5629);
-
- var srcformcd = fGetFormRec("srcformcd");
- var formprognm = ivw_base.url;
- if( !utlf_isNull(formprognm) ){
- formprognm = utlf_transNullToEmpty(formprognm.split("::")[1]).replace("xfdl","xrw");
- }
- var nodeCnt = ds_init_srcformcd.getCaseCount("hardcd == '" + srcformcd + "'");
-
- if (nodeCnt > 0) {
- var formableprognm = ds_init_srcformcd.lookup("hardcd", srcformcd, "hardcdnm");
- if ( formableprognm != formprognm ) {
- sysf_messageBox("새이름으로 저장할 수 없습니다"+"\n"+"관련근거 칠곡:전자결재(진료행정팀(의무기록)-104(2014.02.25.) 진료기록 서식 개정에 대한 공지 및 업무 협조)"+"\n"+"문의사항 의무기록파트:김창수(2402)","I999");
- return;
- }
- }
-
- if (fIsValidForm_MMR01100(true) == false)
- return;
-
- //2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O']기록 작성을 막는다.
- if (validFormchos_MMR01100(true) == false) {
- return false;
- }
-
- //20160824021 이윤주수정(20170808) :외래수진에 입원서식 사용불가토록 제어
- if (validFormchos_MMR01100_OUT(true) == false) {
- return false;
- }
-
- var formrechm = utlf_getCurrentTime().substring(0, 4);
- var tmpstat = fGetFormRec("status");
- var tmprecdd = fGetFormRec("formrecdd");
- var tmprechm = fGetFormRec("formrechm");
- var tmpespiseq = fGetFormRec("espiseq");
-
- var tmporddd = fGetFormRec("orddd");
- var tmporddrid = fGetFormRec("orddrid");
- var tmpcretno = fGetFormRec("cretno");
- var tmpchosflag = fGetFormRec("chosflag");
- var tmpformrecdeptcd = fGetFormRec("formrecdeptcd");
- var tmpformrecdeptnm = fGetFormRec("formrecdeptnm");
- var tmpformrecuserid = fGetFormRec("formrecuserid");
- var tmpformrecusernm = fGetFormRec("formrecusernm");
-
- fSetFormRec("status", "C");
- fSetFormRec("espiseq", 0);
-
- if (fGetPamInfo("ioflag") == "O" || fGetPamInfo("ioflag") == "S")
- {
- fSetFormRec("orddd" , fGetPamInfo("orddd"));
- fSetFormRec("orddrid" , fGetPamInfo("orddrid"));
- }
- else
- {
- fSetFormRec("orddd" , fGetPamInfo("indd"));
- fSetFormRec("orddrid" , fGetPamInfo("medispclid"));
- }
-
-
- fSetFormRec("cretno", fGetPamInfo("cretno"));
- fSetFormRec("chosflag", fGetPamInfo("ioflag"));
- fSetFormRec("formrecdeptcd", sysf_getUserInfo("dutplcecd"));
- fSetFormRec("formrecdeptnm", sysf_getUserInfo("dutplcenm"));
- fSetFormRec("formrecuserid", sysf_getUserInfo("userid"));
- fSetFormRec("formrecusernm", sysf_getUserInfo("usernm"));
-
- // fSetFormRec("formrecdd", getCurrentDate());
- // fSetFormRec("formrechm", formrechm);
- // ipt_formrecdd.refresh();
- // ipt_formrectm.refresh();
-
- oOpener.frmf_setParameter("chkdeptpresave", "N");
-
-
- if(lf_getChkRecCorrect("NEW", "Y") == false ){
- fSetFormRec("status", tmpstat);
- fSetFormRec("formrecdd", tmprecdd);
- fSetFormRec("formrechm", tmprechm);
- fSetFormRec("espiseq", tmpespiseq);
-
- fSetFormRec("orddd", tmporddd);
- fSetFormRec("orddrid", tmporddrid);
- fSetFormRec("cretno", tmpcretno);
- fSetFormRec("chosflag", tmpchosflag);
- fSetFormRec("formrecdeptcd", tmpformrecdeptcd);
- fSetFormRec("formrecdeptnm", tmpformrecdeptnm);
- fSetFormRec("formrecuserid", tmpformrecuserid);
- fSetFormRec("formrecusernm", tmpformrecusernm);
-
- frmf_clearParameter("espisavesuccess");
- // 현재 수진으로 다시 설정
- lf_getChkRecCorrect("Y", "Y");
- return false;
- }
-
-
- fClickSave("Y");
- utlf_addLog("@@@@@ frmf_getParameter(\"espisavesuccess\") : " + frmf_getParameter("espisavesuccess") + " MMR01100 @@@@@");
- if (frmf_getParameter("espisavesuccess") != "Y")
- {
- fSetFormRec("status", tmpstat);
- fSetFormRec("formrecdd", tmprecdd);
- fSetFormRec("formrechm", tmprechm);
- fSetFormRec("espiseq", tmpespiseq);
-
- fSetFormRec("orddd", tmporddd);
- fSetFormRec("orddrid", tmporddrid);
- fSetFormRec("cretno", tmpcretno);
- fSetFormRec("chosflag", tmpchosflag);
- fSetFormRec("formrecdeptcd", tmpformrecdeptcd);
- fSetFormRec("formrecdeptnm", tmpformrecdeptnm);
- fSetFormRec("formrecuserid", tmpformrecuserid);
- fSetFormRec("formrecusernm", tmpformrecusernm);
-
- frmf_clearParameter("espisavesuccess");
- }
- }
- /****************************************************************************************
- * Function : fBeforeSaveExtnDoing
- * Description : 저장 전 실행할 함수 여부 검사 후 있을경우 실행
- * retrun type :
- * Creator : (사용안함으로 판단됨)
- ****************************************************************************************/
- function fBeforeSaveExtnDoing()
- {
- sysf_trace("***** fBeforeSaveExtnDoing() MMR01100 저장 전 실행할 함수 *****");
- if (!utlf_isNull(beforeSaveExeFuncNm))
- {
- var funcnm = "oOpener." + beforeSaveExeFuncNm + "()";
- sysf_trace("***** fBeforeSaveExtnDoing() funcnm : " + funcnm + " *****");
- eval(funcnm);
- }
- }
- /****************************************************************************************
- * Function : fAfterSaveExtnDoing
- * Description : 저장 후 실행할 함수 여부 검사 후 있을경우 실행
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fAfterSaveExtnDoing()
- {
- sysf_trace("***** fAfterSaveExtnDoing MMR01100 저장 후 실행할 함수 *****");
-
- try
- {
-
- if (!utlf_isNull(afterSaveExeFuncNm))
- {
- var funcnm = "oOpener." + afterSaveExeFuncNm + "()";
- sysf_trace("***** fAfterSaveExtnDoing funcnm : " + funcnm + " *****");
- eval(funcnm);
- }
- ivw_base.fSaveAfter();
- }
- catch (e)
- {
- sysf_catchTrace(e);
- }
-
- //20151110 fRefMediRecList 함수 수행 시 tabindex 를 변환으로 focus가 빼앗기는 현상
- try{
-
- //인증저장 후 진료대상자 리스트 활성화(2008-11-28일 김영학SW 요청 - 박종훈)
- var oprnerId = oOpener.frmf_getScreenID();
- if (fGetFormRec("espiyn") == "Y" && fGetFormMast("mainyn") == "Y" && oprnerId == "SMMMR00100")
- {
- var curPatListObj= frmf_findPopup("SMMMO04100"); //활성화된 진료대상자 화면 object loading
- var pid = appf_getPatientInfo("pid");
- appf_setPatientInfoDetailByKey("emrsaveyn", pid+ "|Y");
- if (!utlf_isNull(curPatListObj)) {
- var prcpsaveyn = appf_getPatientInfoDetail("prcpsaveyn");
- var emrsaveyn = appf_getPatientInfoDetail("emrsaveyn");
- if (prcpsaveyn == "Y" && emrsaveyn == "Y") {
- if( curPatListObj.openstatus != "normal" ){
- curPatListObj.openstatus = "normal";
- }
- //curPatListObj.restore(); //2009-10-26 오후 6:58:17 강지훈추가 : 요청번호 8585
- //curPatListObj.frmf_setFocus();
- application.popupframes["SMMMO04100"].form.setFocus();
-
- }
- }
- }
-
- if( (fGetFormRec("espiyn") == "Y" || fGetFormRec("espiyn") == "N") && oprnerId == "SMMMR00100"){
- // 2016.04.22 환자메모 화면 종료
- lf_ClosePatMemo();
- }
- }
- catch (e)
- {
- sysf_catchTrace(e);
- }
- if (gSaveAfterClose)
- {
- //부모창에 서식기록순번을 파라미터로 넘긴다.
- //2010-02-20 박종훈 추가(삭제의 경우 0으로 넘겨준다)
- if (fGetFormRec("status") == "D")
- {
- oOpener.frmf_setParameter("SSMMR01100_formrecseq", "0");
- }
- else
- {
- oOpener.frmf_setParameter("SSMMR01100_formrecseq", ds_data_formrec.getColumn(0, "formrecseq"));
- }
-
- var objForm = this.getOwnerFrame().form;
-
- if (!utlf_isNull(objForm) && objForm.frmf_getScreenID() == "SSMMR01100")
- {
- objForm = frmf_getMainViewer();
- if(objForm.frmf_getScreenID() == "SMMMR00100")
- //objForm.fGetRecMainlist();
- objForm.fRefMediRecList();
- }
- this.close();
- }
- }
- /****************************************************************************************
- * Description : 출력버튼 클릭
- * Argument : 01. N/A
- * retrun type :
- ****************************************************************************************/
- function fClickPrint()
- {
- if (fGetFormMast("formprogflag") == "OCR")
- {
- gPrestIvw.fPrint();
- }
- else
- {
- var signno = fGetFormRec("espiseq");
- var formcd = fGetFormRec("formcd");
-
- if (formcd != "")
- {
- var parmkey = "E▦" + signno + "▦" + formcd + "▩";
- frmf_setParameter("SPMRI02400_autoprtYn", "Y");
- frmf_setParameter("SPMRI02400_prtrecinfo", parmkey); //E/I▦signno▦formcd▩
- frmf_modal("SPMRI02400", "SPMRI02400", null, false, 1, null, null, null, null, null, null, null, "M");
- }
- }
- }
- /****************************************************************************************
- * Function : fSaveFormRec
- * Description : 출력버튼 클릭
- * Argument : 01. signedYn - 인증저장유무
- * retrun type : true / false
- * Creator :
- ****************************************************************************************/
- function fSaveFormRec(signedYn, mode)
- {
- sysf_trace("***** fSaveFormRec("+signedYn+", "+mode+") MMR01100 출력버튼 클릭 || 기록 취합!!! *****");
- if (utlf_isNull(fGetFormMast("formcd"))) return;
-
- if (isProgForm())
- {
- /*
- var tmpsavedInfo = new SAVED_INFO();
- tmpsavedInfo = ivw_base.getSaveComnFormData(mode);
-
- if (!utlf_isNull(tmpsavedInfo))
- {
- return tmpsavedInfo
- }
- */
- var rtn = false;
-
- if( signedYn == "N" && ds_init_notchkessn.findRow("hardcd", fGetFormMast("srcformcd")) > -1 ){
- rtn = lf_getProgFormRecData(null, "1");
- }else{
- rtn = lf_getProgFormRecData(); // 공통서식 기록데이터 취합
- }
- if(rtn == false){
- var tmpsavedInfo = new SAVED_INFO();
- return tmpsavedInfo;
- //return;
- }
-
- ds_data_recitem.copyData(ivw_base.ds_data_recitem);
- }
- else
- {
- /*
- //필수 입력항목 체크(특수서식)
- if(ivw_base.chkEssentialitem() == false)
- {
- var oprnerId = oOpener.frmf_getScreenID();
-
- if(oprnerId == "SMMMR02900")
- {
- oOpener.frmf_setParameter("SMMMR02900_saveerr", "Y");
- }
-
- var savedInfo = new SAVED_INFO();
- return savedInfo;
- }
- ivw_base.getSaveData("ds_temp_sort_recitem", "replace", this, null, mode);
- SortRecItem();
- */
- var rtn = false;
-
- if( signedYn == "N" && ds_init_notchkessn.findRow("hardcd", fGetFormMast("srcformcd")) > -1 ){
- rtn = lf_getGenFormData(null, "1");
- }else{
- rtn = lf_getGenFormData();
- }
-
- if( rtn == false ){
- var oprnerId = oOpener.frmf_getScreenID();
- if(oprnerId == "SMMMR02900")
- {
- oOpener.frmf_setParameter("SMMMR02900_saveerr", "Y");
- }
-
- var savedInfo = new SAVED_INFO();
- return savedInfo;
- }
- }
- //window.clipBoardData = model.instances(0).selectSingleNode("/root/hidden/recinfo").xml;
- if (!utlf_isNull(signedYn))
- {
- utlf_addLog("jw.choe fSaveComnFormRecInfo 호출 MMR01100 " );
- return fSaveComnFormRecInfo(signedYn);
- }
- }
- /**
- * @desc : 미리보기 데이터 조회해오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- var gPath_preview = "/root/hidden/medirec/medireccnts";
- function fGetPreviewData(flag, targetPath, targetModel, mode)
- {
- model.removeNodeset(gPath_preview);
- if (flag != "sign")
- {
- fSaveFormRec(null, mode);
- var cnt = getNodesetCnt(model, gPageInfo.recItemRef2);
- if (cnt == 0) return;
- }
- var formdegnseq;
- var degnitemno;
- var formcd;
- var node;
- var j = 1;
- var std_nodepath = gPath_preview + "[#jIdx#]";
- var std_nodepath2 = std_nodepath + "#colnm#";
- var nodepath;
- var nodepath2;
- var path_recItemRef2 = gPageInfo.recItemRef2 + "[#iIdx#]";
- var path_recItemRef2_row;
- var path_recItemRef2_formcd = path_recItemRef2 + "/formcd";
- var path_recItemRef2_formdegnseq = path_recItemRef2 + "/formdegnseq";
- var path_recItemRef2_degnitemno = path_recItemRef2 + "/degnitemno";
- var path_recItemRef2_degnitemlevlno = path_recItemRef2 + "/degnitemlevlno";
- var addCnts = "";
- var extnflag = true;
- for (var i = 1; i <= cnt; i++)
- {
- try
- {
- extnflag = true;
- nodepath2 = std_nodepath2.replace("#jIdx#", j);
- path_recItemRef2_row = path_recItemRef2.replace("#iIdx#", i);
-
- if (model.getValue(path_recItemRef2_row+"/orgdegnitemkind") == "")
- {
- copyNodeset(gPath_preview, path_recItemRef2_row, "append", model, model);
- }
- else
- {
- continue;
- }
- formcd = model.getValue(path_recItemRef2_formcd.replace("#iIdx#", i));
- formdegnseq = model.getValue(path_recItemRef2_formdegnseq.replace("#iIdx#", i));
- degnitemno = model.getValue(path_recItemRef2_degnitemno.replace("#iIdx#", i));
- model.makeNode(nodepath2.replace("#colnm#", "/imgehei"));
- model.makeNode(nodepath2.replace("#colnm#", "/imgewid"));
- model.makeValue(nodepath2.replace("#colnm#", "/viewflag"), "data");
- model.makeNode(nodepath2.replace("#colnm#", "/compflag"));
- model.makeNode(nodepath2.replace("#colnm#", "/viewcnts"));
- model.makeNode(nodepath2.replace("#colnm#", "/viewimge"));
- model.makeValue( nodepath2.replace("#colnm#", "/degnitemlevlno"), model.getValue(path_recItemRef2_degnitemlevlno.replace("#iIdx#", i)) );
- if (false && (formcd == "0000000899" || formcd == "0000000900" || formcd == "0000000901" ))
- {
- if (model.getValue(path_recItemRef2_row + "/degnitemkind") == "GRD" || model.getValue(path_recItemRef2_row + "/degnitemkind") == "CCN" ||
- model.getValue(path_recItemRef2_row + "/degnitemkind") == "OPN")
- {
- extnflag = false;
- }
- else if ( formcd == "0000000899" &&
- (model.getValue(path_recItemRef2_row + "/recrefcd") == "C" || model.getValue(path_recItemRef2_row + "/recrefcd") == "M") )
- {
- addCnts += model.getValue(path_recItemRef2_row + "/recitemnm");
- extnflag = false;
- }
- else
- {
- nodepath = std_nodepath.replace("#jIdx#", j++);
- fMakeRowRecCnts(nodepath, true);
- var viewcnts = model.getValue(nodepath + "/viewcnts");
- var tempcnts = parseInt(model.getValue(path_recItemRef2_row + "/rowno")) + 1 + ". ";
- if (addCnts != "")
- {
- tempcnts = tempcnts + "[" +addCnts+ "] ";
- addCnts = "";
- }
- viewcnts = tempcnts + viewcnts;
- model.setValue(nodepath + "/viewcnts", viewcnts);
- }
- }
- else
- {
- nodepath = std_nodepath.replace("#jIdx#", j++);
- fMakeRowRecCnts(nodepath, true);
- }
- if (extnflag && model.getValue(nodepath+"/compflag") == "6")
- {
- copyNodeset(gPath_preview, nodepath, "append", model, model);
- nodepath = std_nodepath.replace("#jIdx#", j++);
- model.setValue(nodepath + "/viewflag", "data");
- fMakeRowRecCnts(nodepath, false);
- }
- }
- catch (e)
- {
- model.setValue(nodepath+"/viewcnts", model.getValue(nodepath+"/viewcnts") + " [ERROR!]");
- }
- }
- if (flag == "view")
- {
- node = model.instances(0).selectSingleNode("/root/hidden/medirec");
- opener.window.javascript.fPreview(node);
- }
- else if(flag == "copy")
- {
- if(targetPath == null || targetPath == "")
- {
- alert("미리보기 데이터를 copy할 대상노드가 지정되지 않았습니다");
- return;
- }
- if(targetModel == null)
- targetModel = model;
- copyNodeset(targetPath, "/root/hidden/medirec", "replace", targetModel, model);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 미리보기(임시저장 후 기록내용보기)
- ****************************************************************************************/
- function fPreviewRec()
- {
- fClickSave("N");
- var formrecseq = fGetFormRec("formrecseq");
- oOpener.fShowMediRecCnt(formrecseq);
- }
- /**
- * @desc : 미리보기 팝업
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fShowPreview()
- {
- fGetPreviewData("get");
- setParameter("formnm", fGetFormMast("formnm"));
- modal("SSMMR01200", 1, 0, 0, "", "/root/hidden/medirec", "/root/main/medirec");
- }
- /**
- * @desc : 기록내역 라인별 설정
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- var LINE_STR = "‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥";
- function fMakeRowRecCnts(path, flag)
- {
- try
- {
- var path_viewflag = path+"/viewflag";
- var path_compflag = path+"/compflag";
- var path_rectermnm = path+"/rectermnm";
- var path_rectermcd = path+"/rectermcd";
- var path_reccnts = path+"/reccnts";
- var path_degnitemkind = path+"/degnitemkind";
- var path_degnitemnm = path+"/degnitemnm";
- var path_viewimge = path+"/viewimge";
- var path_recimge = path+"/recimge";
- var path_rowno = path+"/rowno";
- var path_degnitemlevlno = path+"/degnitemlevlno";
- var path_recitemnm = path+"/recitemnm";
- var sb = new StringBuffer();
- var isAdd = false;
- var existValu = model.getValue(path_rectermnm) != "" || model.getValue(path_recitemnm) != "" || model.getValue(path_reccnts) != "" ? true : false;
-
- if (model.getValue(path_degnitemkind) == "IMG")
- {
- model.setValue(path_compflag, "7");
- model.setValue(path_viewimge, model.getValue(path_recimge), true);
- setImageRefInstance(path_viewimge);
- }
- else if ((model.getValue(path_degnitemkind) == "GRD" /*|| model.getValue(path_degnitemkind) == "CCN" ||
- model.getValue(path_degnitemkind) == "OPN" || model.getValue(path_degnitemkind) == "DGN"*/) &&
- model.getValue(path_rowno) != "0")
- {
- model.setValue(path_compflag, "8");
- var degnitemlevlno = parseInt(model.getValue(path_degnitemlevlno))+1;
- model.setValue(path_degnitemlevlno, degnitemlevlno);
- }
- else if ((flag && model.getValue(path+"/fstlevlitemcd") == model.getValue(path+"/degnitemcd"))
- && model.getValue(path_degnitemkind) != "GRD")
- //else if (flag && model.getValue(path+"/degnitemlevlno") == "1")
- {
- model.setValue(path_viewflag, "fstlevl");
- model.setValue(path_compflag, "1");
- sb.append(model.getValue(path_degnitemnm));
-
- if (model.getValue(path_degnitemlevlno) == "1")
- {
- sb.append("> ");
- }
- else if (model.getValue(path_rectermnm) != "")
- {
- sb.append(": ");
- model.setValue(path_viewflag, "data");
- }
- if (existValu)
- {
- if (model.getValue(path_degnitemkind) == "MTX")
- {
- model.setValue(path_compflag, "6");
- }
- else
- {
- isAdd = true;
- flag = false;
- }
- }
- }
- else if (model.getValue(path_degnitemkind) == "MTX" &&
- model.getValue(path+"/formcd") == "0000000005")
- {
- model.setValue(path_compflag, "2");
- sb.append(model.getValue(path_reccnts));
- }
- else
- {
- isAdd = true;
- }
- if (isAdd)
- {
- model.setValue(path_compflag, "3");
- if (flag)
- sb.append(model.getValue(path_degnitemnm));
- if (existValu)
- {
- if (flag)
- sb.append(" : ");
- if (model.getValue(path_recitemnm) != "")
- {
- model.setValue(path_compflag, "4");
- sb.append(model.getValue(path_recitemnm));
- }
- else if (model.getValue(path_rectermnm) != "")
- {
- model.setValue(path_compflag, "4");
- sb.append(model.getValue(path_rectermnm));
- }
- if (model.getValue(path_reccnts) != "")
- {
- model.setValue(path_compflag, "5");
- if (model.getValue(path_rectermnm) != "" || model.getValue(path_recitemnm) != "")
- {
- sb.append(" ※");
- }
- sb.append(model.getValue(path_reccnts));
- }
- if (model.getValue(path+"/unitnm") != "")
- {
- sb.append(" ");
- sb.append(model.getValue(path+"/unitnm"));
- }
- }
- }
- model.setValue(path+"/viewcnts", sb.toString());
- }
- catch (e)
- {
- model.setValue(path+"/viewcnts", model.getValue(path+"/viewcnts") + "[SYSTEM ERROR]");
- }
- }
- /**
- * @desc : 기록데이터 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetFormRecData()
- {
- gPrestIvw.window.javascript.InitSaveComnFormRecItemData();
- fSetSaveComnFormRecInfo();
- return model.instances(0).selectNodes("/root/send/saverecinfo");
- }
- /**
- * @desc : 서식 디자인 정보 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetFormDegnData()
- {
- return model.instances(0).selectNodes(gPageInfo.forminfoRef);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 기록 삭제
- ****************************************************************************************/
- function fDelFormRec()
- {
- if (utlf_isNull(fGetFormRec("formrecseq")))
- {
- sysf_messageBox("삭제 ", "E001");
- return;
- }
- fSetFormRec("status", "D");
- gChkModiRecFlag = false;
-
- return fSaveComnFormRecInfo();
- }
- /**
- * @desc : 화면 로딩 후 실행되는 로직
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fEndFormReady(xrwid)
- {
- if (isPopup())
- {
- if (xrwid == "SMMMR04900")
- {
- if (opener.window.javascript.getParameter("openmode") == "newcnstform")
- {
- var formcd = opener.window.javascript.getParameter("formcd");
- var userdeptcd = opener.window.javascript.getParameter("userdeptcd");
- var flag = gPrestIvw.window.javascript.fNewCnstForm(formcd, userdeptcd);
- if (! flag)
- {
- window.close();
- }
- }
- }
- }
- else
- {
- if (xrwid == "SMMMR04900_newcnstform")
- {
- var formcd = getParameter("SMMMR04900_reqformcd");
- var userdeptcd = getParameter("userdeptcd");
- gPrestIvw.window.javascript.fNewCnstForm(formcd, userdeptcd);
- }
- }
- }
- /**
- * @desc : 화면 사이즈 조절 및 속성 설정
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitPage(isViewTitl, isViewSaveBtn, height, wid, isViewPrtBtn)
- {
- utlf_addLog("***** fInitPage("+isViewTitl+", "+isViewSaveBtn+", "+height+", "+wid+", "+isViewPrtBtn+") *****");
- if (!utlf_isNull(isViewPrtBtn))
- {
- gViewPrt = isViewPrtBtn;
- }
-
- var hei_titl = parseInt(grup_titl.position.height);
- var hei_btn = parseInt(grup_btn.position.height);
- var top_titl = parseInt(grup_titl.position.top);
- var top_btn = parseInt(grup_btn.position.top);
- this.position.height = height;
- if (!utlf_isNull(wid))
- this.position.width = wid;
- if (isViewTitl)
- {
- grup_titl.visible = true;
- }
- else
- {
- grup_titl.visible = false;
- hei_titl = 0;
- top_titl = 0;
- }
- if (!isViewSaveBtn)
- {
- hei_btn = 0;
- }
- ivw_base.position.height = height - hei_titl - hei_btn - 2;
- if (!utlf_isNull(wid))
- ivw_base.position.width = wid - 2;
- ivw_base.position.top = top_titl + hei_titl;
- ivw_base.position.left = 0;
- ivw_base.style.borderBottomStyle = "none";
- if (isViewSaveBtn)
- {
- grup_btn.position.width = parseInt(ivw_base.position.width);
- grup_btn.position.top = parseInt(ivw_base.position.top) + parseInt(ivw_base.position.height);
- grup_btn.position.left = 0;
- grup_btn.visible = true;
- }
- else
- {
- grup_btn.position.top = 0;
- grup_btn.visible = false;
- }
- ivw_fst.position.height = ivw_base.position.height;
- ivw_fst.position.width = ivw_base.position.width;
- ivw_fst.position.top = ivw_base.position.top;
- ivw_fst.position.left = ivw_base.position.left;
- ivw_fst.style.borderBottomStyle = ivw_base.style.borderBottomStyle;
- if (! gMediRecMain)
- {
- grup_btn.btn_preview.visible = false;
- grup_btn.btn_del.visible = false;
- }
- }
- var gPrePID = "";
- var gSpecFormFlag = false;
- var gFormLoad = false;
- /**
- * @desc : formxrwyn을 반환
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitForm()
- {
- //alert("fInitForm");
- SetUserTimeLog("fInitForm", "START");
- gSubmitID = TX_SUBMIT_COMN_FORM;
- var pageInfo = new PAGEINFO();
- var formprogflag = fGetFormMast("formprogflag");
- var formprognm = fGetFormMast("formprognm");
- gFormLoad = false;
- var ivwsrc = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- //var ivwsrc = "../../../emr/medirecweb/xrw/SMMMR00000_Empty.xrw";
- if (formprogflag == "OCR")
- {
- ivw_base.src = "../../../emr/formmngtweb/xrw/SSMRF03800_OCR뷰어.xrw";
- gPrestIvw = ivw_base;
- var sIoflag = fGetPamInfo("ioflag");
- var sOrddd = "";
- if(sIoflag == "I"){
- sOrddd = fGetPamInfo("indd");
- }else if(sIoflag == "O"){
- sOrddd = fGetPamInfo("orddd");
- }
- gPrestIvw.window.javascript.fGetOCRInfo(fGetFormMast("formcd"), fGetPamInfo("pid"), sOrddd, fGetPamInfo("cretno"), sIoflag);
- }
- else
- {
- if (gMediRecMain)
- {
- if (fGetFormMast("srcformcd") == "0000000002" && fGetPamInfo("ioflag") == "O")
- {
- opener.window.javascript.fSetPatSmm(true);
- }
- else
- {
- opener.window.javascript.fSetPatSmm(false);
- }
- }
- if (isProgForm())
- {
- ivwsrc = "../../../emr/medirecweb/xrw/" + formprognm + ".xrw";
- }
- if (fGetFormMast("srcformcd") == "0000000001" || fGetFormMast("srcformcd") == "0000000003")
- gPrestIvw = ivw_fst;
- else
- gPrestIvw = ivw_base;
- //if (fGetFormMast("formprogflag") == "SMMMR04900_CONSULT")
- if (fGetFormMast("formprognm") == "SMMMR04900_CONSULT")
- {
- gPrestIvw.src = ivwsrc;
- gFormLoad = true;
- }
- else if (gPrestIvw.src != ivwsrc)
- {
- gPrestIvw.src = ivwsrc;
- gFormLoad = true;
- }
- else if (gPrestIvw.attribute("formdegnseq") != fGetFormMast("formdegnseq"))
- {
- gFormLoad = true;
- }
- SetUserTimeLog("fInitForm", "gFormLoad END");
- if (gFormLoad)
- {
- if (isProgForm())// && fGetFormMast("formprogflag") != "PROF")
- {
- SetUserTimeLog("fInitForm", "copyNodeset START");
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.forminfoRef, null, gPrestIvw.model, model);
- SetUserTimeLog("fInitForm", "copyNodeset END");
- gPrestIvw.window.javascript.fLoadForm();
- SetUserTimeLog("fInitForm", "fLoadForm END");
- gPrestIvw.attribute("formdegnseq") = fGetFormMast("formdegnseq");
- }
- else
- {
- //if ((isPopup() && opener.model.getValue("/root/emrtemp/sysformxrwyn") == "Y") &&
- // fGetFormMast("formxrwyn") == "Y")
- if(fGetFormMast("formxrwyn") == "Y")
- {
- /*********************/
- /* XRW Loading Logic */
- /*********************/
- //gPrestIvw.src = GetFormXrwSubmitStr(fGetFormMast("formdegnseq"), "", "");
- gPrestIvw.window.javascript.fDrawFormByFormDegnSeq(fGetFormMast("formdegnseq"), gPrestIvw.attribute("id"));
- SetUserTimeLog("fInitForm", "GetFormXrwSubmitStr END");
- //copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- //SetUserTimeLog("fInitForm", "imgelistRef copyNodeset END");
- /*copyNodeset(gPageInfo.forminfoRef, gPageInfo.forminfoRef, "replace", gPrestIvw.model, model);
- SetUserTimeLog("fInitForm", "copyNodeset END");
- gPrestIvw.window.javascript.makeInstance();
- SetUserTimeLog("fInitForm", "makeInstance END");
- gPrestIvw.model.refresh();*/
- }
- else
- {
- gPrestIvw.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- SetUserTimeLog("fInitForm", "gPrestIvw.src END");
- // 1. 이미지의 개수를 확인
- // 2. 이미지 이름과 디자인아이템이름이 같은지 확인
- // 3. Shape정보가 있는지 확인 한 후, Shape정보를 입력
- var imagecnt = getNodesetCnt(model, pageInfo.imgelistRef);
- var imagecd;
- var imagenm;
- var degnitemnm;
- var degnitemkind;
- var shapeInfo;
- for(var i = 1; i <= imagecnt; i++)
- {
- imagecd = model.getValue(pageInfo.imgelistRef + "[" + i + "]/imgecd");
- imagenm = model.getValue(pageInfo.imgelistRef + "[" + i + "]/imgenm");
- //alert("imagecd: " + imagecd);
- //alert("imagenm: " + imagenm);
- if(imagecd != "" && imagenm != "")
- {
- degnitemnm = model.getValue(pageInfo.formdegnRef + "[" + i + "][degnitemcd=" + imagecd + "]/degnitemnm");
- degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + i + "][degnitemcd=" + imagecd + "]/degnitemkind");
- //alert("degnitemnm: " + degnitemnm);
- //alert("degnitemkind: " + degnitemkind);
- if( degnitemkind == "IMG" )
- {
- shapeInfo = model.getValue(pageInfo.recItemRef + "[" + i + "][degnitemcd='" + imagecd + "' and degnitemkind='" + degnitemkind + "']/reccnts");
- //alert(shapeInfo);
- if(shapeInfo != "")
- {
- model.makeValue( gPageInfo.imgelistRef +"[" + i + "]/reccnts", shapeInfo);
- }
- }
- }
- }
- gPrestIvw.window.javascript.fPreviewByDegnItems(gPageInfo.formmastRef,
- gPageInfo.formdegnRef,
- gPageInfo.vallistRef,
- gPageInfo.imgelistRef,
- "record",
- gFstLevlItemCd,
- gPrestIvw);
- SetUserTimeLog("fInitForm", "fPreviewByDegnItems END");
- }
- }
- if (formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM;
- }
- }
- }
- SetUserTimeLog("fInitForm", "END");
- return fGetFormMast("formxrwyn");
- }
- /**
- * @desc : 데이터 Setting
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetLoadData()
- {
- if(gOpenMode == "recform")
- {
- //이미지 데이터 Setting
- copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- //기록 데이터 Setting
- fInitFormRec();
- SetUserTimeLog("fLoaderEndForm", "fInitFormRec END");
- SetToLoadTime(1);
- SetUserTimeLog("fLoadRecForm", "END");
- fCheckWriteUser();
- fShowProgress(false);
- }
- //else
- //{
- /*alert("test");
- fInitClearForm();
- try {
- gPrestIvw.window.javascript.fExtnInitFormRec();
- }
- catch (e) {};
- fCheckWriteUser();*/
- copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- var imgeCnt = getNodesetCnt(gPrestIvw.model, gPageInfo.imgelistRef);
- for(var i = 1; i <= imgeCnt; i++)
- {
- var degnitemcd = gPrestIvw.model.getValue(gPageInfo.imgelistRef + "[" + i + "]/imgecd");
- var degnitemno = gPrestIvw.model.getValue(gPageInfo.formdegnRef + "[degnitemcd = '" + degnitemcd + "']/degnitemno");
- //if(gPrestIvw.window.javascript.eval("IMG_" + degnitemno).attribute("ref") == "")
- try
- {
- //jw.choe 초기화 에러 임시
-
- // gPrestIvw.window.javascript.eval("IMG_" + degnitemno).LoadImageBase64(
- // gPrestIvw.model.getValue(gPageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata"));
- }
- catch(e)
- {
- gPrestIvw.window.javascript.setImageRefInstance(gPageInfo.imgelistRef + "[" + i + "]/imgedata");
- }
- }
- /*var len = gPrestIvw.window.document.body.children.length;
- alert("len : " + len);
- for(var i = len - 1; i >= 0; i--)
- {
- var ctrl = gPrestIvw.window.document.body.children.item(i);
- alert(ctrl.elementName + ", " + ctrl.attribute("clsid"));
- if(ctrl.elementName != "xforms:object" || ctrl.attribute("clsid") != "{7b1f53ab-6137-4773-88cc-53a46af2d289}")//{72e5d9ed-0d6a-46e8-aead-23144bfef878}
- continue;
- var degnitemno = ctrl.attribute("id").split("_")[1];
- var degnitemcd = gPrestIvw.model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno +"']/degnitemcd");
- alert("degnitemcd : " + degnitemcd);
- gPrestIvw.window.javascript.eval(ctrl.attribute("id")).LoadImageBase64(model.getValue(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata"));
- }*/
- gPrestIvw.model.refresh();
- //}
- }
- /**
- * @desc : XRW 로딩
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadNewXRW(xrwid)
- {
- if (gMediRecMain)
- opener.window.javascript.fSetPatSmm(false);
- if (ivw_base.src == "")
- {
- ivw_base.src = "../../../emr/medirecweb/xrw/SMMMR00000_Empty.xrw";
- }
- gPrestIvw = ivw_base;
- gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // if (window.document.location == "C:/CMCProject/application/webapps/emr/medirecweb/xrw/")
- // {
- // if (xrwid == "SMMMR04900")
- // gPrestIvw.window.javascript.navigateUrl("../../../emr/medirecweb/xrw/SMMMR04900_CONSULT.xrw", "", "", "", "");
- // else
- // gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // }
- // else
- // {
- // gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // }
- }
- /****************************************************************************************
- * Description : 기록을 위한 환자 원무정보 셋팅
- * retrun type : true / false
- ****************************************************************************************/
- function fSetPamInfo(pid, orddd, cretno, ioflag, orddeptcd, orddrid,wardcd)
- {
- /*
- if (utlf_isNull(pid))
- {
- sysf_messageBox("등록번호가 ", "I004");
- return false;
- } else if (utlf_isNull(orddd)){
- sysf_messageBox("진료일자가 ", "I004");
- return false;
- } else if (utlf_isNull(cretno)){
- sysf_messageBox("생성번호가 ", "I004");
- return false;
- } else if (utlf_isNull(ioflag)){
- sysf_messageBox("내원구분이 ", "I004");
- return false;
- } else if (utlf_isNull(orddeptcd)){
- sysf_messageBox("진료과 정보가 ", "I004");
- return false;
- } else if (utlf_isNull(orddrid)){
- sysf_messageBox("진료의사 정보가 ", "I004");
- return false;
- }
- */
- if (pid == "")
- {
- sysf_messageBox("등록번호가 ", "I004");
- return false;
- } else if (orddd == ""){
- sysf_messageBox("진료일자가 ", "I004");
- return false;
- } else if (cretno == ""){
- sysf_messageBox("생성번호가 ", "I004");
- return false;
- } else if (ioflag == ""){
- sysf_messageBox("내원구분이 ", "I004");
- return false;
- } else if (orddeptcd == ""){
- sysf_messageBox("진료과 정보가 ", "I004");
- return false;
- } else if (orddrid == ""){
- sysf_messageBox("진료의사 정보가 ", "I004");
- return false;
- }
-
-
- ds_data_paminfo.clearData();
- dsf_makeValue(ds_data_paminfo, "pid", null, pid);
-
- if (ioflag == "O" || ioflag == "S")
- {
- dsf_makeValue(ds_data_paminfo, "orddd", null, orddd);
- dsf_makeValue(ds_data_paminfo, "orddrid", null, utlf_transNullToEmpty(orddrid));
- }
- else
- {
- dsf_makeValue(ds_data_paminfo, "indd", null, orddd);
- dsf_makeValue(ds_data_paminfo, "medispclid", null, utlf_transNullToEmpty(orddrid));
- }
-
- dsf_makeValue(ds_data_paminfo, "cretno", null, cretno);
- if (orddeptcd == "2280000000")
- dsf_makeValue(ds_data_paminfo, "ioflag", null, "E");
- else
- dsf_makeValue(ds_data_paminfo, "ioflag", null, ioflag);
- dsf_makeValue(ds_data_paminfo, "orddeptcd", null, utlf_transNullToEmpty(orddeptcd));
- dsf_makeValue(ds_data_paminfo, "wardcd", null, utlf_transNullToEmpty(wardcd));
-
- return true;
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 서식 Clear
- ****************************************************************************************/
- function fInitClearForm()
- {
- utlf_addLog("***** fInitClearForm() *****");
- if (fIsValidForm_MMR01100(true) == false)
- return;
-
- var formprogflag = fGetFormMast("formprogflag");
- grup_btn.btn_print.visible = false;
- fSetNewFormRec();
-
- //2016.04.20 부제목 초기화
- grup_titl.cbo_formrecextnnm.usertext = ds_data_formrec.getColumn(0, "formrecextnnm");
- lf_checkFormrecextnnm();
- grup_titl.cbo_formrecextnnm.text = ds_data_formrec.getColumn(0, "formrecextnnm");
-
- if (formprogflag == "OCR")
- {
- btn_print.visible = true;
- }
- else{
- lf_clearFormRec();
-
- }
- /*
- else if (isProgForm())
- {
- //var rtn = gPrestIvw.window.javascript.fClearComnFormData();
-
-
- var rtn = ivw_base.fClearComnFormData();
- if(rtn == "oprfalse") //수술기록지 버튼 disable
- {
- fDisalbeSave(true);
- return;
- }
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- /*
- try {
- //alert("fInitClearForm");
- setButtonToggleAllByRecYn(ivw_base, ivw_base.gExtnBtnIds);
- }
- catch (e) {
- utlf_addLog("***** SSMMR01100 fInitClearForm() try catch *****" );
- sysf_catchTrace(e);
- }
- }
- else
- {
- ivw_base.lf_clearData();
- }
- */
- }
- /****************************************************************************************
- * Description : 서식로드시 LoadingBar표시, 닫기
- * retrun type : (사용안함)
- ****************************************************************************************/
- function fShowProgress(flag, msg) {
- if (!utlf_isNull(gPrestIvw)) {
- gPrestIvw.visible = !flag;
- }
- if (flag) {
- //frmf_openLoadingBar();
- } else {
- //frmf_closeLoadingBar();
- }
- }
- /**
- * @desc : 팝업서식 오픈
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fOpenModalForm(status)
- {
- fShowProgress(false);
- setParameter("frtime", GetFrLoadTime());
- setParameter("openmode", "openform");
- setParameter("status", status);
- setParameter("pid", fGetPamInfo("pid"));
- if (fGetPamInfo("ioflag") == "O")
- {
- setParameter("orddd", fGetPamInfo("orddd"));
- setParameter("orddrid", fGetPamInfo("orddrid"));
- }
- else
- {
- setParameter("orddd", fGetPamInfo("indd"));
- setParameter("orddrid", fGetPamInfo("medispclid"));
- }
- setParameter("cretno", fGetPamInfo("cretno"));
- if (fGetPamInfo("orddeptcd") == "2280000000")
- setParameter("ioflag", "E");
- else
- setParameter("ioflag", fGetPamInfo("ioflag"));
- setParameter("orddeptcd", fGetPamInfo("orddeptcd"));
- // setParameter("forminfo", fGetCSVByFormInfo());
- //
- // if (status == "C")
- // setParameter("recinfo", "");
- // else
- // setParameter("recinfo", fGetCSVByRecInfo());
- setParameter("openmadalformsave", "");
- modalUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
- if (getParameter("openmadalformsave") == "Y")
- {
- if (gMediRecMain)
- {
- opener.window.javascript.fRefMediRecList();
- }
- }
- }
- /**
- * @desc : 서식명칭 화면 표시
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetFormNm(formnm)
- {
- // fSetFormMast("formnm", formnm);
- cap_formnm.text = formnm;
- cap_formnm.refresh();
- }
- /**
- * @desc : 부분서식 갯수 카운트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetUnitFormCnt()
- {
- var cnt = getNodesetCnt(model, gPageInfo.formdegnRef+"[degnitemkind='FRM' and itemuseflag='F0']");
- return cnt;
- }
- /**
- * @desc : 컨설트 서식 로드
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadNewCnstForm(formcd)
- {
- setParameter("SMMMR04900_reqformcd", formcd);
- setParameter("SMMMR04900_newcnstform", "Y");
- fLoadNewXRW("SMMMR04900");
- }
- /**
- * @desc : 사용자 권한 체크
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fCheckWriteUser()
- {
- var pageInfo = new PAGEINFO();
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var formprognm = model.getValue(pageInfo.formmastRef + "/formprognm");
- //alert("formprogflag="+formprogflag);
- //if (fGetFormRec("formrecuserid") == getUserId())
- if (((fGetFormRec("formrecuserid") == getUserId()) || fGetFormMast("foctsnwyn") == "Y") && formprognm != "SMMMR04900_CONSULT") //예진기록여부 검사 추가
- //if (fGetFormRec("formrecuserid") == getUserId() && formprognm != "SMMMR04900_CONSULT") //예진기록여부 검사 추가
- {
- grup_btn.disabled = false;
- }
- else
- {
- if (formprognm == "SMMMR04900_CONSULT")
- {
- if (fGetFormRec("status") == "C")
- {
- grup_btn.disabled = false;
- }
- else
- {
- var reqedityn = ivw_base.model.getValue("/root/main/cnstinfo/reqedityn");
- var recvedityn = ivw_base.model.getValue("/root/main/cnstinfo/recvedityn");
- if (reqedityn == "Y" || recvedityn == "Y")
- {
- grup_btn.disabled = false;
- }
- else
- {
- grup_btn.disabled = true;
- }
- }
- }
- else
- {
- grup_btn.disabled = true;
- }
- }
- if (formprognm != "SMMMR04900_CONSULT")
- {
- addEmrLog("fCheckWriteUser : " + !grup_btn.disabled);
- //EditableCtrl(gPrestIvw.window.body , !grup_btn.disabled);
- }
- try {
- ivw_base.window.javascript.fCheckWriteUserSubForm();
- }
- catch (e) {};
- //alert(fGetFormRec("formcd"));
- //alert(fGetFormRec("formprogflag"));
- }
- /****************************************************************************************
- * Argument : flag - true / false value
- * Description : 저장버튼 막기
- ****************************************************************************************/
- function fDisalbeSave(flag)
- {
- sysf_trace( "***** fDisalbeSave 저장버튼막기 *****");
- if (flag)
- {
- //grup_btn.disabled = true;
- grup_btn.btn_del.enable = false;
- grup_btn.btn_signsave.enable = false;
- grup_btn.btn_tmpsave.enable = false;
- grup_btn.btn_signsaveasnew.enable = false;
- grup_btn.btn_preview.enable = false;
- grup_btn.btn_init.enable = false;
- }
- else
- {
- grup_btn.enable = true;
- grup_btn.btn_del.enable = true;
- grup_btn.btn_signsave.enable = true;
- grup_btn.btn_tmpsave.enable = true;
- grup_btn.btn_signsaveasnew.enable = true;
- grup_btn.btn_preview.enable = true;
- grup_btn.btn_init.enable = true;
- }
- }
- /**
- * @desc : 기록을 위한 초기화
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitFormRec()
- {
- fSetFormRec("status", "U");
- fSetOldFormRecInfo();
- copyNodeset(gPageInfo.recItemRef2, gPageInfo.recItemRef, "replace", gPrestIvw.model, model);
- if (isProgForm())
- {
- gPrestIvw.window.javascript.fLoadData();
- }
- else
- {
- setSrchData(gPageInfo.recItemRef, gPrestIvw);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 창닫기
- ****************************************************************************************/
- function fClose()
- {
- this.close();
- }
- /****************************************************************************************
- * Function : fGetFormSubTitle
- * Description : 서식 부제목 가져오기
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetFormSubTitle()
- {
- var list = sysf_getGlobalVariable("emr_gsv_formsubtitlelist");
- if(!utlf_isNull(list) && list != "-"){
- dsf_setCSVToDs("ds_init_formsubtitle_formsubtitlelist",list);
- }else{
- ds_init_formsubtitle_formsubtitlelist.clearData();
- var srcNode = emr_getOrderBaseInfo("formsubtitlelist");
- dsf_copyColInfo(ds_init_formsubtitle_formsubtitlelist, srcNode);
- ds_init_formsubtitle_formsubtitlelist.appendData(srcNode);
- fFormSubTitlesetglobal(); //Global 변수에 저장
- }
- }
- /****************************************************************************************
- * Function : fFormSubTitlesetglobal
- * Description : 서식부제목 리스트 전역변수로 셋팅
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fFormSubTitlesetglobal()
- {
- var csv = dsf_getDsCSV(ds_init_formsubtitle_formsubtitlelist);
- if (utlf_isNull(csv)) csv = "-";
- sysf_setGlobalVariable("emr_gsv_formsubtitlelist",csv);
- }
- /****************************************************************************************
- * Function : lf_checkFormrecextnnm
- * Description : 서식부제목 리스트 추가
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_checkFormrecextnnm(){
-
- var formrecextnnm = grup_titl.cbo_formrecextnnm.usertext;//ds_data_formrec.getColumn(0, "formrecextnnm");
- var nFindRow = ds_init_formsubtitle_formsubtitlelist.findRow("formsubtitle", formrecextnnm);
- if( nFindRow < 0 ){
- nFindRow = ds_init_formsubtitle_formsubtitlelist.findRow("formsubtitleseq", "999999");
- var nRow = "";
- if( nFindRow < 0 ){
- ds_init_formsubtitle_formsubtitlelist.copyData(emr_getOrderBaseInfo("formsubtitlelist"));
- nRow = ds_init_formsubtitle_formsubtitlelist.addRow();
- ds_init_formsubtitle_formsubtitlelist.setColumn(nRow, "formsubtitleseq", "999999");
- }else{
- nRow = nFindRow;
- }
- ds_init_formsubtitle_formsubtitlelist.setColumn(nRow, "formsubtitle", formrecextnnm);
- fFormSubTitlesetglobal();
- }
- }
- /*******************************************************************************************************
- 튜닝 작업
- *******************************************************************************************************/
- /****************************************************************************************
- * Function : fFormReady
- * Description : 초기화 작업 수행
- * retrun type : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * Creator :
- * Histoty : jonghun(2008.07.07 서식부제목조회 추가)
- lf_resetForm 사용으로 변경
- ****************************************************************************************/
- function fFormReady()
- {
- utlf_addLog("***** fFormReady() *****");
- ivw_base.visible = true;
- ivw_fst.visible = false;
- oOpener = frmf_getoOpener();
-
- var formcd = oOpener.frmf_getParameter("formcd");
- var sGetTopYn = oOpener.frmf_getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = sysf_getGlobalVariable("paminfo");
-
- if(!utlf_isNull(node) && sGetTopYn != "N") {
- ds_data_paminfo.clearData();
- dsf_setCSVToDs("ds_data_paminfo", node);
- }
-
- //if(window.type != 'main' && model.getValue("/root/loadcomplete") != "true") {
- // parent.body.dispatch("SSMMR01100_onloadcomplete");
- // model.makeValue("/root/loadcomplete", "true")
- //}
- if( frmf_getCurrentFormKind() != "main" && loadcomplete != "true" ){
- try{
- oOpener.SSMMR01100_onloadcomplete();
- }catch(e){
- sysf_catchTrace(e);
- }
- loadcomplete = "true";
- }
-
- if (frmf_isPopup() && sysf_getObjType(this) == "Form") {
- fModalProcess();
- if (validPamInfo_MMR01100("open_popup") == false) { //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- return false;
- }
- } else {
- fLoadNewForm(formcd);
- if (grup_titl.visible != false) {
- fGetFormSubTitle(); // 서식부제목리스트조회
- }
- }
- }
- /****************************************************************************************
- * Function : fGetNewFormMast
- * Description : 로드할 새로운 서식의 기본정보 조회
- * Argument : 01. formcd - load할 서식코드
- * retrun type : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * Creator : (로직 변경으로 사용하지 않음)
- ****************************************************************************************/
- function fGetNewFormMast(formcd)
- {
- utlf_addLog("서식로더 마스터조회1 시작, fGetNewFormMast()");
- utlf_addLog("***** fGetNewFormMast("+formcd+") 로드할 새로운 서식의 기본정보 조회*****");
-
- dsf_createDsRow("ds_send_req",
- [{col:"formcd", type:"string", size:256, val:formcd}
- ,{col:"formdegnseq", type:"int", size:256, val:0}
- ,{col:"extnunitformlistyn", type:"string", size:256, val:"Y"}
- ,{col:"cashedformdegnseq", type:"string", size:256, val:gCashedFormDegnSeq}
- ,{col:"sysformrecdt", type:"string", size:256, val:""}
- ,{col:"formfromdt", type:"string", size:256, val:""}
- ,{col:"mode", type:"string", size:256, val: ""}]);
-
- var oParam = {};
- oParam.id = "TRMRF02001";
- oParam.service = "formmngtapp.FormDegnMngt";
- oParam.method = "reqGetFormDegnInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_data_formmast=formmast ds_data_formdegn=formdegn ds_data_unitformmast=unitformmast ds_data_unitformdegn=unitformdegn ds_data_vallist=vallist ds_data_imgelist=imgelist ds_data_extnformlist=extnformlist ds_data_readonlylist=readonlylist ds_data_programdesignformlist=programdesignformlist";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMRF02001";
-
- tranf_submit(oParam);
- utlf_addLog("서식로더 마스터조회1 종료, fGetNewFormMast()");
- //submit("TRMRF02001", false);
-
- return true;
- }
- /****************************************************************************************
- * Description : 로드할 기록 서식의 기본정보 조회.
- * Argument : 01. formrecseq : 서식기록순번
- * retrun type : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * Creator :
- ****************************************************************************************/
- function fGetRecFormMast(formrecseq)
- {
- utlf_addLog("서식로더 마스터조회2 시작, fGetRecFormMast()");
- utlf_addLog("***** fGetRecFormMast("+formrecseq+") *****");
-
- ds_data_validinfo.clearData();
- ds_data_formmast.clearData();
- ds_data_formdegn.clearData();
- ds_data_unitformmast.clearData();
- ds_data_vallist.clearData();
- ds_script.clearData();
- ds_script_map.clearData();
-
- dsf_createDsRow("ds_send_req",
- [{col:"formrecseq", type:"string", size:256, val:formrecseq}
- ,{col:"formdegnseq", type:"int", size:256, val:0}
- ,{col:"extnunitformlistyn", type:"string", size:256, val:"Y"}
- ,{col:"cashedformdegnseq", type:"string", size:256, val:gCashedFormDegnSeq}
- ,{col:"sysformrecdt", type:"string", size:256, val:""}
- ,{col:"formfromdt", type:"string", size:256, val:""}
- ,{col:"mode", type:"string", size:256, val: ""}]);
-
- var oParam = {};
- oParam.id = "TRMRF02004";
- oParam.service = "formmngtapp.FormDegnMngt";
- oParam.method = "reqGetFormDegnInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_data_formmast=formmast ds_data_formdegn=formdegn ds_data_unitformmast=unitformmast ds_data_vallist=vallist ds_data_imgelist=imgelist ds_data_extnformlist=extnformlist ds_script=script ds_script_map=script_map";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMRF02001"; //cf_TRMRF02001 과 동일하여 같이 처리
-
- tranf_submit(oParam);
- //submit("TRMRF02004");
- utlf_addLog("서식로더 마스터조회2 종료, fGetRecFormMast()");
- return true;
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMRF02001의 콜백함수
- ****************************************************************************************/
- function cf_TRMRF02001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- utlf_addLog("***** cf_TRMRF02001 *****");
-
- dsf_setDefaultVal(ds_data_readonlylist, "readonlystatdt:-,readonlyuserid:-");
-
- var objDs = this.removeChild("ds_send_req");
- delete objDs;
- objDs = null;
-
- }
- /****************************************************************************************
- * Function : fCheckForm
- * Description : 로드할 기록의 종류를 반환한다.
- * Argument : 01. dsNm : Dataset Name
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fCheckForm(dsNm) {
- utlf_addLog("***** fCheckForm("+dsNm+") MMR01100 *****");
- var refDs = this.objects[dsNm];
- //로드불가 : 0, 공통서식(PGM) : 1, 공통서식(서식) : 2, 특수서식 : 3, CNST : 4, PROF : 5, OCR : 6
- var formprogflag = refDs.getColumn(0, "formprogflag");
- var formprognm = refDs.getColumn(0, "formprognm");
-
- if(formprogflag == "PROG" && utlf_isNull(formprognm)) {
- return "";
- }
-
- if(frmf_isPopup() && sysf_getObjType(this) == "Form" && formprogflag == "-") {
- return "MAIN";
- }
- utlf_addLog("@@@@@ formprogflag : " + formprogflag + "*****");
- return formprogflag;
- }
- function fGetFormPath()
- {
- var formdegnseq = model.getValue(gPageInfo.formmastRef + "/formdegnseq");
- return getActionURL("TRMRF01201") + getUserSessionString() + "&formcd=&formdegnseq=" + formdegnseq + "&ivwid=" + ivw_base.attribute("id")
- }
- /****************************************************************************************
- * Argument : 01.formcd : 서식코드
- * : 02.bPopup : 특수서식로드 유형(true/flase)
- * : 03.calledflag : 기록후 넘겨줘야하는 값
- * : 04.bValid :
- * Description : 새로운 서식을 Load <-- fLoadNewForm_old
- * Histroty : (사용안함)
- ****************************************************************************************/
- var gSrcFormcd = "";
- var gFormProgFlag = "";
- var gFormProgNm = "";//2010.03.29 dhkim 추가
- function fLoadNewForm(formcd, bPopup, calledflag, bValid)
- {
- utlf_addLog("서식로더 시작, fLoadNewForm()");
- utlf_addLog("***** fLoadNewForm("+ formcd +", "+ bPopup +", "+ calledflag +", "+ bValid +") *****");
- //2010.03.09 안치원 - 신규팝업서식 오류 수정
- //진료기록메인에서 최초, 수정모드로 열린 기록이후에 팝업으로 열리는 신규서식이
- //본래의 서식이 열리지 않고, 바탕의 수정모드로 열린 기록이 팝업으로 열리는 문제 해결.
- frmf_clearParameter("openmode");
-
- //2010.06.17, 주희경, 신규 작성시에만 디폴트값 셋팅 하도록 세션 값 설정, 이은영 과장 요청
- frmf_setParameter("fLoadNewForm", "Y");
-
- //2009.10.13 안치원 TASK-32640, 32794
- //중복기록 검사
- if (utlf_isNull(bValid)) {
- bValid = true;
- }
- if (bValid && validateRec(formcd) == false)
- return;
-
- trace("fLoadNewForm start시간: " + utlf_getCurrentTime() + ", formcd:" + formcd);
- var rtn = "N";
- var rtnmsg = 0;
-
- //현재 로딩된 서식의 formcd를 가져온다.
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- //alert(gSrcFormcd +"@"+ gFormProgFlag + "@"+ gFormProgNm);
- utlf_addLog("@@@@@ :"+gSrcFormcd +"@"+ gFormProgFlag + "@"+ gFormProgNm);
-
- gOldUnitFormDgnSeq = "";
-
- if( isValidObject("ds_data_unitformmast") ){
- for (var i = 0; i < ds_data_unitformmast.rowcount; i++)
- {
- //var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += ds_data_unitformmast.getColumn(i, "formdegnseq") + "▦";
- }
- }
-
- var openmode = oOpener.frmf_getParameter("openmode");
-
- if ( openmode != "extnunitform" && utlf_isNull(formcd))
- return;
- if (frmf_getParameter("loadstatus"))
- {
- if (frmf_getParameter("afterRecDelete") == "Y")
- {
- rtn = "N";
- frmf_clearParameter("afterRecDelete");
- }
- else
- {
- //rtn = fCheckChangeDataForCosign();
- rtn = lf_isModify();
-
- }
- }
- if(utlf_isNull(bPopup))// == null
- bPopup = true;
-
- //1. 서식정보 조회
- if(!fGetNewFormMast(formcd))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- var recsavechk = oOpener.frmf_getParameter("SSMMR01100_recsavechk");
- oOpener.frmf_clearParameter("SSMMR01100_recsavechk");
-
- if (rtn != "N" && ds_data_formmast.getColumn(0, "mainyn") == "Y" && recsavechk != "Y") //수정데이터가 있는 경우
- {
- var srcformcd = ds_data_formmast.getColumn(0, "srcformcd");
-
- if (srcformcd =! '0800003416')
- {
- var rtnmsg = sysf_messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002");
- }
- //alert("rtnmsg:"+rtnmsg);
- if (rtnmsg == 6)
- {
- var clkSvRtn = fClickSave("Y") ;
- //alert(clkSvRtn);
- if (clkSvRtn == false)
- {
- return;
- }
- }
- }
-
- fShowProgress(true, "서식정보");
-
- var sGetTopYn = oOpener.frmf_getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = sysf_getGlobalVariable("paminfo");
- utlf_addLog("sGetTopYn : " + sGetTopYn );
- if(!utlf_isNull(node) && sGetTopYn != "N")
- {
- ds_data_paminfo.clearData();
- dsf_setCSVToDs("ds_data_paminfo", node);
- }
-
- if (openmode == "newform")
- {
- if (!fSetPamInfo(oOpener.frmf_getParameter("pid"),
- oOpener.frmf_getParameter("orddd"),
- oOpener.frmf_getParameter("cretno"),
- oOpener.frmf_getParameter("ioflag"),
- oOpener.frmf_getParameter("orddeptcd"),
- oOpener.frmf_getParameter("orddrid") ))
- {
- grup_btn.enable = false;
- return;
- }
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var sSrchsrcformcd = ds_data_formmast.getColumn(0, "formcd");
- var sSrchformprogflag = ds_data_formmast.getColumn(0, "formprogflag");
- var sFormProgNm = ds_data_formmast.getColumn(0, "formprognm");
- if ( openmode != "extnunitform" && !utlf_isNull(formcd)
- && gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag
- && sFormProgNm != "-" && gFormProgNm == sFormProgNm //2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
- )
- {
- //2. 서식 체크
- var formprogflag = fCheckForm("ds_data_formmast"); //gPageInfo.initformmastRef
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- //dsf_copyDsList(arrDsForminfo, arrDsTempFrominfo, "replace", this, this); //gPageInfo.forminfoRef, gPageInfo.initforminfoRef
- //copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- //dsf_deleteDs(arrDsTempFrominfo, this);
- }
-
- //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- var gNewUnitNodelist = this.objects["ds_data_unitformmast"];
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < gNewUnitNodelist.rowcount; i++)
- {
- //var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = gNewUnitNodelist.getColumn(i, "formdegnseq");
- var unitItemCd = gNewUnitNodelist.getColumn(i, "orgsupdegnitemcd");
- utlf_addLog("@@@@@ unitItemCd : " + unitItemCd );
- //var controls = "ivw_" + unitItemCd;
- utlf_addLog("@@@@@ ComnFormObj : " + ComnFormObj );
- //////////////////// 컨설트 부분 추가 /////////////////////
- var ivwObj = null;
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")
- {
- var objGrp;
- if(unitItemCd == "0000960001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001.grup_extn0011449001;
- else if(unitItemCd == "0011449001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001;
- else if(unitItemCd == "0001019001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001.grup_extn0011529001;
- else if(unitItemCd == "0011529001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001;
- ivwObj = objGrp.components["ivw_" + unitItemCd]; // 컨설트
- }
- else
- ivwObj = ivw_base.grup_base.components["ivw_" + unitItemCd];
- // var ivwObj = ivw_base.grup_base.components["ivw_" + unitItemCd]; //ivw_base.document.controls("ivw_" + unitItemCd);
- //////////////////// 컨설트 부분 추가 /////////////////////
- utlf_addLog("@@@@@ ivwObj : " + ivwObj);
- if(utlf_isNull(ivwObj.url))
- {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.supdegnitemcd = ""; //ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.unitformcd = ""; //ivwObj.attribute("unitformcd") = "";
-
- var unitformmastDs = this.objects["ds_data_unitformmast"];
- var unitformcd = unitformmastDs.lookup("orgsupdegnitemcd", unitItemCd, "formcd");
-
- if (!utlf_isNull(unitformcd))
- {
- ivwObj.supdegnitemcd = unitItemCd; //ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.unitformcd = unitformcd; //ivwObj.attribute("unitformcd") = unitformcd;
-
- trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- //setFstLevlItemCd(ivwObj, unitformcd);
- var sIdx = unitformmastDs.findRowExpr("formcd == '" + unitformcd + "' && loaded != 'true'");
- unitformmastDs.setColumn(sIdx, "loaded", "true");
- //model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
- }
- trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
-
- }
- }
- else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.supdegnitemcd = ""; //ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.unitformcd = ""; //ivwObj.attribute("unitformcd") = "";
-
- var unitformmastDs = this.objects["ds_data_unitformmast"];
- var unitformcd = unitformmastDs.lookup("orgsupdegnitemcd", unitItemCd, "formcd");
-
- if (!utlf_isNull(unitformcd))
- {
- ivwObj.supdegnitemcd = unitItemCd; //ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.unitformcd = unitformcd; //ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- //setFstLevlItemCd(ivwObj, unitformcd);
- var sIdx = unitformmastDs.findRowExpr("formcd == '" + unitformcd + "' && loaded != 'true'");
- unitformmastDs.setColumn(sIdx, "loaded", "true");
- //model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
-
- }
- }
- }
-
- fInitClearForm();
-
- if (isProgForm())
- {
- ivw_base.fGetDefData();
- }
- else
- {
- ivw_base.dispOnLoadComplete(UNIT_FORM);
- }
-
- fShowProgress(false);
- }
- else
- {
- //2. 서식 체크
- var formprogflag = fCheckForm("ds_data_formmast");
-
- if (fCheckformKind(formprogflag, bPopup) && openmode != "extnunitform") //hkjoo, 2010.02.02
- {
- //dsf_copyDsList(arrDsForminfo, arrDsTempFrominfo, "replace", this, this);
- //dsf_clearDsList(arrDsTempFrominfo, this);//ds_temp_forminfo
- // copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- // model.removeNodeset(gPageInfo.initforminfoRef);
- // cap_formnm.refresh();
-
- //3. 기록정보 초기화
- fSetNewFormRec();
- }
-
- if ( openmode == "extnunitform" ) //hkjoo, 2010.02.02
- formprogflag = "EXTN";
-
- //4. 서식 로드
- fLoadForm("ds_data_formmast", formprogflag, bPopup, calledflag);
-
- fShowProgress(false);
- }
-
- utlf_addLog("서식로더 종료, fLoadNewForm()");
- }
- /****************************************************************************************
- * Function : fCheckformKind
- * Description : 인스턴스 카피 여부 반환
- * Argument : 01. formprogflag : 서식유형
- 02. bPopup : 특수서식로드 유형 (true/false)
- * retrun type : (true/false)
- * Creator :
- ****************************************************************************************/
- function fCheckformKind(formprogflag, bPopup)
- {
- utlf_addLog("***** fCheckformKind("+formprogflag+", "+bPopup+") *****");
- switch(formprogflag)
- {
- case "" :
- return false;
- case "PROG" : //공통서식(PGM) 로드
- return true;
- case "MAIN" : //공통서식(서식) 로드.
- return true;
- case "PROF" : //제증명서식 로드
- case "-" : //특수서식 로드
- if(bPopup)
- return false;
- else
- {
- return true;
- }
- break;
- case "CNST" : //컨설트서식 로드
- break;
- case "OCR" : //OCR서식 로드
- break;
- }
- }
- /****************************************************************************************
- * Function : fLoadRecForm
- * Description : 기록된 서식을 Load <-- fLoadRecForm_old
- * Argument : 01. formrecseq : 서식기록순번
- 02. bPopup : 특수서식로드 유형(true/false)
- 03. calledflag : 기록후 넘겨줘야 하는 값
- * retrun type :
- * Creator : (사용안함)
- ****************************************************************************************/
- var gOldUnitFormDgnSeq = "";
- function fLoadRecForm(formrecseq, bPopup, calledflag)
- {
- utlf_addLog("서식로더 시작, fLoadRecForm()");
- utlf_addLog("***** fLoadRecForm("+ formrecseq +", "+ bPopup +", "+ calledflag +") MMR01100 *****");
-
- if(fGetFormMast("formprogflag") == "PROG")
- this.ComnFormObj = ivw_base;
-
- utlf_addLog("!!!!! fLoadRecForm ComnFormObj : " + ComnFormObj.name );
- this.frmf_setParameter("openmode", "recform");
- this.frmf_setParameter("formrecseq", formrecseq);
- this.frmf_setParameter("calledflag", calledflag); //20130523 정창혁 테스트
-
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- var gOldUnitNodelist = ds_data_unitformmast;
- gOldUnitFormDgnSeq = "";
- if( gOldUnitNodelist != null ) {
- for (var i = 0; i < gOldUnitNodelist.rowcount; i++) {
- //var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += gOldUnitNodelist.getColumn(i, "formdegnseq") + "▦";
- }
- }
-
- if (utlf_isNull(formrecseq)) {
- return;
- }
-
- if(utlf_isNull(bPopup)) { //if(bPopup == null) {
- bPopup = true;
- }
-
- //1. 서식정보 조회
- if(!fGetRecFormMast(formrecseq)) {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- //2. 서식 체크
- var formprogflag = fCheckForm("ds_data_formmast");
- if(formprogflag != "-") { // 팝업으로 기록창 로딩 할때 화면 포커스가 팝업 된 창으로 가도록 프로그래스바 표시 안함. 2014.08.18 엄영만
- fShowProgress(true, "기록정보");
- }
-
- if (fCheckformKind(formprogflag, bPopup)) {
- //1-1. 기록정보 조회
- if(!fGetRecFormInfo(formrecseq)) {
- sysf_messageBox("조회된 기록내역이", "I004");
- }
- //1-2. 기록상태 변경
- fSetFormRec("status", "U");
-
- utlf_addLog("jw.choe fClearComnFormData() 변경");
-
- if (isProgForm() && !utlf_isNull(ivw_base.url)) {
- lf_clearFormRec();
- /*
- var rtn = ivw_base.fClearComnFormData();
- if(rtn == "oprfalse") { //수술기록지 버튼 disable
- fDisalbeSave(true);
- }
- */
- } else if (!isProgForm()) {
- lf_clearFormRec();
- //ivw_base.clearData();
- }
-
- //dsf_copyDsList(arrDsForminfo, arrDsTempFrominfo, "replace", this, this);
- //copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- //cap_formnm.refresh();
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var initformmastRefDs = this.objects["ds_data_formmast"];
-
- var sSrchsrcformcd = initformmastRefDs.getColumn(0, "formcd");
- var sSrchformprogflag = initformmastRefDs.getColumn(0, "formprogflag");
- var sFormProgNm = initformmastRefDs.getColumn(0, "formprognm");
- utlf_addLog("gSrcFormcd : " + gSrcFormcd + " || gFormProgFlag : " + gFormProgFlag + " || gFormProgNm : " + gFormProgNm );
- utlf_addLog("sSrchsrcformcd : " + sSrchsrcformcd + " || sSrchformprogflag : " + sSrchformprogflag + " || sFormProgNm : " + sFormProgNm );
- if (gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag && sFormProgNm != "-" && gFormProgNm == sFormProgNm) { //2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
-
- if (frmf_getParameter("loadstatus") == "LOAD_COMPLETE") { //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- utlf_addLog("@@@@@ frmf_getParameter(\"loadstatus\") : LOAD_COMPLETE @@@@@");
- var gNewUnitNodelist = ds_data_unitformmast;
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < gNewUnitNodelist.rowcount; i++) {
- //var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = gNewUnitNodelist.getColumn(i, "formdegnseq");
- var newUnitItemCd = gNewUnitNodelist.getColumn(i, "orgsupdegnitemcd");
-
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq) {
- //var controls = "ivw_" + newUnitItemCd;
- var ivwObj = ivw_base.grup_base.components["ivw_" + newUnitItemCd];
- utlf_addLog("@@@@@ ivwObj : " + ivwObj.name + " MMR01100 @@@@@" );
- if(!utlf_isNull(ivwObj)) {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.supdegnitemcd = ""; //ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.unitformcd = ""; //ivwObj.attribute("unitformcd") = "";
-
- var newunitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", newUnitItemCd, "formcd");
- if (!utlf_isNull(newunitformcd)) {
- ivwObj.supdegnitemcd = newUnitItemCd;
- ivwObj.unitformcd = newunitformcd;
-
- loadUnitForm(ivwObj, newUnitItemCd);
- //setFstLevlItemCd(ivwObj, newunitformcd);
- var sIdx = ds_data_unitformmast.findRowExpr("formcd=='" + newunitformcd + "' && loaded != 'true'");
- ds_data_unitformmast.setColumn(sIdx, "loaded", "true");
- }
- }
- }
- }
- } else {
- utlf_addLog("@@@@@ frmf_getParameter(\"loadstatus\") : else @@@@@");
- var nodelist = ds_data_unitformmast;
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < nodelist.rowcount; i++)
- {
- //var subNode = nodelist.item(i);
- var newUnitFormDgnSeq = nodelist.getColumn(i, "formdegnseq");
- var unitItemCd = nodelist.getColumn(i, "orgsupdegnitemcd");
-
- //var controls = "ivw_" + unitItemCd;
- var ivwObj = ivw_base.grup_base.components["ivw_" + unitItemCd];
- utlf_addLog("@@@@@ ivwObj : " + ivwObj.name + " MMR01100 @@@@@" );
- //2010.01.06 안치원 - jci환자교육 미구현으로 한시적으로 막음.
- if (utlf_isNull(ivwObj) && unitItemCd == "0006747001") {
- continue;
- }
- utlf_addLog("@@@@@ utlf_isNull(ivwObj.url) : " + utlf_isNull(ivwObj.url));
- if(utlf_isNull(ivwObj.url)) {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.supdegnitemcd = ""; //ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.unitformcd = ""; //ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", unitItemCd, "formcd");
-
- if (!utlf_isNull(unitformcd))
- {
- ivwObj.supdegnitemcd = unitItemCd; //ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.unitformcd = unitformcd; //ivwObj.attribute("unitformcd") = unitformcd;
-
- trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- //setFstLevlItemCd(ivwObj, unitformcd);
- var sIdx = ds_data_unitformmast.findRowExpr("formcd=='" + unitformcd + "' && loaded != 'true'");
- ds_data_unitformmast.setColumn(sIdx, "loaded", "true");
- }
- trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
- }
- } else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq) {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.supdegnitemcd = ""; //ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.unitformcd = ""; //ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = ds_data_unitformmast.lookup("orgsupdegnitemcd", unitItemCd, "formcd");
- if (!utlf_isNull(unitformcd)) {
- ivwObj.supdegnitemcd = unitItemCd; //ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.unitformcd = unitformcd; //ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- //setFstLevlItemCd(ivwObj, unitformcd);
- var sIdx = ds_data_unitformmast.findRowExpr("formcd=='" + unitformcd + "' && loaded != 'true'");
- ds_data_unitformmast.setColumn(sIdx, "loaded", "true");
- }
- }
- }
-
- }
-
- sysf_trace( "isProgForm()"+ isProgForm() );
- if (isProgForm()) {
- ivw_base.fGetDefData();
- } else {
- ivw_base.dispOnLoadComplete(UNIT_FORM);
- }
- } else { //3. 서식 로드
- utlf_addLog("***** 3. 서식로드 *****");
- fLoadForm("ds_data_formrec", formprogflag, bPopup, calledflag);
- }
-
- if(formprogflag != "-") { // 팝업으로 기록창 로딩 할때 화면 포커스가 팝업 된 창으로 가도록 프로그래스바 표시 안함. 2014.08.18 엄영만
- fShowProgress(false);
- }
-
-
-
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- if (isProgForm()) {
- try {
- // setButtonToggleAllByRecYn(ivw_base, ivw_base.gExtnBtnIds);
- }
- catch (e) {
- sysf_catchTrace(e);
- }
- }
- utlf_addLog("서식로더 종료, fLoadRecForm()");
- }
- /****************************************************************************************
- * Function : fLoadForm
- * Description : 서식 Load
- * Argument : 01. formprogflag : 로드할 서식의 종류
- * : 02. bPopup :
- * : 03. calledflag : 기록후 넘겨줘야하는 값
- * retrun type :
- * Creator : (사용안함 lf_loadForm 으로 대체)
- ****************************************************************************************/
- function fLoadForm(forminfoRef, formprogflag, bPopup, calledflag)
- {
- utlf_addLog("서식로더 서식로드 시작, fLoadForm()");
- utlf_addLog("***** fLoadForm( " + forminfoRef +", " + formprogflag +", " + bPopup + ", " + calledflag +") *****");
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- frmf_clearParameter("MMR01100_chkRecDdYn");
-
- switch(formprogflag)
- {
- case "" :
- case undefined :
- sysf_messageBox("사용 할 수 없는 서식", "E008");
- fDisalbeSave(true);
- return;
-
- case "PROG" : //공통서식(PGM) 로드
- var formprognm = ds_data_formmast.getColumn(0, "formprognm");
- var obj = sysf_getScreenInfo(formprognm.split("_")[0]);
- ivw_base.url = "";
- ivw_base.url = obj.scrnurlxp;
-
- if (!utlf_isNull(calledflag))//calledflag != null
- {
- fSetFormRec("calledflag", calledflag);
- }
- break;
-
- case "MAIN" : //공통서식(서식) 로드.
- //이윤주 추가 Post Op Note 를 수술탭에서만 작성토록(20110525)
- fDisalbeSave(false);
- var srcformcd = ds_data_formmast.getColumn(0, "srcformcd");
- var formdegnseq = ds_data_formmast.getColumn(0, "formdegnseq");
- //ivw_base.src = getFormUrl(formdegnseq, ivw_base.attribute("id"));
-
- fGetFormDegn(formdegnseq, ivw_base.name);
-
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- }
- if (srcformcd == '0800003416')
- {
- var operation = sysf_getGlobalVariable("operation").split("▩")[1];
- if(utlf_isNull(operation))
- {
- alert("수술탭에서 작성하세요");
- fDisalbeSave(true);
- return;
- }
- }
-
- break;
-
- case "PROF" : //제증명서식 로드
- case "-" : //특수서식 로드
- if(bPopup)
- {
- fPopupForm(calledflag);
- }
- else
- {
- var formdegnseq = ds_data_formmast.getColumn(0, "formdegnseq");
- //ivw_base.src = getFormUrl(formdegnseq, ivw_base.attribute("id"));
- fGetFormDegn(formdegnseq, ivw_base.name);
-
- if (!utlf_isNull(calledflag))//calledflag != null
- {
- fSetFormRec("calledflag", calledflag);
- }
- }
- break;
-
- case "CNST" : //컨설트서식 로드
- break;
- case "OCR" : //OCR서식 로드
- break;
- case "EXTN" :
- ivw_base.url = "emr_formmngtxp::SSMRF01200.xfdl";
- ivw_base.fInitForm_MRF1200();
- break;
- }
- utlf_addLog("서식로더 서식로드 종료, fLoadForm()");
- }
- /****************************************************************************************
- * Function : fGetFormDegn
- * Description : 서식 디자인 정보 조회
- * Argument : 01. formdegnseq : 서식디자인순번
- * : 02. ivwid : 로드할 ivw item code
- * : 02. ComnForm : 공통서식 Obj, 전역에 세팅 함.
- div 화면 매핑 시 부분서식과 일반서식 구분 및 공통서식 div명 유동성을 위해 전역선언
- 04. UnitFormXfdlUseYn : 2.0 서식생성기 여부
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetFormDegn(formdegnseq, ivwid, ComnForm:Div, UnitFormXfdlUseYn)
- {
- utlf_addLog("서식 디자인 정보 조회 시작, fGetFormDegn()");
-
-
- // 디자인 정보가 존재 하지 않을경우 체크
- if( utlf_isNull(formdegnseq) || formdegnseq == "0" ){
- sysf_messageBox("서식 디자인 정보가 존재하지 않습니다. 전산실로 문의바랍니다.", "E");
- // this.enable = false;
- return;
- }
-
- // PROG 메인이 2.0으로 작성될 경우 부분서식은 개별 체크되어 처리되도록 예외처리
- var formXfdlUseYn = (fGetFormMast("formxfdluseyn")=="Y" && fGetFormMast("formprogflag")!="PROG" )|| (!utlf_isNull(UnitFormXfdlUseYn)&& UnitFormXfdlUseYn == "Y") ? "Y" : "N";
-
- if(ivw_base.isValidObject(ComnForm))
- {
- ComnFormObj = ComnForm;
- }
-
- dsf_createDsRow("ds_inds_TRMRF01201",
- [{col:"formcd", type:"string", size:256, val:""}
- ,{col:"formdegnseq", type:"BIGDECIMAL", size:256, val:formdegnseq}
- ,{col:"ivwid", type:"string", size:256, val:ivwid}
- ,{col:"formxfdluseyn", type:"string", size:256, val:formXfdlUseYn}]);
- dsf_createDsRow("ds_outds_TRMRF01201",
- [{col:"formxrw", type:"string", size:256, val:""}
- ,{col:"formxp", type:"string", size:256, val:""}]);
-
-
-
-
- utlf_addLog(" formXfdlUseYn : " + formXfdlUseYn);
- if( formXfdlUseYn == "Y"){
- cf_TRMRF01201();
- }else{
-
- var oParam = {};
- oParam.id = "TRMRF01201";
- oParam.service = "formmngtapp.FormDegnMngt";
- oParam.method = "reqGetFormDegnXRWInfo";
- oParam.inds = "req=ds_inds_TRMRF01201";
- oParam.outds = "ds_outds_TRMRF01201=xrw";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMRF01201";
- tranf_submit(oParam);
- }
- utlf_addLog("서식 디자인 정보 조회 종료, fGetFormDegn()");
- }
- /****************************************************************************************
- * Argument :
- * Description : 조회해온 디자인정보를 가진 파일을 생성하여 동적으로 div에 매핑한다.
- ****************************************************************************************/
- function cf_TRMRF01201(sSvcId, nErrorCode, sErrorMsg) {
- var formdegnseq = ds_inds_TRMRF01201.getColumn(0, "formdegnseq");
- var mainItemCd = ds_inds_TRMRF01201.getColumn(0, "ivwid");
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
- var formXfdlUseYn = ds_inds_TRMRF01201.getColumn(0, "formxfdluseyn");
- var filepath = "";
- if( !ivw_base.isValidObject("ComnFormObj") && (formprogflag != "PROG" && fGetFormMast("srcformcd") != "0000000677") )
- {
- ivwObj = ivw_base;
- }
- else if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")
- {
- /// 컨설트 관련 수정
- var objGrp;
- if(mainItemCd == "0000960001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001.grup_extn0011449001;
- else if(mainItemCd == "0011449001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011449001;
- else if(mainItemCd == "0001019001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001.grup_extn0011529001;
- else if(mainItemCd == "0011529001") objGrp = ivw_base.grup_base.grup_cnts.grup_0011529001;
- ivwObj = objGrp.components["ivw_" + mainItemCd]; // 컨설트
- }
- else
- ivwObj = ivw_base.grup_base.components["ivw_" + mainItemCd];
- if( formXfdlUseYn == "Y" ){
-
- var formLastUpdtDt = fGetFormMast("lastupdtdt");
-
-
- filepath = sysf_getURLprefix() + "/webapps/hit/web/xrw/.live?business_id=emr&submit_id=DRMMR01102&instcd="
- + sysf_getUserInfo("dutplceinstcd")
- + "&formdegnseq=" + formdegnseq
- + "&status=" + fGetFormRec("status")
- + "&formlastupdtdt=" + formLastUpdtDt //xp caching 회피
- + "&formloaddt=" + utlf_getCurrentTime() //xp caching 회피
- + "&ex_interface=" + sysf_getUserInfo("dutplceinstcd") + "|" + sysf_getUserInfo("userid")
- ;
- trace("@@@@FSMMR01100 서식URL 로드시작\n" + filepath);
- trace("@@@@FSMMR01100 서식URL 로드시작 formdegnseq : " + formdegnseq);
- }else{
- var nFileDir = new VirtualFile();
- fExistFolder(lgv_Foldernm); // 폴더 생성
-
- filepath = lgv_Foldernm + "tmpform_"+ formdegnseq +".xfdl";
- var vFile = new VirtualFile(filepath, VirtualFile.openWrite | VirtualFile.openText);
- sysf_trace("@@@@@ filepath : " + filepath + " @@@@@");
- var url = "";
-
-
- var formxp = ds_outds_TRMRF01201.getColumn(0, "formxp");
- // utlf_addLog(formxp);
- if(!utlf_isNull(formxp) && formxp == "nonedesign")
- {
- alert("미변환 서식이 있습니다");
- return false;
- }
- else if(!utlf_isNull(formxp))
- {
- vFile.write(ds_outds_TRMRF01201.getColumn(0, "formxp"), "utf-8");
- }
- else if( utlf_isNull(formxp))
- {
- alert("미변환 서식이 있습니다. 전산실로 문의하시기 바랍니다.\n\n" + filepath);
- }
- }
-
- if(formXfdlUseYn == "Y" || vFile.getFileSize() != 0)
- {
- if(ivwObj == ivw_base)
- {
- ivw_base.url = "";
- ivw_base.url = filepath;
- }
- else if(!utlf_isNull(ivwObj))
- {
- ivwObj.url = "";
- ivwObj.url = filepath;
- }
- var objDs = this.removeChild("ds_inds_TRMRF01201");
- delete objDs;
- objDs = null;
-
- objDs = this.removeChild("ds_outds_TRMRF01201");
- delete objDs;
- objDs = null;
-
- if(frmf_isPopup())
- {
- var objForm = this.getOwnerFrame().form;
- var parentDS = objForm.objects["ds_cond_formdata"];
- if(utlf_isNull(parentDS))
- fAdjustWindowSize(); // 팝업 로더 사이즈 조절
- }
- }
- }
- /****************************************************************************************
- * Function : fAdjustWindowSize
- * Description : 팝업 서식창 사이즈 조절
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fAdjustWindowSize()
- {
- utlf_addLog("***** fAdjustWindowSize() *****");
- var ivwTop = 1;
- var ivwHei = 685;
- // 화면 최소화 상태에서 ivw_base position 변경시 화면 설정 이상
- if( parent.openstatus != "normal" ){
- parent.openstatus = "normal";
- }
-
- if (grup_titl.visible)
- {
- ivwTop = parseInt(grup_titl.position.top + parseInt(grup_titl.position.height));
- }
- else
- {
- ivwHei = ivwHei + parseInt(grup_titl.position.height);
- }
- ivw_base.position.top = ivwTop;
- //ivw_base.position.height = ivwHei;
-
- ivw_fst.position.height = ivw_base.position.height;
- ivw_fst.position.top = ivw_base.position.top;
- ivw_base.border.style = "none";
- ivw_fst.border.style = "none";
-
- // [미비] StaffSign 미비 간편확인 기능 사용시 화면닫기
- if( !lgv_SaveAfterClose )
- gSaveAfterClose = true;
- var widFlag = fGetFormMast("formprogflag");
-
- if (widFlag == "OCR")
- {
- grup_btn.btn_print.visible = true;
- grup_btn.btn_print.position.left = grup_btn.btn_del.position.left;
- grup_btn.btn_preview.visible = false;
- grup_btn.btn_tmpsave.visible = false;
- grup_btn.btn_signsave.visible = false;
- grup_btn.btn_signsaveasnew.visible = false;
- grup_btn.btn_del.visible = false;
- }
- else
- {
- grup_btn.btn_print.visible = false;
- grup_btn.btn_preview.visible = false;
- }
-
- var openmode = oOpener.frmf_getParameter("openmode");
- if (openmode == "extnunitform")
- widFlag = oOpener.frmf_getParameter("widflag");
- if (fGetFormMast("formcd") == "0000000005")
- {
- parent.position.height = 370;
- ivw_fst.position.height = 10;
- ivw_base.position.height = 291;
- grup_btn.position2.top = 292;
- ivw_base.unitformcd = fGetFormMast("formcd");
- SetMultiTextFull(ivw_base, 1);
- var mtxNm = "MTX_1";
- var mtx = this.components[mtxNm]
- ivw_base.mtxNm.frmf_setFocus();// ivw_base.model.setFocus(mtxNm);
- //mtx.dispatch("onkeyup");
- }
- else if (widFlag == "-" || widFlag == "PROF" || widFlag == "OCR")
- {
- //특수서식일때 창크기 변경
- var STD_WIN_WID = 815;
- // if(frmf_isPopup()){
- // STD_WIN_WID = 850;
- // }
- var STD_WIN_HEI = 950;
- var maxWid = STD_WIN_WID;
- parent.position.width = maxWid + 20;
- //grup_titl.line2.position.width = ivw_base.position.width;
- //grup_btn.position.width = ivw_base.position.width;
- //ivw_base.position.width = maxWid + 1;
-
-
-
- utlf_addLog("jw.choe check!! 임시주석 ");
- // var maxHei = parseInt(window.document.body.vscroll.attribute("max"));
- // if (maxHei > parseInt(ivw_base.attribute("height")))
- // {
- // var diffHei = 0;
- // if (maxHei > STD_WIN_HEI)
- // diffHei = STD_WIN_HEI - parseInt(ivw_base.attribute("height"));
- // else
- // diffHei = maxHei - parseInt(ivw_base.attribute("height"));
- //
- // window.height = window.height + diffHei;
- // ivw_base.attribute("height") = parseInt(ivw_base.attribute("height")) + diffHei;
- // grup_btn.attribute("top") = parseInt(grup_btn.attribute("top")) + diffHei;
- // }
- }
-
-
-
-
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 특수서식을 Popup
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPopupForm(calledflag) {
- utlf_addLog("***** fPopupForm("+calledflag+") *****");
- frmf_setParameter("openmadalformsave", "");
- frmf_setParameter("formcd", ds_data_formmast.getColumn(0, "formcd"));//(this.objects[gPageInfo.initformmastRef]).getColumn(0, "formcd"));
-
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- if (oOpener.frmf_getScreenID() == "SMMMR00100") {
- frmf_setParameter("MMR01100_chkRecDdYn", "Y");
- }
-
- if(!utlf_isNull(calledflag)) {
- frmf_setParameter("calledflag", calledflag);
- }
- var wndobj = frmf_findPopup("SSMMR01100");
- if(!utlf_isNull(wndobj)) {
- wndobj.fFormReady();
- frmf_setFocusPop("SSMMR01100");
- } else {
- //openUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "SSMMR01100", "", ""); //20130131 정창혁
- //frmf_openInternal("SSMMR01100", "SSMMR01100", null, null, 1, 0, 0, null, null, null, null, null, "M");
- frmf_open("SSMMR01100", "SSMMR01100", null, null, 1, 0, 0, null, null, null, null, null, "M");
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @modify : 2008.07.30 (데이터 로딩 완료후 자식창에 데이터 로딩 완료 메시지 전달)
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 기록 데이터를 서식에 Set
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRecData()
- {
- utlf_addLog("***** fSetRecData() MMR01100 기록데이터를 서식에 Set 삭제!!!!*****");
- //loader에서 조회한 데이터를 서식으로 Copy
- //dsf_copyDsList(["ds_data_recitem"], ["ds_data_recitem"], "replace", ivw_base, this);
- //copyNodeset(gPageInfo.recItemRef2, gPageInfo.recItemRef, "replace", ivw_base.model, model);
-
- if (isProgForm())
- {
- ivw_base.fLoadData();
- }
- else
- {
- lf_setSrchData(ivw_base);
- ivw_base.fFormReload();
-
- }
-
- try{
- ivw_base.lf_onloaddatacomplete();
- }catch(e){
- sysf_catchTrace(e);
- }
- }
- /**
- * @group :
- * @ver : 2008.09.30
- * @by : jonghun
- * @modify :
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 누적기록 데이터를 서식에 Set
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetAcmlRecData()
- {
- copyNodeset(gPageInfo.recItemRef2, gPageInfo.acmlrecItemRef, "replace", ivw_base.model, model);
- setSrchData(gPageInfo.acmlrecItemRef, ivw_base);
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 자식화면의 load가 완료되었을때 발생
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOnLoadComplete()
- {
- utlf_addLog("자식 화면 load 완료 시작, fOnLoadComplete() MMR01100");
-
- gSubmitID = TX_SUBMIT_COMN_FORM;
- utlf_addLog("@@@@ gSumbitID : " + gSubmitID + " @@@@@");
-
- //서식Load후 후처리
- utlf_addLog("@@@@@ frmf_getParameter(loadstatus) : " + frmf_getParameter("loadstatus") + " *****");
- if(frmf_getParameter("loadstatus") == COMN_FORM)
- {
- utlf_addLog("***** COMN_FORM *****");
- //fDisalbeSave(false);
- var formprognm = ds_data_formmast.getColumn(0, "formprognm");
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
-
- if(formprognm == "SMMMR04900_CONSULT" || formprognm == "SMMMR00600_수술기록" || formprognm == "SMMMR00900_DSC기록" || formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM; //확장서식 관련 서브밋 정의
- utlf_addLog("@@@@ gSumbitID 확장서식 : " + gSubmitID + " @@@@@");
- }
-
- if(fGetFormMast("srcformcd") == "0000000677" || fGetFormMast("cnstformyn") == "Y")
- {
- grup_btn.btn_signsaveasnew.visible = false;
- }
- else
- {
- grup_btn.btn_signsaveasnew.visible = true;
- }
-
- var replcnts = oOpener.frmf_getParameter("replcnts"); //약제팀
- var overwrite = oOpener.frmf_getParameter("overwrite"); //약제팀
- var reqcnts = oOpener.frmf_getParameter("reqcnts"); //약제팀
- var reqoverwrite = oOpener.frmf_getParameter("reqoverwrite"); //약제팀
- if (!utlf_isNull(reqcnts) && !utlf_isNull(reqoverwrite))
- {
- ivw_base.frmf_setParameter("MMR04900_reqcnts", reqcnts);
- ivw_base.frmf_setParameter("MMR04900_reqoverwrite", reqoverwrite);
- }
-
- if (!utlf_isNull(replcnts) && !utlf_isNull(overwrite))
- {
- ivw_base.frmf_setParameter("MMR04900_replcnts", replcnts);
- ivw_base.frmf_setParameter("MMR04900_overwrite", overwrite);
- }
-
- //20140812 이윤주 수정
- var paramreqcnt = frmf_getParameter("SMMMR04900_reqcnt");
- if (!utlf_isNull(paramreqcnt))
- {
- ivw_base.frmf_setParameter("SMMMR04900_reqcnt", paramreqcnt);
- }
-
- //0. 부분서식 로드
- ivw_base.fLoadUnitForm();
-
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("open_base") == false) {
- return false;
- }
-
- }
-
- if(frmf_getParameter("loadstatus") == UNIT_FORM)
- {
- utlf_addLog("***** UNIT_FORM *****");
- utlf_addLog("***** fGetFormRec(status) : " + fGetFormRec("status") + " *****");
- if(fGetFormRec("status") == "U")
- {
- //1. 기록 Data Set
- fSetRecData();
-
- if (fGetFormRec("espiyn") == "Y" && gViewPrt)
- {
- grup_btn.btn_print.visible = true;
- }
- else
- {
- grup_btn.btn_print.visible = false;
- }
-
-
-
- fSetFormRec("formrecdeptnm" , sysf_getUserInfo("dutplcenm"));
- fSetFormRec("formrecusernm" , sysf_getUserInfo("usernm"));
-
- //코사인, 기록반려버튼 처리(2008-11-27 박종훈)
- if(fGetFormMast("srcformcd") != "0000000676" && fGetFormMast("srcformcd") != "0000000680")
- {
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
- grup_btn.btn_signsaveasnew.enable = true;
- //2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O'] 기록 작성을 막는다.
- if(!validFormchos_MMR01100(false)){
- grup_btn.btn_signsaveasnew.enable = false;
- }
- }
- else
- {
- grup_btn.btn_signsaveasnew.enable = false;
- }
- }
- else
- {
- //기본 자료 당겨오기(20121025 이윤주)
- //if (getScreenID(ivw_base.src) == "") {
- utlf_addLog("@@@@@ frmf_getScreenID() : " + ivw_base.frmf_getScreenID() + " MMR01100 @@@@@@");
- if (utlf_isNull(ivw_base.frmf_getScreenID())) {
- ivw_base.fSetInitData();
- }
- //프로그램 서식내의 부분서식인경우(20130725 이윤주)
- else {
- var ItemCds = new Array("0008224001" //S&O
- , "0001129001"); //A
- var loopcnt = ItemCds.length;
- for (var i=0; i< loopcnt; i++) {
- //var ivw1 = ivw_base.document.all("ivw_"+ItemCds[i]);
- var ivw1 = ivw_base.grup_base.components["ivw_"+ItemCds[i]];
- if (!utlf_isNull(ivw1)) {
- if (!utlf_isNull(ivw1.url)) {
- ivw1.fSetInitData();
- }
- }
- }
- }
-
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
-
- dsf_makeValue(ds_acmlsend, "pid", "string", fGetFormRec("pid"));
- dsf_makeValue(ds_acmlsend, "formcd", "string", fGetFormRec("formcd"));
- // model.makeValue("/root/acmlsend/pid", fGetFormRec("pid"));
- // model.makeValue("/root/acmlsend/formcd", fGetFormRec("formcd"));
-
- var oParam = {};
- oParam.id = "TRMMR01102";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetRecAcmlData";
- oParam.inds = "req=ds_acmlsend";
- oParam.outds = "ds_acmltmp_recinfo_recitem=recitem";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR01102";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMR01102") > -1)
- {
- //var accRecList = instance1.selectNodes("/root/acmltmp/recinfo/recitem");
- if (ds_acmltmp_recinfo_recitem.rowcount > 0)
- {
- fSetAcmlRecData();
- }
- }
-
- grup_btn.btn_signsaveasnew.disabled = true;
-
- var sFormchosflag = ds_data_formmast.getColumn(0, "formchosflag");
- var sPatchosflag = ds_data_formrec.getColumn(0, "chosflag");
-
- if (sPatchosflag == "I" && sFormchosflag == "O" && sysf_getUserInfo("jobkindcd").substring(0, 2) == "03")
- {
- grup_btn.btn_signsave.enable = false;
- }
- else
- {
- grup_btn.btn_signsave.enable = true;
- }
-
- //2010.03.08 안치원 - 디자인서식의 추가로직 구현
- //MMRDegnForm.js 로 로직 이동
- // if(fGetFormMast("srcformcd") == "0000000737") //술전평가서
- }
-
- //2010-02-21 오후 7:17:23 강지훈 추가 - 최종진단명 요약지 버튼설정
- if(fGetFormMast("srcformcd") == "0000000680"){
-
- lf_getHardCDList("N", 9926, 0 , ds_profdgn_formhardcd);
- if(ds_profdgn_formhardcd.getColumn(0, "hardcd") == "Y"){
- ivw_base.grup_base.btn_lastdiag_0001013001.visible = true;
- }
- else{
- ivw_base.grup_base.btn_lastdiag_0001013001.visible = false;
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //수술관련기록의 경우 기록일시 수정 불가(2009-01-12 박종훈 추가)
- if (fGetFormMast("srcformcd") == "0000000676" || fGetFormMast("srcformcd") == "0000003325" || fGetFormMast("srcformcd") == "0000003169")
- {
- grup_titl.ipt_formrecdd.enable = false;
- grup_titl.ipt_formrectm.enable = false;
-
- }
- else
- {
- grup_titl.ipt_formrecdd.enable = true;
- grup_titl.ipt_formrectm.enable = true;
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //2. 이미지 Display
- //3. 권한체크(읽기/쓰기)
-
- frmf_setParameter("loadstatus", LOAD_COMPLETE);
-
- //부모창에 onloadcomplete dispatch
- dispOnLoadComplete(LOAD_COMPLETE, ds_data_formmast.getColumn(0, "formcd"));
-
- var formprognm = ds_data_formmast.getColumn(0, "formprognm");
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
-
- if(formprognm == "SMMMR04900_CONSULT" || formprognm == "SMMMR00600_수술기록" || formprognm == "SMMMR00900_DSC기록" || formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM; //확장서식 관련 서브밋 정의
- }
- //서식 로드 후 서식 수정여부 파악을 위한 데이터 셋팅(2008-12-02 박종훈)
- if (isProgForm())
- {
- //ivw_base.getSaveComnFormData(null, "1");
- var rtn = lf_getProgFormRecData("init", "1"); // 공통서식 기록데이터 취합
- g_recitem_oldrec = ivw_base.fGetCSV("ds_hidden_recitem");
- if( !isValidObject(["ds_hidden_recitem"]) ){
- dsf_createDsRow("ds_hidden_recitem",
- [{col:"instcd", val:""}]);
- ds_hidden_recitem.assign(ds_data_recitem);
- ds_hidden_recitem.clearData();
- }
- ds_hidden_recitem.copyData(ivw_base.ds_hidden_recitem);
- var objDs = ivw_base.removeChild("ds_hidden_recitem");
- delete objDs;
- objDs = null;
- }
- else
- {
- // ivw_base.getSaveData(gPageInfo.sortItemRef, "replace", this, null, null);
- // SortRecItem();
- lf_getGenFormData("init", "1");
- g_recitem_oldrec = fGetCSV("ds_hidden_recitem");
- }
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV("ds_hidden_recitem");
-
- var objDs = this.removeChild("ds_hidden_recitem");
- delete objDs;
- objDs = null;
-
-
- trace("fLoadNewForm End시간: " + utlf_getCurrentTime() );
-
- var btndisableyn = oOpener.frmf_getParameter("btndisableyn");
-
- if (btndisableyn == "Y")
- {
- grup_btn.enable = false;
- oOpener.frmf_clearParameter("btndisableyn");
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //병원별 제증명 진단명 프리텍스트 기능(2009-05-20추가)
-
- if(fGetFormMast("formprogflag") == "PROF")
- {
-
- lf_getHardCDList("N", 1008, 0 , ds_profdgn_formhardcd);
-
- var dgnfree = ds_profdgn_formhardcd.getColumn(0, "hardcd");
-
- ivw_base.fSetGridFreetext(dgnfree);
-
- //2009-06-20 오전 10:58:20 강지훈 추가 : 기관별로 진단찾기 팝업여부를 설정한다.
- lf_getHardCDList("N", 9903, 0 , ds_profdgn_formhardcd);
- var diagfree = ds_profdgn_formhardcd.getColumn(0, "hardcd");
- if(diagfree == "Y"){
- ivw_base.fSetGridAddRow(diagfree);
- }
-
- }
-
-
- //2009.12.18 안치원 - 서식Loading완료후에 child의 추가작업을 수행한다.
- if (isProgForm()) {
- try {
- ivw_base.initFormAtLast_MMR01100I();
- } catch (e) {
- sysf_catchTrace(e);
- }
- }
- else {
- //2010.03.08 안치원 - 디자인서식의 추가로직 구현
- //-Post OP Note 연동(from Brief OP Note)
- initFormAtLast_MMRDegnForm();
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- }
- frmf_clearParameter("SSMMR01100_formrecdd");
- frmf_clearParameter("espisavesuccess");
-
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- if (isProgForm()) {
- try {
- setButtonToggleAllByRecYn(ivw_base, ivw_base.gExtnBtnIds);
- }
- catch (e) {
- sysf_catchTrace(e);
- }
- }
- utlf_addLog("자식 화면 load 완료 종료, fOnLoadComplete()");
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMMR01102의 콜백함수
- ****************************************************************************************/
- function cf_TRMMR01102(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- utlf_addLog("***** cf_TRMMR01102 *****");
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템에 값세팅 <-- fSetRecItemCnts_MMR01100_old
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRecItemCnts_MMR01100(degnitemno, cnts)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- var path = gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"' and (degnitemkind='MTX' or degnitemkind='STX')]";
- var cnt = getNodesetCnt(ivw_base.model, path);
- if (cnt == 1)
- {
- ivw_base.model.setValue(gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"']/reccnts", cnts);
- ivw_base.model.refresh();
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템의 값 반환 <-- fGetRecItemCnts_MMR01100_old
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetRecItemCnts_MMR01100(degnitemno)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- return getItemDataByDegnItemNo(degnitemno, ivw_base.model);
- }
- return null;
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : jonghun
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 팝업으로 호출되었을때 처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fModalProcess()
- {
- utlf_addLog("***** fModalProcess() *****");
- var formcd = oOpener.frmf_getParameter("formcd");
- var openmode = oOpener.frmf_getParameter("openmode");
- var calledflag = oOpener.frmf_getParameter("calledflag");
- var formrecdd = oOpener.frmf_getParameter("SSMMR01100_formrecdd");
- var oprsrvno = oOpener.frmf_getParameter("oprsrvno"); // 수술예약번호(수술전 평가서)
-
- utlf_addLog("***** fModalProcess() openmode : "+ openmode +" *****");
- //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- // doDschOrdCntsOfDCSN_MMRCom("GET_PARAM");
- var formrechm = "0000";
- var recddyn = false;
-
- fGetFormSubTitle(); // 서식부제목리스트
-
- if (!utlf_isNull(formrecdd))
- {
- recddyn = true;
- }
-
- if (openmode == "recform")
- {
- var formrecseq = oOpener.frmf_getParameter("formrecseq");
- fLoadRecForm(formrecseq);
-
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- oOpener.frmf_clearParameter("calledflag");
- }
- }
- else if (openmode == "reccnstform") // 기록된 컨설트 서식 열기
- {
- grup_btn.btn_del.visible = false;
- var formrecseq = oOpener.frmf_getParameter("formrecseq");
- var userdeptcd = oOpener.frmf_getParameter("userdeptcd");
- var replcnts = oOpener.frmf_getParameter("replcnts"); //약제팀
- var overwrite = oOpener.frmf_getParameter("overwrite"); //약제팀
- if (utlf_isNull(userdeptcd))
- {
- sysf_messageBox("컨설트 수신부서 코드가", "I004");
- return;
- }
- frmf_setParameter("userdeptcd", userdeptcd);
- fLoadRecForm(formrecseq);
- if (!utlf_isNull(replcnts))
- {
- //ivw_base.window.javascript.fSetReplCnts(replcnts, eval(overwrite));
- ivw_base.frmf_setParameter("MMR04900_replcnts", replcnts);
- ivw_base.frmf_setParameter("MMR04900_overwrite", overwrite);
- }
- fCheckWriteUser();
- }
- else if (openmode == "newcnstform") // 컨설트 새서식 열기
- {
- grup_btn.btn_del.visible = false;
-
- var node = sysf_getGlobalVariable("paminfo");
-
- if(utlf_isNull(node))
- {
- fSetPamInfo(oOpener.frmf_getParameter("pid"),
- oOpener.frmf_getParameter("orddd"),
- oOpener.frmf_getParameter("cretno"),
- oOpener.frmf_getParameter("ioflag"),
- oOpener.frmf_getParameter("orddeptcd"),
- oOpener.frmf_getParameter("orddrid") );
- }
- frmf_setParameter("SMMMR04900_cnstflag", oOpener.frmf_getParameter("SMMMR04900_cnstflag"));
- frmf_setParameter("SMMMR04900_replflag", oOpener.frmf_getParameter("SMMMR04900_replflag"));
- frmf_setParameter("SMMMR04900_cnstdeptcd", oOpener.frmf_getParameter("SMMMR04900_cnstdeptcd"));
- frmf_setParameter("SMMMR04900_cnstdeptnm", oOpener.frmf_getParameter("SMMMR04900_cnstdeptnm"));
- frmf_setParameter("SMMMR04900_drid", oOpener.frmf_getParameter("SMMMR04900_drid"));
- frmf_setParameter("SMMMR04900_drnm", oOpener.frmf_getParameter("SMMMR04900_drnm"));
- frmf_setParameter("SMMMR04900_reqdpcd", oOpener.frmf_getParameter("SMMMR04900_reqdpcd"));
- frmf_setParameter("SMMMR04900_reqdpnm", oOpener.frmf_getParameter("SMMMR04900_reqdpnm"));
- frmf_setParameter("SMMMR04900_reqdrid", oOpener.frmf_getParameter("SMMMR04900_reqdrid"));
- frmf_setParameter("SMMMR04900_reqdrnm", oOpener.frmf_getParameter("SMMMR04900_reqdrnm"));
- frmf_setParameter("SMMMR04900_formnm", oOpener.frmf_getParameter("SMMMR04900_formnm"));
- frmf_setParameter("SMMMR04900_formcd", formcd);
- var formcd = oOpener.frmf_getParameter("formcd");
- fLoadNewForm(formcd);
-
- fCheckWriteUser();
- }
- else
- {
- fLoadNewForm(formcd);
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- oOpener.frmf_clearParameter("calledflag");
- }
-
- if(recddyn)
- {
- fSetFormRec("formrecdd" , formrecdd);
- fSetFormRec("formrechm" , formrechm);
- }
-
- //2010.04.05 박종훈 수정(수술예약번호가 파리미터로 넘어올 경우 기록마스터테이블에 넣어준다)
- //요청번호 : 13250, TaskNo : 49479, 우선순위 : SY
- if(!utlf_isNull(oprsrvno))
- {
- fSetFormRec("oprsrvno", oprsrvno);
- }
- }
- if (!utlf_isNull(fGetFormMast("formcd")))
- {
- var disppatinfo = oOpener.frmf_getParameter("disppatinfo");
-
- //2010.06.01 김달현 - disppatinfo가 없을경우 상단정보가져옴
- if(utlf_isNull(disppatinfo)){
- var pid = fGetPamInfo("pid");
- var hngnm = fGetPamInfo("hngnm");
- var sexage = fGetPamInfo("sex") + "/" + fGetPamInfo("age");
- var orddeptnm = fGetPamInfo("orddeptnm");
- var roomcd = fGetPamInfo("roomcd");
-
- disppatinfo = pid + "▦" + hngnm + "▦" + sexage + "▦" + orddeptnm + "▦" + roomcd;
- }
-
- disppatinfo = disppatinfo.split("▦"); //[0]등록번호, [1]환자명, [2]성별/나이, [3]진료과, [4]병실
- this.titletext= fGetFormMast("formnminfo") + " 환자정보 : " + disppatinfo[0] + " " + disppatinfo[1] + "(" + disppatinfo[2] + ") 진료과 : " + disppatinfo[3] + ", 병실 : "+ disppatinfo[4];
- //window.document.title = fGetFormMast("formnminfo") + " 환자정보 : " + disppatinfo[0] + " " + disppatinfo[1] + "(" + disppatinfo[2] + ") 진료과 : " + disppatinfo[3] + ", 병실 : "+ disppatinfo[4];
- }
- var openmode = oOpener.frmf_getParameter("openmode");
- if (openmode == "extnunitform")
- {
- grup_titl.visible = false;
- }
- else
- {
- grup_titl.visible = true;
- if (fGetFormMast("formprogflag") == "OCR")
- {
- grup_btn.btn_print.visible = true;
- grup_btn.btn_print.position2.left = grup_btn.btn_del.position2.left;
- grup_btn.btn_preview.visible = false;
- grup_btn.btn_tmpsave.visible = false;
- grup_btn.btn_signsave.visible = false;
- grup_btn.btn_signsaveasnew.visible = false;
- grup_btn.btn_del.visible = false;
- }
- else
- {
- grup_btn.btn_print.visible = false;
- grup_btn.btn_preview.visible = false;
- }
- }
- //확장 서식 팝업의 경우
- if (openmode == "extnunitform")
- {
- gFstLevlItemCd = oOpener.frmf_getParameter("fstlevlitemcd");
- grup_btn.btn_preview.visible = false;
- grup_btn.btn_tmpsave.visible = false;
- grup_btn.btn_signsave.visible = false;
- grup_btn.btn_signsaveasnew.visible = false;
- grup_btn.btn_del.visible = false;
- grup_btn.btn_cnfm.position2.left = grup_btn.btn_signsave.position2.left;
- grup_btn.btn_cncl.position2.left = grup_btn.btn_del.position2.left;
- grup_btn.btn_cnfm.visible = true;
- grup_btn.btn_cncl.visible = true;
- fSetFormInfoByCSV(oOpener.frmf_getParameter("forminfo"));
- //fInitForm();
- //fSetNewFormRec();
-
- ///////////////////
- //2010.01.26, hkjoo
- ivw_base.model.removeNodeSet("/root/main");
- copyNodeset("/root/main", "/root/main", "replace" ,ivw_base.model, model); //아이템별 서식보기 뷰어에 data copy
-
- document.title = model.getValue("/root/main/forminfo/formmast/formnminfo"); //해당 확장서식 명 타이틀에 셋팅
- ivw_base.fCreateDegnBySelfInfo(gPageInfo, null, "record");//확장서식 화면 셋팅, hkjoo
- //////////////////////
-
- setCtrlDisabled(gFstLevlItemCd); //확장서식 팝업에서 기본서식과 겹치는 아이템은 disable 처리
- ivw_base.frmf_setParameter("openmode", "extnunitform");
-
- //ivw_base.model.refresh();
- fSetUniqData( gPageInfo.recItemRef, ivw_base.model ); //기본 서식의 키값으로 값셋팅, fstlevlitemcd, degnitemlevlcd, degnitemlevlno
-
- var recinfo = opener.frmf_getParameter("recinfo");
- if (!utlf_isNull(recinfo))
- {
- var path = "/root/hidden/recinfo";
- model.makeNode(path);
- setCSVToNode(path, recinfo, "recitem");
-
- setSrchData(path+"/recitem", ivw_base);
- ivw_base.fLoadOcxImage(); //이미지 로드
- //ivw_base.model.refresh();
- }
- }
-
-
- // 팝업 서식창 사이즈 조절
- fAdjustWindowSize();
-
- try {
- oOpener.fEndFormReady_MMR01100();
- }catch (e) {
- sysf_catchTrace(e);
- };
-
- oOpener.frmf_setParameter("openmode", "");
- oOpener.frmf_setParameter("formrecseq", "");
- }
- /****************************************************************************************
- * Function : fGetPamInfo
- * Description : key값에 해당되는 원무정보 가져오기
- * Argument : 01. key : 컬럼명
- * retrun type : ds_data_paminfo DS의 key 이름 컬럼 값
- * Creator :
- ****************************************************************************************/
- function fGetPamInfo(key)
- {
- if( utlf_isNull(key))
- return "";
-
- if(utlf_isNull(ds_data_paminfo.getColumnInfo(key)))
- return "";
- else
- return ds_data_paminfo.getColumn(0, key);
- }
- /**
- * @desc : 확인버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈, 2010.01.26 hkjoo 수정
- */
- function fConfirm()
- {
- ivw_base.window.javascript.getSaveData(gPageInfo.recItemRef2, "replace", model, NewPageInfo(gPrestIvw, gFstLevlItemCd));
-
- var path = gPageInfo.extnrecItemRef + "[fstlevlitemcd='" +gFstLevlItemCd+ "' and formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']";
- if (opener.window.javascript.fGetRecNodeCount(path) != "0")
- {
- opener.window.javascript.fRemoveRecNodeset(path);
- }
-
- copyNodeset( gPageInfo.extnrecRef, gPageInfo.recRef2, "append" ,opener.model, model );
- window.close();
- }
- /**
- * @desc : 기본 서식의 키값으로 값셋팅, fstlevlitemcd, degnitemlevlcd, degnitemlevlno
- * @id :
- * @event :
- * @return :
- * @authur : 주희경, 2010.01.29
- */
- function fSetUniqData( recItemRef, tModel )
- {
- var fstlevlitemcdNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/fstlevlitemcd");
- var degnitemlevlcdNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/degnitemlevlcd");
- var degnitemlevlnoNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/degnitemlevlno");
-
- for( i=0; i<fstlevlitemcdNodes.length; i++ )
- {
- fstlevlitemcdNodes.item(i).value = gFstLevlItemCd; //fstlevlitemcd 일괄변경
- degnitemlevlcdNodes.item(i).value = gFstLevlItemCd.substr(0,7) + "." + degnitemlevlcdNodes.item(i).value; //degnitemlevlcd에 fstlevlitemcd의 앞 7자리 숫자 add(통합기록조회에서 조회되려고 xslt의 규칙대로 맞춰줌)
- degnitemlevlnoNodes.item(i).value = parseInt(degnitemlevlnoNodes.item(i).value)+1; //부분서식일 때 레벨 수정
- }
-
- //기존에 N-S(BOL) 아이템이 기록조회에서 (N-S : N-S)로 표시되는것을 막기위해 정보관리팀에서 N-S아이템 모두 rectermcd에 블랭크 두개(" ")를 설정 하였다고 함. -> 빈데이터로 일괄변경
- var rectermcdNodes = tModel.instance1.selectNodes(recItemRef+"[degnitemnm='N-S' and rectermcd=' ' ]/rectermcd");
- for( i=0; i<rectermcdNodes.length; i++ )
- {
- rectermcdNodes.item(i).value = "";
- }
- }
- /****************************************************************************************
- * Function : fCheckSaveDept
- * Description : 기록작성부서와 수정사용자의 부서를 비교
- * retrun type : true : 기록부서와 수정부서가 동일, false : 기록부서와 수정부서가 다름
- * Creator :
- ****************************************************************************************/
- function fCheckSaveDept()
- {
- sysf_trace("***** fCheckSaveDept() MMR01100 기록작성부서와 수정사용자의 부서를 비교*****");
- var sChkDept = oOpener.frmf_getParameter("chkdeptpresave");
- oOpener.frmf_clearParameter("chkdeptpresave");
-
- sysf_trace("***** fCheckSaveDept() sChkDept : " + sChkDept + " *****");
-
- //20121217 정창혁 같은 부서내 임시저장 활성화 //진정회복기록 (내시경, 건진) :1000007334 포함. 모든 기록지
- if (fGetEditableDept()) {
- sChkDept = "N";
- }
- //20130524 정창혁 cpg관련 저장일때 최초 빈서식일때 pid를 emr로 설정해주므로 부서체크나 동일 사용자 체크를 피하기 위해 추가 fGetFormRec... 추가
- if (sChkDept == "N" || fGetFormRec("srcformcd") == "0000000677" || fGetFormRec("calledflag").indexOf("cpg") != -1)
- {
- return true;
- }
- else
- {
- var sessUdeptcd = sysf_getUserInfo("dutplcecd");
- var sessUserid = sysf_getUserId();
- var recUdeptcd = fGetFormRec("formrecdeptcd");
- var recUserid = fGetFormRec("formrecuserid");
- var recLastUpUserid = fGetFormRec("lastupdtrid");
-
- // [요청번호:20161121013] 기록수정 제한
- if(!utlf_isNull(recUserid)
- && ds_init_recsaveyn.rowcount > 0
- && ds_init_recsaveyn.getCaseCount("hardcd=="+ recUserid) > 0
- && sessUserid != recUserid){
- return false;
- }
-
- if (sessUserid == recUserid || sessUserid == recLastUpUserid)
- {
- return true;
- }
- else
- {
- if (sessUdeptcd == recUdeptcd)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 기록일 변경시 유효 기록일자 체크
- * return type : true : 기록부서와 수정부서가 동일, false : 기록부서와 수정부서가 다름
- ****************************************************************************************/
- function fChkRecdd()
- {
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- if (oOpener.frmf_getParameter("MMR01100_chkRecDdYn") == "Y") {
- //
- } else if (fGetFormMast("mainyn") != "Y") {
- return;
- }
- //end of TASK-3088
-
- var sIoflag = fGetPamInfo("ioflag");
- var sOrddd = "";
- var sDschdd = "";
- var sIndschacptstat = ""; //D일경우 퇴원
- var sChDD = ds_data_formrec.getColumn(0, "formrecdd");
-
- if(sIoflag == "I" || sIoflag == "E" || sIoflag == "D")
- {
- sIndschacptstat = fGetPamInfo("indschacptstat");
- sOrddd = fGetPamInfo("indd");
- sDschdd = fGetPamInfo("dschdd");
-
- if (sIndschacptstat == "D" || sIndschacptstat == "T")//2010.02.17 dhkim - 가퇴원상태일 경우도 blocking 포함
- {
- if (sChDD >= sOrddd && sChDD <= sDschdd)
- {
- }
- else
- {
- sysf_messageBox("기록일이 재원기간내에 있지 않습니다. 기록일을 확인", "I008");
-
- if (gRecdd >= sDschdd)
- {
- gRecdd = sDschdd;
- }
-
- ds_data_formrec.setColumn(0, "formrecdd", gRecdd);
- }
- }
- else
- {
- if (sChDD < sOrddd)
- {
- sysf_messageBox("선택하신 일자는 입원일 이전입니다. 기록일을 확인", "I008");
- ds_data_formrec.setColumn(0, "formrecdd", sOrddd);
- }
- }
-
- }
- else if(sIoflag == "O" || sIoflag == "S")
- {
- sOrddd = fGetPamInfo("orddd");
-
- /* 이윤주 막음:여수진 요청(20150225)
- if (sChDD != sOrddd)
- {
- sysf_messageBox("기록일과 진료일이 일치하지 않습니다. 기록일을 확인", "I008");
- ds_data_formrec.setColumn(0, "formrecdd", sOrddd);
- }
- */
- }
-
- // 2018.12 기준일자 변경시 작성미비 체크하여 정정프로세스 진입여부 설정
- lf_getChkRecCorrect("Y", "Y");
- }
- /**
- * @desc : 코사인 버튼 클릭시 이벤트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickSaveCosign()
- {
- sysf_trace(" >>>>>>>>>>>>>>>> fClickSaveCosign Staff Sign Start ");
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_sign") == false) {
- return false;
- }
-
- frmf_setParameter("cosignrec", "-");
- //var rtn = fCheckChangeDataForCosign();
- var rtn = lf_isModify();
-
- sysf_trace(" 수정여부 체크 lf_isModify rtn : " + rtn);
- if (rtn == "N") //수정데이터가 없는 경우
- {
- fSetFormRec("cosignyn", "Y");
- var savedInfo = fSaveFormRecCosign("Y");
-
- //2007.12.13 박종훈 수정
- if (!utlf_isNull(savedInfo.formrecseq) && savedInfo.formrecseq != 0)
- {
- if (oOpener.frmf_getParameter("openmode") == "openform")
- {
- oOpener.frmf_setParameter("openmadalformsave", "Y");
- }
-
- if (!utlf_isNull(fGetFormRec("calledflag")) && fGetFormRec("calledflag").indexOf("cpgmain") == 0)
- {
- try
- {
- var ordpatlistObj = frmf_findPopup("SMMMP00800");
- if(!utlf_isNull(ordpatlistObj))
- {
- addEmrLog("calledflag : " + fGetFormRec("calledflag"));
- ordpatlistObj.fSnedValToCpWnd(fGetFormRec("formcd"), savedInfo.formrecseq, fGetFormRec("calledflag"));
- }
- }
- catch(e)
- {
- }
- }
-
- frmf_setParameter("espisavesuccess", "Y");
-
- fAfterSaveExtnDoing();
-
- //20081209 오지훈SW 요청
- var wndobj = frmf_findPopup("SMMRI01800");
- if(!utlf_isNull(wndobj)){
- var status = fGetFormRec("status");
- var pid = fGetFormRec("pid");
- var orddd = fGetFormRec("orddd");
- var cretno = fGetFormRec("cretno");
- var formcd = fGetFormRec("srcformcd");
- var formrecdd = fGetFormRec("formrecdd");
- var formrecseq = fGetFormRec("formrecseq");
- //2010.02.27 안치원 - 미비항목화면연계 수정 formrecdeptcd추가(이은영 요청)
- var formrecdeptcd = fGetFormRec("formrecdeptcd");
- //2010.02.09 안치원 - 미비항목화면연계 수정(이은영 요청)
- var unprepFlag = "uss";
-
-
- var param = status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + unprepFlag + "^" + formrecdeptcd;
- //oOpener.frmf_setParameter("SMMRI01800_medirecinfo", param);
-
- wndobj.fDispUnPrepDrCnfm(param);
- frmf_setFocusPop("SMMRI01800");
- wndobj.grd_unpreplist.setFocus();
- }
- }
- }
- else
- {
- fSetFormRec("cosignyn", "Y");
- fClickSave("Y");
- }
-
- // [미비] StaffSign 미비 간편확인 기능 사용시 화면닫기
- if( lgv_SaveAfterClose ){
- this.close();
- }
- }
- /**
- * @desc : 기록반려버튼 클릭 이벤트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickReSend()
- {
- var objArg = new Object();
- objArg.arg_ds_data_formrec = ds_data_formrec;
-
- frmf_modal("SPMMR06300", "SPMMR06300", objArg, 1, 100, 100, null, null, null, null, null, null, "M");
-
- var cnclyn = frmf_getParameter("cosignclclyn");
- frmf_clearParameter("cosignclclyn");
- sysf_trace("@@@@@ 기록반려 cnclyn : " + cnclyn + " @@@@@");
-
- if ( cnclyn == "Y")
- {
- grup_btn.btn_cosign.enable = true;
- ivw_base.grup_base.enable = true;
- fAfterSaveExtnDoing();
- //2010-02-22 오후 1:34:16 강지훈 추가
- fSetFormRec("cosign", "N");
-
- // 기록반려 사유 입력 후 즉시 수정가능하도록 화면 활성화. (20191105 금정화 추가)
- lf_resetForm();
- }
- }
- /**
- * @desc : 수정되지 않은 기록지 코사인 저장(미비 업데이트, 인증데이터 처리)
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSaveFormRecCosign(signedYn, mode)
- {
- if (utlf_isNull(fGetFormMast("formcd"))) return;
-
- if (isProgForm())
- {
- // ivw_base.window.javascript.getSaveComnFormData(mode, "1");
- lf_getProgFormRecData(mode, "1");
- ds_data_recitem.copyData(ivw_base.ds_data_recitem);
- }
- else
- {
- // ivw_base.window.javascript.getSaveData(gPageInfo.sortItemRef, "replace", model, null, mode);
- // SortRecItem();
- lf_getGenFormData(null, "1");
- }
-
- if (signedYn != null)
- {
- return fSaveComnFormRecInfoForCosign(signedYn);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 서식 저장 후 실행함수 후 동작 - 서식로더 popup 일경우
- ****************************************************************************************/
- function fGetRecMainlist()
- {
- if ( !utlf_isNull(opener) && opener.frmf_getScreenID() == "SMMMR00100")
- {
- opener.fRefMediRecList();
- }
- }
- /**
- * @desc : 서식이 활성화 될때 서식에 기본 설정되는 Data를 가져온다.
- * @id :
- * @event :
- * @return :
- * @authur : 안치원
- */
- function getRecIntefaceData(recIfID)
- {
- if (fGetFormRec("status") != "C") return;
-
- setReqOfGetRecIntefaceData("pid", fGetPamInfo("pid"));
- setReqOfGetRecIntefaceData("cretno", fGetPamInfo("cretno"));
- setReqOfGetRecIntefaceData("recIfID", recIfID);
- setReqOfGetRecIntefaceData("dest_formcd", fGetFormMast("formcd"));
- setReqOfGetRecIntefaceData("dest_formdegnseq", fGetFormMast("formdegnseq"));
-
- var compioflag = fGetPamInfo("ioflag");
- if (compioflag == "O" || compioflag == "S")
- setReqOfGetRecIntefaceData("orddd", fGetPamInfo("orddd"));
- else
- setReqOfGetRecIntefaceData("orddd", fGetPamInfo("indd"));
-
- if (submit("TRMMR01104")) {
-
- ivw_base.window.javascript.setInterfaceData();
- }
- }
- function setReqOfGetRecIntefaceData(key, value)
- {
- model.makeValue("/root/send/reqif/"+key, value);
- }
- /**
- * @desc : 기록권한 검사
- * @id : 2009.10.19 안치원 TASK-32640, 32794
- * @event :
- * @return :
- * @authur : 안치원
- */
- function validateRec(formcd)
- {
- utlf_addLog("***** validateRec("+formcd+") *****")
- if (utlf_isNull(formcd))
- return;
-
- //oOpener = frmf_getoOpener();
- var sGetTopYn = oOpener.frmf_getParameter("SSMMR01100_getTopYn");
- var node = sysf_getGlobalVariable("paminfo");
-
- var pid = "";
- var orddd = "";
- var cretno = "";
- var ioflag = "";
- var orddeptcd = "";
-
- if(!utlf_isNull(node) && sGetTopYn != "N")
- {
- dsf_createDs("ds_main_vpaminfo");
- dsf_setCSVToDs("ds_main_vpaminfo", node);
-
- pid = ds_main_vpaminfo.getColumn(0, "pid");
- cretno = ds_main_vpaminfo.getColumn(0, "cretno");
- ioflag = ds_main_vpaminfo.getColumn(0, "ioflag");
- orddeptcd = ds_main_vpaminfo.getColumn(0, "orddeptcd");
-
- if (ioflag == "O" || ioflag == "S") {
- orddd = ds_main_vpaminfo.getColumn(0, "orddd");
- } else {
- orddd = ds_main_vpaminfo.getColumn(0, "indd");
- }
- } else {
- pid = ds_data_paminfo.getColumn(0, "pid");
- cretno = ds_data_paminfo.getColumn(0, "cretno");
- ioflag = ds_data_paminfo.getColumn(0, "ioflag");
- orddeptcd = ds_data_paminfo.getColumn(0, "orddeptcd");
-
- if (ioflag == "O" || ioflag == "S") {
- orddd = ds_data_paminfo.getColumn(0, "orddd");
- } else {
- orddd = ds_data_paminfo.getColumn(0, "indd");
- }
- }
-
- var openmode = oOpener.frmf_getParameter("openmode");
-
- if (openmode == "newform")
- {
- pid = oOpener.frmf_getParameter("pid");
- orddd = oOpener.frmf_getParameter("orddd");
- cretno = oOpener.frmf_getParameter("cretno");
- }
-
-
- dsf_createDsRow("ds_send_reqvalid",
- [{col: "valiflag", type:"string", size:256, val: "new"}
- ,{col: "pid", type:"string", size:256, val: pid}
- ,{col: "orddd", type:"string", size:256, val: orddd}
- ,{col: "cretno", type:"INT", size:256, val: cretno}
- ,{col: "chosflag", type:"string", size:256, val: ioflag}
- ,{col: "formcd", type:"string", size:256, val: formcd}
- ,{col: "orddeptcd", type:"string", size:256, val: orddeptcd}]);
-
- dsf_createDs("ds_data_validinfo",
- [{col: "formrecseq", type:"BIGDECIMAL", size:256}
- ,{col: "formcd", type:"string", size:256}
- ,{col: "resultCode", type:"string", size:256}
- ,{col: "resultMsg", type:"INT", size:256}
- ,{col: "valiflag", type:"string", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMR01105";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetRecValidation";
- oParam.inds = "req=ds_send_reqvalid";
- oParam.outds = "ds_data_validinfo=validinfo";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR01105";
- tranf_submit(oParam);
- if (arErrorCode.pop("TRMMR01105") > -1) {
-
- if (ds_data_validinfo.getColumn(0, "resultCode") != "0") {
- if (!utlf_isNull(ds_data_validinfo.getColumn(0, "resultMsg"))) {
- alert(ds_data_validinfo.getColumn(0, "resultMsg"));
- }
-
- if (!utlf_isNull(ds_data_validinfo.getColumn(0, "formrecseq"))) {
- fLoadRecForm(ds_data_validinfo.getColumn(0, "formrecseq"), null, null);
- }
- else if (!utlf_isNull(ds_data_validinfo.getColumn(0, "formcd"))) {
- fLoadNewForm(ds_data_validinfo.getColumn(0, "formcd"), null, null, false);
- }
-
- return false;
- }
- return true;
- } else {
- return false;
- }
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMMR01105의 콜백함수
- ****************************************************************************************/
- function cf_TRMMR01105(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- utlf_addLog("***** cf_TRMMR01105 *****");
-
- dsf_deleteDs("ds_send_reqvalid");
- dsf_setDefaultVal(ds_data_validinfo, "resultCode:0");
- }
- /**
- * @group :
- * @ver : 2009.10.23
- * @by : 이경희
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식SET화면에서 서식미리보기 시에 사용함.
- * @param : formcd - 서식 코드
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @return :
- * @---------------------------------------------------
- */
- function fPreviewForm(formcd, bPopup, calledflag)
- {
- model.addLog("fPreviewForm start시간: " + getCurrentTime() + ", formcd:" + formcd);
- var rtn = "N";
- var rtnmsg = 0;
-
- //현재 로딩된 서식의 formcd를 가져온다.
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- var gOldUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- gOldUnitFormDgnSeq = "";
-
- for (var i = 0; i < gOldUnitNodelist.length; i++)
- {
- var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += subNode.selectSingleNode("formdegnseq").text + "▦";
- }
-
- if (formcd == "")
- return;
-
- if (getParameter("loadstatus"))
- {
- if (getParameter("afterRecDelete") == "Y")
- {
- rtn = "N";
- clearParameter("afterRecDelete");
- }
- else
- {
- rtn = fCheckChangeDataForCosign();
- }
- }
-
- if(bPopup == null)
- bPopup = true;
- //1. 서식정보 조회
- if(!fGetNewFormMast(formcd))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- /*
- var recsavechk = opener.window.javascript.getParameter("SSMMR01100_recsavechk");
- opener.window.javascript.clearParameter("SSMMR01100_recsavechk");
-
- if (rtn != "N" && model.getValue(gPageInfo.initformmastRef + "/mainyn") == "Y" && recsavechk != "Y") //수정데이터가 있는 경우
- {
- var rtnmsg = messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002");
- if (rtnmsg == 6)
- {
- if (fClickSave("Y") == "N")
- {
- return;
- }
- }
- }
- */
-
- fShowProgress(true, "서식정보");
-
- //서식 오픈전 환자정보 셋팅
- //copyNodeset("/root/main/paminfo", "/root/main/paminfo", "replace", model, opener.model);
- /*
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = getGlobalVariable("paminfo");
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- }
- */
- var openmode = opener.window.javascript.getParameter("openmode");
- if (openmode == "newform")
- {
- if (!fSetPamInfo(opener.window.javascript.getParameter("pid"),
- opener.window.javascript.getParameter("orddd"),
- opener.window.javascript.getParameter("cretno"),
- opener.window.javascript.getParameter("ioflag"),
- opener.window.javascript.getParameter("orddeptcd"),
- opener.window.javascript.getParameter("orddrid") ))
- {
- grup_btn.disabled = true;
- return;
- }
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var sSrchsrcformcd = model.getValue(gPageInfo.initformmastRef + "/formcd");
- var sSrchformprogflag = model.getValue(gPageInfo.initformmastRef + "/formprogflag");
-
- var sFormProgNm = model.getValue(gPageInfo.initformmastRef + "/formprognm");
- if (gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag && sFormProgNm != "-"
- && gFormProgNm == sFormProgNm//2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
- )
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- }
-
- //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- var gNewUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
- for (var i = 0; i < gNewUnitNodelist.length; i++)
- {
- var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = subNode.selectSingleNode("formdegnseq").text;
- var unitItemCd = subNode.selectSingleNode("orgsupdegnitemcd").text;
-
- var ivwObj = ivw_base.document.controls("ivw_" + unitItemCd);
-
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- if(ivwObj.src == "")
- {
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
- }
- model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
-
- //2008-12-18박종훈(기록데이터 가져오기-보완필요)
- //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(unitItemCds);
- }
- }
- else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
-
- }
- }
- }
-
- fInitClearForm();
-
- if (isProgForm())
- {
- ivw_base.window.javascript.fGetDefData();
- }
- else
- {
- ivw_base.window.javascript.dispOnLoadComplete(UNIT_FORM);
- }
-
- fShowProgress(false);
- }
- else
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- cap_formnm.refresh();
-
- //3. 기록정보 초기화
- //fSetNewFormRec();
- }
-
- //4. 서식 로드
- fLoadForm(gPageInfo.formmastRef, formprogflag, bPopup, calledflag);
-
- fShowProgress(false);
- }
- }
- function initButtonLayer_MMR01100(mode) {
- utlf_addLog("***** initButtonLayer_MMR01100::"+mode+ " *****");
- if (mode == "default") {
- grup_btn.enable = true;
-
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
-
- //기타버튼 disable처리
- grup_btn.btn_init.visible = true;
- grup_btn.btn_init.enable = true;
- grup_btn.btn_signsaveasnew.visible = true;
- grup_btn.btn_signsaveasnew.enable = true;
- grup_btn.btn_del.visible = true;
- grup_btn.btn_del.enable = true;
-
- } else if (mode == "staff_auth_y") {
- grup_btn.enable = true;
-
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_cosign.position.x = grup_btn.btn_signsave.position.x;
- grup_btn.btn_signsave.visible = false;
- grup_btn.btn_cosign.visible = true;
-
- //2010.02.26 dhkim - cosign여부에 관계 없이 기록반려는 활성화상태로 변경
- grup_btn.btn_resend.enable = true;
- //staff-sign이후는 기록반려를 disabled한다.
- if (fGetFormRec("cosign") == "Y") {
- grup_btn.btn_cosign.enable = false;
- } else {
- grup_btn.btn_cosign.enable = true;
- }
-
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_resend.position.x = grup_btn.btn_tmpsave.position.x;
- grup_btn.btn_tmpsave.visible = false;
- grup_btn.btn_resend.visible = true;
-
- //기타버튼 disable처리
- grup_btn.btn_init.enable = false;
- grup_btn.btn_signsaveasnew.enable = false;
- grup_btn.btn_del.enable = false;
-
- } else if (mode == "staff_auth_n") {
- grup_btn.enable = true;
-
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
-
- //기타버튼 disable처리
- grup_btn.btn_init.enable = true;
- grup_btn.btn_signsaveasnew.enable = true;
- grup_btn.btn_del.enbale = true;
-
- } else if (mode == "no_auth") {
-
- grup_btn.enable = false;
- } else if (mode == "only_signsave") {
- utlf_addLog("grup_btn.components.length::"+grup_btn.components.length);
- var children = grup_btn.components;
- for (var i=0; i<children.length; i++) {
- if (children[i] instanceof Button) {
- children[i].visible = false;
- }
- }
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_signsave.enable = true;
- grup_btn.enable = true;
- } else if (mode == "RecCorrect") {
- grup_btn.enable = true;
- // var children = grup_btn.components;
- // for (var i=0; i<children.length; i++) {
- // if (children[i] instanceof Button) {
- // //children[i].visible = false;
- // children[i].bringToPrev();
- // }
- // }
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_signsave.enable = true;
- grup_btn.btn_del.visible = true;
- grup_btn.btn_del.enable = true;
-
- } else if (mode == "RecCorrectApp") {
- grup_btn.enable = true;
- grup_btn.btn_app.position.x = grup_btn.btn_del.position.x;
- grup_btn.btn_app.position.right = grup_btn.btn_del.position.right;
- grup_btn.btn_app.visible = true;
- grup_btn.btn_app.enable = true;
- grup_btn.btn_app.bringToFront();
-
- } else if (mode == "RecCorrectAppTemp") {
- grup_btn.enable = true;
-
- grup_btn.btn_app.position.x = grup_btn.btn_signsave.position.x;
- grup_btn.btn_app.position.right = grup_btn.btn_signsave.position.right;
- grup_btn.btn_app.visible = true;
- grup_btn.btn_app.enable = true;
- grup_btn.btn_app.bringToFront();
-
- }
- }
- /****************************************************************************************
- * Argument : 01.showMsg : ture - 알림 사용
- * Description : 서식유효기한이 지나면 초기화버튼과 새이름으로저장 버튼을 비활성화처리
- ****************************************************************************************/
- function fIsValidForm_MMR01100(showMsg) {
- utlf_addLog("***** fIsValidForm_MMR01100("+showMsg+") *****");
- //2010.01.20 dhkim - 서식유효기한이 지나면 초기화버튼과 새이름으로저장 버튼을 비활성화처리한다.
- var formfromdt = fGetFormMast("formfromdt");
- var formtodt = fGetFormMast("formtodt");
- var curntdt = utlf_getCurrentDate() + utlf_getCurrentTime();
-
- var valid = false;
- if (formfromdt <= curntdt && formtodt >= curntdt)
- valid = true;
-
- if (valid == false && !utlf_isNull(showMsg) && showMsg == true) {
- alert("사용이 종료된 서식입니다.\n신규작성 할 수 없으니, 서식목록에서 유효서식을 조회하여 작성해주시기 바랍니다.");
- }
-
- return valid;
- }
- /****************************************************************************************
- * Function : fChkPreSave_MMR01100
- * Description : 인증저장후에 임시저장 차단 TASK(39128)요청번호(9402)
- * : call visit되지 않은 환자의 인증저장 제한(서소영선생님요청)
- * Argument : 01. signedYn - 인증저장 유무
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fChkPreSave_MMR01100(signedYn)
- {
- sysf_trace("***** fChkPreSave_MMR01100("+signedYn+") MMR01100 인증저장후에 임시저장 차단, call visit되지 않은 환자 차단 및 컨설트 제한사항 *****");
-
- //이윤주 수정(20150312)
- fSetFormRec("signsaveyn", signedYn);
- //2010.02.23 안치원 - 인증저장후에 임시저장 차단 TASK(39128)요청번호(9402) - Consult는 기존로직이 우선한다.
- if (fGetFormRec("srcformcd") != "0000000677") {
- if (fGetFormRec("status") == "U" && signedYn == "N" && fGetFormRec("espiyn") == "Y") {
- sysf_messageBox("인증저장후에 임시저장을", "E001");
- return false;
- }
- }
-
- try
- {
- //2010-02-18 오전 9:19:50 강지훈 수정 : fClickSave를 최종진단명요약에서도 호출하기때문에 조건에따라 분기하도록 변경.
- //opener의 'SSMMR01100_fChkPreSaveUseFlag' parameter로 fChkPreSave 호출여부를 판단할수 있도록 수정.
- if(oOpener.frmf_getParameter("SSMMR01100_fChkPreSaveUseFlag") != "N"){
- if (ivw_base.fChkPreSave(signedYn) == false){
- oOpener.frmf_clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- return false;
- }
-
- oOpener.frmf_clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- }
- else{
- oOpener.frmf_clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- }
- }
- catch (e)
- {
- sysf_catchTrace(e);
- }
-
- //2010.05.26 김달현 - call visit되지 않은 응급실 환자의 인증저장 제한(서소영선생님요청)
- var callvisityn = fGetPamInfo("callvisityn");
- var ioflag = fGetPamInfo("ioflag");
-
- if(signedYn == "Y" && callvisityn == "N" && ioflag == "E"){
- sysf_messageBox("응급실 Visit Time을 등록 하지 않으면 기록과 처방은 임시저장만 가능 합니다.", "E");
- return false;
- }
-
- //2010.06.24 김달현 - (서울성모만적용) 입원초진JCI에 대해서 입원환자의 경우 간호입실저장되어있지 않으면 인증저장 제한
- //2010.07.19 김달현 - (전병원적용으로 변경) 입원초진에 대해 입원환자의 경우 간호입실저장되어있지 않으면 인증저장 제한
- var srcformcd = fGetFormRec("srcformcd");
- var careinrmdd = fGetPamInfo("careinrmdd");
- //alert("srcformcd:"+srcformcd + ",careinrmdd:" + careinrmdd + ",dutplceinstcd:" + getUserInfo("dutplceinstcd") + ",ioflag:" + ioflag);
- //if(signedYn == "Y" && getUserInfo("dutplceinstcd") == "012" && srcformcd == "0000000003" && ioflag == "I" && careinrmdd == "-"){
- if(signedYn == "Y" && srcformcd == "0000000003" && ioflag == "I" && careinrmdd == "-"){
- sysf_messageBox("해당환자는 간호입실확인되지 않았으므로 입원초진기록 임시저장만 가능 합니다.", "E");
- return false;
- }
-
- var cnstformcd = fGetFormRec("formcd");
- var cnstdoctid = utlf_isNull(ivw_base.objects["ds_init_cond"]) ? "" : ivw_base.ds_init_cond.getColumn(0, "rscdoctid");
- var cnstdeptcd = fGetFormRec("formrecdeptcd");;
- //20121220 정창혁 영상의학과 판독협진의뢰서 수신의 필수체크
- if (cnstformcd == "1000009108"){// && cnstdeptcd == "2160000000") { //20121221 판독협진의뢰서인 경우 수신의 필수체크
- if (utlf_isNull(cnstdoctid)) {
- sysf_messageBox("[영상의학과 판독 협진의뢰서]인 경우 수신의는 필수입력사항입니다.", "E");
- return false;
- }
- }
-
- var anstflag = utlf_isNull(ivw_base.objects["ds_init_cond"]) ? "" : ivw_base.ds_init_cond.getColumn(0, "anstflag");
- var rscdeptcd = utlf_isNull(ivw_base.objects["ds_init_cond"]) ? "" : ivw_base.ds_init_cond.getColumn(0, "rscdeptcd");
- var oprnerId = oOpener.frmf_getScreenID();
- if(oprnerId=="SMMMR05000" && rscdeptcd=="2090000000" && utlf_isNull(anstflag) && sysf_getUserInfo("dutplcecd")!="2090000000"){
- sysf_messageBox("[마취통증의학과]로 컨설트 의뢰시 의뢰 구분은 필수 입력입니다.\nPCA 추가/수정 의뢰는 [마취] 선택 후 의뢰부탁드립니다.", "E");
- ivw_base.grup_base.rdo_anstflag.setFocus();
- return false;
- }
-
- //이윤주(20190707)
- var gubunflag = utlf_isNull(ivw_base.objects["ds_init_cond"]) ? "" : ivw_base.ds_init_cond.getColumn(0, "gubunflag");
- var reqdd = fGetFormRec("formrecdd");
-
- if(oprnerId=="SMMMR05000" && rscdeptcd=="2160000000" && utlf_isNull(gubunflag) && cnstformcd=="0000000677" && reqdd > "20190722"){
- sysf_messageBox("[영상의학과]로 컨설트 의뢰시 영상구분은 필수 입력입니다. 문의:영상의학과", "E");
- return false;
- }
-
- return true;
- }
- /**
- * 2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- * @param openFlag
- * @return
- */
- function setInitInfo_MMR01100(key, value)
- {
- dsf_makeValue(ds_hidden_loader_ini, key, "string", value, null);
- }
- function getInitInfo_MMR01100(key)
- {
- var value = ds_hidden_loader_ini.getColumn(0, key);
- return utlf_transNullToEmpty(value);
- }
- /****************************************************************************************
- * Function : validPamInfo_MMR01100
- * Description : 상단환자정보와 기록환자정보가 같은지 검사한다.
- * Argument : 01.formFlag - 이벤트 실행구분
- * retrun type : true / flase
- * Creator :
- ****************************************************************************************/
- function validPamInfo_MMR01100(fromFlag)
- {
- sysf_trace("***** validPamInfo_MMR01100::"+fromFlag+" 상단환자정보와 기록환자정보가 동일한지 체크*****");
- // alert("validPamInfo_MMR01100::"+fromFlag);
-
- var oprnerId = oOpener.frmf_getScreenID();
- if(oprnerId == "SMMMR00100")
- {
- var node = sysf_getGlobalVariable("paminfo");
- var sGetTopYn = oOpener.frmf_getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- oOpener.frmf_clearParameter("chkdeptpresave");
-
- if(!utlf_isNull(node) && sGetTopYn != "N")
- {
- dsf_createDs("ds_pamtmp_paminfo");
- dsf_setCSVToDs("ds_pamtmp_paminfo", node);
-
- var top_ioflag = ds_pamtmp_paminfo.getColumn(0, "ioflag");
- var top_pid = ds_pamtmp_paminfo.getColumn(0, "pid");
- var top_orddd = "";
- var top_cretno = ds_pamtmp_paminfo.getColumn(0, "cretno");
- var rec_pid = fGetFormRec("pid");
- var rec_orddd = fGetFormRec("orddd");
- var rec_cretno = fGetFormRec("cretno");
-
- if (top_ioflag == "O" || top_ioflag == "S") {
- top_orddd = ds_pamtmp_paminfo.getColumn(0, "orddd");
- }
- else {
- top_orddd = ds_pamtmp_paminfo.getColumn(0, "indd");
- }
-
- sysf_trace("@@@@@ top_pid : " + top_pid + " || rec_pid : " + rec_pid +" || frmf_getParameter(calledflag) : " + frmf_getParameter("calledflag") + "*****");
-
- dsf_deleteDs("ds_pamtmp_paminfo");
-
- //20130524 정창혁 cpg인 경우 최초 저장시 EMR로 설정함. CPG인 경우 최초사용자 안타게 추가
- if (top_pid != rec_pid && (utlf_isNull(frmf_getParameter("calledflag")) || frmf_getParameter("calledflag").indexOf("cpg") == -1))
- {
- sysf_messageBox("상단의 환자정보("+top_pid+")와 기록지의 환자정보("+rec_pid+")가 다르므로, \n다음 진행을 할 수 없습니다.", "E");
- return false;
- }
- }
- }
- return true;
- }
- /****************************************************************************************
- * Argument : 01.msgFlag : true - 알림사용
- * Description : 2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O'] 기록 작성을 막는다.
- * return type : true / false 유효여부
- ****************************************************************************************/
- function validFormchos_MMR01100(msgFlag){
- utlf_addLog("***** validFormchos_MMR01100("+msgFlag+") MMR01100 *****");
- var formchosflag = ds_data_formmast.getColumn(0, "formchosflag");
- var patchosflag = ds_data_formrec.getColumn(0, "chosflag");
- var ioflag = fGetPamInfo("ioflag");
-
- //alert("formchosflag : "+ formchosflag + ", patchosflag : " + patchosflag + ", ioflag : " + ioflag );
- if(ioflag != "O" && formchosflag == "O"){
- if(msgFlag == true){
- sysf_messageBox("입원환자이므로 외래서식을 작성하실 수", "I004");
- }
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Argument : 01.msgFlag : true - 알림사용
- * Description : 외래수진에 입원서식 사용불가토록 제어
- * return type : true / false 유효여부
- ****************************************************************************************/
- function validFormchos_MMR01100_OUT(msgFlag){
- utlf_addLog("***** validFormchos_MMR01100_OUT("+msgFlag+") MMR01100 *****");
-
- var formchosflag = ds_data_formmast.getColumn(0, "formchosflag");
- var patchosflag = ds_data_formrec.getColumn(0, "chosflag");
- var ioflag = fGetPamInfo("ioflag");
-
- if(ioflag == "O" && formchosflag == "I"){
- if(msgFlag == true){
- sysf_messageBox("외래 수진이므로 입원서식을 작성하실 수", "I004");
- }
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Function : fGetEditableDept
- * Description : 최초작성자와 동일한 부서 사용자인지 체크
- * retrun type : true / false
- * Creator :
- ****************************************************************************************/
- function fGetEditableDept() {
- sysf_trace("***** fGetEditableDept() MMR01100 최초작성자와 동일한 부서 사용자인지 체크 ****");
-
- dsf_createDsRow("ds_send_editable", [{col: "formcd", type:"string", size:256, val:fGetFormRec("srcformcd")}//"1000007334"
- , {col: "formrecseq", type:"string", size:256, val:fGetFormRec("formrecseq")}
- , {col: "pid", type:"string", size:256, val:fGetFormRec("pid")}
- , {col: "dutplcecd", type:"string", size:256, val:sysf_getUserInfo("dutplcecd")}]);
-
- dsf_createDs("ds_rtneditable_editableInfo", [{col: "editableyn", type:"string", size:256}]);
-
- var bFlag = false;
-
- var oParam = {};
- oParam.id = "TRMMR01304";
- oParam.service = "medirecapp.RecIf";
- oParam.method = "reqGetEditableUserYn";
- oParam.inds = "req=ds_send_editable";
- oParam.outds = "ds_rtneditable_editableInfo=editableInfo";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR01304";
- tranf_submit(oParam);
-
- if (arErrorCode.pop("TRMMR01304") > -1 ) {
- if (ds_rtneditable_editableInfo.getColumn(0, "editableyn") == "Y") {
- bFlag = true
- }
- }
-
- //Temp DS Del
- dsf_deleteDs("ds_send_editable");
- dsf_deleteDs("ds_rtneditable_editableInfo");
-
- sysf_trace( "***** fGetEditableDept() Return bFlag : " + bFlag + " ****");
-
- return bFlag;
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMMR01304의 콜백함수
- ****************************************************************************************/
- function cf_TRMMR01304(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * 서식로더가 Consult관리(SMMMR05000)에서 임포트시 MMR05000.js의 fSendRecInfoToSMMMO00100()를 사용하기 위한 함수
- */
- function fSendRecInfoSMMMR05000ToSMMMO00100(scrnid){
- if(scrnid == "SMMMR05000"){
- oOpener.fSendRecInfoToSMMMO00100();
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 현재 서식이 검사 기록지 일경우 블로킹 처리
- * retrun type : true / false
- ****************************************************************************************/
- function fCheckedTestRecYN(){
- utlf_addLog("***** fCheckedTestRecYN() SSMMR01100 *****");
- var flag = false;
-
- if(frmf_isPopup() && sysf_getObjType(this) == "Form"){
- var mainobj = frmf_getMainViewer();
- var mainScreenid = mainobj.frmf_getScreenID();
- if( mainScreenid == "SMMMR00100"){
- if( this.getOwnerFrame().form.name == "SSMMR01100"){ //opener.frmf_getScreenID()
-
- dsf_createDs("ds_temp_existentformcd", [{col: "formrecseqyn", type:"string", size:256}]);
- var oParam = {};
- oParam.id = "TRMMR01106";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetCheckedExistentInspectionFormcd";
- oParam.inds = "req=ds_data_formrec";
- oParam.outds = "ds_temp_existentformcd=formcdyninfo";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR01106";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMR01106") > -1){
- if(ds_temp_existentformcd.getColumn(0, "formrecseqyn") == "Y"){
- sysf_messageBox("검사결과 관리화면에서 삭제하시기 바랍니다!", "E999");
- flag = true;
- }
- }
- dsf_deleteDs("ds_temp_existentformcd");
- }
- }
- }
-
- return flag;
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMMR01106의 콜백함수
- ****************************************************************************************/
- function cf_TRMMR01106(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- utlf_addLog("***** cf_TRMMR01106 *****");
- }
- function fSendSMS(){
-
- var cnststat = fGetFormRec("cnststat");
- var formrecseq = fGetFormRec("formrecseq");
- var chosflag = fGetFormRec("chosflag");
-
- var msg = "";
-
- var sSendDsNm = dsf_createDsRow("ds_send_TRMMR01305", [{col:"formrecseq", type:"string", size:256, val:formrecseq}
- ,{col:"chosflag", type:"string", size:256, val:chosflag}]);
-
- var sRtnDsNm = dsf_createDs("ds_hidden_TRMMR01305", [{col:"smsmsg" , type:"string", size:256}
- ,{col:"mpphonno" , type:"string", size:256}
- ,{col:"usernm" , type:"string", size:256}
- ,{col:"sendhp" , type:"string", size:256}
- ,{col:"cnststat" , type:"string", size:256}
- ,{col:"userid" , type:"string", size:256}]);
- utlf_addLog(ds_send_TRMMR01305.saveXML());
- utlf_addLog("gSMS_Async : " + gSMS_Async );
-
- var oParam = {};
- oParam.id = "TRMMR01305";
- oParam.service = "medirecapp.ExtnMediRec";
- oParam.method = "reqGetSmsStatus";
- oParam.inds = "req="+sSendDsNm;
- oParam.outds = sRtnDsNm+"=msglist";
- oParam.async = gSMS_Async;
- //oParam.callback = "cf_TRMMR01305"; //reqGetSmsStatus 에서 모두 처리하도록 변경(201
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Argument : 01.sSvcId : 서비스 ID
- * : 02.nErrorCode : 에러코드
- * : 03.sErrorMsg : 에러메시지
- * Description : cf_TRMMR01305의 콜백함수
- ****************************************************************************************/
- function cf_TRMMR01305(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- var objRtnDS:Dataset = new Dataset;
- objRtnDS = this.objects["ds_hidden_TRMMR01305"];
-
- var smsmsg = objRtnDS.getColumn(0, "smsmsg");
- var mpphonno = objRtnDS.getColumn(0, "mpphonno");
- var usernm = objRtnDS.getColumn(0, "usernm");
- var cnststat = objRtnDS.getColumn(0, "cnststat");
- var sendhp = objRtnDS.getColumn(0, "sendhp");
- var userid = objRtnDS.getColumn(0, "userid");
- var formrecseq = fGetFormRec("formrecseq");
- var flag = "";
- //var recvuserid = ds_data_formrec.getColumn(0, "recvuserid");
-
- utlf_addLog(objRtnDS.saveXML());
- //tempDs Delete
- dsf_deleteDs("ds_send_TRMMR01305");
- dsf_deleteDs("ds_hidden_TRMMR01305");
-
- var curtime = utlf_getCurrentTime().substr(0,4);
- //dsf_createDs("ds_SMS_CommTime");
- //lf_getHardCDList("N", 9962, null , ds_SMS_CommTime);
- /*
- var CommTimefst = lf_getHardCDList("Y", 9962, 3 , null);
- var CommTimelst = CommTimefst-1000; //하드코드 시간 1730임
- */
- var CommTime = lf_getHardCDList("Y", 9962, 3 , null);//하드코드 시간 07301730임 from-to
- var CommTimefst = CommTime.substr(0, 4); //from time
- var CommTimelst = CommTime.substr(4, 8); //to time
-
- //20160613 칠곡 본원 분리
- var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
- if(dutplceinstcd =='032'){
- //if (curtime > CommTimefst && curtime < CommTimelst) {
- if (curtime < CommTimefst || curtime > CommTimelst) {
- return;
- }
- }
-
-
- //전화번호가 없거나 이미 보낸 이력이 있으면 보내지 않는다!
- if (utlf_isNull(mpphonno)) {
- return;
- }
- //사용자 환경설정
- //var answcntConsult = lf_mmbfGetUserEnvQuestValue("076");
- //var answcntRecv = lf_mmbfGetUserEnvQuestValue("077");
- if(dutplceinstcd == "031"){
- if (cnststat >= 12 ) {
- flag = "B";
-
- fSendSMSCallBack(formrecseq,cnststat,smsmsg,mpphonno,sendhp,usernm,flag, userid);
- }
- }else if(dutplceinstcd =='032'){
- //if(answcntConsult == "001" || answcntRecv == "001"){
- if (cnststat >= 12 ) {
- flag = "A";
- if(cnststat == 30){
- flag = "B";
- }
- fSendSMSCallBack(formrecseq,cnststat,smsmsg,mpphonno,sendhp,usernm,flag,userid);
- }
- //}
- }
- }
- /****************************************************************************************
- * Function : fSendSMSCallBAck
- * Description : SMS대상자에 대한 SMS전송
- * retrun type : Value
- * Creator :
- ****************************************************************************************/
- function fSendSMSCallBack(formrecseq,cnststat,smsmsg,mpphonno,sendhp,usernm,flag,userid)
- {
- var sSendDsNm = dsf_createDsRow("ds_send_TXMMR01306", [{col:"formrecseq" , type:"string", size:256, val:formrecseq}
- ,{col:"cnststat" , type:"string", size:256, val:cnststat}
- ,{col:"smsmsg" , type:"string", size:256, val:smsmsg}
- ,{col:"mpphonno" , type:"string", size:256, val:mpphonno}
- ,{col:"sendhp" , type:"string", size:256, val:sendhp}
- ,{col:"usernm" , type:"string", size:256, val:usernm}
- ,{col:"flag" , type:"string", size:256, val:flag}
- ,{col:"userid" , type:"string", size:256, val:userid}
- //,{col:"recvuserid", type:"string", size:256, val:recvuserid}
- ]);
-
- var oParam = {};
- oParam.id = "TXMMR01306";
- oParam.service = "medirecapp.ExtnMediRec";
- oParam.method = "reqExeSmsInfo";
- oParam.inds = "req="+sSendDsNm;
- //oParam.outds = "ds_=msglist";
- oParam.async = gSMS_Async;
- //oParam.callback = "cf_TXMMR01305";
- tranf_submit(oParam);
-
- }
- /****************************************************************************************
- * Function : fGetFormMast
- * Description : key값에 해당되는 서식 마스터정보 가져오기
- * retrun type : Value
- * Creator : MRF02000에서 서식관련 으로 이동
- ****************************************************************************************/
- function fGetFormMast(key)
- {
- if(this.name == "div_work") // 기록보기 그리드에서 선택시 필요
- {
- ivw_loader.ds_data_formmast.getColumn(0, key);
- }
- else
- {
- //return ds_data_formmast.getColumn(0, key);
- return dsf_getColumnNullToEmpty(ds_data_formmast, 0, key);
- }
- }
- /****************************************************************************************
- * Function : fSetFormRec
- * Description : 해당 값을 인스턴스에 추가
- * retrun type :
- * Creator : MMR01300에서 서식관련으로 이동
- ****************************************************************************************/
- function fSetFormRec(key, val)
- {
- if(ds_data_formrec.getColumnInfo(key) == null)
- {
- ds_data_formrec.addColumn(key, "string");
- }
- if(ds_data_formrec.rowcount == 0)
- ds_data_formrec.addRow();
- ds_data_formrec.setColumn(0, key, val);
- }
- /****************************************************************************************
- * Function : fGetFormRec
- * Description : key값에 해당되는 서식 기록정보 가져오기
- * retrun type :
- * Creator : MMR01300에서 서식관련으로 이동
- ****************************************************************************************/
- function fGetFormRec(key)
- {
- if(!utlf_isNull(key))
- {
- if(ds_data_formrec.getColumnInfo(key) != null)
- return ds_data_formrec.getColumn(0, key);
- else
- return "";
- }
- }
- /****************************************************************************************
- * Function : fExistFolder
- * Description : 폴더 존재여부 파악
- * retrun type : 폴더 생성
- * Creator :
- ****************************************************************************************/
- function fExistFolder(foldernm)
- {
-
- var fso, folder, s;
- var usernm = objExt.getUserName();
-
- if(utlf_isNull(foldernm))
- {
- return;
- }
- var folderDept = foldernm.split("\\");
- var currentPos = folderDept[0];
- for(var i =1; i<folderDept.length ; i++)
- {
- if(utlf_isNull(folderDept[i]))
- {
- break;
- }
- currentPos += ("\\" + folderDept[i]);
- objExt.checkDirectory(currentPos, 1); // option : 1 ? 없으면 create
- }
- }
- /****************************************************************************************
- * Description : 기록내용 삭제
- * retrun type :
- * History : ClearComnFormData sync !!!!
- ****************************************************************************************/
- function lf_clearFormRec()
- {
- utlf_addLog("***** lf_clearFormRec() 기록 내용 삭제 *****");
- var formprogflag = fGetFormMast("formprogflag");
- utlf_addLog("@@@@@ formprogflag : " + formprogflag + " @@@@@");
- if(formprogflag == "PROG")
- {
- if (!utlf_isNull(ivw_base.gMaxSectionID))
- {
- //var MaxObj = ivw_base.grup_base.components["lbl_" + ivw_base.gMaxSectionID];
- frmf_inputEnterKey( "ivw_base.grup_base.lbl_"+ivw_base.gMaxSectionID, "onclick", new ClickEventInfo);
- }
-
- if (fGetFormMast("srcformcd") == "0000000677") {
- ivw_base.lf_clearFormRec_CS();
-
- ivw_base.lf_extnInitFormRec();
-
- return;
- }
-
- for(var i = 0; i < ivw_base.ds_data_recitem.rowcount; i++) // 기록아이템 초기화
- {
- if(ivw_base.ds_data_recitem.getColumnInfo("reccnts") != null)
- ivw_base.ds_data_recitem.setColumn(i, "reccnts", "");
-
- if(ivw_base.ds_data_recitem.getColumnInfo("rectermcd") != null)
- ivw_base.ds_data_recitem.setColumn(i, "rectermcd", "");
-
- if(ivw_base.ds_data_recitem.getColumnInfo("rectermnm") != null)
- ivw_base.ds_data_recitem.setColumn(i, "rectermnm", "");
-
- if(ivw_base.ds_data_recitem.getColumnInfo("recimge") != null)
- ivw_base.ds_data_recitem.setColumn(i, "recimge", "");
-
- if(ivw_base.ds_data_recitem.getColumnInfo("srcimge") != null)
- ivw_base.ds_data_recitem.setColumn(i, "srcimge", "");
- }
-
- for(var i = 0; i < ivw_base.gItemCds.length; i++)
- {
- var divComp = ivw_base.grup_base.components["ivw_" + ivw_base.gItemCds[i]];
- var mtxComp = ivw_base.grup_base.components["tar_" + ivw_base.gItemCds[i]];
- if(!utlf_isNull(divComp))
- {
- var sFormprogflag = ds_data_unitformmast.lookup("orgsupdegnitemcd", ivw_base.gItemCds[i], "formprogflag");
- if(sFormprogflag == "PROG")
- {
- var oDs = divComp.objects[divComp.grd_diaglist.binddataset];
- if(divComp.isValidObject(oDs))
- {
- oDs.clearData();
- oDs.addRow();
- }
- }
- else if(!utlf_isNull(divComp) && !utlf_isNull(divComp.url))
- {
- divComp.ds_data_itemvalue.clearData();
- divComp.ds_data_itemvalue.addRow();
-
- for(var j = 0; j < divComp.ds_data_itemvalue.colcount; j++)
- {
- var ColId = divComp.ds_data_itemvalue.getColID(j);
- if(ColId.indexOf("RDO_") > -1 || ColId.indexOf("CHK_") > -1)
- {
- divComp.lf_setSelCtrl(ColId, ""); // 컴포짓 초기화
- }
- }
-
- for(var k = 0; k < divComp.all.length; k++)
- {
- if(divComp.all[k] instanceof ActiveX) // 이미지 정보 취합
- {
- var obj_Image = divComp.all[k];
-
- obj_Image.Clear();
- }
- }
-
- for(var m = 0; m < divComp.ds_data_recitem.rowcount; m++)
- {
- divComp.ds_data_recitem.setColumn( m, "reccnts", "");
- divComp.ds_data_recitem.setColumn( m, "rectermcd", "");
- divComp.ds_data_recitem.setColumn( m, "rectermnm", "");
- divComp.ds_data_recitem.setColumn( m, "recimge", "");
- divComp.ds_data_recitem.setColumn( m, "srcimge", "");
- }
- divComp.lf_setSrchData();
- }
- else
- {
- mtxComp.value = "";
- }
- }
- else
- {
- mtxComp.value = "";
- }
- }
-
- var bGroup = false;
- for(var i = 0; i < ivw_base.grup_base.components.length; i++)
- {
- var ctrlObj = ivw_base.grup_base.components[i];
- var degnitemlevlcd = ctrlObj.degnitemlevlcd;
- if( !utlf_isNull(degnitemlevlcd) )
- ctrlObj.value = "";
-
- if( ctrlObj.name == "group1")
- bGroup = true;
- }
- if( bGroup == true ){
-
- for(var i = 0; i < ivw_base.grup_base.group1.components.length; i++)
- {
- var ctrlObj = ivw_base.grup_base.group1.components[i];
- //var degnitemno = ctrlObj.degnitemno;
- var degnitemlevlcd = ctrlObj.degnitemlevlcd;
- if(!utlf_isNull(degnitemlevlcd))
- ctrlObj.value = "";
- }
- }
- }
- else // 일반서식
- {
- if( ivw_base.isValidObject("ds_data_itemvalue") ){
- var itemvalueDS = ivw_base.ds_data_itemvalue;
- var recDS = ivw_base.ds_data_recitem;
- itemvalueDS.clearData();
- itemvalueDS.addRow();
-
- for(var i = 0; i < itemvalueDS.colcount; i++)
- {
- var ColId = itemvalueDS.getColID(i);
- if(ColId.indexOf("RDO_") > -1 || ColId.indexOf("CHK_") > -1)
- {
- ivw_base.lf_setSelCtrl(ColId, ""); // 컴포짓 초기화
- }
- }
-
- for(var k = 0; k < ivw_base.all.length; k++)
- {
- if(ivw_base.all[k] instanceof ActiveX) // 이미지 정보 취합
- {
- var obj_Image = ivw_base.all[k];
- obj_Image.Clear();
- }
-
- if(ivw_base.all[k] instanceof Grid) //Object를 비교하는 구문
- {
- var vGridType = ivw_base.all[k].gridtype;
- var nDegnitemno;
-
- var dsNm = ivw_base.all[k].binddataset;
- if(!utlf_isNull(dsNm) && dsNm.indexOf("ds_data_grd_") != -1)
- {
- nDegnitemno = dsNm.replace("ds_data_grd_", "");
- }
-
- if( !utlf_isNull(nDegnitemno) ){
-
- if(!utlf_isNull(vGridType) && (vGridType == "T" || vGridType == "X")){//누적 그리드
- var obj_GrdDs = ivw_base.objects[dsNm];
- var nRowCnt = obj_GrdDs.rowcount;
- var nColCnt = obj_GrdDs.getColCount();
- for(var i=0; i<nRowCnt; i++){
- for(var j=1; j<nColCnt; j++){
- obj_GrdDs.setColumn(i, j, "");
- }
- }
- }else{
- var obj_GrdDs = ivw_base.objects[dsNm];
- if( !utlf_isNull(obj_GrdDs) ){
- obj_GrdDs.clearData();
- obj_GrdDs.addRow();
-
- var sFstlevlcd = recDS.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+nDegnitemno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
- if( !utlf_isNull(sFstlevlcd) ){
- recDS.filter("rowno!='0' && fstlevlitemcd == '"+sFstlevlcd+"'");
- var nRowCnt = recDS.getRowCount();
- for(var i=(nRowCnt-1);i>=0; i--)
- {
- recDS.deleteRow(i);
- }
- recDS.filter("");
- }else{
- sysf_trace("::::: Degnitemno(" + nDegnitemno + ") 에 대한 그리드의 fstlevlitemcd 값이 존재하지 않습니다. :::::");
- }
- }
- }
- }else{
- sysf_trace("::::: 그리드 데이터 삭제 시 nDegnitemno 값이 존재하지 않습니다. :::::");
- }
- }
- }
-
- for(var i = 0; i < recDS.rowcount; i++)
- {
- if(recDS.getColumnInfo("reccnts") != null)
- recDS.setColumn(i, "reccnts", "");
-
- if(recDS.getColumnInfo("rectermcd") != null)
- recDS.setColumn(i, "rectermcd", "");
-
- if(recDS.getColumnInfo("rectermnm") != null)
- recDS.setColumn(i, "rectermnm", "");
-
- if(recDS.getColumnInfo("recimge") != null)
- recDS.setColumn(i, "recimge", "");
-
- if(recDS.getColumnInfo("srcimge") != null)
- recDS.setColumn(i, "srcimge", "");
- }
-
- //ivw_base.lf_setSrchData();
- }
- }
- }
- /****************************************************************************************
- * Function : lf_getProgFormRecData
- * Description : 공통서식 화면별로 기록정보 조합
- * : lf_getRecDs 호출
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_getProgFormRecData(mode, tmp)
- {
- // 공통서식 화면별로 기록정보 조합
- var rtn = ivw_base.lf_getUnitFormRecData(mode, tmp); //lf_getRecDS
-
- return rtn;
- }
- /****************************************************************************************
- * Function : lf_isModify
- * Description : 현재 열려진 서식의 데이터 수정여부를 반환
- * retrun type : Y, N
- * Creator :
- ****************************************************************************************/
- function lf_isModify()
- {
- utlf_addLog("***** lf_isModify() *****");
- if(utlf_isNull(ivw_base.url))
- {
- rtn = "N";
- return rtn;
- }
-
- var rtn;
- var ischg_formrec = false;
- var ischg_recitem = false;
- var objRecDS:Dataset = new Dataset;
- var nRecRow;
-
- if(isProgForm()) // 공통서식 기록데이터 취합
- {
- ivw_base.lf_getUnitFormRecData(null, "1"); //lf_getRecDS
- objRecDS = ivw_base.ds_data_recitem;
- g_recitem_newrec = ivw_base.fGetCSV("ds_data_recitem"); // 다른 서식 로드시점의 기록 데이터
- nRecRow = objRecDS.rowcount;
- }
- else // 공통 이외서식 기록데이터 취합
- {
- lf_getGenFormData(null, "1");
- g_recitem_newrec = fGetCSV("ds_data_recitem"); // 다른 서식 로드시점의 기록 데이터
- nRecRow = ds_data_recitem.rowcount;
- }
- g_formrec_newimge = fGetCSV("formrec");
- g_recitem_newimge = fGetCSV("ds_data_recitem");
- utlf_addLog(" g_recitem_oldrec : " + g_recitem_oldrec );
- utlf_addLog("\r\n g_recitem_newrec : " + g_recitem_newrec );
- if( (g_recitem_oldrec == g_recitem_newrec) || nRecRow == 0 ) // 기록 내용변동이 없거나 저장할 기록이 없으면 저장여부 jump
- rtn = "N";
- else
- rtn = "Y";
-
- //이윤주 수정
- var srcformcd = fGetFormRec("srcformcd");
-
- if (srcformcd == "0800003416")
- {
- rtn = "N";
- }
-
- return rtn;
- }
- /****************************************************************************************
- * Function : lf_getGenFormData
- * Description : 공통서식을 제외한 서식 기록데이터 취합
- * Argument : 01. mode - 필수체크 및 취합 목적에 따른 구분
- * retrun type : true / false
- * Creator :
- ****************************************************************************************/
- function lf_getGenFormData(mode, tmp)
- {
- utlf_addLog("***** lf_getGenFormData("+mode+") 공통서식을 제외한 서식 기록데이터 취합 *****");
- var dsNm = "";
- var imgNm = "";
- var dsDegnNo = "";
- var formdengnseq = ds_data_formrec.getColumn(0, "formdegnseq");
-
- if( utlf_isNull( tmp ))
- {
- var rtn = lf_chkEssential(); // 필수입력 체크 함수 mmrcommon.xjs
- if(rtn == false)
- {
- return rtn;
- }
- }
-
- //20170619 x009 추가 - x축그리드 정보 clear
- if( !utlf_isNull(fGetFormRec("xgridtempnodeinfo")) ){
- fSetFormRec("xgridtempnodeinfo", "");
- }
-
- var recitemDs:Dataset = new Dataset;
- var ivw_recitemDs:Dataset = new Dataset;
-
- if( !utlf_isNull( mode ) ){
- if( !ivw_base.isValidObject("ds_hidden_recitem") ){
- dsf_copyDsList(["ds_hidden_recitem"], ["ds_data_recitem"], "replace", ivw_base, ivw_base);
- }
- if( !isValidObject("ds_hidden_recitem") ){
- dsf_copyDsList(["ds_hidden_recitem"], ["ds_data_recitem"], "replace", this, this);
- }
- ivw_recitemDs = ivw_base.objects["ds_hidden_recitem"];
- recitemDs = this.objects["ds_hidden_recitem"];
- }else{
- ivw_recitemDs = ivw_base.objects["ds_data_recitem"];
- recitemDs = this.objects["ds_data_recitem"];
- }
-
-
- for(var i = 0; i < ivw_base.all.length; i++)
- {
- if(ivw_base.all[i] instanceof Dataset) //Object를 비교하는 구문
- {
- dsNm = ivw_base.all[i].name;
- if(dsNm.indexOf("ds_data_grd_") != -1)
- {
- dsDegnNo = dsNm.replace("ds_data_grd_", "");
- ivw_base.fGetFormGridRec(dsNm, dsDegnNo, mode); // 그리드 내용을 recitem에 세팅 MMRCommon.xjs
- }
- }
- ivw_base.ds_data_recitem.filter("");
- if(ivw_base.all[i] instanceof ActiveX) // 이미지 정보 취합
- {
-
- var imgDegnNo;
- var obj_Image = ivw_base.all[i];
- var obj_ImageNm = ivw_base.all[i].name;
-
- if(obj_ImageNm.indexOf("IMG_") > -1)
- {
- imgDegnNo = obj_ImageNm.replace("IMG_", "");
-
- var nRow = ivw_recitemDs.findRow("degnitemno", imgDegnNo);
- ivw_recitemDs.setColumn(nRow, "reccnts", obj_Image.GetShapeString());
- var objColumnInfo = ivw_recitemDs.getColumnInfo("recimge");
- var objBlob = objExt.decodeBase64(obj_Image.SaveJpegBase64(), "BIN");
- ivw_recitemDs.setColumn(nRow, "recimge", objBlob);
- }
- }
-
- // CAL userMask include, MaskEdit
- if(ivw_base.all[i] instanceof Calendar || ivwObj.all[i] instanceof MaskEdit)
- {
- var calDegnNo;
- var obj_Cal = ivw_base.all[i];
- var obj_CalNm = ivw_base.all[i].name;
-
- //if(obj_CalNm.indexOf("CAL_") > -1){
-
- if( !utlf_isNull(obj_Cal.userMask) && obj_Cal.userMask == "include" && !utlf_isNull(obj_Cal.text) ){
- utlf_addLog( obj_CalNm + " 의 현재 Text는 " + obj_Cal.text );
-
- //calDegnNo = obj_CalNm.replace("CAL_", "");
- calDegnNo = obj_CalNm.split("_")[1];
-
- var nRow = ivw_recitemDs.findRow("degnitemno", calDegnNo);
- var nReccnts = ivw_recitemDs.getColumn(nRow, "reccnts");
- if( !utlf_isNull(nReccnts) ){
- utlf_addLog( obj_CalNm + " 의 recitem의 reccnts 값은 " + nReccnts );
- ivw_recitemDs.setColumn(nRow, "reccnts", obj_Cal.text);
- }
- }
-
- //}
- }
- }
-
- recitemDs.copyData(ivw_recitemDs);
-
- // 저장할 항목의 상위정보를 가지고 오기위함
- dsf_createDs("ds_temp_recitem");
- ds_temp_recitem.assign(recitemDs);
-
- if( !utlf_isNull( mode ) ){
- var objDs = ivw_base.removeChild("ds_hidden_recitem");
- delete objDs;
- objDs = null;
- }
-
- // 공통서식 이외 서식 기록데이터 취합 후 데이터없는 row 삭제
- var recCol = "";
- var recVal = "";
- for(var i = 0; i < recitemDs.rowcount; i++)
- {
- var recFormdegnseq = recitemDs.getColumn(i, "formdegnseq");
- if(utlf_isNull(recFormdegnseq))
- recitemDs.setColumn(i, "formdegnseq", formdengnseq);
-
- degnitemkind = recitemDs.getColumn(i, "degnitemkind");
- if(degnitemkind == "MTX" || degnitemkind == "STX" || degnitemkind == "CAL" || degnitemkind == "MSK" || degnitemkind == "IMG" || degnitemkind == "FDG")
- {
- recCol = "reccnts";
- }
- else if(degnitemkind == "CMB" || degnitemkind == "CHK" || degnitemkind == "RDO" || degnitemkind == "MSL" || degnitemkind == "BOL" || degnitemkind == "SSL")
- {
- recCol = "rectermcd";
- }
- else if(degnitemkind == "GRD" || degnitemkind == "GSU" || degnitemkind == "GSL" || degnitemkind == "GXB")
- {
- continue;
- }
-
- if(!utlf_isNull(recCol))
- {
- recVal = recitemDs.getColumn(i, recCol);
- }else{
- recitemDs.deleteRow(i);
- i = i-1;
- continue;
- }
- if(utlf_isNull(recVal))
- {
- var bDel = true;
- // 2017.07.18 CHK EXTN Check!!
- // 2018.11.26 BOL EXTN Check!!
- if( degnitemkind == "CHK" || degnitemkind == "BOL" ){
- recCol = "reccnts";
- recVal = recitemDs.getColumn(i, recCol);
- if( !utlf_isNull(recVal) ){
- bDel = false;
- }
- }
- if( bDel ){
- recitemDs.deleteRow(i);
- i = i-1;
- }
- }
- }
-
- //특수서식만 테스트
- //저장할 항목의 상위정보를 가지고 오기위함
- /*
- 1. 수정일시 : 2019-08-29
- 2. 발생현상 : 화면을 갱신하지 않는 화면의 기록 최초저장 후 수정할때 발생
- 계층레벨이 2이상 단독으로 저장데이터가 존재할때 상위정보를 설정못하는 현상
- 3. 수정사항 : lf_getParent 함수에서 filterStr 정보를 정상적으로 설정하도록 처리
- filterStrAll 초기화 로직 추가
- */
- if( fGetFormMast("formprogflag") == "-" ){
- filterStrAll = "";
- for( var i = 0; i < recitemDs.rowcount; i++)
- {
- var nDegnitemkind = recitemDs.getColumn(i, "degnitemkind");
- var nDegnitemno = recitemDs.getColumn(i, "degnitemno");
- if(degnitemkind == "GRD" || degnitemkind == "GSU" || degnitemkind == "GSL")
- {
- continue;
- }
-
- var filterStr = "";
-
- var nFindRow = ds_data_formdegn.findRow("degnitemno", nDegnitemno);
- var supdegnitemno = ds_data_formdegn.getColumn(nFindRow, "supdegnitemno");
- if( !utlf_isNull(supdegnitemno) && supdegnitemno != "0" ){
- filterStr = lf_getParent(supdegnitemno, filterStr);
- }
-
- if( !utlf_isNull(filterStr) ){
- ds_temp_recitem.filter(filterStr);
- var nTempCnt = ds_temp_recitem.rowcount;
- for( var j = ds_temp_recitem.rowcount-1; j >= 0; j--){
- nDegnitemno = ds_temp_recitem.getColumn(j, "degnitemno");
-
- if( recitemDs.findRow("degnitemno",nDegnitemno) > -1 ){
- continue;
- }
- if( ds_temp_recitem.getColumn(j, "degnitemkind") == "MSL" ){
- if( utlf_isNull(ds_temp_recitem.getColumn(j, "rectermcd"))
- && utlf_isNull(ds_temp_recitem.getColumn(j, "reccnts")) ){
- continue;
- }
- }
-
- var nRow = recitemDs.insertRow(i);
- recitemDs.copyRow(nRow, ds_temp_recitem, j);
- }
- ds_temp_recitem.filter("");
- }
- }
- }
-
- //temp dataset delete
- dsf_deleteDs("ds_temp_recitem");
-
- utlf_addLog("***** lf_getGenFormData fGetFormMast(\"formprogflag\") == \"main\" : " + fGetFormMast("formprogflag"));
- if(fGetFormMast("formprogflag") == "MAIN" || fGetFormMast("formprogflag") == "-" )
- lf_sortGenForm(mode); // 일반 서식 디자인 정보순 정렬 함수 MMMRcommon.xjs
- }
- var filterStrAll = "";
- /****************************************************************************************
- * Description : 저장할 항목의 상위정보를 가지고 오기위함
- * Argument : 01. degnitemno
- * : 02. filterStr
- * retrun type : string
- * Creator :
- ****************************************************************************************/
- function lf_getParent(degnitemno, filterStr){
- var srchno = "'" + degnitemno + "'";
- if(!utlf_isSearchString(filterStr, srchno) && !utlf_isSearchString(filterStrAll, srchno))
- {
- if(utlf_isNull(filterStr))
- filterStr = "degnitemno == '" + degnitemno + "'";
- else
- filterStr += " || degnitemno == '" + degnitemno + "'";
- }
- var nFindRow = ds_data_formdegn.findRow("degnitemno", degnitemno);
- var supdegnitemno = ds_data_formdegn.getColumn(nFindRow, "supdegnitemno");
- if(!utlf_isNull(supdegnitemno) && supdegnitemno != "0")
- {
- filterStr = lf_getParent(supdegnitemno, filterStr);
- if(utlf_isNull(filterStrAll))
- filterStrAll = filterStr;
- else
- filterStrAll += " || " + filterStr;
- }
- return filterStr;
-
- }
- /****************************************************************************************
- * Function : lf_loadSMMMR01100
- * Description : 서식을 로드한다.
- * Argument : 01. bPopup : 팝업 여부
- * : 02. objArg = ds_cond_formdata
- * : 03. ds_cond_formdata.formcd : 서식 코드 또는 서식기록 코드
- * : 04. ds_cond_formdata.formkind : 서식유형(new: 신규, rec: 기록)
- * : 05. ds_cond_formdata.pid : 환자 등록번호(상단에 환자정보 없을 시
- * : 06. ds_cond_formdata.orddd : 진료일(상단에 환자정보 없을 시
- * : 07. ds_cond_formdata.cretno : 생성번호(상단에 환자정보 없을 시
- * : 08. ds_cond_formdata.unpreprec: 미비기록 여부
- * : 08. ds_cond_formdata.modalyn : 모달팝업 여부(default : open)
- * : 08. path : 로더 경로
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadSMMMR01100(bPopup, objArg, path)
- {
- utlf_addLog("***** lf_loadSMMMR01100("+bPopup+", "+objArg+", "+path+") 서식 화면을 로드 및 lf_resetForm 호출 *****");
- var formkind = objArg.ds_cond_formdata.getColumn(0, "formkind");
- var formcd = objArg.ds_cond_formdata.getColumn(0, "formcd");
- var modalYn;
- if(!utlf_isNull(objArg.ds_cond_formdata.getColumnInfo("modalyn")))
- modalYn = objArg.ds_cond_formdata.getColumn(0, "modalyn");
-
- var scrnId = "SSMMR01100";
- if( !utlf_isNull(objArg.ds_cond_formdata.getColumnInfo("scrnidx")) && !utlf_isNull(objArg.ds_cond_formdata.getColumn(0, "scrnidx")) ){
- scrnId = scrnId + "_" + objArg.ds_cond_formdata.getColumn(0, "scrnidx");
- }
-
- var bPrevPos = null;
- var nMonitor = null;
- var nLeft = null;
- var nTop = null;
-
- if(!utlf_isNull(objArg.ds_cond_formdata.getColumnInfo("monitor")))
- nMonitor = objArg.ds_cond_formdata.getColumn(0, "monitor");
- if(!utlf_isNull(objArg.ds_cond_formdata.getColumnInfo("left")))
- nLeft = objArg.ds_cond_formdata.getColumn(0, "left");
- if(!utlf_isNull(objArg.ds_cond_formdata.getColumnInfo("top")))
- nTop = objArg.ds_cond_formdata.getColumn(0, "top");
- if( !utlf_isNull(nMonitor) || !utlf_isNull(nLeft) || !utlf_isNull(nTop) )
- bPrevPos = false;
-
- if(utlf_isNull(path))
- {
- if(this.name == "ivw_loader")
- path = this;
- else
- path = this.components["ivw_loader"];
- }
- else
- path = path.components["ivw_loader"];
-
- /*
- return 위치 변경하여 서식로더 초기화
- 진료대상자 리스트(외래 외)와 처방진료대상자 리스트(외래)의 구분값이 다를경우
- 진료대상자 리스트의 구분을 우선적으로 적용하므로 로드할 서식의 formcd 가 존재하지 않음.
- */
- if (utlf_isNull(formkind) || utlf_isNull(formcd)){
- if(bPopup == false)
- {
- if(!utlf_isNull(path.url))
- {
- path.ivw_base.url = "";
- }
- }
- return;
- }
-
-
- if(bPopup == false)
- {
- if(!utlf_isNull(path.url))
- {
- path.lf_resetForm();
- }
- else
- {
- path.url = "";
- path.url = "emr_medirecxp::SSMMR01100_서식로더.xfdl";
- }
-
- }
- else
- {
- if(!utlf_isNull(modalYn) && modalYn == "Y")
- {
- frmf_modal(scrnId, "SSMMR01100", objArg, bPrevPos, nMonitor, nLeft, nTop, "", "", "", "", "", "M");
- }
- else
- {
- var objForm = frmf_findPopup(scrnId);
-
- if(utlf_isNull(objForm))
- {
- frmf_open(scrnId, "SSMMR01100", objArg, bPrevPos, nMonitor, nLeft, nTop, "", "", "", "", "", "M");
- }
- else
- {
- objForm.lf_resetForm();
- frmf_setFocusPop(scrnId);
- }
- }
- }
- }
- /****************************************************************************************
- * Function : lf_srchNewFormInfo
- * Description : 기록 유효성 권한 검사-validateRec()와 로드할 기록 서식의 기본정보 조회-fGetNewFormMast() 통합 => 속도 개선 및 소스 정리
- * Argument : 01. formcd : 서식 코드
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_srchNewFormInfo(formcd)
- {
- utlf_addLog("***** lf_srchNewFormInfo(formcd) 기록유효성권한검사 및 서식 기본정보 조회 *****");
- if(gChkModiRecFlag)
- {
- var recsavechk = oOpener.frmf_getParameter("SSMMR01100_recsavechk");
- oOpener.frmf_clearParameter("SSMMR01100_recsavechk");
-
- if( (grup_btn.visible && grup_btn.btn_signsave.visible && grup_btn.btn_signsave.enable) && recsavechk != "Y" && lf_isModify() == "Y" )
- {
-
- if (formcd != "0800003416" && sysf_messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002") == 6)
- {
- fClickSave("Y");
- }
- }
- }
-
- // 2016.04.22 기록확정저장시 기준일자 제어 제거
- // 2016.04.08 순환기내과 채성철교수님 요청 기록확정저장시 기준일자 제어
- // 변수 초기화
- // gChkFormrecdt = true;
-
- var pid = "";
- var pidindx = "";
- var orddd = "";
- var cretno = "";
- var ioflag = "";
- var orddeptcd = "";
- var paminfo = sysf_getGlobalVariable("paminfo");
- var sGetTopYn = oOpener.frmf_getParameter("SSMMR01100_getTopYn");
-
- if(!utlf_isNull(paminfo) && gTopYn == true)//&& sGetTopYn != "N"
- {
- //ds_data_paminfo.loadCSV(paminfo); // 환자정보 row 정렬
- dsf_setCSVToDs("ds_data_paminfo", paminfo);
- pid = ds_data_paminfo.getColumn(0, "pid");
- cretno = ds_data_paminfo.getColumn(0, "cretno");
- ioflag = ds_data_paminfo.getColumn(0, "ioflag");
- orddeptcd = ds_data_paminfo.getColumn(0, "orddeptcd");
-
- if (ioflag == "O" || ioflag == "S") {
- orddd = ds_data_paminfo.getColumn(0, "orddd");
- }
- else
- {
- orddd = ds_data_paminfo.getColumn(0, "indd");
- }
- }
- else if(ds_cond_formdata.rowcount > 0 && !utlf_isNull(ds_cond_formdata.getColumn(0, "pid")))
- {
- // 로더 호출 시 objArg에 담겨있는 ds_cond_formdata로 환자정보 세팅.
- pid = ds_cond_formdata.getColumn(0, "pid");
- orddd = ds_cond_formdata.getColumn(0, "orddd");
- cretno = ds_cond_formdata.getColumn(0, "cretno");
- orddeptcd = utlf_transNullToEmpty(ds_cond_formdata.getColumn(0, "orddeptcd"));
- ioflag = utlf_transNullToEmpty(ds_cond_formdata.getColumn(0, "ioflag"));
- }
-
- // 기록 유효성 권한 검사와 로드할 기록 서식의 기본정보 조회를 위한 비동기 트랜잭션
- dsf_createDsRow("ds_cond_forminforeq",
- [{col:"valiflag", val:"new"}
- ,{col:"pid", val:pid}
- ,{col:"orddd", val:orddd}
- ,{col:"cretno", val:cretno}
- ,{col:"formcd", val:formcd}
- ,{col:"chosflag", val:ioflag}
- ,{col:"orddeptcd", val:orddeptcd}
- ,{col:"formfromdt", val:""}
- ,{col:"formdegnseq", val:"0"}
- ,{col:"extnunitformlistyn", val:"Y"}
- ,{col:"cashedformdegnseq", val:""}
- ,{col:"sysformrecdt", val:""}
- ,{col:"mode", val:""}]);
-
- ds_data_validinfo.clearData();
- ds_data_formmast.clearData();
- ds_data_formdegn.clearData();
- ds_data_unitformmast.clearData();
- ds_data_vallist.clearData();
- ds_script.clearData();
- ds_script_map.clearData();
-
- var objParam = new Object();
- objParam.id = "TRMMR01110";
- objParam.service = "medirecapp.ComnMediRec";
- objParam.method = "reqGetValidateNGetFormMast";
- objParam.inds = "req=ds_cond_forminforeq";
- objParam.outds ="ds_data_validinfo=validinfo ds_data_formmast=formmast ds_data_formdegn=formdegn ds_data_unitformmast=unitformmast ds_data_vallist=vallist ds_data_imgelist=imgelist "
- + "ds_data_unitformdegn=unitformdegn ds_data_extnformlist=extnformlist ds_data_readonlylist=readonlylist ds_data_programdesignformlist=programdesignformlist ds_script=script ds_script_map=script_map";
- objParam.callback = "cbf_TRMMR01110";
- objParam.async = true;
- objParam.progress = false;
- objParam.error = false;
-
- tranf_submit(objParam);
- }
- /****************************************************************************************
- * Argument :
- * Description : 유효성 권한 검사와 로드할 기록 서식 정보 조회를 위한 트emr랜잭션 호출 후 이벤트 후처리
- ****************************************************************************************/
- function cbf_TRMMR01110(strSvcID, nErrorCode, strErrorMsg)
- {
- //에러 처리
- if(nErrorCode == 0)
- {
-
- // 서식 기본정보조회 파라미터 삭제
- var objDs = this.removeChild("ds_cond_forminforeq");
- delete objDs;
- objDs = null;
- if (ds_data_validinfo.getColumn(0, "resultCode") != "0") {
- if (!utlf_isNull(ds_data_validinfo.getColumn(0, "resultMsg"))) {
- alert(ds_data_validinfo.getColumn(0, "resultMsg"));
- }
- if(!utlf_isNull(ds_data_validinfo.getColumn(0, "formrecseq"))) {
- lf_loadRecForm(ds_data_validinfo.getColumn(0, "formrecseq")); // 기록 서식 로딩
- }
- return;
- }
- /*
- var resultCode = ds_data_validinfo.getColumn(0, "resultCode");
- var resultMsg = "";
- if(!utlf_isNull(ds_data_validinfo.getColumnInfo("resultMsg")))
- resultMsg = ds_data_validinfo.getColumn(0, "resultMsg");
-
- frmf_setParameter("MMR01100_resultCode", resultCode);
- frmf_setParameter("MMR01100_resultMsg", resultMsg);
-
- */
- //기록 유효성 검사.
- if(!lf_validateForm("new")){
- return;
- }
-
- var formcd = ds_data_formmast.getColumn(0, "formcd");
- lf_loadNewFormAftSubmit(formcd); // 서식로드 함수
- }
- else
- {
- sysf_trace("strErrorMsg : " + strErrorMsg);
- ivw_base.url = "";
- // astErrorMsg(strErrorMsg);
- }
-
- }
- /****************************************************************************************
- * Function : lf_validateForm
- * Description : 상태에 따른 서식 Open 유효성 검사
- * Argument : 01. mode : new 신규서식, rec 기록
- * retrun type : true/false
- * Creator :
- ****************************************************************************************/
- function lf_validateForm(mode)
- {
- if(mode == "new"){
- //응급실기록은 응급의학과, 소아청소년과만 작성가능
- //debugger;
- if(ds_data_formmast.getColumn(0, "srcformcd") == "0000000679")
- {
- if(sysf_getUserInfo("dutplcecd") != "EM" && sysf_getUserInfo("dutplcecd") != "PD")
- {
- // sysf_messageBox("응급의학과, 소아과 이외 타 부서는 \n 응급실기록을 작성", "E001");
- // return false;
- }
- }
-
- if(utlf_isNull(ds_data_formmast.getColumn(0, "formdegnseq")))
- {
- sysf_messageBox("디자인정보가 존재하지 않습니다. 기록을 작성", "E001");
- return false;
- }
- }
- return true;
- }
- /****************************************************************************************
- * Function : lf_loadNewFormAftSubmit
- * Description : 비동기 호출 후 서식로드
- * Argument : 01. formcd : 서식 코드
- * : 02. bPopup : 특수서식로드 유형 (true/false)
- * : 03. calledflag : 기록후 넘겨줘야하는 값
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadNewFormAftSubmit(formcd)
- {
- // 현재 로딩돼있는 서식 정보. 동일 서식 여부 판별을 위해 formrec 정보 신규 세팅전 변수 저장
- var cursrcformcd = fGetFormMast("srcformcd");
- var curformProgNm = fGetFormMast("formprognm");
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
-
- //formrec 정보 신규 세팅.
- fSetNewFormRec();
-
- if( frmf_isPopup() && sysf_getObjType(this) == "Form"){
- var openmode = oOpener.frmf_getParameter("openmode");
- if (openmode == "newcnstform") // 컨설트 새서식 열기
- {
- grup_btn.btn_del.visible = false;
- var node = sysf_getGlobalVariable("paminfo");
- if(utlf_isNull(node))
- {
- fSetPamInfo(oOpener.frmf_getParameter("pid"),
- oOpener.frmf_getParameter("orddd"),
- oOpener.frmf_getParameter("cretno"),
- oOpener.frmf_getParameter("ioflag"),
- oOpener.frmf_getParameter("orddeptcd"),
- oOpener.frmf_getParameter("orddrid") );
- }
- frmf_setParameter("SMMMR04900_cnstflag", oOpener.frmf_getParameter("SMMMR04900_cnstflag"));
- frmf_setParameter("SMMMR04900_replflag", oOpener.frmf_getParameter("SMMMR04900_replflag"));
- frmf_setParameter("SMMMR04900_cnstdeptcd", oOpener.frmf_getParameter("SMMMR04900_cnstdeptcd"));
- frmf_setParameter("SMMMR04900_cnstdeptnm", oOpener.frmf_getParameter("SMMMR04900_cnstdeptnm"));
- frmf_setParameter("SMMMR04900_drid", oOpener.frmf_getParameter("SMMMR04900_drid"));
- frmf_setParameter("SMMMR04900_drnm", oOpener.frmf_getParameter("SMMMR04900_drnm"));
- frmf_setParameter("SMMMR04900_reqdpcd", oOpener.frmf_getParameter("SMMMR04900_reqdpcd"));
- frmf_setParameter("SMMMR04900_reqdpnm", oOpener.frmf_getParameter("SMMMR04900_reqdpnm"));
- frmf_setParameter("SMMMR04900_reqdrid", oOpener.frmf_getParameter("SMMMR04900_reqdrid"));
- frmf_setParameter("SMMMR04900_reqdrnm", oOpener.frmf_getParameter("SMMMR04900_reqdrnm"));
- frmf_setParameter("SMMMR04900_formnm", oOpener.frmf_getParameter("SMMMR04900_formnm"));
- frmf_setParameter("SMMMR04900_formcd", formcd);
- //fCheckWriteUser();
- }
-
- }
- lf_loadForm(formprogflag);
-
- // 서식명 세팅
- grup_titl.cap_formnm.text = "[신규]" + ds_data_formmast.getColumn(0, "formnminfo");
- // orgRecDD = ds_data_formrec.getColumn(0, "formrecdd");
- // grup_titl.ipt_formrectm.value = ds_data_formrec.getColumn(0, "formrechm");
- grup_titl.cbo_formrecextnnm.usertext = ds_data_formrec.getColumn(0, "formrecextnnm");
- lf_checkFormrecextnnm();
- grup_titl.cbo_formrecextnnm.value = ds_data_formrec.getColumn(0, "formrecextnnm");
- //fOnLoadComplete
- lf_onLoadCompleteAfter("new");
-
- }
- /****************************************************************************************
- * Function : lf_btnVislbe
- * Description : 서식로더 하단 버튼 전체 enable/disable
- * Argument : 01. flag : true/false
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_btnEnable(flag)
- {
- utlf_addLog("***** lf_btnEnable 서식로더 하단 버튼 전체 enable/disable : " + flag + " *****");
- var screenid;
- var callvisityn;
-
- var objForm = this.getOwnerFrame().form.components["div_work"];
- if(!utlf_isNull(objForm))
- {
- screenid = objForm.frmf_getScreenID();
- }
-
- if( utlf_isNull(flag) ) flag = "true";
-
- grup_btn.btn_del.enable = flag;
- grup_btn.btn_signsave.enable = flag;
- grup_btn.btn_tmpsave.enable = flag;
- grup_btn.btn_signsaveasnew.enable = flag;
- grup_btn.btn_preview.enable = flag;
- grup_btn.btn_init.enable = flag;
- grup_btn.btn_cosign.enable = flag;
- grup_btn.btn_resend.enable = flag;
- grup_btn.btn_reload.enable = flag;
-
- if( flag == "true" && grup_btn.enable == false){
- grup_btn.enable = true;
- }
- }
- /****************************************************************************************
- * Function : lf_btnVislbe
- * Description : 서식로더 하단 버튼 전체 보이기/숨기기
- * Argument : 01. flag : true/false
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_btnVisible(flag)
- {
- utlf_addLog("***** lf_btnVisible("+ flag +") 하단 버튼 전체 보이기/숨기기 *****");
- if(!utlf_isNull(flag) && (flag == "true" || flag == "false"))
- {
- grup_btn.visible = flag;
- /*
- btn_init.visible = flag;
- // btn_preview.visible = flag;
- btn_signsaveasnew.visible = flag;
- btn_tmpsave.visible = flag;
- btn_signsave.visible = flag;
- btn_del.visible = flag;
- // btn_resend.visible = flag;
- // btn_cosign.visible = flag;
- */
- }
- else
- {
- flag = false;
- grup_btn.visible = flag;
- /*
- btn_init.visible = flag;
- // btn_preview.visible = flag;
- btn_signsaveasnew.visible = flag;
- btn_tmpsave.visible = flag;
- btn_signsave.visible = flag;
- btn_del.visible = flag;
- // btn_resend.visible = flag;
- // btn_cosign.visible = flag;
- */
- }
-
- }
- /****************************************************************************************
- * Function : lf_loadForm
- * Description : 서식 Load
- * Argument : 01. formprogflag : 로드할 서식의 종류
- * : 02. calledflag : 기록후 넘겨줘야하는 값
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadForm(formprogflag, calledflag)
- {
- utlf_addLog("***** 서식로더 서식로드(FORMPROGFLAG 구분에 따른 화면) 시작 lf_loadForm() *****");
- var formdegnseq = "";
-
- switch(formprogflag)
- {
- case "" :
- case undefined :
- sysf_messageBox("사용 할 수 없는 서식", "E008");
- return;
-
- case "PROG" : //공통서식(PGM) 로드
- var formprognm = ds_data_formmast.getColumn(0, "formprognm");
- var obj = sysf_getScreenInfo(formprognm.split("_")[0]);
-
- if( utlf_isNull(obj.scrnurlxp_real) ){
- sysf_messageBox("사용 할 수 없는 서식", "E008");
- ivw_base.url = "";
- return;
- }
- ivw_base.url = "";
- ivw_base.url = obj.scrnurlxp_real;
-
- sysf_trace("@@@@@ ivw_base.url : " + obj.scrnurlxp_real + " mmr01100 *****");
-
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- }
- break;
-
- case "MAIN" : //공통서식(서식) 로드.
- //이윤주 추가 Post Op Note 를 수술탭에서만 작성토록(20110525)
- var srcformcd = ds_data_formmast.getColumn(0, "srcformcd");
- var formdegnseq = ds_data_formmast.getColumn(0, "formdegnseq");
-
- fGetFormDegn(formdegnseq, ivw_base.name);
-
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- }
- if (srcformcd == '0800003416')
- {
- var operation = sysf_getGlobalVariable("operation").split("▩")[1];
- if(utlf_isNull(operation))
- {
- alert("수술탭에서 작성하세요");
- return;
- }
- }
-
- break;
-
- case "PROF" : //제증명서식 로드
- case "-" : //특수서식 로드
- // if(bPopup)
- // {
- // fPopupForm(calledflag);
- // }
- // else
- // {
- var formdegnseq = ds_data_formmast.getColumn(0, "formdegnseq");
- fGetFormDegn(formdegnseq, ivw_base.name);
-
- if (!utlf_isNull(calledflag))
- {
- fSetFormRec("calledflag", calledflag);
- }
- // }
- break;
-
- case "CNST" : //컨설트서식 로드
- break;
- case "OCR" : //OCR서식 로드
- break;
- case "EXTN" :
- ivw_base.url = "emr_formmngtxp::SSMRF01200.xfdl";
- ivw_base.fInitForm_MRF1200();
- break;
- }
- utlf_addLog("***** 서식로더 서식로드(FORMPROGFLAG 구분에 따른 화면) 종료 lf_loadForm() *****");
- }
- /****************************************************************************************
- * Function : lf_loadRecForm
- * Description : 기록된 서식을 로드한다.
- * Argument : 01. formrecseq : 서식기록순번
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadRecForm(formrecseq)
- {
- utlf_addLog("***** lf_loadRecForm("+formrecseq+") 기록된 서식을 로드 *****");
- if(utlf_isNull(formrecseq))
- return;
- /*
- if(gChkModiRecFlag)
- {
- if( (grup_btn.btn_signsave.visible && grup_btn.btn_signsave.enable) && lf_isModify() == "Y" )
- {
- if (sysf_messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002") == 6)
- {
- fClickSave("Y");
- }
- }
- }
- */
-
- // 2016.04.22 기록확정저장시 기준일자 제어 제거
- // 2016.04.08 순환기내과 채성철교수님 요청 기록확정저장시 기준일자 제어
- // 변수 초기화
- // gChkFormrecdt = true;
-
- var paminfo = sysf_getGlobalVariable("paminfo");
- if(!utlf_isNull(paminfo) && gTopYn == true)
- {
- //ds_data_paminfo.loadCSV(paminfo); // 환자정보 row 정렬
- dsf_setCSVToDs("ds_data_paminfo", paminfo);
- }
-
- if( frmf_isPopup() && sysf_getObjType(this) == "Form"){
- var openmode = oOpener.frmf_getParameter("openmode");
- if (openmode == "reccnstform") // 기록된 컨설트 서식 열기
- {
- grup_btn.btn_del.visible = false;
- var formrecseq = oOpener.frmf_getParameter("formrecseq");
- var userdeptcd = oOpener.frmf_getParameter("userdeptcd");
- var replcnts = oOpener.frmf_getParameter("replcnts"); //약제팀
- var overwrite = oOpener.frmf_getParameter("overwrite"); //약제팀
- if (utlf_isNull(userdeptcd))
- {
- sysf_messageBox("컨설트 수신부서 코드가", "I004");
- return;
- }
- frmf_setParameter("userdeptcd", userdeptcd);
- if (!utlf_isNull(replcnts))
- {
- frmf_setParameter("MMR04900_replcnts", replcnts);
- frmf_setParameter("MMR04900_overwrite", overwrite);
- }
- //fCheckWriteUser();
- }
- }
-
- // 기록 서식 기본정보 조회 트랜잭션
- //1. 서식정보 조회
- if(!fGetRecFormMast(formrecseq)) {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
- //sysf_messageBox("1", "I");
- var formprogflag = fGetFormMast("formprogflag");
-
- dsf_createDsRow("ds_cond_recdatareq",
- [{col:"formrecseq", val:formrecseq}]);
-
- var objParam = new Object();
- objParam.id = "TRMMR01301";
- objParam.service = "medirecapp.ComnMediRec";
- objParam.method = "reqGetFormRecInfo";
- objParam.inds = "req=ds_cond_recdatareq";
- objParam.outds ="ds_data_formrec=formrec ds_data_recitem=recitem";
- objParam.async = false;
- objParam.progress = false;
- objParam.callback = "cbf_TRMMR01301";
-
- tranf_submit(objParam);
- //sysf_messageBox("2", "I");
- // 서식명 세팅
- grup_titl.cap_formnm.text = "[수정]" + ds_data_formmast.getColumn(0, "formnminfo");
- // grup_titl.ipt_formrecdd.value = ds_data_formrec.getColumn(0, "formrecdd");
- // orgRecDD = ds_data_formrec.getColumn(0, "formrecdd");
-
- grup_titl.cbo_formrecextnnm.usertext = ds_data_formrec.getColumn(0, "formrecextnnm");
- lf_checkFormrecextnnm();
- grup_titl.cbo_formrecextnnm.text = ds_data_formrec.getColumn(0, "formrecextnnm");
- g_recitem_oldrec = fGetCSV("ds_data_recitem"); // 로딩 시점의 기록데이터 xml형태로 저장. 다른 서식 로드시 저장여부 체크를 위함.
- //fOnLoadComplete
- lf_onLoadCompleteAfter("rec");
-
- }
- function cbf_TRMMR01301(strSvcID, nErrorCode, strErrorMsg)
- {
- var objDs = this.removeChild("ds_cond_recdatareq");
- delete objDs;
- objDs = null;
-
- if( !ds_data_formrec.getColumnInfo("rechistseq") )
- ds_data_formrec.addColumn("rechistseq", "BIGDECIMAL");
-
- var unpreprec = frmf_getParameter("unpreprec");
- fSetFormRec("unpreprec", unpreprec);
-
- var formprogflag = fGetFormMast("formprogflag");
- fSetFormRec("status", "U");
-
- lf_loadForm(formprogflag);
- }
- /****************************************************************************************
- * Argument : 01.sFlag : new / rec
- * Description : 신규, 수정에 따른 버튼 및 submitid 설정
- ****************************************************************************************/
- function lf_onLoadCompleteAfter(sFlag){
-
- if( sFlag == "new" ){
-
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
-
- grup_btn.btn_signsaveasnew.enable = false;
- var sFormchosflag = ds_data_formmast.getColumn(0, "formchosflag");
- var sPatchosflag = ds_data_formrec.getColumn(0, "chosflag");
- if (sPatchosflag == "I" && sFormchosflag == "O" && sysf_getUserInfo("jobkindcd").substring(0, 2) == "03")
- {
- grup_btn.btn_signsave.enable = false;
- }
- else
- {
- grup_btn.btn_signsave.enable = true;
- }
-
- this.killTimer( 1100 );
- var nSetTime = 500 * (ds_data_formmast.rowcount + ds_data_unitformmast.rowcount);
- this.setTimer( 1100, nSetTime );
-
-
-
- }else if( sFlag == "rec" ){
- if (fGetFormRec("espiyn") == "Y" && gViewPrt){
- grup_btn.btn_print.visible = true;
- }
- else
- {
- grup_btn.btn_print.visible = false;
- }
-
-
-
- fSetFormRec("formrecdeptnm" , sysf_getUserInfo("dutplcenm"));
- fSetFormRec("formrecusernm" , sysf_getUserInfo("usernm"));
-
- //코사인, 기록반려버튼 처리(2008-11-27 박종훈)
- if(fGetFormMast("srcformcd") != "0000000676" && fGetFormMast("srcformcd") != "0000000680")
- {
- //인증저장버튼과 코사인버튼처리
- grup_btn.btn_signsave.visible = true;
- grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- grup_btn.btn_tmpsave.visible = true;
- grup_btn.btn_resend.visible = false;
- grup_btn.btn_signsaveasnew.enable = true;
- //2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O'] 기록 작성을 막는다.
- if(!validFormchos_MMR01100(false)){
- grup_btn.btn_signsaveasnew.enable = false;
- }
- }
- else
- {
- grup_btn.btn_signsaveasnew.enable = false;
- }
- /*
- if (fGetFormMast("srcformcd") == "0000000677"){
- this.killTimer( 1100 );
- var nSetTime = 500 * (ds_data_formmast.rowcount + ds_data_unitformmast.rowcount);
- this.setTimer( 1100, nSetTime );
- }
- */
-
- }
-
- // [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
- if( lgv_MdfRecNo != null ){
- fSetFormRec("mdfrecno" , lgv_MdfRecNo);
- initButtonLayer_MMR01100("RecCorrect");
- if( frmf_isPopup() && sysf_getObjType(this) == "Form"){
- gSaveAfterClose = true;
-
- }
- }
- lf_getChkRecCorrect("Y", "Y");
- if (fGetFormMast("srcformcd") == "0000000676" || fGetFormMast("srcformcd") == "0000003325" || fGetFormMast("srcformcd") == "0000003169")
- {
- grup_titl.ipt_formrecdd.enable = false;
- grup_titl.ipt_formrectm.enable = false;
- }
- else
- {
- grup_titl.ipt_formrecdd.enable = true;
- grup_titl.ipt_formrectm.enable = true;
- }
-
-
- // 2016.12.21 SMMNW30001_간병간호KPCS formrecddenable, formrecdd 설정
- if( !utlf_isNull(lgv_formrecdd) && lgv_formrecdd.length == 8 ){
- fSetFormRec("formrecdd", lgv_formrecdd);
- }
- if( lgv_formrecddenable == false || fGetFormMast("srcformcd") == "1300014169"){
- grup_titl.ipt_formrecdd.enable = false;
- }
-
- gSubmitID = TX_SUBMIT_COMN_FORM;
-
- var formprognm = ds_data_formmast.getColumn(0, "formprognm");
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
- if(formprognm == "SMMMR04900_CONSULT" || formprognm == "SMMMR00600_수술기록" || formprognm == "SMMMR00900_DSC기록" || formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM; //확장서식 관련 서브밋 정의
- }
-
- utlf_addLog("lf_onLoadCompleteAfter gSubmitID : " + gSubmitID + " || formprognm : " + formprognm );
- // TF fModalProcess 내 titletext 변경 로직
- // XP 로 변환 시 fModalProcess 로직은 대부분 fAdjustWindowSize 내에 존재
- if( frmf_isPopup() && sysf_getObjType(this) == "Form"){
- if (!utlf_isNull(fGetFormMast("formcd")))
- {
- var disppatinfo = oOpener.frmf_getParameter("disppatinfo");
- utlf_addLog(" lf_onLoadCompleteAfter disppatinfo getParameter : " + disppatinfo );
- //2010.06.01 김달현 - disppatinfo가 없을경우 상단정보가져옴
- if(utlf_isNull(disppatinfo)){
- var pid = fGetPamInfo("pid");
- var hngnm = fGetPamInfo("hngnm");
- var sexage = fGetPamInfo("sex") + "/" + fGetPamInfo("age");
- var orddeptnm = fGetPamInfo("orddeptnm");
- var roomcd = fGetPamInfo("roomcd");
-
- disppatinfo = pid + "▦" + hngnm + "▦" + sexage + "▦" + orddeptnm + "▦" + roomcd;
- }
- utlf_addLog(" lf_onLoadCompleteAfter disppatinfo : " + disppatinfo );
- disppatinfo = disppatinfo.split("▦"); //[0]등록번호, [1]환자명, [2]성별/나이, [3]진료과, [4]병실
- this.titletext= fGetFormMast("formnminfo") + " 환자정보 : " + disppatinfo[0] + " " + disppatinfo[1] + "(" + disppatinfo[2] + ") 진료과 : " + disppatinfo[3] + ", 병실 : "+ disppatinfo[4];
- }
-
- var oprsrvno = oOpener.frmf_getParameter("oprsrvno");
- //2010.04.05 박종훈 수정(수술예약번호가 파리미터로 넘어올 경우 기록마스터테이블에 넣어준다)
- //요청번호 : 13250, TaskNo : 49479, 우선순위 : SY
- if(!utlf_isNull(oprsrvno))
- {
- trace(" Parameter oprsrvno : " + oprsrvno);
- fSetFormRec("oprsrvno", oprsrvno);
- }
-
- grup_btn.btn_reload.visible = true;
- }
-
-
-
- // 서식로더 scrollbars = "autovert"
- var sFormcd = fGetFormMast("formcd");
- var nFindRow = ds_init_scrollbars.findRow("hardcd", sFormcd);
- if( nFindRow > -1 ){
- ivw_base.scrollbars = "autoboth";
- }else{
- if( ivw_base.scrollbars != "autovert" )
- ivw_base.scrollbars = "autovert";
- }
-
- // 부서별 기록관리에서 미리보기버튼 hidden
- var objForm = this.getOwnerFrame().form;
- if(!utlf_isNull(objForm) && objForm.frmf_getScreenID() == "SPMMR05400")
- grup_btn.btn_preview.visible = false
-
- // 2017.09.07 formrecdd Init
- frmf_clearParameter("SSMMR01100_formrecdd");
-
- }
- /// 컨설트 관련 추가
- function fLoadSMMMR01100_CS(bPopup, objArg, path)
- {
- //sysf_trace("fLoadSMMMR01100_CS 시작 _ 서식로더를 불러온다");
- // bPopup = false;
- // objArg = null; 컨설트에선 의미 없지만 서식로더 형식에 맞추기 위해 만들어 던져준듯하다.
- // 불러오기전에 컨설트관리 화면에서 ds_cond_formdata 데이터를 넣어줬다. 그걸 읽어옴
- var formkind = ds_cond_formdata.getColumn(0, "formkind");
- var formcd = ds_cond_formdata.getColumn(0, "formcd");
- var modalYn;
- // if(!utlf_isNull(ds_cond_formdata.getColumnInfo("modalyn")))
- // modalYn = ds_cond_formdata.getColumn(0, "modalyn");
-
- if (formkind == "" || formcd == "")
- return;
-
- if(utlf_isNull(path))
- {
- if(this.name == "ivw_loader") {
- path = this;
- } else {
- // 컨설트관리 화면에서 호출된것이므로 path = this.components["ivw_loader"]; 가 실행. 서식로더는 컴포넌트[DIV]로 인식
- path = this.components["ivw_loader"];
- }
- }
- else {
- path = path.components["ivw_loader"];
- }
- if(bPopup == false)
- {
- if(!utlf_isNull(path.url))
- {
- // 컨설트 관리 화면에서 이미 url 밖혀있음. 초기화 실행.
- path.lf_resetForm();
- }
- else
- {
- path.url = "";
- path.url = "emr_medirecxp::SSMMR01100_서식로더.xfdl";
- }
-
- }
- // else
- // {
- // if(!utlf_isNull(modalYn) && modalYn == "Y")
- // {
- // frmf_modal("SSMMR01100", "SSMMR01100", objArg, "", "", "", "", "", "", "", "", "", "M");
- // }
- // else
- // {
- // var objForm = frmf_findPopup("SSMMR01100");
- //
- // if(utlf_isNull(objForm))
- // {
- // frmf_open("SSMMR01100", "SSMMR01100", objArg, "", "", "", "", "", "", "", "", "", "M");
- // }
- // else
- // {
- // objForm.lf_resetForm();
- // frmf_setFocusPop("SSMMR01100");
- // }
- // }
- // }
- }
- function lf_isPopForm()
- {
- if(frmf_isPopup())
- {
- // 팝업화면에서 로더 오픈 시
- if(!utlf_isNull(opener)){
- parentDS = opener.objects["ds_cond_formdata"];
-
- // 의사별 미비리스트 간편저장 로직
- if( utlf_isNull(parentDS) && !utlf_isNull(opener) && opener.name == "SMMRI01800"){
- try{
- parentDS = ds_cond_formdata;
- }catch(e){}
- }
- }else
- {
- objForm = this.getOwnerFrame().form;
- parentDS = objForm.objects["ds_cond_formdata"];
- }
- if(utlf_isNull(parentDS))
- return true;
- }
- else
- {
- // 메인화면에서 로더 오픈 시
- objForm = this.getOwnerFrame().form.components["div_work"];
- if(!utlf_isNull(objForm))
- parentDS = objForm.objects["ds_cond_formdata"];
-
- if(utlf_isNull(parentDS))
- return false;
- }
- }
- /****************************************************************************************
- * Argument : setdd : 기준일자
- * Description : 기록 기준일자를 설정
- * (미사용 : lf_onLoadCompleteAfter 에서 설정)
- ****************************************************************************************/
- function lf_Setformrecdd(setdd) {
- ds_data_formrec.setColumn(0, "formrecdd", setdd);
- }
- /****************************************************************************************
- * Argument : 01.nFlag : 삭제(D), 인증저장(Y), 임시저장(N : return), 새이름으로작성(NEW) 구분
- * 02.nSerchFlag : Y 정정관리 여부 조회
- * Description : 기록 정정관리대상 조회 및 정정프로세스 처리
- * History : [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
- [요청번호:20181010032] 의무기록 정정 프로그램 개발 요청
- ****************************************************************************************/
- function lf_getChkRecCorrect(nFlag, nSerchFlag){
- // 00. 삭제 및 인증저장(수정) 시만 동작
- if( nFlag != "D" && nFlag != "Y" && nFlag != "NEW") return true;
-
- // 01. 정정관리 여부 조회
- if( !utlf_isNull(nSerchFlag) && nSerchFlag == "Y" ){
-
- dsf_createDs("ds_save_mdfrecinfo");
- dsf_createDs("ds_save_unprepinfo");
-
- var pid = fGetFormRec("pid");
- var orddd = fGetFormRec("orddd");
- var cretno = fGetFormRec("cretno");
- var ioflag = fGetFormRec("chosioflag");
- if( utlf_isNull(ioflag) ){
- ioflag = fGetFormRec("chosflag");
- }
- var formcd = fGetFormRec("formcd");
- var srcformcd = fGetFormRec("srcformcd");
- var formrecseq = fGetFormRec("formrecseq");
- if( nFlag == "NEW" )
- formrecseq = "";
- var status = fGetFormRec("status");
- var formrecdd = fGetFormRec("formrecdd");
- dsf_createDsRow("ds_cond_TRMMR01306", [{col:"pid", type:"string", size:256, val:pid}
- , {col:"orddd", type:"string", size:256, val:orddd}
- , {col:"cretno", type:"bigdecimal", size:256, val:cretno}
- , {col:"ioflag", type:"string", size:256, val:ioflag}
- , {col:"formcd", type:"string", size:256, val:formcd}
- , {col:"srcformcd", type:"string", size:256, val:srcformcd}
- , {col:"formrecseq", type:"string", size:256, val:formrecseq}
- , {col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
- , {col:"cbflag", type:"string", size:256, val:nFlag}
- , {col:"formrecdd", type:"string", size:256, val:formrecdd}
- ]);
-
-
- dsf_createDs("ds_data_reccorrent_info");
- dsf_createDs("ds_data_reccorrent_chartinfo", [{col:"issyn", type:"string", size:256}]);
-
-
- utlf_addLog(">>> TRMMR01306 S >>>");
- var nAsync = true;
- if( nFlag == "NEW" ){
- nAsync = false;
- }
- var oParam = {};
- oParam.id = "TRMMR01306";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetChkRecCorrect";
- oParam.inds = "req=ds_cond_TRMMR01306";
- oParam.outds = "ds_data_reccorrent_info=info ds_data_reccorrent_chartinfo=chartinfo";
- oParam.async = nAsync;
- oParam.progress = false;
- oParam.callback = "cbf_TRMMR01306";
- tranf_submit(oParam);
-
- if( nFlag == "NEW" && ds_data_reccorrent_info.getColumn(0, "activeyn") == "M"){
- grup_btn.btn_app.click();
- return false;
- }
-
- // 02. 정정프로세스 처리
- }else{
- //(Y:프로세스(사유) 진입,M:프로세스(신청서) 진입,N:프로세스 예외)
- if( this.objects["ds_data_reccorrent_info"] != null
- && ( ds_data_reccorrent_info.getColumn(0, "activeyn") == "Y" || ds_data_reccorrent_info.getColumn(0, "activeyn") == "M" )
- && lgv_MdfRecNo == null){
-
-
- var objArg = new Object();
- objArg.arg_ds_data_chartinfo = ds_data_reccorrent_chartinfo;
- objArg.arg_ds_data_formmast = ds_data_formmast;
- objArg.arg_ds_data_formrec = ds_data_formrec;
- objArg.arg_nFlag = nFlag;
- objArg.arg_pid = pid;
- objArg.arg_activeyn = ds_data_reccorrent_info.getColumn(0, "activeyn");
-
- var rtnArg = frmf_modal("SPMRI06100", "SPMRI06100", objArg, null, null, null, null, null, null, null, null, null, "P");
-
- if(!utlf_isNull(rtnArg)) {
- // 새이름으로, 정정신청 저장 후 retun;
- if( rtnArg.arg_nSaveyn == "Y"
- && ds_data_reccorrent_info.getColumn(0, "activeyn") == "M"
- && ds_cond_TRMMR01306.getColumn(0, "cbflag") == "NEW"){
- return false;
- }
- // 정정신청화면 닫기버튼 또는 취소
- if( rtnArg.arg_nSaveyn == "N" ) {
- sysf_messageBox("처리되지 않았습니다. ", "E");
- return false;
- }
-
- // var cosignYn = fGetFormRec("cosign");
- // if( cosignYn == "Y" ){
- // fSetFormRec("cosign", "N");
- // }
- // ds_data_mdfrecinfo -> ds_save_mdfrecinfo
- // ds_data_unprepinfo -> ds_save_unprepinfo
- dsf_createDs("ds_save_mdfrecinfo");
- dsf_createDs("ds_save_unprepinfo");
- // 사유일경우 인증저장 프로세스에서 처리
- if( rtnArg.arg_nSaveyn == "Y"
- && ds_data_reccorrent_info.getColumn(0, "activeyn") == "Y"
- ){
- ds_save_mdfrecinfo.copyData(rtnArg.arg_ds_data_mdfrecinfo);
- ds_save_unprepinfo.copyData(rtnArg.arg_ds_data_unprepinfo);
- }
-
- return true;
- }
- return false;
- }else if(lgv_MdfRecNo != null ){ // 정정기록관리 화면에서 호출, Staff Sign 기록일 경우
- var nAcptstatus = "";
- if(!utlf_isNull(opener) && opener.name == "SPMRI06000"){
- nAcptstatus = opener.ds_data_mdfrecinfo.getColumn(0, "acptstatus");
- }
-
- //if( nFlag == "D" && lgv_MdfRecApptype != null && lgv_MdfRecApptype.split("|")[0] != "D" ){
- if( nFlag == "D" && lgv_MdfRecApptype != null && lgv_MdfRecApptype.split("|")[0] != "D"
- && !(lf_ContainsHardCD("100017", "Y") && lgv_MdfRecApptype.split("|")[0] == "R" && nAcptstatus == "M") ){
- // 20191022 금정화 : 정정신청 후 의무기록팀에서 승인한 경우 사용자가 삭제 가능하도록 수정.
- sysf_messageBox("삭제 ", "E001");
- return false;
- }
- var cosignYn = fGetFormRec("cosign");
- if( cosignYn == "Y" ){
- // 미비 데이터 생성
- if( lf_SetUnPrepInfo(cosignYn) == false ){
- return false;
- }else{
- ds_save_unprepinfo.copyData(ds_data_unprepinfo);
- }
- }
- }else if( nFlag == "D"){
- // 미비 데이터 생성
- if( lf_SetUnPrepInfo(nFlag) == false ){
- //return false;
- }else{
- ds_save_unprepinfo.copyData(ds_data_unprepinfo);
- }
- }
- return true;
- }
- }
- var gActiveyn = "Y";
- function cbf_TRMMR01306(strSvcID, nErrorCode, strErrorMsg)
- {
- utlf_addLog(">>> TRMMR01306 E activeyn : " + ds_data_reccorrent_info.getColumn(0, "activeyn") + ", issyn : " + ds_data_reccorrent_chartinfo.getColumn(0, "issyn") + " >>>");
- /* //TEST code
- if( ds_data_reccorrent_info.getColumn(0, "activeyn") == "N"){
- if( gActiveyn == "Y" ){
- gActiveyn = "M";
- ds_data_reccorrent_info.setColumn(0, "activeyn", "M");
- }else if( gActiveyn == "M" ){
- gActiveyn = "Y";
- ds_data_reccorrent_info.setColumn(0, "activeyn", "Y");
- }
- }
- if( ds_cond_TRMMR01306.getColumn(0, "cbflag") == "NEW" ){
- ds_data_reccorrent_info.setColumn(0, "activeyn", "M");
- }
- */
- // 새이름으로 작성 시 버튼 처리 안함.
- if( ds_cond_TRMMR01306.getColumn(0, "cbflag") == "NEW" ){
- return;
- }
-
- var activeyn = ds_data_reccorrent_info.getColumn(0, "activeyn");
- // 서식로더 하단 안내문구 처리(activeyn 조건에 따른 동작 수행)
- lf_DisplayBottomNotice();
-
- // Activeyn Y : 사유만 작성 후 진행 , M 정정신청 프로세스 진입
- if( activeyn == "Y" || activeyn == "M" ){
- if( lgv_MdfRecNo == null ){
- if( activeyn == "M" ){
- // 임시저장된 기록 수정 시
- if( fGetFormRec("status") == "U" && fGetFormRec("espiyn") == "N" ){
- lf_MdfDispEnable(true);
- }else{
- lf_MdfDispEnable(false);
- }
- }else{
- lf_MdfDispEnable(true);
- }
- // 정정신청, 사유에 대한 버튼 처리
- var nNm = "";
- if( activeyn == "Y" ){
- nNm = "RecCorrect";
- }else if( (fGetFormRec("status") == "U" && fGetFormRec("espiyn") == "N") ){
- nNm = "RecCorrectAppTemp";
- }else{
- nNm = "RecCorrectApp";
- }
- initButtonLayer_MMR01100(nNm);
- }else{
- lf_CosignCheck();
- }
- }
-
- }
- /****************************************************************************************
- * Argument : 01.bFlag : true / false
- * Description : 정정프로세스 여부에 따른 PROG 기록 사용여부 처리
- ****************************************************************************************/
- function lf_MdfDispEnable(bFlag){
- try{
- // 정정신청일 경우 작성 불가 처리
- var childrenObj = ivw_base.grup_base.components;
- for(i=0; i< childrenObj.length; i++)
- {
- var childObj = childrenObj[i];
- if((!utlf_isNull(childObj.name) &&
- ((childObj.name).indexOf("ivw_") > -1 || (childObj.name).indexOf("tar_") > -1)
- || childObj instanceof Button || childObj instanceof Static
- || childObj instanceof Edit || childObj instanceof Radio
- )
- ){
- if( bFlag == true && !utlf_isNull(childObj.orgMdfEnable) ){
- childObj.enable = childObj.orgMdfEnable;
- }else if( bFlag == false ){
- childObj.orgMdfEnable = childObj.enable;
- childObj.enable = bFlag;
- }
- }
- }
- }catch(e){}
- }
- /****************************************************************************************
- * Argument : 01.nFlag : 삭제(D), 인증저장(Y) 구분
- * 02.nSerchFlag : Y 정정관리 여부 조회
- * Description : [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
- -> 처리시 전공의 스텝사인 기록 수정 가능하도록 처리한 로직
- [요청번호:20181010032] 의무기록 정정 프로그램 개발 요청
- ****************************************************************************************/
- function lf_CosignCheck(){
-
- if( fGetFormMast("formprogflag") != "PROG" ) return;
-
- if (fGetFormRec("formrecdeptcd") == sysf_getUserInfo("dutplcecd")) {
-
- if (fGetFormRec("espiyn") == "Y") {
-
- var oDs = ivw_base.objects["ds_main_extninfo_staffauthinfo"];
- if( oDs == null ) return;
- if( oDs.rowcount == 0 ) return;
-
- var nRow = oDs.rowposition;
- var authyn = oDs.getColumn(nRow, "authyn");
- var cosign = fGetFormRec("cosign");
-
- if (cosign == "Y") {
-
- try{
- var childrenObj = ivw_base.grup_base.components;
- for(i=0; i< childrenObj.length; i++)
- {
- var childObj = childrenObj[i];
- if(childObj.orgEnable == "Y" || (!utlf_isNull(childObj.name) && (childObj.name).indexOf("ivw_") > -1)){
- childObj.enable = true;
- }
- }
- }catch(e){}
-
- initButtonLayer_MMR01100("RecCorrect");
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : nFlag : Y - StaffSign Y/N, D - 삭제
- * Description : [요청번호:20181010032] 의무기록 정정 프로그램 개발 요청
- * - 정정기록관리 화면에서 기록작성 시 Staff Sign 반려 미비 데이터 생성
- ****************************************************************************************/
- function lf_SetUnPrepInfo(nFlag){
- // Step 1 대상환자의 진료정보를 조회한다.
- var sPid = fGetFormRec("pid");
- var sOrddd = fGetFormRec("orddd");
- var sCretno = fGetFormRec("cretno");
- var sIoflag = fGetFormRec("chosioflag");
- if( utlf_isNull(sIoflag) ){
- sIoflag = fGetFormRec("chosflag");
- }
-
- if(sIoflag == "D"){
- sIoflag = "I";
- }
-
- var nSrcFormcd = fGetFormRec("srcformcd");
- if( nFlag == "D" ){
- if( lf_ContainsHardCD(6155, nSrcFormcd) == false || (sIoflag != "I" && sIoflag != "E")){
- if( this.objects["ds_data_unprepinfo"] != null ) ds_data_unprepinfo.clearData();
- return false;
- }
- }
-
- dsf_createDsRow("ds_cond_reqdata", [{col:"pid", type:"STRING", size:256, val:sPid}
- , {col:"ioflag", type:"STRING", size:256, val:sIoflag}
- , {col:"dschflag", type:"STRING", size:256, val:"A"}]);
- dsf_createDs("ds_temp_pathistlist");
-
- var oParam = {};
- oParam.id = "TRMRI02605";
- oParam.service = "unprepmngtapp.ChrtUnprepMngt";
- oParam.method = "reqGetUnPrepPatChosInfo";
- oParam.inds = "req=ds_cond_reqdata";
- oParam.outds = "ds_temp_pathistlist=pathistlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMRI02605";
- tranf_submit(oParam);
-
- var nFindRow = ds_temp_pathistlist.findRowExpr("pid == '"+ sPid +"' && orddd == '"+ sOrddd +"' && cretno == '"+ sCretno +"'");
-
- if( nFindRow > -1 ){
- var sDschdd = ds_temp_pathistlist.getColumn(nFindRow, "dschdd");
- if(sDschdd == "재원중"){
- sDchdd = utlf_getCurrentDate();
- }
-
- dsf_createDsRow("ds_cond_reqdata", [
- {col:"srchflag", type:"STRING", size:256, val:"id"}
- , {col:"unprepdeptcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplcecd")}
- , {col:"unprepdr", type:"STRING", size:256, val:sysf_getUserInfo("userid")}
- , {col:"stnddd", type:"STRING", size:256, val:utlf_getCurrentDate()}
- , {col:"deptengabbr", type:"STRING", size:256, val:""}
- , {col:"grupflag", type:"STRING", size:256, val:""}
- ]);
- dsf_createDs("ds_temp_unprepdrlist");
-
- var oParam = {};
- oParam.id = "TRMRI02604";
- oParam.service = "unprepmngtapp.ChrtUnprepMngt";
- oParam.method = "reqGetUnPrepDrList";
- oParam.inds = "req=ds_cond_reqdata";
- oParam.outds = "ds_temp_unprepdrlist=unprepdrlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMRI02604";
- tranf_submit(oParam);
-
- if( ds_temp_unprepdrlist.rowcount == 0 ){
- sysf_messageBox("[미비기록 생성정보] 진료의 정보가 올바르지 않습니다.", "E");
- if( this.objects["ds_data_unprepinfo"] != null ) ds_data_unprepinfo.clearData();
- return false;
- }
-
-
- var pid = ds_temp_pathistlist.getColumn(nFindRow, "pid");
- var hngnm = ds_temp_pathistlist.getColumn(nFindRow, "hngnm");
- var orddd = ds_temp_pathistlist.getColumn(nFindRow, "orddd");
- var cretno = ds_temp_pathistlist.getColumn(nFindRow, "cretno");
- var dschdd = ds_temp_pathistlist.getColumn(nFindRow, "dschdd");
-
- var dschdeptcd = "-";
- var dschdeptnm = "-";
- var orddeptcd = "-";
- var orddeptnm = "-";
- var formrecdeptcd = "";
-
- var formrecseq = fGetFormRec("formrecseq");
- var formcd = fGetFormRec("formcd");
- var formnm = fGetFormRec("formnm");
- var formrecdd = fGetFormRec("formrecdd");
- var oprsrvno = fGetFormRec("oprsrvno");
-
- if( utlf_isNull(formrecseq) || formrecseq == 0){
- formrecseq = -1;
- }
-
- orddeptcd = ds_temp_unprepdrlist.getColumn(0, "orddeptcd");
- orddeptnm = ds_temp_unprepdrlist.getColumn(0, "orddeptnm");
- dschdeptcd = ds_temp_pathistlist.getColumn(nFindRow, "orddeptcd");
- dschdeptnm = ds_temp_pathistlist.getColumn(nFindRow, "orddeptnm");
- formrecdeptcd = dschdeptcd;
-
-
- var orddrid = ds_temp_unprepdrlist.getColumn(0, "orddrid");
- var orddrnm = ds_temp_unprepdrlist.getColumn(0, "orddrnm");
- var jobposnm= ds_temp_unprepdrlist.getColumn(0, "jobposnm");
-
- var sUnprepitemnm = "기록반려(StaffSign)";
- var nUnprepitemcd = "000002000";
- var nDralertcnts = lgv_MdfRecApptype != null ? lgv_MdfRecApptype.split("|")[1] : "";
- if( nFlag == "D" ){
- sUnprepitemnm = "기록삭제";
- nUnprepitemcd = "000000137";
- nDralertcnts = "기록삭제";
- }
-
- dsf_createDsRow("ds_data_unprepinfo", [
- {col:"status" , type:"STRING", size:256, val:"i"}
- , {col:"indschflag" , type:"STRING", size:256, val:"D"}
- , {col:"pid" , type:"STRING", size:256, val:pid}
- , {col:"cretno" , type:"STRING", size:256, val:cretno}
- , {col:"hngnm" , type:"STRING", size:256, val:hngnm}
- , {col:"formrecseq" , type:"STRING", size:256, val:formrecseq}
- , {col:"dschdeptcd" , type:"STRING", size:256, val:dschdeptcd}
- , {col:"dschdeptnm" , type:"STRING", size:256, val:dschdeptnm}
- , {col:"unprepno" , type:"STRING", size:256, val:"1"}
- , {col:"dschdd" , type:"STRING", size:256, val:dschdd}
- , {col:"indd" , type:"STRING", size:256, val:orddd}
- , {col:"orgunprepstat" , type:"STRING", size:256, val:""}
- , {col:"unprepstat" , type:"STRING", size:256, val:2} // 의사확인
- , {col:"doctkindflag" , type:"STRING", size:256, val:jobposnm}
- , {col:"orgdoctkindflag" , type:"STRING", size:256, val:""}
- , {col:"drstate" , type:"STRING", size:256, val:""}
- , {col:"unprepdrnm" , type:"STRING", size:256, val:orddrnm}
- , {col:"orgunprepdrnm" , type:"STRING", size:256, val:""}
- , {col:"unprepdeptnm" , type:"STRING", size:256, val:""}
- , {col:"orgunprepdeptnm" , type:"STRING", size:256, val:""}
- , {col:"orddeptcd" , type:"STRING", size:256, val:orddeptcd}
- , {col:"orgorddeptcd" , type:"STRING", size:256, val:""}
- , {col:"detldeptcd" , type:"STRING", size:256, val:""}
- , {col:"orgdetldeptcd" , type:"STRING", size:256, val:""}
- , {col:"unprepdrid" , type:"STRING", size:256, val:orddrid}
- , {col:"orgunprepdrid" , type:"STRING", size:256, val:""}
- , {col:"formcd" , type:"STRING", size:256, val:formcd}
- , {col:"formnm" , type:"STRING", size:256, val:formnm}
- , {col:"oprsrvno" , type:"STRING", size:256, val:oprsrvno}
- , {col:"unprepitemnm" , type:"STRING", size:256, val:sUnprepitemnm}
- , {col:"formrecdd" , type:"STRING", size:256, val:formrecdd}
- , {col:"unprepitemcd" , type:"STRING", size:256, val:nUnprepitemcd}
- , {col:"medirecalertcnts" , type:"STRING", size:256, val:""}
- , {col:"drcnfmdt" , type:"STRING", size:256, val:""}
- , {col:"drcnfmrid" , type:"STRING", size:256, val:""}
- , {col:"dralertcnts" , type:"STRING", size:256, val:nDralertcnts}
- , {col:"fstrgstrnm" , type:"STRING", size:256, val:""}
- , {col:"fstrgstdt" , type:"STRING", size:256, val:""}
- , {col:"lastupdtrnm" , type:"STRING", size:256, val:""}
- , {col:"lastupdtdt" , type:"STRING", size:256, val:""}
- , {col:"mprocessyn" , type:"STRING", size:256, val:"Y"}]);
-
-
-
- }else{
- sysf_messageBox("환자의 진료정보가 정상적이지 않습니다.", "E");
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Function : lf_loadPreviewForm
- * Description : 미리보기 서식을 로드한다.
- * Argument : 01. formrecseq : 서식기록순번
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function lf_loadPreviewForm(formcd, formdegnseq)
- {
- trace("***** lf_loadPreviewForm("+formcd+","+formdegnseq+") 미리보기 서식을 로드 *****");
- if(utlf_isNull(formcd) || utlf_isNull(formdegnseq))
- return;
-
-
- ds_data_validinfo.clearData();
- ds_data_formmast.clearData();
- ds_data_formdegn.clearData();
- ds_data_unitformmast.clearData();
- ds_data_vallist.clearData();
- ds_script.clearData();
- ds_script_map.clearData();
-
- dsf_createDsRow("ds_send_req",
- [{col:"formrecseq", type:"string", size:256, val:""}
- ,{col:"formdegnseq", type:"bigdecidal", size:256, val:formdegnseq}
- ,{col:"extnunitformlistyn", type:"string", size:256, val:""}
- ,{col:"cashedformdegnseq", type:"string", size:256, val:gCashedFormDegnSeq}
- ,{col:"sysformrecdt", type:"string", size:256, val:""}
- ,{col:"formfromdt", type:"string", size:256, val:""}
- ,{col:"mode", type:"string", size:256, val: ""}
- ,{col:"drive_table", type:"string", size:256, val: "1"}
- ]);
-
-
- var oParam = {};
- oParam.id = "TRMRF02004_1";
- oParam.service = "formmngtapp.FormDegnMngt";
- oParam.method = "reqGetFormDegnInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_data_formmast=formmast ds_data_formdegn=formdegn ds_data_unitformmast=unitformmast ds_data_vallist=vallist ds_data_imgelist=imgelist ds_data_extnformlist=extnformlist ds_script=script ds_script_map=script_map";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cbf_TRMRF02004_1"; //cbf_TRMMR01110 과 동일하여 같이 처리
-
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Argument :
- * Description : 유효성 권한 검사와 로드할 기록 서식 정보 조회를 위한 트emr랜잭션 호출 후 이벤트 후처리
- ****************************************************************************************/
- function cbf_TRMRF02004_1(strSvcID, nErrorCode, strErrorMsg)
- {
- //에러 처리
- if(nErrorCode == 0)
- {
-
- // 서식 기본정보조회 파라미터 삭제
- var objDs = this.removeChild("ds_cond_forminforeq");
- delete objDs;
- objDs = null;
- //기록 유효성 검사.
- if(!lf_validateForm("new")){
- return;
- }
-
- var formcd = ds_data_formmast.getColumn(0, "formcd");
- lf_loadNewFormAftSubmit(formcd); // 서식로드 함수
- }
- else
- {
- sysf_trace("strErrorMsg : " + strErrorMsg);
- ivw_base.url = "";
- var rtn = sysf_messageBox("미리보기 기록 로딩에 실패하였습니다. 다시 로딩하시겠습니까?", "Q");
- if( rtn == 6 ){
- var tmpParent = this.getOwnerFrame().form;
- tmpParent.setTimer(1000, 2000);
- }
- }
-
- // FPMRZ01000_FOMPREVIEW 버튼 설정
- var objParent = frmf_getoOpener();
- if( objParent != null ){
- if( objParent.lf_SetFormDegn != null && objParent.lf_SetFormDegn instanceof Function){
- var formprogflag = ds_data_formmast.getColumn(0, "formprogflag");
- objParent.lf_SetFormDegn(formprogflag);
- }else{
- trace( "lf_SetButton 함수가 정의되지 않았습니다." );
- }
- }
-
- }
- /**********************************************************************************
- * Method Name : SAVED_INFO
- * Description : 기록정보 변수 초기화
- * argument :
- * return Type :
- * Creator :
- **********************************************************************************/
- function PRE_SAVED_INFO()
- {
- this.formrecseq = 0;
- this.rechistseq = 0;
- this.espiseq = 0;
- }
- function lf_preview(espiyn, isSubmit) {
- if (utlf_isNull(fGetFormMast("formcd"))) return;
-
- var savedInfo = new PRE_SAVED_INFO();
-
- if (isProgForm())
- {
- var rtn = false;
-
- if( espiyn == "N" && ds_init_notchkessn.findRow("hardcd", fGetFormMast("srcformcd")) > -1 ){
- rtn = lf_getProgFormRecData(null, "1");
- }else{
- rtn = lf_getProgFormRecData(); // 공통서식 기록데이터 취합
- }
- if(rtn == false){
- var tmpsavedInfo = new PRE_SAVED_INFO();
- return tmpsavedInfo;
- //return;
- }
-
- ds_data_recitem.copyData(ivw_base.ds_data_recitem);
- }
- else
- {
- var rtn = false;
-
- if( espiyn == "N" && ds_init_notchkessn.findRow("hardcd", fGetFormMast("srcformcd")) > -1 ){
- rtn = lf_getGenFormData(null, "1");
- }else{
- rtn = lf_getGenFormData();
- }
-
- if( rtn == false ){
- var savedInfo = new PRE_SAVED_INFO();
- return savedInfo;
- }
- }
-
- ds_preview_recitem.clear();
- ds_preview_recitem.assign(ds_data_recitem);
-
- if (ds_preview_recitem.rowcount == 0) {
- sysf_messageBox("미리보기 할 내용이 없습니다.", "I");
- return false;
- }
-
- ds_preview_formrec.clear();
- ds_preview_formrec.assign(ds_data_formrec);
-
- // if (! isSubmit) {
- // ds_recitem.assign(ds_preview_recitem);
- // }
-
- isSubmit = utlf_isNull(isSubmit) ? false : isSubmit;
-
- ds_preview_formrec.setColumn(0, "status", "P"); //미리보기용 저장 후 롤백
- ds_preview_formrec.setColumn(0, "espiyn", espiyn);
- ds_preview_formrec.setColumn(0, "pid", "PREVIEWFRM"); //사고방지
- ds_preview_formrec.setColumn(0, "orddd", utlf_getCurrentDate()); //서버에러 회피
- ds_preview_formrec.setColumn(0, "cretno", "0"); //서버에러 회피
- ds_preview_formrec.setColumn(0, "orddeptcd", sysf_getUserInfo("dutplcecd")); //서버에러 회피
- ds_preview_formrec.setColumn(0, "formrecdeptcd", sysf_getUserInfo("dutplcecd")); //서버에러 회피
- ds_preview_formrec.setColumn(0, "chosflag", "O"); //서버에러 회피
-
- // var tmp_val = null;
- // for(var i=0; i<ds_preview_formrec.getColCount(); i++) {
- // tmp_val = ds_preview_formrec.getColumn(0, ds_preview_formrec.getColID(i));
- // if (isNull(tmp_val)) {
- // ds_preview_formrec.setColumn(0, ds_preview_formrec.getColID(i), "0");
- // }
- // }
-
- var rslt_dslist = "ds_main_savedinfo_rsltmsg=rsltmsg ds_preview_xp=preview_xp";
- if (espiyn == "Y") {
-
- var signrecinfo = lf_makeSignData();
-
- ds_preview_formrec.addColumn("bfcertcnts", "string");
- ds_preview_formrec.addColumn("certcnts", "string");
- ds_preview_formrec.setColumn(0, "bfcertcnts", signrecinfo);
- ds_preview_formrec.setColumn(0, "certcnts", "-");
- rslt_dslist = "ds_main_savedinfo_rsltmsg=rsltmsg ds_preview_xp=preview_xp ds_preview_lc=preview_lc ds_preview_uc=preview_uc";
- }else{
- ds_preview_formrec.setColumn(0, "certcnts", "");
- }
-
- var submit = false;
-
- if (isSubmit){
-
- dsf_createDs("ds_main_savedinfo_rsltmsg");
-
-
- dsf_setDefaultVal(ds_preview_formrec, "cosignyn:N");
- dsf_setTypeFormat(ds_preview_formrec, "cretno:INT^oprsrvno:BIGDECIMAL");
-
- dsf_deleteColumn(ds_preview_formrec, "formrecdrid");
-
- if( ds_preview_recitem.rowcount != 0 ){
- dsf_setDefaultVal(ds_preview_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
- dsf_setTypeFormat(ds_preview_recitem, "recitemno:BIGDECIMAL^degnitemno:BIGDECIMAL^degnitemlevlno:BIGDECIMAL^supdegnitemno:BIGDECIMAL^recimge:BLOB^srcimge:BLOB");
- }
-
-
- var oParam = {};
- oParam.id = "TXMMR01301";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeComnFormRec";
- oParam.inds = "formrec=ds_preview_formrec recitem=ds_preview_recitem";
- oParam.outds = rslt_dslist;
- oParam.async = false;
- //oParam.progress = false;
- oParam.callback = "cf_TXMMR01301";
-
- tranf_submit(oParam);
- if( arErrorCode.pop("TXMMR01301") > -1 ){
- submit = true;
- }
-
- var mess = utlf_transNullToEmpty(ds_main_savedinfo_rsltmsg.getColumn(0, "msg"));
-
- if (ds_main_savedinfo_rsltmsg.getColumn(0, "msg") == "1")
- {
- //2010.01.03 안치원 - formrecseq 지수로 표현되는 오류수정
- savedInfo.formrecseq = ds_main_savedinfo_rsltmsg.getColumn(0, "formrecseq");
- savedInfo.rechistseq = ds_main_savedinfo_rsltmsg.getColumn(0, "rechistseq");
- savedInfo.espiseq = ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq");
- }
-
- trace("mess : " + mess);
- trace("formrecseq : " + savedInfo.formrecseq);
- trace("espiseq : " + savedInfo.espiseq);
- /*
- if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
- {
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", savedInfo.formrecseq);
- fSetFormRec("lastrechistseq", savedInfo.rechistseq);
- fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
-
- grup_titl.cap_formnm.text = ds_data_formmast.getColumn(0, "formnminfo") + " - 수정 중";
- }
- */
- if(mess == "1" || !utlf_isNull(savedInfo.formrecseq))
- {
- return savedInfo;
- }
- else
- {
- savedInfo.rechistseq = -100
- return savedInfo;
- }
- }else{
- savedInfo.rechistseq = -100
- return savedInfo;
- }
-
- }
- ]]></Script>
|