SMMNP00300.xjs 582 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 수술기록 사항(SMMNP00300.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Francis Choi
  7. : 2007.05.02
  8. ---------------------------------------------------------------------- */
  9. var hPath = ds_main_operation_list;
  10. var xPathFormat = "ds_init_XmlFormat"; //
  11. var xPathData = ds_main_MnphopcrData_MnphopcrList; //
  12. var xPathDispDT = ds_init_workinst_datetimedata; //
  13. var CountPath = ds_main_MnphopcoLists_mnphopcolist; // Counter Instance
  14. var OpcdPath = "/root/main/MnphopcrData/MnphopcrList/aftopopnm/aftopoplists";
  15. var xPathSheetData3 = "ds_main_SheetData3_";
  16. var xPathHiddenSheetData3 = "ds_temp_SheetData3_";
  17. var certkind = "1";
  18. var sSignNo = "";
  19. //---------(20110512)
  20. // var XmlInstName = "opbfpatcnfmspec" + " " // 01 수술전 환자확인
  21. // + "timeoutspec" + " " // 02 TimeOut
  22. // + "anstkindspec" + " " // 03 마취종류
  23. // + "opposturespec" + " " // 04 수술체위
  24. // + "skindinfspec" + " " // 05 피부소독제
  25. // + "esuspec" + " " // 06 ESU
  26. // + "tourniquetspec" + " " // 07 Tourniquet
  27. // + "warmcoldregmspec" + " " // 08 온냉요법
  28. // + "postureskinupdtspec" + " " // 09 체위에 따른 피부변화
  29. // + "counspec" + " " // 10 Count내역
  30. // + "aftopopnm" + " " // 11 수술 후 수술명
  31. // + "packingspec" + " " // 12 Packing내역
  32. // + "opnursrectimeremark" ; // 13 수술지연사유정보
  33. var XmlInstName = "opbfpatcnfmspec_opbfpatcnfm" + " " // 01 수술전 환자확인
  34. +
  35. "timeoutspec_timeout" + " " // 02 TimeOut
  36. +
  37. "anstkindspec_anstkind" + " " // 03 마취종류
  38. +
  39. "opposturespec_opposture_opposturelist" + " " // 04 수술체위
  40. +
  41. "skindinfspec_skindinf" + " " // 05 피부소독제
  42. +
  43. "esuspec_esu" + " " // 06 ESU
  44. +
  45. "esuspec_esu_esulist" + " " // 06 ESU
  46. +
  47. "tourniquetspec_tourniquet" + " " // 07 Tourniquet
  48. +
  49. "tourniquetspec_tourniquet_tourniquetlist" + " " // 07 Tourniquet
  50. +
  51. "warmcoldregmspec_lists_warmlist" + " " // 08 온냉요법
  52. +
  53. "warmcoldregmspec_lists_warmlist_warmcoldregm" + " " // 08 온냉요법
  54. +
  55. "warmcoldregmspec_lists_cathlist" + " " // 08 온냉요법
  56. +
  57. "warmcoldregmspec_lists_cathlist_inscath" + " " // 08 온냉요법
  58. +
  59. "postureskinupdtspec_lists_skinlist" + " " // 09 체위에 따른 피부변화
  60. +
  61. "counspec_countlist" + " " // 10 Count내역
  62. +
  63. "aftopopnm_aftopoplists_opcdlist" + " " // 11 수술 후 수술명
  64. +
  65. "packingspec_packing" + " " // 12 Packing내역
  66. +
  67. "opnursrectimeremark_delyresnlist" + " " // 13 수술지연사유정보
  68. +
  69. "opdiscordspec_opdiscord"; // 14 불일치 조치사항 정보
  70. //---------(20110512)
  71. var XmlInstNm = XmlInstName.split(" ");
  72. //----------
  73. var OpeuPathD = ds_init_workinst_cOpeu_opeulist; // 참여자 Duplicate Node
  74. var OpeuPathR = ds_init_workinst_Opeudata_opeulist; // 참여자 Instance
  75. var OpeuGrid1 = ds_init_workinst_OpeuLists_opeulist1;
  76. var OpeuGrid2 = ds_init_workinst_OpeuLists_opeulist2;
  77. var OpeuColData = "entridflag " // 참가자 ID구분
  78. +
  79. "entrid " // 참가자ID
  80. +
  81. "entrdt " // 참가시간
  82. +
  83. "entrnm " // 참가자명
  84. +
  85. "deptcd " // 부서코드
  86. +
  87. "deptnm " // 부서명
  88. +
  89. "refseq " // 조회순서
  90. +
  91. "outdt " // 퇴실일시
  92. +
  93. "entrtm"; // 입실시간
  94. var OpeuColumn = OpeuColData.split(" ");
  95. var OpeuName = "D1" + " " // 집도의
  96. +
  97. "D4" + " " // Assist
  98. +
  99. "D3" + " " // 마취의
  100. +
  101. "N1" + " " // 소독간호사
  102. +
  103. "N2" + " " // 순회간호사
  104. +
  105. "N3"; // 마취간호사
  106. var OpeuInit = OpeuName.split(" ");
  107. var sPartFlag = ""; // 사용부위 팝업 사용 항목(drug/ drge)
  108. // ---------------------------------------------------------------------------------
  109. // 수술기록 - 수술간호기록정보
  110. // EMR.MNPHOPCR 수술간호기록정보
  111. // ---------------------------------------------------------------------------------
  112. var sMnphopcrData = ""; // 00 수술간호기록정보
  113. var sOprsrvno = ""; // CHARACTER(10) 01 수술예약(의뢰)번호(년도+일련번호)
  114. var sInstcd = ""; // CHARACTER(3) 02 기관코드
  115. var sPid = ""; // VARCHAR(10) 03 환자번호
  116. var sOptrustflag = ""; // VARCHAR(1) 04 수술의뢰구분-정규(일반)E응급
  117. var sOppatflag = ""; // CHARACTER(1) 05 수술환자구분
  118. var sOpbfpatcnfmspec = ""; // "SYSIBM"."XML" 06 수술전환자확인내역
  119. var sOppartdispyn = ""; // CHARACTER(1) 07 수술부위표시여부
  120. var sTimeoutspec = ""; // "SYSIBM"."XML" 08 TimeOut내역
  121. var sAnstkindspec = ""; // "SYSIBM"."XML" 09 마취종류내역
  122. var sOpposturespec = ""; // "SYSIBM"."XML" 10 수술체위내역
  123. var sSkindinfspec = ""; // "SYSIBM"."XML" 11 피부소독제내역
  124. var sAftopopnm = ""; // "SYSIBM"."XML" 12 수술후수술명
  125. var sOpscale = ""; // CHARACTER(01) 13 수술스케일 L,M,S
  126. var sPatinroomdt = ""; // CHARACTER(14) 13 환자입실시간
  127. var sPatoutroomdt = ""; // CHARACTER(14) 14 환자퇴실시간
  128. var sAnstsrtdt = ""; // CHARACTER(14) 15 마취시작시간
  129. var sAnstenddt = ""; // CHARACTER(14) 16 마취종료시간
  130. var sPerfidarvdt = ""; // CHARACTER(14) 17 집도의도착일시
  131. var sPerfidoutdt = ""; // CHARACTER(14) 18 집도의퇴실일시
  132. var sOpfromdt = ""; // CHARACTER(14) 19 수술시작일자
  133. var sOptodt = ""; // CHARACTER(14) 20 수술종료일자
  134. var sOpoutrmplcecd = ""; // VARCHAR(10) 21 수술후퇴실장소
  135. var sOpoutrmplcenm = ""; // VARCHAR(50) 22 수술후퇴실장소기타
  136. var sEsuspec = ""; // "SYSIBM"."XML" 23 ESU내역
  137. var sTourniquetspec = ""; // "SYSIBM"."XML" 24 Tourniquet내역
  138. var sWarmcoldregmspec = ""; // "SYSIBM"."XML" 25 온냉요법내역
  139. var sPostureskinupdtspec = ""; // "SYSIBM"."XML" 26 체위에따른피부변화내역
  140. var sCounspec = ""; // "SYSIBM"."XML" 29 Count,내역
  141. var sPackingspec = ""; // "SYSIBM"."XML" 30 Packing내역
  142. var sCertno = ""; // VARCHAR(17) 31 인증코드
  143. var sOpcnfmdd = ""; // CHARACTER(8) 32 수술확정일자(의뢰상태일경우예정일자와동일)
  144. var sFstrgstrid = ""; // CHARACTER(10) 33 최초등록자ID(시스템정보)
  145. var sLastupdtid = ""; // CHARACTER(10) 34 최종수정자(시스템정보)
  146. //--
  147. var sOpstatcd = ""; // 35 진행상태
  148. var sOpstatcdnew = ""; // 36 진행상태
  149. var sOphistno = ""; // 37 예약번호에따른이력번호
  150. var sRecstat = ""; // 34 Record 상태정보 I:신규,U:수정
  151. var sDrugUseYN = ""; // 약품사용여부
  152. var sDrgeUseYN = ""; // 배액관사용여부
  153. var sEqmtUseYN = ""; // 장비사용여부
  154. var sImplantUseYN = ""; // Implant사용여부
  155. var sDrugCmt = ""; // 약품비고
  156. var sDrgeCmt = ""; // 배액관비고
  157. var sEqmtCmt = ""; // 장비비고
  158. var sImplantCmt = ""; // implant 비고
  159. var sTnsYN = ""; // 수혈여부
  160. var sSpcUseYN = ""; // 검체사용여부
  161. var sCareRecUseYN = ""; // 간호기록 사용여부
  162. //=============================================================
  163. //2008-06-27 오전 10:33:23 taebum 추가요구사항 반영
  164. var sCuthairflag = "";
  165. var sXrayflag = "";
  166. var sXraydrugspec = "";
  167. var sDrsflag = "";
  168. var sDrsetc = "";
  169. //2008-06-30 오후 5:11:50
  170. var sNocountdoctid = ""; //집도의 요청에 의한 계수확인 안함 집도의ID
  171. //2008-07-01 오전 10:41:02
  172. var sIcuGoFlag = ""; // 회복환자관리용 퇴실장소가 ICU일 경우 사용
  173. var sSignGernalFlag = ""; //2008-07-01 오후 8:50:52 인증 저장시 계속 오류로 전역변수로 선언함.(초기 paminfo 전역변수에서 받음.)
  174. //2008-07-03 오후 2:07:54 적출물여부, 분만여부, 피부상태 추가 요구사항 적용
  175. var sExtcyn = ""; //적출물 여부
  176. var sSkinstatflag = ""; // 피부상태 구분
  177. var sDelivyn = ""; //분만여부
  178. //2010.04.09 K. J. M 퇴실저장여부
  179. var sOutflag = ""; //퇴실저장여부
  180. //----------(20110512)
  181. var opdiscordspec = ""; //불일치시 조시사항정리
  182. //----------(20110512)
  183. //==============================================================
  184. //2008-07-05 오후 2:03:41 분만정보 조회시
  185. var sIndd = "";
  186. var sCretno = "";
  187. //=============================================================
  188. //2008-07-07 오후 2:52:32
  189. var sPlatatransid = ""; //태반운반자ID
  190. var sOtyn = ""; //장기이식여부 2008-07-08 오후 9:46:50
  191. var sObRecyn = ""; //관찰기록여부 2012-06-03 오후 4:55:18
  192. var sPatopinsndsmsid = ""; //환자입실sms전송ID 2008-07-22 오후 10:23:58
  193. var sPatopoutsndsmsid = ""; //환자퇴실SMS전송ID 2008-07-22 오후 10:24:00
  194. //=============================================================
  195. //2009-09-02 ycd 수술간호기록지 기록항목 추가
  196. var sEscopeeqmtuseyn = ""; //내시경장비사용여부
  197. var sInsuremark = ""; //보험팀전달사항
  198. var sPrcporderid = ""; //처방의사ID
  199. var sDeptremark = ""; //부서Remark
  200. var sOproomremark = ""; //수술실Remark
  201. var sOpcntlistremark = ""; //수술count리스트 Remark
  202. var sOpNursRecTimeRemark = ""; //수술지연사유정보
  203. var sOpDrgeSpec = ""; //삽관기록
  204. //2009-09-10 ycd 검체비고입력 기록항목 추가
  205. var sSpcCmt = "";
  206. //2010.02.18 K. J. M 인증저장 로직에서 퇴실저장 로직을 타는지 구분 Flag
  207. var sCertOutFlag = "N";
  208. var sOpscaleOrg = "";
  209. var sOpscaleChgFlag = false;
  210. var sOpcntlisttoexecyn = ""; //수술count리스트 Time Out 시행여부
  211. /* ------------------------------------------------- */
  212. /* SMMNP00300_수술기록 */
  213. /* On Load 시 Call */
  214. /* ------------------------------------------------- */
  215. /* group : EMR 간호 수술마취 */
  216. /* ver : 2007.05.03 */
  217. /* by : 최학록 */
  218. /* --------------------------------------------------*/
  219. /* type : function */
  220. /* access : public */
  221. /* desc : xforms-ready시 수행한다 */
  222. /* return : */
  223. /* --------------------------------------------------*/
  224. function fFormInit() {
  225. //20181213 이돈희 : 본원과 칠곡의 타이틀 변경
  226. if(sysf_getUserInfo("dutplceinstcd") == "031"){
  227. group3.switch1.case3.caption8.text = "Implant / Prosthesis"
  228. }
  229. else{
  230. group3.switch1.case3.caption8.text = "Implant / Prosthesis / 고가물품"
  231. }
  232. // 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  233. //grp_partlist.visible = false;
  234. group3.switch1.case1.group5.visible = false;
  235. ds_main_SheetData3_skinserveyinfo_skinserveylist.clearData();
  236. var paminfo = sysf_getGlobalVariable("paminfo");
  237. var node = sysf_getGlobalVariable("operation");
  238. dsf_setCSVToDs("ds_main_operation_list", node);
  239. dsf_setCSVToDs("ds_main_paminfo_list", paminfo);
  240. //grd_count.isReadOnly(1, grd_count.colRef("nacls"), 1, grd_count.colRef("totqty"))=true;
  241. var sPid = hPath.getColumn(0, "pid");
  242. // ---Test 시 막고하는 부분 ----------------------
  243. if (utlf_isNull(sPid)) {
  244. var mainObj = frmf_getMainViewer();
  245. sysf_messageBox("수술 환자를 선택하십시요!", "I000");
  246. close();
  247. // mainObj.javascript.navigate("SMMNP00100"); // 수술마취메인
  248. return;
  249. }
  250. // ---Test 시 막고하는 부분 마지막 ---------------
  251. node = sysf_getGlobalVariable("paminfo");
  252. dsf_setCSVToDs("ds_temp_paminfo_list", node);
  253. //외래/입원/DSC을 구분하기 위하여 추가함.
  254. sSignGernalFlag = ds_temp_paminfo_list.getColumn(0, "ioflag"); //인증저장시 받아온후 전역변수로 세팅한다.
  255. sPid = ds_temp_paminfo_list.getColumn(0, "pid");
  256. sCretno = ds_temp_paminfo_list.getColumn(0, "cretno");
  257. if (sSignGernalFlag == "O") {
  258. sIndd = ds_temp_paminfo_list.getColumn(0, "orddd");
  259. } else {
  260. sIndd = ds_temp_paminfo_list.getColumn(0, "indd");
  261. }
  262. // 감염정보가져오기 혈액, 접촉, 공기 순으로 | 구분자 N | N | N 혹은 Y | Y | Y
  263. var InsfectData = utlf_transNullToEmpty(appf_getPatientInfo("infection"));
  264. // if (InsfectData =="") InsfectData ="Y|Y|Y";
  265. var iData = InsfectData.split("|");
  266. var InsfectName = "";
  267. if (iData.length > 0) {
  268. InsfectName += (iData[0] == "Y") ? "혈액 " : "";
  269. InsfectName += (iData[1] == "Y") ? "접촉 " : "";
  270. InsfectName += (iData[2] == "Y") ? "공기" : "";
  271. ds_init_workinst_OpOtherData.setColumn(0, "infection", InsfectName);
  272. }
  273. //
  274. if (!utlf_isNull(sPid)) {
  275. ds_init_HideData.setColumn(0, "instcd", hPath.getColumn(0, "instcd")); // 기관코드
  276. ds_init_HideData.setColumn(0, "pid", hPath.getColumn(0, "pid")); // 환자번호
  277. ds_init_HideData.setColumn(0, "oprsrvno", hPath.getColumn(0, "oprsrvno")); // 의뢰번호
  278. ds_init_HideData.setColumn(0, "ophistno", hPath.getColumn(0, "ophistno")); // 이력번호
  279. for (var iRow = 0; iRow < eval(xPathFormat + "_SpecimenLists_specimenlist").rowcount; iRow++) {
  280. eval(xPathFormat + "_SpecimenLists_specimenlist").setColumn(iRow, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  281. }
  282. }
  283. ds_send.setColumn(0, "flag", "");
  284. var arrParam = [{
  285. dsNm: "ds_init_M0260list_M0260",
  286. cdGrpId: "M0260"
  287. }, {
  288. dsNm: "ds_init_M0065list_M0065",
  289. cdGrpId: "M0065"
  290. }, {
  291. dsNm: "ds_init_M0016list_M0016",
  292. cdGrpId: "M0016"
  293. }, {
  294. dsNm: "ds_init_M0526list_M0526",
  295. cdGrpId: "M0526"
  296. }, {
  297. dsNm: "ds_init_M0527list_M0527",
  298. cdGrpId: "M0527"
  299. }, {
  300. dsNm: "ds_init_M0528list_M0528",
  301. cdGrpId: "M0528"
  302. }, {
  303. dsNm: "ds_init_M0529list_M0529",
  304. cdGrpId: "M0529"
  305. }, {
  306. dsNm: "ds_init_M0029list_M0029",
  307. cdGrpId: "M0029"
  308. }, {
  309. dsNm: "ds_init_M0559list_M0559",
  310. cdGrpId: "M0559"
  311. }, {
  312. dsNm: "ds_init_M0560list_M0560",
  313. cdGrpId: "M0560"
  314. }] // 급여구분에 대한 종류
  315. appf_getCodeList(arrParam);
  316. ds_init_M0016list_M0016.insertRow(0);
  317. ds_init_M0526list_M0526.insertRow(0);
  318. ds_init_M0529list_M0529.insertRow(0);
  319. ds_init_M0527list_M0527.insertRow(0);
  320. ds_init_M0528list_M0528.insertRow(0);
  321. ds_init_M0029list_M0029.insertRow(0);
  322. ds_send.setColumn(0, "flag", "");
  323. fGetNursHardCdInfo("'111','144', '182', '329','164', '137','154', '155'", utlf_getCurrentDate());
  324. ds_codelist.filter("cdgrupid=='111'");
  325. ds_codelist111.copyData(ds_codelist, true);
  326. ds_codelist.filter("");
  327. ds_codelist.filter("cdgrupid=='164'");
  328. ds_codelist164.copyData(ds_codelist, true);
  329. ds_codelist.filter("");
  330. ds_codelist.filter("cdgrupid=='137'");
  331. ds_codelist137.copyData(ds_codelist, true);
  332. ds_codelist.filter("");
  333. group3.group2.visible = true;
  334. // 검체_new 항목 사용 시작하는 기준시간 (공통코드 : 329 항목 )_손성훈.
  335. ds_specdd.setColumn(0, "chkdd", ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "329"), "cdnm"));
  336. //
  337. /*
  338. 2008-05-19 오후 4:05:41 TimeOut 사용자 요구사항 관련 추가사항 김태범.
  339. 기존에 inputBox 와 Button을 이용하여 PopUp을 사용하던 Flow에서 ComboList를 이용하도록 수정요청
  340. 2009-02-10 ycd 기초데이성 부터 조회하도록 처리
  341. */
  342. fSheet1TimeOutAddInfo();
  343. OpRoomCode_Read(); //수술방조회
  344. OpRecBasic_Read(); //퇴실장소, 피부소독제 조회 , 불일치시 조치사항 리스트 조회
  345. var sRtn = MnphopcrList_Read();
  346. if (sRtn == false) {
  347. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  348. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  349. group3.btn_rgst_tmp.enable = false;
  350. group3.btn_rgst_sct.enable = false;
  351. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  352. return;
  353. }
  354. //fPackingMergeFalse();
  355. fMnphopco_Read();
  356. xPathData.setColumn(0, "eqmtuseyn", "X");
  357. fSheetData3_Read("all");
  358. fSrchCareRecList();
  359. //fSpecimenCheck(); // 검체 해당없음 check //2008-07-14 오후 8:02:43 taebum 235Line에서 초기에 정보를 가져오므로 주석처리함. fSheetData3_Read
  360. //*************************************************************************************************
  361. //사용자 ID Display용 Setting
  362. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  363. /*
  364. model.setValue("root/init/HideData/timeOutDisplayInfo/perfdr", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr"));
  365. model.setValue("root/init/HideData/timeOutDisplayInfo/nurse1", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1"));
  366. model.setValue("root/init/HideData/timeOutDisplayInfo/anstdr", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdr"));
  367. model.setValue("root/init/HideData/timeOutDisplayInfo/nurse2", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2"));
  368. out_perfdr.refresh();
  369. out_nurse1.refresh();
  370. out_anstdr.refresh();
  371. out_nurse2.refresh();
  372. */
  373. //*************************************************************************************************
  374. //2008-08-20 오전 7:25:01 taebum 상태가 확정이면서 부수술일 경우에는 기록작성 할 수 있도록 수정
  375. //2009-02-11 ycd 재수술 여부에 따른 버튼 활성화 부분 추가
  376. if (xPathData.getColumn(0, "reopflag") == "N") {
  377. // ---Test 시 막고하는 부분 ----------------------
  378. if (xPathData.getColumn(0, "opstatcd") < "30" &&
  379. (xPathData.getColumn(0, "oprsrvno") == xPathData.getColumn(0, "mainoprsrvno") || xPathData.getColumn(0, "mainoprsrvno") == "-")) {
  380. sysf_messageBox("임시저장만 가능합니다.", "I000"); //2008-09-02 오후 7:34:20 taebum
  381. //messageBox("입실 전에는 기록을 작성", "E001"); //2008-09-02 오후 8:12:06 주석처리 taebum
  382. //messageBox("수술준비확인표를 작성하기 전에는 기록을 작성", "E001");
  383. //messageBox("수술진행 상태가 *대기*전에는 기록을 작성", "E001");
  384. //2008-09-02 오후 7:34:20 taebum add
  385. //==================================
  386. group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  387. group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  388. group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  389. group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  390. group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  391. group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  392. group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  393. group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  394. //btn_patinroomhh.disabled = true;
  395. //btn_patoutroomhh.disabled = true;
  396. //==================================
  397. group3.btn_rgst_sct.enable = false;
  398. //btn_rgst_tmp.disabled = true; //2008-09-02 오후 8:19:32 taebum 주석처리
  399. //btn_forcergst_sct.disabled = true; //2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  400. //2009-02-17 삭제처리
  401. //전광판 관련 입퇴실 버튼을 활성화 시킨다.
  402. //bbt_outroom.disabled = false;
  403. //bbt_inroom.disabled = false;
  404. } else if (utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")).substr(1, 1) == "9") {
  405. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  406. group3.btn_rgst_tmp.enable = false;
  407. group3.btn_rgst_sct.enable = false;
  408. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  409. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  410. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  411. } else if (xPathData.getColumn(0, "ophistcd") != "O") {
  412. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  413. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  414. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  415. group3.btn_rgst_tmp.enable = false;
  416. group3.btn_rgst_sct.enable = false;
  417. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  418. }
  419. //2008-10-12 오후 5:01:15 수술실에서 준비확인 인증저장 안할 경우 메세지 처리
  420. if (xPathData.getColumn(0, "opstatcd") >= "30" && utlf_isNull(xPathData.getColumn(0, "operchfrecdttm"))) { //수술실에서 준비확인 인증저장을 안할 경우
  421. sysf_messageBox("수술실에서 준비확인을 하지 않았습니다. 임시저장만 가능합니다.", "I000");
  422. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  423. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  424. group3.btn_rgst_tmp.enable = true;
  425. group3.btn_rgst_sct.enable = false;
  426. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  427. }
  428. //2008-09-03 taebum 오전 10:32:44 협진관련 화면 버튼 처리 추가
  429. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  430. /*
  431. if(model.getValue(xPathData+"/opstatcd") < "30"){
  432. //임시저장 기능만.
  433. btn_rgst_sct.disabled = true;
  434. }
  435. */
  436. //2008-09-02 오후 7:34:20 taebum add
  437. //==================================
  438. //입/퇴실 관련 비활성화 처리
  439. //주/부수술에 상관없이 입실/퇴실일시 활성화처리 요청(2017.05.22 이윤주쌤)
  440. // group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  441. // group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  442. // group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  443. // group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  444. //
  445. // group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  446. // group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  447. // group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  448. // group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  449. //bbt_outroom.disabled = true;
  450. //bbt_inroom.disabled = true;
  451. //수술시작/종료 활성화처리
  452. //inp_opfromdd.disabled = false;
  453. //inp_opfromhh.disabled = false;
  454. //bbt_opfromhh.disabled = false;
  455. //bbt_opfromhh.visible = true;
  456. //inp_optodd.disabled = false;
  457. //inp_optohh.disabled = false;
  458. //bbt_optohh.disabled = false;
  459. //bbt_optohh.visible = true;
  460. //퇴실장소 관련 비활성화 처리
  461. //주/부수술에 상관없이 퇴실장소 활성화처리 요청(2017.05.24 이윤주쌤)
  462. // group3.switch1.case1.grp_time.img2.enable = false;
  463. // group3.switch1.case1.grp_time.cmb_outplc.enable = false;
  464. // group3.switch1.case1.grp_time.ipt_opoutrmplcenm.enable = false;
  465. }
  466. //grd_count.isReadOnly(1, 3, 1, 7); //instrument
  467. if (!utlf_isNull(xPathData.getColumn(0, "certno"))) { // 인증저장후 자료 처리
  468. group3.btn_rgst_tmp.enable = false;
  469. }
  470. group3.bbt_reload.enable = true;
  471. var recendflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "recendflag");
  472. //수술간호기록 마감됐는데도 기록지에서 마감체크가 안됐던 부분 오류 수정 by 박영우 2010-02-11
  473. if (recendflag == "1" || recendflag == "3") { //수술실이 마감에 포함되어 있으면
  474. sysf_messageBox("수술기록이 마감된 상태입니다. 기록을 할 수 없습니다.", "I000");
  475. //group3.switch1.enable = false;
  476. //2009-02-09 ycd 수술간호기록 마감처리시 입실저장, 퇴실저장 버튼 비활성화되도록 변경
  477. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  478. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  479. group3.btn_rgst_tmp.enable = false;
  480. group3.btn_rgst_sct.enable = false;
  481. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  482. /*
  483. caption37.visible = false;
  484. caption39.visible = false;
  485. caption44.visible = false;
  486. caption45.visible = false;
  487. */
  488. } else {
  489. //2008-08-25 오후 12:40:29 마취의뢰만 할 경우, Angio방일 경우 입/퇴실 저장하는 로직 추가 ====================
  490. //group 로직으로 처리하려고 하였으나, 비정상적인 오류로 inputbox에 입력을 못하는 현상 발생으로 캡션으로 처리
  491. //Angio방은 0041 ~ 0049 임. 현재 0045 BMT방은 잘못된 방으로 삭제 예정
  492. var sAnstreqflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstreqflag");
  493. var sRoomcd = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "oproom"));
  494. //alert("마취의뢰 구분 : "+sAnstreqflag);
  495. //alert("수술방 코드 : "+sRoomcd.substr(0,3));
  496. if (sAnstreqflag == "Y" && sRoomcd.substr(0, 3) == "004") {
  497. //2009-02-11 ycd 삭제 처리
  498. //caption37.visible = true;
  499. //caption39.visible = true;
  500. //caption44.visible = true;
  501. //caption45.visible = true;
  502. //2009-02-11 ycd Angio 환자일 경우 입퇴실 저장만 가능하도록 처리
  503. group3.switch1.case1.grp_time.bbt_inroom.enable = true;
  504. group3.switch1.case1.grp_time.bbt_outroom.enable = true;
  505. group3.switch1.case2.enable = false;
  506. group3.switch1.case3.enable = false;
  507. group3.btn_rgst_tmp.enable = false;
  508. group3.btn_rgst_sct.enable = false;
  509. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  510. } else {
  511. //group3.switch1.enable = true; //2008-08-25 오후 12:52:14 기존 로직 else문 삽입
  512. //caption37.visible = false;
  513. //caption39.visible = false;
  514. //caption44.visible = false;
  515. //caption45.visible = false;
  516. }
  517. //2008-08-25 오후 12:40:29 ===========================================================================
  518. }
  519. //20171215 이돈희 추가 : 공통코드 셋팅(원가, 일반)
  520. appf_getCodeList([{dsNm: "ds_init_M0769list", cdGrpId: "M0769"}], false);
  521. }
  522. //---------------------------------------------------------------------------------------------------------
  523. //2009-02-11 ycd 재수술일 경우 처리
  524. //재수술일 경우 상태값에 상관없이 처리함
  525. //---------------------------------------------------------------------------------------------------------
  526. else {
  527. if (utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")).substr(1, 1) == "9") {
  528. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  529. group3.btn_rgst_tmp.enable = false;
  530. group3.btn_rgst_sct.enable = false;
  531. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  532. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  533. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  534. } else if (xPathData.getColumn(0, "ophistcd") != "O") {
  535. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  536. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  537. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  538. group3.btn_rgst_tmp.enable = false;
  539. group3.btn_rgst_sct.enable = false;
  540. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  541. }
  542. //2008-09-03 taebum 오전 10:32:44 협진관련 화면 버튼 처리 추가
  543. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  544. //2008-09-02 오후 7:34:20 taebum add
  545. //==================================
  546. //입/퇴실 관련 비활성화 처리
  547. //주/부수술에 상관없이 입실/퇴실일시 활성화처리 요청(2017.05.22 이윤주쌤)
  548. // group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  549. // group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  550. // group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  551. // group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  552. //
  553. // group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  554. // group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  555. // group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  556. // group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  557. //btn_patinroomhh.disabled = true;
  558. //btn_patoutroomhh.disabled = true;
  559. //bbt_outroom.disabled = true;
  560. //bbt_inroom.disabled = true;
  561. //수술시작/종료 활성화처리
  562. //inp_opfromdd.disabled = false;
  563. //inp_opfromhh.disabled = false;
  564. //bbt_opfromhh.disabled = false;
  565. //bbt_opfromhh.visible = true;
  566. //inp_optodd.disabled = false;
  567. //inp_optohh.disabled = false;
  568. //bbt_optohh.disabled = false;
  569. //bbt_optohh.visible = true;
  570. //퇴실장소 관련 비활성화 처리
  571. //주/부수술에 상관없이 퇴실장소 활성화처리 요청(2017.05.24 이윤주쌤)
  572. // group3.switch1.case1.grp_time.img2.enable = false;
  573. // group3.switch1.case1.grp_time.cmb_outplc.enable = false;
  574. // group3.switch1.case1.grp_time.ipt_opoutrmplcenm.enable = false;
  575. }
  576. //grd_count.isReadOnly(1, 3, 1, 7); //instrument
  577. if (!utlf_isNull(xPathData.getColumn(0, "certno"))) { // 인증저장후 자료 처리
  578. group3.btn_rgst_tmp.enable = false;
  579. }
  580. group3.bbt_reload.enable = true;
  581. var recendflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "recendflag");
  582. //수술간호기록 마감됐는데도 기록지에서 마감체크가 안됐던 부분 오류 수정 by 박영우 2010-02-11
  583. if (recendflag == "1" || recendflag == "3") { //수술실이 마감에 포함되어 있으면
  584. sysf_messageBox("수술기록이 마감된 상태입니다. 기록을 할 수 없습니다.", "I000");
  585. //group3.switch1.enable = false;
  586. //2009-02-09 ycd 수술간호기록 마감처리시 입실저장, 퇴실저장 버튼 비활성화되도록 변경
  587. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  588. group3.btn_rgst_tmp.enable = false;
  589. group3.btn_rgst_sct.enable = false;
  590. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  591. /*
  592. caption37.visible = false;
  593. caption39.visible = false;
  594. caption44.visible = false;
  595. caption45.visible = false;
  596. */
  597. } else {
  598. //2008-08-25 오후 12:40:29 마취의뢰만 할 경우, Angio방일 경우 입/퇴실 저장하는 로직 추가 ====================
  599. //group 로직으로 처리하려고 하였으나, 비정상적인 오류로 inputbox에 입력을 못하는 현상 발생으로 캡션으로 처리
  600. //Angio방은 0041 ~ 0049 임. 현재 0045 BMT방은 잘못된 방으로 삭제 예정
  601. var sAnstreqflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstreqflag");
  602. var sRoomcd = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "oproom"));
  603. //alert("마취의뢰 구분 : "+sAnstreqflag);
  604. //alert("수술방 코드 : "+sRoomcd.substr(0,3));
  605. if (sAnstreqflag == "Y" && sRoomcd.substr(0, 3) == "004") {
  606. //2009-02-11 ycd 삭제 처리
  607. //caption37.visible = true;
  608. //caption39.visible = true;
  609. //caption44.visible = true;
  610. //caption45.visible = true;
  611. //2009-02-11 ycd Angio 환자일 경우 입퇴실 저장만 가능하도록 처리
  612. group3.switch1.case1.grp_time.bbt_inroom.enable = true;
  613. group3.switch1.case1.grp_time.bbt_outroom.enable = true;
  614. group3.switch1.case2.enable = false;
  615. group3.switch1.case3.enable = false;
  616. group3.btn_rgst_tmp.enable = false;
  617. group3.btn_rgst_sct.enable = false;
  618. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  619. } else {
  620. //group3.switch1.enable = true; //2008-08-25 오후 12:52:14 기존 로직 else문 삽입
  621. //caption37.visible = false;
  622. //caption39.visible = false;
  623. //caption44.visible = false;
  624. //caption45.visible = false;
  625. }
  626. //2008-08-25 오후 12:40:29 ===========================================================================
  627. }
  628. }
  629. //fInstchk(); // 본원 칠곡 구분_손성훈
  630. //2008-07-22 오후 9:25:16 바코드 read를 위한 Focus 세팅
  631. group3.switch1.case1.grp_time.inp_patinroomhh.setFocus();
  632. //2008-08-28 오전 9:46:06 taebum 상단정보와의 정보 불일치를 막기 위해 추가
  633. sysf_setModelAttribute("susulrec_oprsrvno", ds_main_operation_list.getColumn(0, "oprsrvno"));
  634. sysf_setModelAttribute("susulrec_pid", ds_temp_paminfo_list.getColumn(0, "pid"));
  635. sysf_setModelAttribute("susulrec_hngnm", ds_temp_paminfo_list.getColumn(0, "hngnm"));
  636. group3.group2.visible = false;
  637. group3.switch1.case1.input4.setFocus();
  638. }
  639. /* ------------------------------------------------- */
  640. /* SMMNP00300_수술기록 */
  641. /* --------------------------------------------------*/
  642. function fReload(pFlag) {
  643. //model.refresh();
  644. var sParamFalg = "B";
  645. if (utlf_isNull(pFlag)) {
  646. sParamFalg = "B";
  647. } else {
  648. sParamFalg = pFlag;
  649. }
  650. //기록 가져오기 버튼 클릭시에만 메시지창이 보이도록 수정
  651. if (sParamFalg == "B") {
  652. group3.group2.visible = true;
  653. }
  654. //display 정보 초기화
  655. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  656. /*
  657. model.setValue("/root/init/HideData/timeOutDisplayInfo/perfdr","");
  658. model.setValue("/root/init/HideData/timeOutDisplayInfo/nurse1","");
  659. model.setValue("/root/init/HideData/timeOutDisplayInfo/anstdr","");
  660. model.setValue("/root/init/HideData/timeOutDisplayInfo/nurse2","");
  661. */
  662. var anstkindcheck03 = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03");
  663. var anstcprchk = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstcprchk");
  664. var anstkindcheck99 = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck99");
  665. if ( anstkindcheck03 == "N" ) anstkindcheck03 ="";
  666. if ( anstcprchk == "N" ) anstcprchk ="";
  667. if ( anstkindcheck99 == "N" ) anstkindcheck99 ="";
  668. if (sParamFalg != "B" || utlf_isNull(anstkindcheck03) && utlf_isNull(anstcprchk) && utlf_isNull(anstkindcheck99)) { //국소, CPCR, 마취없음이 아니고 기록가져오기 일때만 셋팅
  669. ds_init_workinst_OpeuLists_opeulist1.enableevent = false;
  670. ds_init_workinst_OpeuLists_opeulist1.updatecontrol = false;
  671. for (var i = 0; i < 5; i++) {
  672. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrid1tmp", "");
  673. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrid1", "");
  674. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrnm1", "");
  675. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrid2", "");
  676. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrnm2", "");
  677. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrid3tmp", "");
  678. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrid3", "");
  679. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrnm3", "");
  680. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptcd1", "");
  681. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptcd2", "");
  682. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptcd3", "");
  683. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptnm1", "");
  684. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptnm2", "");
  685. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "deptnm3", "");
  686. // 2009-02-09 ycd 수술간호기록 화면 수정으로 인하여 추가
  687. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrtm1", "");
  688. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrtm2", "");
  689. ds_init_workinst_OpeuLists_opeulist1.setColumn(i, "entrtm3", "");
  690. }
  691. ds_init_workinst_OpeuLists_opeulist2.enableevent = false;
  692. ds_init_workinst_OpeuLists_opeulist2.updatecontrol = false;
  693. for (var i = 0; i < 5; i++) {
  694. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid1tmp", "");
  695. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid1", "");
  696. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrnm1", "");
  697. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid2tmp", "");
  698. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid2", "");
  699. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrnm2", "");
  700. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid3tmp", "");
  701. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrid3", "");
  702. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrnm3", "");
  703. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptcd1", "");
  704. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptcd2", "");
  705. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptcd3", "");
  706. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptnm1", "");
  707. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptnm2", "");
  708. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "deptnm3", "");
  709. // 2009-02-09 ycd 수술간호기록 화면 수정으로 인하여 추가
  710. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrtm1", "");
  711. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrtm2", "");
  712. ds_init_workinst_OpeuLists_opeulist2.setColumn(i, "entrtm3", "");
  713. }
  714. var sRtn = MnphopcrList_Read(sParamFalg);
  715. ds_init_workinst_OpeuLists_opeulist1.updatecontrol = true;
  716. ds_init_workinst_OpeuLists_opeulist1.enableevent = true;
  717. ds_init_workinst_OpeuLists_opeulist2.updatecontrol = true;
  718. ds_init_workinst_OpeuLists_opeulist2.enableevent = true;
  719. if (sRtn == false) {
  720. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  721. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  722. group3.btn_rgst_tmp.enable = false;
  723. group3.btn_rgst_sct.enable = false;
  724. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  725. return;
  726. }
  727. }
  728. //fPackingMergeFalse();
  729. //이윤주 수정(20170628) 연동후 정리
  730. // for ( var i = ds_init_workinst_OpeuLists_opeulist1.rowcount - 1; i >= 0; i--) {
  731. // var ls_entrid3tmp = ds_init_workinst_OpeuLists_opeulist1.getColumn(i,"entrid3tmp");
  732. // var ls_entrid1tmp = ds_init_workinst_OpeuLists_opeulist1.getColumn(i,"entrid1tmp");
  733. // if (utlf_isNull(ls_entrid3tmp) && utlf_isNull(ls_entrid1tmp)) {
  734. // ds_init_workinst_OpeuLists_opeulist1.deleteRow(i);
  735. // }
  736. // }
  737. // for ( var i = ds_init_workinst_OpeuLists_opeulist2.rowcount - 1; i >= 0; i--) {
  738. // var ls_entrid1tmp = ds_init_workinst_OpeuLists_opeulist2.getColumn(i,"entrid1tmp");
  739. // var ls_entrid2tmp = ds_init_workinst_OpeuLists_opeulist2.getColumn(i,"entrid2tmp");
  740. // var ls_entrid3tmp = ds_init_workinst_OpeuLists_opeulist2.getColumn(i,"entrid3tmp");
  741. //
  742. // if (utlf_isNull(ls_entrid1tmp) && utlf_isNull(ls_entrid2tmp) && utlf_isNull(ls_entrid3tmp)) {
  743. // ds_init_workinst_OpeuLists_opeulist2.deleteRow(i);
  744. // }
  745. // }
  746. fMnphopco_Read();
  747. xPathData.setColumn(0, "eqmtuseyn", "X");
  748. fSheetData3_Read("all");
  749. fSrchCareRecList();
  750. fSettingOPdate("all"); //수술관련 시간 참여자 정보에 자동 세팅 처리(집도의입실, 수술시작)
  751. //fSpecimenCheck(); // 검체 해당없음 check
  752. //TimeOut의료진 정보 display
  753. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  754. /*
  755. model.setValue("root/init/HideData/timeOutDisplayInfo/perfdr", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr"));
  756. model.setValue("root/init/HideData/timeOutDisplayInfo/nurse1", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1"));
  757. model.setValue("root/init/HideData/timeOutDisplayInfo/anstdr", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdr"));
  758. model.setValue("root/init/HideData/timeOutDisplayInfo/nurse2", model.getValue("root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2"));
  759. */
  760. //2009-02-11 ycd 재수술 여부에 따른 버튼 활성화 부분 추가
  761. if (xPathData.getColumn(0, "reopflag") == "N") {
  762. // ---Test 시 막고하는 부분 ----------------------
  763. if (xPathData.getColumn(0, "opstatcd") < "30" &&
  764. (xPathData.getColumn(0, "oprsrvno") == xPathData.getColumn(0, "mainoprsrvno") || xPathData.getColumn(0, "mainoprsrvno") == "-")) {
  765. //기록 가져오기 버튼 클릭시에만 메시지창이 보이도록 수정
  766. if (sParamFalg == "B") {
  767. sysf_messageBox("임시저장만 가능합니다.", "I000"); //2008-09-02 오후 7:34:20 taebum
  768. }
  769. //messageBox("입실 전에는 기록을 작성", "E001"); //2008-09-02 오후 8:12:06 주석처리 taebum
  770. //messageBox("수술준비확인표를 작성하기 전에는 기록을 작성", "E001");
  771. //messageBox("수술진행 상태가 *대기*전에는 기록을 작성", "E001");
  772. //2008-09-02 오후 7:34:20 taebum add
  773. group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  774. group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  775. group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  776. group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  777. group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  778. group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  779. group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  780. group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  781. //btn_patinroomhh.disabled = true;
  782. //btn_patoutroomhh.disabled = true;
  783. group3.btn_rgst_sct.enable = false;
  784. //btn_rgst_tmp.disabled = true; //2008-09-02 오후 8:19:32 taebum 주석처리
  785. //btn_forcergst_sct.disabled = true; //2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  786. //2009-02-17 삭제처리
  787. //전광판 관련 입퇴실 버튼을 활성화 시킨다.
  788. //bbt_outroom.disabled = false;
  789. //bbt_inroom.disabled = false;
  790. } else if (utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")).substr(1, 1) == "9") {
  791. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  792. group3.btn_rgst_tmp.enable = false;
  793. group3.btn_rgst_sct.enable = false;
  794. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  795. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  796. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  797. } else if (xPathData.getColumn(0, "ophistcd") != "O") {
  798. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  799. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  800. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  801. group3.btn_rgst_tmp.enable = false;
  802. group3.btn_rgst_sct.enable = false;
  803. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  804. }
  805. //2008-10-12 오후 5:01:15 수술실에서 준비확인 인증저장 안할 경우 메세지 처리
  806. if (xPathData.getColumn(0, "opstatcd") >= "30" && utlf_isNull(xPathData.getColumn(0, "operchfrecdttm"))) { //수술실에서 준비확인 인증저장을 안할 경우
  807. //기록 가져오기 버튼 클릭시에만 메시지창이 보이도록 수정
  808. if (sParamFalg == "B") {
  809. sysf_messageBox("수술실에서 준비확인을 하지 않았습니다. 임시저장만 가능합니다.", "I000");
  810. }
  811. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  812. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  813. group3.btn_rgst_tmp.enable = true;
  814. group3.btn_rgst_sct.enable = false;
  815. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  816. }
  817. //2008-09-03 taebum 오전 10:32:44 협진관련 화면 버튼 처리 추가
  818. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  819. /*
  820. if(model.getValue(xPathData+"/opstatcd") < "30"){
  821. //임시저장 기능만.
  822. btn_rgst_sct.disabled = true;
  823. }
  824. */
  825. //2008-09-02 오후 7:34:20 taebum add
  826. //==================================
  827. //입/퇴실 관련 비활성화 처리
  828. //주/부수술에 상관없이 입실/퇴실일시 활성화처리 요청(2017.05.22 이윤주쌤)
  829. // group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  830. // group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  831. // group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  832. // group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  833. //
  834. // group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  835. // group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  836. // group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  837. // group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  838. //bbt_outroom.disabled = true;
  839. //bbt_inroom.disabled = true;
  840. //수술시작/종료 활성화처리
  841. //inp_opfromdd.disabled = false;
  842. //inp_opfromhh.disabled = false;
  843. //bbt_opfromhh.disabled = false;
  844. //bbt_opfromhh.visible = true;
  845. //inp_optodd.disabled = false;
  846. //inp_optohh.disabled = false;
  847. //bbt_optohh.disabled = false;
  848. //bbt_optohh.visible = true;
  849. //퇴실장소 관련 비활성화 처리
  850. //주/부수술에 상관없이 퇴실장소 활성화처리 요청(2017.05.24 이윤주쌤)
  851. // group3.switch1.case1.grp_time.img2.enable = false;
  852. // group3.switch1.case1.grp_time.cmb_outplc.enable = false;
  853. // group3.switch1.case1.grp_time.ipt_opoutrmplcenm.enable = false;
  854. }
  855. //grd_count.isReadOnly(1, 3, 1, 7); //instrument
  856. if (!utlf_isNull(xPathData.getColumn(0, "certno"))) { // 인증저장후 자료 처리
  857. group3.btn_rgst_tmp.enable = false;
  858. }
  859. group3.bbt_reload.enable = true;
  860. var recendflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "recendflag");
  861. //수술간호기록 마감됐는데도 기록지에서 마감체크가 안됐던 부분 오류 수정 by 박영우 2010-02-11
  862. if (recendflag == "1" || recendflag == "3") { //수술실이 마감에 포함되어 있으면
  863. sysf_messageBox("수술기록이 마감된 상태입니다. 기록을 할 수 없습니다.", "I000");
  864. //switch1.disabled = true;
  865. //2009-02-09 ycd 수술간호기록 마감처리시 입실저장, 퇴실저장 버튼 비활성화되도록 변경
  866. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  867. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  868. group3.btn_rgst_tmp.enable = false;
  869. group3.btn_rgst_sct.enable = false;
  870. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  871. /*
  872. caption37.visible = false;
  873. caption39.visible = false;
  874. caption44.visible = false;
  875. caption45.visible = false;
  876. */
  877. } else {
  878. //2008-08-25 오후 12:40:29 마취의뢰만 할 경우, Angio방일 경우 입/퇴실 저장하는 로직 추가 ====================
  879. //group 로직으로 처리하려고 하였으나, 비정상적인 오류로 inputbox에 입력을 못하는 현상 발생으로 캡션으로 처리
  880. //Angio방은 0041 ~ 0049 임. 현재 0045 BMT방은 잘못된 방으로 삭제 예정
  881. var sAnstreqflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstreqflag");
  882. var sRoomcd = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "oproom"));
  883. //alert("마취의뢰 구분 : "+sAnstreqflag);
  884. //alert("수술방 코드 : "+sRoomcd.substr(0,3));
  885. if (sAnstreqflag == "Y" && sRoomcd.substr(0, 3) == "004") {
  886. //2009-02-11 ycd 삭제 처리
  887. //caption37.visible = true;
  888. //caption39.visible = true;
  889. //caption44.visible = true;
  890. //caption45.visible = true;
  891. //2009-02-11 ycd Angio 환자일 경우 입퇴실 저장만 가능하도록 처리
  892. group3.switch1.case1.grp_time.bbt_inroom.enable = true;
  893. group3.switch1.case1.grp_time.bbt_outroom.enable = true;
  894. group3.switch1.case2.enable = false;
  895. group3.switch1.case3.enable = false;
  896. group3.btn_rgst_tmp.enable = false;
  897. group3.btn_rgst_sct.enable = false;
  898. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  899. } else {
  900. //switch1.disabled = false; //2008-08-25 오후 12:52:14 기존 로직 else문 삽입
  901. //caption37.visible = false;
  902. //caption39.visible = false;
  903. //caption44.visible = false;
  904. //caption45.visible = false;
  905. }
  906. }
  907. }
  908. //---------------------------------------------------------------------------------------------------------
  909. //2009-02-11 ycd 재수술일 경우 처리
  910. //재수술일 경우 상태값에 상관없이 처리함
  911. //---------------------------------------------------------------------------------------------------------
  912. else {
  913. if (utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")).substr(1, 1) == "9") {
  914. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  915. group3.btn_rgst_tmp.enable = false;
  916. group3.btn_rgst_sct.enable = false;
  917. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  918. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  919. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  920. } else if (xPathData.getColumn(0, "ophistcd") != "O") {
  921. sysf_messageBox("취소된 수술스케줄 입니다.", "I000");
  922. group3.switch1.case1.grp_time.bbt_outroom.enable = false;
  923. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  924. group3.btn_rgst_tmp.enable = false;
  925. group3.btn_rgst_sct.enable = false;
  926. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  927. }
  928. //2008-09-03 taebum 오전 10:32:44 협진관련 화면 버튼 처리 추가
  929. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  930. //2008-09-02 오후 7:34:20 taebum add
  931. //==================================
  932. //입/퇴실 관련 비활성화 처리
  933. //주/부수술에 상관없이 입실/퇴실일시 활성화처리 요청(2017.05.22 이윤주쌤)
  934. // group3.switch1.case1.grp_time.inp_patinroomdd.enable = false;
  935. // group3.switch1.case1.grp_time.inp_patinroomhh.enable = false;
  936. // group3.switch1.case1.grp_time.btn_patinroomhh.visible = false;
  937. // group3.switch1.case1.grp_time.bbt_inroom.visible = false;
  938. //
  939. // group3.switch1.case1.grp_time.inp_patoutroomdd.enable = false;
  940. // group3.switch1.case1.grp_time.inp_patoutroomhh.enable = false;
  941. // group3.switch1.case1.grp_time.btn_patoutroomhh.visible = false;
  942. // group3.switch1.case1.grp_time.bbt_outroom.visible = false;
  943. //btn_patinroomhh.disabled = true;
  944. //btn_patoutroomhh.disabled = true;
  945. //bbt_outroom.disabled = true;
  946. //bbt_inroom.disabled = true;
  947. //수술시작/종료 활성화처리
  948. //inp_opfromdd.disabled = false;
  949. //inp_opfromhh.disabled = false;
  950. //bbt_opfromhh.disabled = false;
  951. //bbt_opfromhh.visible = true;
  952. //inp_optodd.disabled = false;
  953. //inp_optohh.disabled = false;
  954. //bbt_optohh.disabled = false;
  955. //bbt_optohh.visible = true;
  956. //퇴실장소 관련 비활성화 처리
  957. //주/부수술에 상관없이 퇴실장소 활성화처리 요청(2017.05.24 이윤주쌤)
  958. // group3.switch1.case1.grp_time.img2.enable = false;
  959. // group3.switch1.case1.grp_time.cmb_outplc.enable = false;
  960. // group3.switch1.case1.grp_time.ipt_opoutrmplcenm.enable = false;
  961. }
  962. //grd_count.isReadOnly(1, 3, 1, 7); //instrument
  963. if (!utlf_isNull(xPathData.getColumn(0, "certno"))) { // 인증저장후 자료 처리
  964. group3.btn_rgst_tmp.enable = false;
  965. }
  966. group3.bbt_reload.enable = true;
  967. var recendflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "recendflag");
  968. //수술간호기록 마감됐는데도 기록지에서 마감체크가 안됐던 부분 오류 수정 by 박영우 2010-02-11
  969. if (recendflag == "1" || recendflag == "3") { //수술실이 마감에 포함되어 있으면
  970. sysf_messageBox("수술기록이 마감된 상태입니다. 기록을 할 수 없습니다.", "I000");
  971. //switch1.disabled = true;
  972. //2009-02-09 ycd 수술간호기록 마감처리시 입실저장, 퇴실저장 버튼 비활성화되도록 변경
  973. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  974. group3.switch1.case1.grp_time.bbt_inroom.enable = false;
  975. group3.btn_rgst_tmp.enable = false;
  976. group3.btn_rgst_sct.enable = false;
  977. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  978. /*
  979. caption37.visible = false;
  980. caption39.visible = false;
  981. caption44.visible = false;
  982. caption45.visible = false;
  983. */
  984. } else {
  985. //2008-08-25 오후 12:40:29 마취의뢰만 할 경우, Angio방일 경우 입/퇴실 저장하는 로직 추가 ====================
  986. //group 로직으로 처리하려고 하였으나, 비정상적인 오류로 inputbox에 입력을 못하는 현상 발생으로 캡션으로 처리
  987. //Angio방은 0041 ~ 0049 임. 현재 0045 BMT방은 잘못된 방으로 삭제 예정
  988. var sAnstreqflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstreqflag");
  989. var sRoomcd = ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "oproom");
  990. //alert("마취의뢰 구분 : "+sAnstreqflag);
  991. //alert("수술방 코드 : "+sRoomcd.substr(0,3));
  992. if (sAnstreqflag == "Y" && utlf_transNullToEmpty(sRoomcd).substr(0, 3) == "004") {
  993. //2009-02-11 ycd 삭제 처리
  994. //caption37.visible = true;
  995. //caption39.visible = true;
  996. //caption44.visible = true;
  997. //caption45.visible = true;
  998. //2009-02-11 ycd Angio 환자일 경우 입퇴실 저장만 가능하도록 처리
  999. group3.switch1.case1.grp_time.bbt_inroom.enable = true;
  1000. group3.switch1.case1.grp_time.bbt_outroom.enable = true;
  1001. group3.switch1.case2.enable = false;
  1002. group3.switch1.case3.enable = false;
  1003. group3.btn_rgst_tmp.enable = false;
  1004. group3.btn_rgst_sct.enable = false;
  1005. //btn_forcergst_sct.disabled = true; 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  1006. } else {
  1007. //switch1.disabled = false; //2008-08-25 오후 12:52:14 기존 로직 else문 삽입
  1008. //caption37.visible = false;
  1009. //caption39.visible = false;
  1010. //caption44.visible = false;
  1011. //caption45.visible = false;
  1012. }
  1013. }
  1014. }
  1015. group3.group2.visible = false;
  1016. }
  1017. /* ------------------------------------------------- */
  1018. /* SMMNP00300_수술기록 */
  1019. /* On Load 시 Call */
  1020. /* ------------------------------------------------- */
  1021. /* group : EMR 간호 수술마취 */
  1022. /* ver : 2007.05.15 */
  1023. /* by : 최학록 */
  1024. /* --------------------------------------------------*/
  1025. /* type : function */
  1026. /* access : public */
  1027. /* desc : 수술방정보 가져오기 */
  1028. /* param : 기관코드 */
  1029. /* return : */
  1030. /* --------------------------------------------------*/
  1031. function OpRoomCode_Read() {
  1032. ds_send.setColumn(0, "flag", "userid");
  1033. ds_send.setColumn(0, "searchitem", "00009006");
  1034. var oParam = {};
  1035. oParam.id = "TRMNP00301";
  1036. oParam.service = "opanstapp.OpAnstRec";
  1037. oParam.method = "reqGetOpRoomInfo";
  1038. oParam.inds = "req=ds_send";
  1039. oParam.outds = "ds_init_HideData_OpRoomData_OpRoomInfo=OpRoomInfo";
  1040. oParam.async = false;
  1041. //oParam.callback = "cf_TRMNP00301";
  1042. tranf_submit(oParam); // 수술실의 코드와 명칭을 가져온다.
  1043. }
  1044. /* ------------------------------------------------- */
  1045. /* SMMNP00300_수술기록 */
  1046. /* On Load 시 Call */
  1047. /* ------------------------------------------------- */
  1048. /* group : EMR 간호 수술마취 */
  1049. /* ver : 2009.03.31 */
  1050. /* by : 양천덕 */
  1051. /* --------------------------------------------------*/
  1052. /* type : function */
  1053. /* access : public */
  1054. /* desc : 수술후퇴실장소, 피부소독제 정보 조회 */
  1055. /* param : 기관코드 */
  1056. /* return : */
  1057. /* --------------------------------------------------*/
  1058. function OpRecBasic_Read() {
  1059. ds_send.setColumn(0, "cdgrupid", "041");
  1060. //------(20110512) 불일치시 조치 사항 정보 추가(06)
  1061. //model.makeValue("/root/send/lrgclscd" , "04, 05" );
  1062. ds_send.setColumn(0, "lrgclscd", "04, 05, 06");
  1063. //------(20110512) 불일치시 조치 사항 정보 추가
  1064. var oParam = {};
  1065. oParam.id = "TRMNP00324";
  1066. oParam.service = "opanstapp.OpAnstRec";
  1067. oParam.method = "reqGetRecBasicCode";
  1068. oParam.inds = "req=ds_send";
  1069. oParam.outds = "ds_init_HideData_OpBasicCdList_skindinflist=skindinflist ds_init_HideData_OpBasicCdList_outplclist=outplclist ds_init_HideData_OpBasicCdList_cntlistresn=cntlistresn ds_init_HideData_OpBasicCdList_opdiscordlist=opdiscordlist";
  1070. oParam.async = false;
  1071. //oParam.callback = "cf_TRMNP00324";
  1072. tranf_submit(oParam); // 퇴실장소구분, 피부소독제 정보 조회, 불일치시 조치 사항 정보 추가
  1073. var sProp = "col=4,row=3,cellspacing=15,vcellspacing=2,itemWidth=-1,itemHeight=17,overflow='visible'";
  1074. group3.switch1.case1.chk_Skindinfkind.setInitComp(sProp, ds_init_HideData_OpBasicCdList_skindinflist, "cdid", "cdnm", "fn_mChkSkindinfkind");
  1075. var sProp = "col=1,row=8,cellspacing=5,vcellspacing=2,itemWidth=-1,itemHeight=16,overflow='visible'";
  1076. group3.switch1.case2.chkopdicord.setInitComp(sProp, ds_init_HideData_OpBasicCdList_opdiscordlist, "cdid", "cdnm", "fn_mChkOpdicord");
  1077. /*
  1078. var CountListCapValue = "";
  1079. if(getNodesetCount("/root/init/HideData/OpBasicCdList/cntlistresn") > 0 ){
  1080. for(var i = 1 ; i <= getNodesetCount("/root/init/HideData/OpBasicCdList/cntlistresn") ; i++){
  1081. if(model.getValue("/root/init/HideData/OpBasicCdList/cntlistresn["+i+"]/cdid") != "-" ){
  1082. CountListCapValue += model.getValue("/root/init/HideData/OpBasicCdList/cntlistresn["+i+"]/cdnm") +". "
  1083. + model.getValue("/root/init/HideData/OpBasicCdList/cntlistresn["+i+"]/cddesc") +" ";
  1084. }
  1085. }
  1086. }
  1087. caption11.value = CountListCapValue;
  1088. caption11.refresh();
  1089. */
  1090. }
  1091. /**
  1092. * @group :
  1093. * @ver : 2016.04.05
  1094. * @by : 윤주호
  1095. * @---------------------------------------------------
  1096. * @type : function
  1097. * @access : public
  1098. * @desc : MultiCheckBox 값 셋팅
  1099. * @param :
  1100. * @param :
  1101. * @return :
  1102. * @---------------------------------------------------
  1103. */
  1104. function fn_mChkSkindinfkind() {
  1105. var rtn = "";
  1106. var tmp = "";
  1107. rtn = utlf_transNullToEmpty(group3.switch1.case1.chk_Skindinfkind.getData());
  1108. for (var i = 0; i < rtn.length; i++) {
  1109. if (i == 0) tmp = rtn[i];
  1110. else tmp = tmp + " " + rtn[i];
  1111. }
  1112. ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.enableevent = false;
  1113. ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.setColumn(0, "Skindinfkind", tmp);
  1114. ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.enableevent = true;
  1115. }
  1116. function fn_mChkOpdicord() {
  1117. var rtn = "";
  1118. var tmp = "";
  1119. rtn = utlf_transNullToEmpty(group3.switch1.case2.chkopdicord.getData());
  1120. for (var i = 0; i < rtn.length; i++) {
  1121. if (i == 0) tmp = rtn[i];
  1122. else tmp = tmp + " " + rtn[i];
  1123. }
  1124. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.enableevent = false;
  1125. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.setColumn(0, "opdiscordcd", tmp);
  1126. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.enableevent = true;
  1127. if (tmp.indexOf("99") < 0) {
  1128. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.setColumn(0, "opdiscordetc", "");
  1129. group3.switch1.case2.ipt_opdiscordetc.enable = false;
  1130. } else {
  1131. group3.switch1.case2.ipt_opdiscordetc.enable = true;
  1132. }
  1133. }
  1134. function fn_mChkCheckbox1() {
  1135. var rtn = "";
  1136. var tmp = "";
  1137. rtn = utlf_transNullToEmpty(group3.switch1.case3.checkbox1.getData());
  1138. for (var i = 0; i < rtn.length; i++) {
  1139. if (i == 0) tmp = rtn[i];
  1140. else tmp = tmp + " " + rtn[i];
  1141. }
  1142. ds_main_MnphopcrData_MnphopcrList.enableevent = false;
  1143. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "xrayflag", tmp);
  1144. ds_main_MnphopcrData_MnphopcrList.enableevent = true;
  1145. //해당없음을 누를 경우 data clear
  1146. var sDataArr = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "xrayflag")).split(" ");
  1147. if (sDataArr.length > 0) {
  1148. for (var i = 0; i < sDataArr.length; i++) {
  1149. if (sDataArr[i] == "0") {
  1150. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "xrayflag", "0");
  1151. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "xraydrugspec", "");
  1152. }
  1153. }
  1154. }
  1155. }
  1156. /* ------------------------------------------------- */
  1157. /* SMMNP00300_수술기록 */
  1158. /* On Load 시 Call */
  1159. /* ------------------------------------------------- */
  1160. /* group : EMR 간호 수술마취 */
  1161. /* ver : 2009.03.31 */
  1162. /* by : 양천덕 */
  1163. /* --------------------------------------------------*/
  1164. /* type : function */
  1165. /* access : public */
  1166. /* desc : 수술물품확인 Count관리 내역 정보를 */
  1167. /* 조회 요청을 처리한다 */
  1168. /* param : 기관코드 */
  1169. /* return : */
  1170. /* --------------------------------------------------*/
  1171. function fMnphopco_Read() {
  1172. ds_send.setColumn(0, "instcd", ds_init_HideData.getColumn(0, "instcd"));
  1173. ds_send.setColumn(0, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  1174. var oParam = {};
  1175. oParam.id = "TRMNP00303";
  1176. oParam.service = "opanstapp.OpAnstRec";
  1177. oParam.method = "reqGetMnphopcoList";
  1178. oParam.inds = "req=ds_send";
  1179. oParam.outds = "ds_main_MnphopcoLists_mnphopcolist=mnphopcolist";
  1180. oParam.async = false;
  1181. //oParam.callback = "cf_TRMNP00303";
  1182. tranf_submit(oParam); // 수술물품확인 Count관리 내역 조회
  1183. dsf_setDefaultVal(ds_main_MnphopcoLists_mnphopcolist, "all");
  1184. var sParamObj = new Object();
  1185. sParamObj.pathYN = 'N';
  1186. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  1187. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  1188. for (var i = 0; i < ds_main_MnphopcoLists_mnphopcolist.rowcount; i++) {
  1189. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "nacls") == "true") {
  1190. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "1");
  1191. } else {
  1192. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "0");
  1193. }
  1194. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samey") == "true") {
  1195. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "1");
  1196. } else {
  1197. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "0");
  1198. }
  1199. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samen") == "true") {
  1200. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "1");
  1201. } else {
  1202. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "0");
  1203. }
  1204. if (!utlf_isNull(this.objects["ds_data_packlist"])) {
  1205. ds_data_packlist.clearData();
  1206. }
  1207. if (!utlf_isNull(ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "packspec"))) {
  1208. lf_convertXmlToDs("<packspec>" + ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "packspec") + "</packspec>", sParamObj); //ds_data_packlist
  1209. if (!utlf_isNull(this.objects["ds_data_packlist"]) && ds_data_packlist.rowcount > 0) {
  1210. if (utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + i + "_packspec_packlist"])) {
  1211. dsf_createDs("ds_main_MnphopcoLists_mnphopcolist" + i + "_packspec_packlist", [{
  1212. col: "packnm"
  1213. },
  1214. {
  1215. col: "lt"
  1216. },
  1217. {
  1218. col: "center"
  1219. },
  1220. {
  1221. col: "rt"
  1222. },
  1223. {
  1224. col: "packcnt"
  1225. },
  1226. {
  1227. col: "packchk"
  1228. }
  1229. ]);
  1230. }
  1231. eval("ds_main_MnphopcoLists_mnphopcolist" + i + "_packspec_packlist").copyData(ds_data_packlist);
  1232. }
  1233. }
  1234. }
  1235. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  1236. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  1237. //=================================================================
  1238. //2008-06-17 오후 5:37:10 taebum add
  1239. if (ds_main_MnphopcoLists_mnphopcolist.rowcount < 1) {
  1240. // 2009-09-10 멀티 Count Sheet 추가 구현 부분 추가(INSTRUMENT 추가로 Sheet 구분 처리)
  1241. fAddCountSheet();
  1242. //grd_count.refresh();
  1243. //grd_count.isReadOnly(2, grd_count.colRef("nacls"), 2, grd_count.colRef("packqty")) = true;
  1244. //grd_count.cellStyle("background-color", 2, grd_count.colRef("nacls"), 2, grd_count.colRef("packqty")) = "#DCDACS";
  1245. return;
  1246. }
  1247. //=================================================================
  1248. //Sheet별 스타일 적용을 위하여 별도 함수로 설정
  1249. fSetCountSheetStyle();
  1250. //grd_count.fixedcellcheckbox(0, grd_count.colRef("nacls")) = true;
  1251. //grd_count.fixedcellcheckbox(1, grd_count.colRef("nacls")) = true;
  1252. //grd_count.fixedcellcheckbox(1, grd_count.colRef("samey")) = true;
  1253. //grd_count.fixedcellcheckbox(1, grd_count.colRef("samen")) = true;
  1254. //
  1255. // End Of for (var i=1; i<= sRowCnt; i++)
  1256. // INSTRUMENT 인경우는 Clear한다.
  1257. //model.setValue(CountPath + "[" + 1 +"]/initqty" , ""); // 04
  1258. //model.setValue(CountPath + "[" + 1 +"]/addqty" , ""); // 05
  1259. //model.setValue(CountPath + "[" + 1 +"]/totqty" , ""); // 06
  1260. //model.setValue(CountPath + "[" + 1 +"]/packqty" , ""); // 07
  1261. //grd_count.isReadOnly(2, grd_count.colRef("nacls"), 2, grd_count.colRef("packqty")) = true;
  1262. //grd_count.cellStyle("background-color", 2, grd_count.colRef("nacls"), 2, grd_count.colRef("packqty")) = "#DCDACS";
  1263. }
  1264. /* ------------------------------------------------- */
  1265. /* SMMNP00300_수술기록 */
  1266. /* On Load 시 또는 Count Sheet 추가시 Call */
  1267. /* ------------------------------------------------- */
  1268. /* group : EMR 간호 수술마취 */
  1269. /* ver : 2009.09.10 */
  1270. /* by : 양천덕 */
  1271. /* --------------------------------------------------*/
  1272. /* type : function */
  1273. /* access : public */
  1274. /* desc : Count Sheet INSTRUMENT 추가 로직 */
  1275. /* 하드코딩 제거 해야함 */
  1276. /* param : */
  1277. /* return : */
  1278. /* --------------------------------------------------*/
  1279. function fAddCountSheet() {
  1280. var ChkRecNo = "";
  1281. var CountSheetRowCnt = CountPath.rowcount;
  1282. var InsRow = eval(CountSheetRowCnt);
  1283. //2009-09-11 ycd Sheet Seq 확인
  1284. for (var i = 0; i < CountSheetRowCnt; i++) {
  1285. ChkRecNo = CountPath.getColumn(i, "recno");
  1286. }
  1287. if (!utlf_isNull(ChkRecNo)) {
  1288. ChkRecNo = eval(ChkRecNo) + 1;
  1289. } else {
  1290. ChkRecNo = 1;
  1291. }
  1292. //2009-09-11 ycd Sheet 구분 로우 생성을 하기 위해 Temp 노드에 copy작업 추가
  1293. ds_temp_MnphopcoLists_mnphopcolist.clearData();
  1294. // 2008-06-30 오전 10:59:20 taebum 신규일 경우 instrument만 자동 생성한다.
  1295. ds_main_MnphopcoLists_mnphopcolist.addRow();
  1296. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "codenm1", "INSTRUMENT");
  1297. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "codenm2", "INSTRUMENT");
  1298. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "codenm3", "INSTRUMENT");
  1299. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nacls", "0");
  1300. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "naclsinucd", "-");
  1301. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "initqty", "");
  1302. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "addqty", "");
  1303. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "totqty", "");
  1304. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "packqty", "");
  1305. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm11", "");
  1306. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm12", "");
  1307. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm21", "");
  1308. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm22", "");
  1309. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm31", "");
  1310. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm32", "");
  1311. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm41", "");
  1312. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursnm42", "");
  1313. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "samey", "true");
  1314. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "samen", "false");
  1315. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid11", "");
  1316. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid12", "");
  1317. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid21", "");
  1318. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid22", "");
  1319. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid31", "");
  1320. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid32", "");
  1321. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid41", "");
  1322. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "nursid42", "");
  1323. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd11", "");
  1324. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd12", "");
  1325. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd21", "");
  1326. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd22", "");
  1327. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd31", "");
  1328. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd32", "");
  1329. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd41", "");
  1330. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptcd42", "");
  1331. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm11", "");
  1332. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm12", "");
  1333. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm21", "");
  1334. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm22", "");
  1335. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm31", "");
  1336. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm32", "");
  1337. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm41", "");
  1338. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "deptnm42", "");
  1339. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid11", "");
  1340. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid12", "");
  1341. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid21", "");
  1342. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid22", "");
  1343. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid31", "");
  1344. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid32", "");
  1345. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid41", "");
  1346. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "checkid42", "");
  1347. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "packspec", "");
  1348. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "kindcd", "00");
  1349. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "refseq", "1");
  1350. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "recflag", "I");
  1351. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "recno", ChkRecNo);
  1352. //---(20101024) 경북대
  1353. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "discordaction", "");
  1354. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "discordactionetc", "");
  1355. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsRow, "discordactionnm", "");
  1356. //---(20101024) 경북대
  1357. fSetCountSheetStyle();
  1358. // grd_count.refresh();
  1359. // grd_count.isReadOnly(InsRow, grd_count.colRef("nacls"), InsRow, grd_count.colRef("packqty")) = true;
  1360. // grd_count.cellStyle("background-color", InsRow, grd_count.colRef("nacls"), InsRow, grd_count.colRef("packqty")) = "#DCDACS";
  1361. }
  1362. /* ------------------------------------------------- */
  1363. /* SMMNP00300_수술기록 */
  1364. /* Count Sheet 삭제 및 복구 시 Call */
  1365. /* ------------------------------------------------- */
  1366. /* group : EMR 간호 수술마취 */
  1367. /* ver : 2009.09.16 */
  1368. /* by : 양천덕 */
  1369. /* --------------------------------------------------*/
  1370. /* type : function */
  1371. /* access : public */
  1372. /* desc : Sheet 삭제 및 복구 */
  1373. /* param : */
  1374. /* return : */
  1375. /* --------------------------------------------------*/
  1376. function fDeleteCountSheet(pRow) {
  1377. //if(grd_count.valueMatrix(pRow, grd_count.colRef("recflag")) != "-" ) {
  1378. // messageBox("삭제 및 삭제 취소할 Sheet Title을 선택하십시요", "I");
  1379. // return;
  1380. //}
  1381. var FindDelRecno = ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recno");
  1382. var recflag = ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag");
  1383. var CountSheetRowCnt = CountPath.rowcount;
  1384. if (FindDelRecno == "1" && recflag == "-") {
  1385. sysf_messageBox("Sheet No.1은 삭제할 수 없습니다.", "E000");
  1386. return;
  1387. }
  1388. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  1389. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  1390. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "-") {
  1391. for (var i = 0; i < CountSheetRowCnt; i++) {
  1392. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recno") == FindDelRecno) {
  1393. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "I") {
  1394. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "recflag", "X");
  1395. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "U") {
  1396. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "recflag", "D");
  1397. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "X") {
  1398. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "recflag", "I");
  1399. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "D") {
  1400. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "recflag", "U");
  1401. }
  1402. }
  1403. }
  1404. } else {
  1405. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "I") {
  1406. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "recflag", "X");
  1407. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "U") {
  1408. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "recflag", "D");
  1409. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "X") {
  1410. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "recflag", "I");
  1411. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "D") {
  1412. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "recflag", "D");
  1413. }
  1414. }
  1415. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  1416. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  1417. fSetStyle();
  1418. }
  1419. /* ------------------------------------------------- */
  1420. /* SMMNP00300_수술기록 */
  1421. /* On Load 시 또는 Count Sheet 추가시 Call */
  1422. /* ------------------------------------------------- */
  1423. /* group : EMR 간호 수술마취 */
  1424. /* ver : 2009.09.10 */
  1425. /* by : 양천덕 */
  1426. /* --------------------------------------------------*/
  1427. /* type : function */
  1428. /* access : public */
  1429. /* desc : Sheet 구분 Row추가 */
  1430. /* param : */
  1431. /* return : */
  1432. /* --------------------------------------------------*/
  1433. function fSetCountSheetStyle() {
  1434. //스타일 적용전 MAIN -> TEMP NODE로 COPY 처리
  1435. for (var i = (ds_main_MnphopcoLists_mnphopcolist.rowcount - 1); i >= 0; i--) {
  1436. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "-") {
  1437. ds_main_MnphopcoLists_mnphopcolist.deleteRow(i);
  1438. }
  1439. }
  1440. ds_temp_MnphopcoLists_mnphopcolist.copyData(ds_main_MnphopcoLists_mnphopcolist);
  1441. ds_main_MnphopcoLists_mnphopcolist.clearData();
  1442. var CountSheetRowCnt = ds_temp_MnphopcoLists_mnphopcolist.rowcount;
  1443. var BfChkRecNo = 0;
  1444. var AfChkRecNo = 0;
  1445. var SheetNum = 1;
  1446. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  1447. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  1448. //2009-09-11 ycd Sheet 구분 행 추가 및 이전 기록 Node Copy
  1449. for (var i = 0; i < CountSheetRowCnt; i++) {
  1450. AfChkRecNo = ds_temp_MnphopcoLists_mnphopcolist.getColumn(i, "recno");
  1451. InsSheetRow = eval(ds_main_MnphopcoLists_mnphopcolist.rowcount);
  1452. if (BfChkRecNo != AfChkRecNo) {
  1453. ds_main_MnphopcoLists_mnphopcolist.addRow();
  1454. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "codenm1", "Sheet No." + SheetNum);
  1455. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "codenm2", "");
  1456. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "codenm3", "");
  1457. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nacls", "");
  1458. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "naclsinucd", "");
  1459. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "initqty", "");
  1460. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "addqty", "");
  1461. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "totqty", "");
  1462. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "packqty", "");
  1463. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm11", "");
  1464. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm12", "");
  1465. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm21", "");
  1466. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm22", "");
  1467. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm31", "");
  1468. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm32", "");
  1469. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm41", "");
  1470. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursnm42", "");
  1471. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "samey", "");
  1472. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "samen", "");
  1473. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid11", "");
  1474. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid12", "");
  1475. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid21", "");
  1476. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid22", "");
  1477. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid31", "");
  1478. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid32", "");
  1479. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid41", "");
  1480. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "nursid42", "");
  1481. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd11", "");
  1482. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd12", "");
  1483. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd21", "");
  1484. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd22", "");
  1485. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd31", "");
  1486. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd32", "");
  1487. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd41", "");
  1488. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptcd42", "");
  1489. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm11", "");
  1490. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm12", "");
  1491. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm21", "");
  1492. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm22", "");
  1493. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm31", "");
  1494. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm32", "");
  1495. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm41", "");
  1496. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "deptnm42", "");
  1497. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid11", "");
  1498. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid12", "");
  1499. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid21", "");
  1500. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid22", "");
  1501. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid31", "");
  1502. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid32", "");
  1503. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid41", "");
  1504. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "checkid42", "");
  1505. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "packspec", "");
  1506. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "kindcd", "00");
  1507. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "refseq", "1");
  1508. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "recflag", "-");
  1509. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "recno", AfChkRecNo);
  1510. //-----(20101024) 경북대
  1511. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "discordaction", "");
  1512. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "discordactionetc", "");
  1513. ds_main_MnphopcoLists_mnphopcolist.setColumn(InsSheetRow, "discordactionnm", "");
  1514. //-----(20101024) 경북대
  1515. InsSheetRow = eval(InsSheetRow) + 1;
  1516. ds_main_MnphopcoLists_mnphopcolist.addRow();
  1517. ds_main_MnphopcoLists_mnphopcolist.copyRow(InsSheetRow, ds_temp_MnphopcoLists_mnphopcolist, i);
  1518. SheetNum++;
  1519. BfChkRecNo = AfChkRecNo;
  1520. } else {
  1521. ds_main_MnphopcoLists_mnphopcolist.addRow();
  1522. ds_main_MnphopcoLists_mnphopcolist.copyRow(InsSheetRow, ds_temp_MnphopcoLists_mnphopcolist, i);
  1523. }
  1524. }
  1525. //sRowCnt = grd_count.rows - grd_count.fixedRows;
  1526. //2009-02-26 이전 기록에 대해서도 처리를 할 수 있도록 예외 처리 부분 추가
  1527. /*
  1528. if (grd_count.valueMatrix(i, grd_count.colRef("nacls")) == 'true') {
  1529. if(i == 1){
  1530. fReadOnlyFlag(grd_count, i+1, i+1, grd_count.colRef("nacls"), grd_count.colRef("nursnm42"), true);
  1531. grd_count.cellStyle("background-color", i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = "#DCDACS";
  1532. }else{
  1533. fReadOnlyFlag(grd_count, i+1, i+1, grd_count.colRef("initqty"), grd_count.colRef("samen"), true);
  1534. }
  1535. }else{
  1536. if(i == 1){
  1537. if(model.getValue(CountPath + "["+ (i) +"]/samen") == 'true'){
  1538. if(model.getValue(xPathData+"/oprsrvno") != model.getValue(xPathData+"/mainoprsrvno") && model.getValue(xPathData+"/mainoprsrvno") != "-" ){
  1539. model.setValue(CountPath + "["+ (i) +"]/nacls", 'true');
  1540. model.setValue(CountPath + "["+ (i) +"]/naclsinucd", "9");
  1541. fReadOnlyFlag(grd_count, i+1, i+1, grd_count.colRef("nacls"), grd_count.colRef("nursnm42"), true);
  1542. grd_count.cellStyle("background-color", i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = "#DCDACS";
  1543. }else{
  1544. model.setValue(CountPath + "["+ (i) +"]/initqty", "");
  1545. model.setValue(CountPath + "["+ (i) +"]/addqty" , "");
  1546. model.setValue(CountPath + "["+ (i) +"]/totqty" , "");
  1547. model.setValue(CountPath + "["+ (i) +"]/packqty", "");
  1548. grd_count.isReadOnly(i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = true;
  1549. grd_count.cellStyle("background-color", i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = "#DCDACS";
  1550. }
  1551. }else{
  1552. model.setValue(CountPath + "["+ (i) +"]/initqty", "");
  1553. model.setValue(CountPath + "["+ (i) +"]/addqty" , "");
  1554. model.setValue(CountPath + "["+ (i) +"]/totqty" , "");
  1555. model.setValue(CountPath + "["+ (i) +"]/packqty", "");
  1556. model.setValue(CountPath + "["+ (i) +"]/samey" , 'true');
  1557. model.setValue(CountPath + "["+ (i) +"]/samen" , 'false');
  1558. grd_count.isReadOnly(i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = true;
  1559. grd_count.cellStyle("background-color", i+1, grd_count.colRef("nacls"), i+1, grd_count.colRef("packqty")) = "#DCDACS";
  1560. }
  1561. }else{
  1562. grd_count.isReadOnly((i+1), grd_count.colRef("naclsinucd"), (i+1), grd_count.colRef("naclsinucd")) = true;
  1563. }
  1564. }
  1565. }
  1566. */
  1567. // 2009-09-14 ycd 색상 지정
  1568. fSetStyle();
  1569. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  1570. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  1571. }
  1572. /* ------------------------------------------------- */
  1573. /* SMMNP00300_수술기록 */
  1574. /* Count Sheet 생상 및 merge 처리 */
  1575. /* ------------------------------------------------- */
  1576. /* group : EMR 간호 수술마취 */
  1577. /* ver : 2009.09.14 */
  1578. /* by : 양천덕 */
  1579. /* --------------------------------------------------*/
  1580. /* type : function */
  1581. /* access : public */
  1582. /* desc : 화면 style 설정 처리 */
  1583. /* param : */
  1584. /* return : */
  1585. /* --------------------------------------------------*/
  1586. function fSetStyle() {
  1587. //2009-09-11 YCD Count Sheet 멀티 기록 처리
  1588. //Sheet 별로 구별할 수 있는 Row 추가 및 스타일 별도 적용
  1589. var CntListOprsrvNo = xPathData.getColumn(0, "oprsrvno");
  1590. var CntListMainOprsrvNo = xPathData.getColumn(0, "mainoprsrvno");
  1591. var sExprEdit = "expr:";
  1592. var sExprEdit2 = "expr:";
  1593. var sExprEdit3 = "expr:";
  1594. var sExprEdit4 = "expr:";
  1595. var sExprEdit5 = "expr:";
  1596. var sExprEdit6 = "expr:";
  1597. var sExprColor = "EXPR(";
  1598. var sExprBackground = "EXPR(";
  1599. var sExprBackground2 = "EXPR(";
  1600. var sExprBackground3 = "EXPR(";
  1601. var sExprBackground4 = "EXPR(";
  1602. var sExprBackground5 = "EXPR(";
  1603. var sExprFont = "EXPR(";
  1604. var sExprFont2 = "EXPR(";
  1605. for (var i = 0; i < ds_main_MnphopcoLists_mnphopcolist.rowcount; i++) {
  1606. var CntListRecFlag = ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag");
  1607. var CntListKindCd = ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "kindcd");
  1608. var CntListNacls = ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "nacls");
  1609. var CntListSamen = ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samen");
  1610. if (CntListRecFlag == "-") {
  1611. //grd_count.mergeByFree(i, grd_count.fixedCols, i, grd_count.cols-1);
  1612. sExprEdit += "currow == " + i + " ? 'none' : ";
  1613. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1614. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1615. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1616. sExprEdit5 += "currow == " + i + " ? 'none' : ";
  1617. sExprEdit6 += "currow == " + i + " ? 'none' : ";
  1618. sExprBackground += "currow == " + i + " ? '#c0c0c0' : ";
  1619. sExprBackground2 += "currow == " + i + " ? '#c0c0c0' : ";
  1620. sExprBackground3 += "currow == " + i + " ? '#c0c0c0' : ";
  1621. sExprBackground4 += "currow == " + i + " ? '#c0c0c0' : ";
  1622. sExprBackground5 += "currow == " + i + " ? '#c0c0c0' : ";
  1623. sExprFont += "currow == " + i + " ? 'arial,9,bold' : ";
  1624. sExprFont2 += "currow == " + i + " ? 'arial,9,bold' : ";
  1625. } else {
  1626. //Sheet 삭제 처리
  1627. if (CntListRecFlag == "D" || CntListRecFlag == "X") {
  1628. sExprColor += "currow == " + i + " ? '#ff0000' : ";
  1629. sExprBackground += "currow == " + i + " ? '#ffff99' : ";
  1630. sExprBackground2 += "currow == " + i + " ? '#ffff99' : ";
  1631. sExprBackground3 += "currow == " + i + " ? '#ffff99' : ";
  1632. sExprBackground4 += "currow == " + i + " ? '#ffff99' : ";
  1633. sExprBackground5 += "currow == " + i + " ? '#ffff99' : ";
  1634. sExprFont2 += "currow == " + i + " ? 'arial,9,bold' : ";
  1635. } else {
  1636. if (CntListKindCd == "00") {
  1637. if (CntListNacls == '1') {
  1638. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1639. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1640. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1641. sExprEdit6 += "currow == " + i + " ? 'none' : ";
  1642. sExprBackground4 += "currow == " + i + " ? '#DCDACS' : ";
  1643. sExprBackground5 += "currow == " + i + " ? '#DCDACS' : ";
  1644. fCountDataClear(i, true);
  1645. } else {
  1646. if (CntListSamen == '1') {
  1647. if (CntListOprsrvNo != CntListMainOprsrvNo && CntListMainOprsrvNo != "-") {
  1648. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "1");
  1649. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "naclsinucd", "9");
  1650. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1651. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1652. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1653. sExprEdit6 += "currow == " + i + " ? 'none' : ";
  1654. sExprBackground4 += "currow == " + i + " ? '#DCDACS' : ";
  1655. sExprBackground5 += "currow == " + i + " ? '#DCDACS' : ";
  1656. fCountDataClear(i, true);
  1657. } else {
  1658. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "initqty", "");
  1659. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "addqty", "");
  1660. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "totqty", "");
  1661. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "packqty", "");
  1662. //sExprEdit2 += "currow == "+i+" ? 'none' : ";
  1663. }
  1664. } else {
  1665. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "initqty", "");
  1666. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "addqty", "");
  1667. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "totqty", "");
  1668. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "packqty", "");
  1669. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "1");
  1670. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "0");
  1671. //sExprEdit2 += "currow == "+i+" ? 'none' : ";
  1672. }
  1673. sExprEdit2 += "currow == " + i + " ? 'none' : ";
  1674. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1675. sExprEdit6 += "currow == " + i + " ? 'none' : ";
  1676. }
  1677. sExprBackground3 += "currow == " + i + " ? '#DCDACS' : ";
  1678. sExprBackground5 += "currow == " + i + " ? '#DCDACS' : ";
  1679. } else {
  1680. if (CntListNacls == '1') {
  1681. sExprEdit4 += "currow == " + i + " ? 'none' : ";
  1682. sExprEdit5 += "currow == " + i + " ? 'none' : ";
  1683. sExprEdit6 += "currow == " + i + " ? 'none' : ";
  1684. sExprBackground4 += "currow == " + i + " ? '#DCDACS' : ";
  1685. sExprBackground5 += "currow == " + i + " ? '#DCDACS' : ";
  1686. fCountDataClear(i, true);
  1687. } else {
  1688. sExprEdit3 += "currow == " + i + " ? 'none' : ";
  1689. }
  1690. }
  1691. }
  1692. }
  1693. }
  1694. group3.switch1.case2.grd_count.setCellProperty("Body", 20, "edittype", sExprEdit + "'combo'");
  1695. group3.switch1.case2.grd_count.setCellProperty("Body", 21, "edittype", sExprEdit + "'text'");
  1696. group3.switch1.case2.grd_count.setCellProperty("Body", 4, "edittype", sExprEdit2 + "'checkbox'");
  1697. group3.switch1.case2.grd_count.setCellProperty("Body", 5, "edittype", sExprEdit3 + "'combo'");
  1698. group3.switch1.case2.grd_count.setCellProperty("Body", 10, "edittype", sExprEdit4 + "'text'");
  1699. group3.switch1.case2.grd_count.setCellProperty("Body", 11, "edittype", sExprEdit4 + "'text'");
  1700. group3.switch1.case2.grd_count.setCellProperty("Body", 12, "edittype", sExprEdit4 + "'text'");
  1701. group3.switch1.case2.grd_count.setCellProperty("Body", 13, "edittype", sExprEdit4 + "'text'");
  1702. group3.switch1.case2.grd_count.setCellProperty("Body", 14, "edittype", sExprEdit4 + "'text'");
  1703. group3.switch1.case2.grd_count.setCellProperty("Body", 15, "edittype", sExprEdit4 + "'text'");
  1704. group3.switch1.case2.grd_count.setCellProperty("Body", 16, "edittype", sExprEdit4 + "'text'");
  1705. group3.switch1.case2.grd_count.setCellProperty("Body", 17, "edittype", sExprEdit4 + "'text'");
  1706. group3.switch1.case2.grd_count.setCellProperty("Body", 18, "edittype", sExprEdit5 + "'checkbox'");
  1707. group3.switch1.case2.grd_count.setCellProperty("Body", 19, "edittype", sExprEdit5 + "'checkbox'");
  1708. group3.switch1.case2.grd_count.setCellProperty("Body", 6, "edittype", sExprEdit6 + "'text'");
  1709. group3.switch1.case2.grd_count.setCellProperty("Body", 7, "edittype", sExprEdit6 + "'text'");
  1710. for (var i = 1; i < group3.switch1.case2.grd_count.getCellCount("Body"); i++) {
  1711. if (i == 3) {
  1712. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color", sExprColor + "'')");
  1713. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color2", sExprColor + "'')");
  1714. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectcolor", sExprColor + "'')");
  1715. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background", sExprBackground4 + "'')");
  1716. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background2", sExprBackground4 + "'')");
  1717. group3.switch1.case2.grd_count.setCellProperty("Body", i, "font", sExprFont2 + "'')");
  1718. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectfont", sExprFont2 + "'')");
  1719. } else if (i < 3 || (9 < i && i < 20)) {
  1720. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color", sExprColor + "'')");
  1721. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color2", sExprColor + "'')");
  1722. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectcolor", sExprColor + "'')");
  1723. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background", sExprBackground2 + "'')");
  1724. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background2", sExprBackground2 + "'')");
  1725. group3.switch1.case2.grd_count.setCellProperty("Body", i, "font", sExprFont2 + "'')");
  1726. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectfont", sExprFont2 + "'')");
  1727. } else if (3 < i && i < 8) {
  1728. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color", sExprColor + "'')");
  1729. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color2", sExprColor + "'')");
  1730. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectcolor", sExprColor + "'')");
  1731. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background", sExprBackground5 + "'')");
  1732. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background2", sExprBackground5 + "'')");
  1733. group3.switch1.case2.grd_count.setCellProperty("Body", i, "font", sExprFont2 + "'')");
  1734. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectfont", sExprFont2 + "'')");
  1735. } else if (7 < i && i < 10) {
  1736. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color", sExprColor + "'')");
  1737. group3.switch1.case2.grd_count.setCellProperty("Body", i, "color2", sExprColor + "'')");
  1738. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectcolor", sExprColor + "'')");
  1739. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background", sExprBackground3 + "'')");
  1740. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background2", sExprBackground3 + "'')");
  1741. group3.switch1.case2.grd_count.setCellProperty("Body", i, "font", sExprFont2 + "'')");
  1742. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectfont", sExprFont2 + "'')");
  1743. } else {
  1744. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background", sExprBackground + "'')");
  1745. group3.switch1.case2.grd_count.setCellProperty("Body", i, "background2", sExprBackground + "'')");
  1746. group3.switch1.case2.grd_count.setCellProperty("Body", i, "font", sExprFont + "'')");
  1747. group3.switch1.case2.grd_count.setCellProperty("Body", i, "selectfont", sExprFont + "'')");
  1748. }
  1749. }
  1750. }
  1751. function fUserInfo() {
  1752. model.removenode("/root/send");
  1753. model.makeValue("/root/send/instcd", model.getValue("/root/init/HideData/instcd"));
  1754. submit("TRZSU10102"); // 사용자의 코드와 명칭을 가져온다.
  1755. }
  1756. /* ------------------------------------------------- */
  1757. /* SMMNP00300_수술기록 */
  1758. /* On Load 시 Call */
  1759. /* ------------------------------------------------- */
  1760. /* group : EMR 간호 수술마취 */
  1761. /* ver : 2007.05.15 */
  1762. /* by : 최학록 */
  1763. /* --------------------------------------------------*/
  1764. /* type : function */
  1765. /* access : public */
  1766. /* desc :수술기록 정보 가져오기 */
  1767. /* param : 기관코드 */
  1768. /* return : */
  1769. /* --------------------------------------------------*/
  1770. function MnphopcrList_Read(sParamFalg) {
  1771. var sOpCnfmDD = "";
  1772. var xPathOpCd = ds_init_workinst_OpcdData_opcdlist; // 수술전 수술명
  1773. ds_send.setColumn(0, "instcd", ds_init_HideData.getColumn(0, "instcd"));
  1774. ds_send.setColumn(0, "pid", ds_init_HideData.getColumn(0, "pid"));
  1775. ds_send.setColumn(0, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  1776. ds_send.setColumn(0, "ophistno", ds_init_HideData.getColumn(0, "ophistno"));
  1777. //이윤주추가(20170628)
  1778. ds_send.setColumn(0, "connflag", utlf_transNullToEmpty(sParamFalg));
  1779. var oParam = {};
  1780. oParam.id = "TRMNP00350";
  1781. oParam.service = "opanstapp.OpAnstRec";
  1782. oParam.method = "reqGetMnphopcrList";
  1783. oParam.inds = "req=ds_send";
  1784. oParam.outds = "ds_main_MnphopcrData_MnphopcrList=MnphopcrList";
  1785. oParam.async = false;
  1786. oParam.callback = "cf_TRMNP00350";
  1787. tranf_submit(oParam);
  1788. if (arErrorCode.pop("TRMNP00350") > -1) { // 수술실의 코드와 명칭을 가져온다.
  1789. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumnInfo("org_opoutrmplcecd"))) {
  1790. ds_main_MnphopcrData_MnphopcrList.addColumn("org_opoutrmplcecd", "string");
  1791. }
  1792. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumnInfo("instcd"))) {
  1793. ds_main_MnphopcrData_MnphopcrList.addColumn("instcd", "string");
  1794. }
  1795. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "xrayflag"))) {
  1796. group3.switch1.case3.checkbox1.setData(utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "xrayflag")).split(" "), null, false);
  1797. }
  1798. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumnInfo("timeoutdtnrchkyn"))) {
  1799. ds_main_MnphopcrData_MnphopcrList.addColumn("timeoutdtnrchkyn", "string");
  1800. }
  1801. var sParamObj = new Object();
  1802. sParamObj.pathYN = 'N';
  1803. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opdiscordspec"))) {
  1804. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opdiscordspec"), sParamObj); //ds_data_opdiscord, ds_data_opdiscordnm
  1805. }
  1806. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opbfpatcnfmspec"))) {
  1807. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opbfpatcnfmspec"), sParamObj); //ds_data_opbfpatcnfm
  1808. }
  1809. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "timeoutspec"))) {
  1810. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "timeoutspec"), sParamObj); //ds_data_timeout
  1811. }
  1812. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "aftopopnm"))) {
  1813. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "aftopopnm"), sParamObj); //ds_data_opcdlist
  1814. }
  1815. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstkindspec"))) {
  1816. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstkindspec"), sParamObj); //ds_data_anstkind
  1817. }
  1818. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opposturespec"))) {
  1819. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opposturespec"), sParamObj); //ds_data_opposturelist
  1820. }
  1821. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "skindinfspec"))) {
  1822. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "skindinfspec"), sParamObj); //ds_data_skindinf
  1823. }
  1824. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "esuspec"))) {
  1825. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "esuspec"), sParamObj); //ds_data_esu, ds_data_esulist
  1826. }
  1827. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "tourniquetspec"))) {
  1828. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "tourniquetspec"), sParamObj); //ds_data_tourniquet, ds_data_tourniquetlist
  1829. }
  1830. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "warmcoldregmspec"))) {
  1831. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "warmcoldregmspec"), sParamObj); //ds_data_warmlist, ds_data_warmcoldregm, ds_data_cathlist, ds_data_inscath
  1832. }
  1833. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "counspec"))) {
  1834. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "counspec"), sParamObj); //ds_data_countlist
  1835. }
  1836. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "packingspec"))) {
  1837. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "packingspec"), sParamObj); //ds_data_packing
  1838. }
  1839. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "curenurgstatspec"))) {
  1840. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "curenurgstatspec"), sParamObj); //ds_data_ItemCheckList
  1841. }
  1842. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnursrectimeremark"))) {
  1843. lf_convertXmlToDs(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnursrectimeremark"), sParamObj); //ds_data_delyresnlist
  1844. }
  1845. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.clearData();
  1846. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm.clearData();
  1847. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.clearData();
  1848. ds_main_MnphopcrData_MnphopcrList_timeoutspec_timeout.clearData();
  1849. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.clearData();
  1850. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.clearData();
  1851. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.clearData();
  1852. group3.switch1.case1.chk_Skindinfkind.setCheckAll(false);
  1853. ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.clearData();
  1854. ds_main_MnphopcrData_MnphopcrList_esuspec_esu.clearData();
  1855. ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.clearData();
  1856. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet.clearData();
  1857. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.clearData();
  1858. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist.clearData();
  1859. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist_warmcoldregm.clearData();
  1860. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist.clearData();
  1861. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.clearData();
  1862. ds_main_MnphopcrData_MnphopcrList_counspec_countlist.clearData();
  1863. ds_main_MnphopcrData_MnphopcrList_packingspec_packing.clearData();
  1864. ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.clearData();
  1865. ds_main_MnphopcrData_MnphopcrList_opnursrectimeremark_delyresnlist.clearData();
  1866. if (!utlf_isNull(this.objects["ds_data_opdiscord"])) {
  1867. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.copyData(ds_data_opdiscord);
  1868. dsf_deleteDs("ds_data_opdiscord");
  1869. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.getColumn(0, "opdiscordcd"))) {
  1870. group3.switch1.case2.chkopdicord.setData(utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.getColumn(0, "opdiscordcd")).split(" "), null, false);
  1871. }
  1872. }
  1873. if (!utlf_isNull(this.objects["ds_data_opdiscordnm"])) {
  1874. ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm.copyData(ds_data_opdiscordnm);
  1875. dsf_deleteDs("ds_data_opdiscordnm");
  1876. }
  1877. if (!utlf_isNull(this.objects["ds_data_opbfpatcnfm"])) {
  1878. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.copyData(ds_data_opbfpatcnfm);
  1879. dsf_deleteDs("ds_data_opbfpatcnfm");
  1880. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumnInfo("reopflag"))) {
  1881. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.addColumn("reopflag", "string");
  1882. }
  1883. }
  1884. if (!utlf_isNull(this.objects["ds_data_timeout"])) {
  1885. ds_main_MnphopcrData_MnphopcrList_timeoutspec_timeout.copyData(ds_data_timeout);
  1886. dsf_deleteDs("ds_data_timeout");
  1887. }
  1888. if (!utlf_isNull(this.objects["ds_data_opcdlist"])) {
  1889. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.copyData(ds_data_opcdlist);
  1890. dsf_deleteDs("ds_data_opcdlist");
  1891. }
  1892. if (!utlf_isNull(this.objects["ds_data_anstkind"])) {
  1893. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.copyData(ds_data_anstkind);
  1894. dsf_deleteDs("ds_data_anstkind");
  1895. }
  1896. if (!utlf_isNull(this.objects["ds_data_opposturelist"])) {
  1897. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.copyData(ds_data_opposturelist);
  1898. dsf_deleteDs("ds_data_opposturelist");
  1899. }
  1900. if (!utlf_isNull(this.objects["ds_data_skindinf"])) {
  1901. ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.copyData(ds_data_skindinf);
  1902. dsf_deleteDs("ds_data_skindinf");
  1903. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.getColumn(0, "Skindinfkind"))) {
  1904. group3.switch1.case1.chk_Skindinfkind.setData(utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.getColumn(0, "Skindinfkind")).split(" "), null, false);
  1905. }
  1906. }
  1907. if (!utlf_isNull(this.objects["ds_data_esu"])) {
  1908. ds_main_MnphopcrData_MnphopcrList_esuspec_esu.copyData(ds_data_esu);
  1909. dsf_deleteDs("ds_data_esu");
  1910. }
  1911. if (!utlf_isNull(this.objects["ds_data_esulist"])) {
  1912. ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.copyData(ds_data_esulist);
  1913. dsf_deleteDs("ds_data_esulist");
  1914. }
  1915. if (!utlf_isNull(this.objects["ds_data_tourniquet"])) {
  1916. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet.copyData(ds_data_tourniquet);
  1917. dsf_deleteDs("ds_data_tourniquet");
  1918. }
  1919. if (!utlf_isNull(this.objects["ds_data_tourniquetlist"])) {
  1920. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.copyData(ds_data_tourniquetlist);
  1921. dsf_deleteDs("ds_data_tourniquetlist");
  1922. }
  1923. if (!utlf_isNull(this.objects["ds_data_warmlist"])) {
  1924. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist.copyData(ds_data_warmlist);
  1925. dsf_deleteDs("ds_data_warmlist");
  1926. }
  1927. if (!utlf_isNull(this.objects["ds_data_warmcoldregm"])) {
  1928. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist_warmcoldregm.copyData(ds_data_warmcoldregm);
  1929. dsf_deleteDs("ds_data_warmcoldregm");
  1930. }
  1931. if (!utlf_isNull(this.objects["ds_data_cathlist"])) {
  1932. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist.copyData(ds_data_cathlist);
  1933. dsf_deleteDs("ds_data_cathlist");
  1934. }
  1935. if (!utlf_isNull(this.objects["ds_data_inscath"])) {
  1936. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.copyData(ds_data_inscath);
  1937. dsf_deleteDs("ds_data_inscath");
  1938. }
  1939. if (!utlf_isNull(this.objects["ds_data_countlist"])) {
  1940. ds_main_MnphopcrData_MnphopcrList_counspec_countlist.copyData(ds_data_countlist);
  1941. dsf_deleteDs("ds_data_countlist");
  1942. }
  1943. if (!utlf_isNull(this.objects["ds_data_packing"])) {
  1944. ds_main_MnphopcrData_MnphopcrList_packingspec_packing.copyData(ds_data_packing);
  1945. dsf_deleteDs("ds_data_packing");
  1946. }
  1947. if (!utlf_isNull(this.objects["ds_data_ItemCheckList"])) {
  1948. ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_data_ItemCheckList);
  1949. dsf_deleteDs("ds_data_ItemCheckList");
  1950. }
  1951. if (!utlf_isNull(this.objects["ds_data_delyresnlist"])) {
  1952. ds_main_MnphopcrData_MnphopcrList_opnursrectimeremark_delyresnlist.copyData(ds_data_delyresnlist);
  1953. dsf_deleteDs("ds_data_delyresnlist");
  1954. }
  1955. for (var i = 0; i < ds_main_MnphopcrData_MnphopcrList.rowcount; i++) {
  1956. if (ds_main_MnphopcrData_MnphopcrList.getColumn(i, "calmflag") != "Y") {
  1957. ds_main_MnphopcrData_MnphopcrList.setColumn(i, "calmflag", "N");
  1958. }
  1959. }
  1960. // alert(getNodesetCount("/root/main/MnphopcrData/MnphopcrList"));
  1961. sOpscaleOrg = xPathData.getColumn(0, "opscale"); //박영우
  1962. sOpscaleChgFlag = false;
  1963. if (ds_main_MnphopcrData_MnphopcrList.rowcount < 1) {
  1964. sysf_messageBox("수술 예약정보가 없습니다. 확인하십시요!", "I000");
  1965. group3.group2.visible = false;
  1966. return false;
  1967. }
  1968. }
  1969. xPathDispDT.setColumn(0, "patinroomdd", utlf_transNullToEmpty(xPathData.getColumn(0, "patinroomdt")).substr(0, 8)); // 환자입실시간
  1970. xPathDispDT.setColumn(0, "patinroomhh", utlf_transNullToEmpty(xPathData.getColumn(0, "patinroomdt")).substr(8, 4));
  1971. xPathDispDT.setColumn(0, "patoutroomdd", utlf_transNullToEmpty(xPathData.getColumn(0, "patoutroomdt")).substr(0, 8)); // 환자퇴실시간
  1972. xPathDispDT.setColumn(0, "patoutroomhh", utlf_transNullToEmpty(xPathData.getColumn(0, "patoutroomdt")).substr(8, 4));
  1973. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석 처리
  1974. // xPathDispDT.setColumn(0, "perfidarvdd", utlf_transNullToEmpty(xPathData.getColumn(0, "perfidarvdt")).substr(0, 8)); // 집도의도착일자
  1975. // xPathDispDT.setColumn(0, "perfidarvhh", utlf_transNullToEmpty(xPathData.getColumn(0, "perfidarvdt")).substr(8, 4)); // 집도의도착시간
  1976. // xPathDispDT.setColumn(0, "perfidoutdd", utlf_transNullToEmpty(xPathData.getColumn(0, "perfidoutdt")).substr(0, 8)); // 집도의퇴실일자
  1977. // xPathDispDT.setColumn(0, "perfidouthh", utlf_transNullToEmpty(xPathData.getColumn(0, "perfidoutdt")).substr(8, 4)); // 집도의퇴실시간
  1978. xPathDispDT.setColumn(0, "anstsrtdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstsrtdt")).substr(0, 8)); // 마취시작일자
  1979. xPathDispDT.setColumn(0, "anstsrthh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstsrtdt")).substr(8, 4)); // 마취시작시간
  1980. xPathDispDT.setColumn(0, "anstenddd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstenddt")).substr(0, 8)); // 마취종료일자
  1981. xPathDispDT.setColumn(0, "anstendhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstenddt")).substr(8, 4)); // 마취종료시간
  1982. xPathDispDT.setColumn(0, "opfromdd", utlf_transNullToEmpty(xPathData.getColumn(0, "opfromdt")).substr(0, 8)); // 수술시작일자
  1983. xPathDispDT.setColumn(0, "opfromhh", utlf_transNullToEmpty(xPathData.getColumn(0, "opfromdt")).substr(8, 4)); // 수술시작시간
  1984. xPathDispDT.setColumn(0, "optodd", utlf_transNullToEmpty(xPathData.getColumn(0, "optodt")).substr(0, 8)); // 수술종료일자
  1985. xPathDispDT.setColumn(0, "optohh", utlf_transNullToEmpty(xPathData.getColumn(0, "optodt")).substr(8, 4)); // 수술종료시간
  1986. if (sParamFalg == "B" && utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03")) &&
  1987. utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstcprchk")) &&
  1988. utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck99"))) { //국소, CPCR, 마취없음이 아니고 기록가져오기 일때만 셋팅
  1989. xPathDispDT.setColumn(0, "anstsrtdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstsrtdt")).substr(0, 8)); // 마취시작일자
  1990. xPathDispDT.setColumn(0, "anstsrthh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstsrtdt")).substr(8, 4)); // 마취시작시간
  1991. xPathDispDT.setColumn(0, "anstenddd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(0, 8)); // 마취종료일자
  1992. xPathDispDT.setColumn(0, "anstendhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(8, 4)); // 마취종료시간
  1993. xPathDispDT.setColumn(0, "opfromdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(0, 8)); // 수술시작일자
  1994. xPathDispDT.setColumn(0, "opfromhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(8, 4)); // 수술시작시간
  1995. xPathDispDT.setColumn(0, "optodd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(0, 8)); // 수술종료일자
  1996. xPathDispDT.setColumn(0, "optohh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(8, 4)); // 수술종료시간
  1997. }
  1998. //속도개선용으로 막음.20130724_김병국(앞에 가져올때 같이 가져옴.)
  1999. //fGetHardCodeInfo("/root/main/cond", "/root/init/opscale", "154");
  2000. //fGetHardCodeInfo("/root/main/cond", "/root/init/opscaletm", "155");
  2001. ds_codelist.filter("cdgrupid=='154'");
  2002. ds_init_opscale_codelist.copyData(ds_codelist, true);
  2003. ds_codelist.filter("cdgrupid=='155'");
  2004. for (var i = 0; i < ds_codelist.rowcount; i++) {
  2005. var nRow = ds_init_opscale_codelist.addRow();
  2006. ds_init_opscale_codelist.copyRow(nRow, ds_codelist, i);
  2007. }
  2008. ds_codelist.filter("");
  2009. fOpTotalTime(); // 총수술시간 계산
  2010. fAnTotalTime(); // 총마취시간 계산
  2011. ds_init_HideData.setColumn(0, "opoutrmplcecd", xPathData.getColumn(0, "opoutrmplcecd")); // 퇴실장소
  2012. XmlDataCheck(); // Xml Data가 없는 경우 구조를 Copy한다.
  2013. // 2007.11.13 Choi
  2014. // model.makeNode(xPathData+"/counspec" ); // 27 Count,내역
  2015. // model.makeNode(xPathData+"/packingspec" ); // 28 Packing내역
  2016. // InstanceNodeCopy(model, xPathData+"/counspec" , xPathFormat+"/counspec" ); // Count,내역
  2017. // InstanceNodeCopy(model, xPathData+"/packingspec", xPathFormat+"/packingspec"); // Packing내역
  2018. sOpCnfmDD = xPathData.getColumn(0, "opcnfmdd");
  2019. sOutflag = xPathData.getColumn(0, "outflag");
  2020. group3.switch1.case1.grp_time.inp_patinroomdd.style.color = "";
  2021. group3.switch1.case1.grp_time.inp_patinroomhh.style.color = "";
  2022. group3.switch1.case1.grp_time.inp_patinroomhh.style.selectcolor = "";
  2023. group3.switch1.case1.grp_time.inp_patoutroomdd.style.color = "";
  2024. group3.switch1.case1.grp_time.inp_patoutroomhh.style.color = "";
  2025. group3.switch1.case1.grp_time.inp_patoutroomhh.style.selectcolor = "";
  2026. // ---------------------------------
  2027. // 진행상태
  2028. // 00 : 임시'
  2029. // 10 : 의뢰'
  2030. // 19 : 의뢰취소'
  2031. // 20 : 예정'
  2032. // 29 : 취소'
  2033. // 30 : 대기'
  2034. // 39 : 대기취소'
  2035. // 40 : 수술'
  2036. // 49 : 수술취소'
  2037. // 50 : 종료'
  2038. // 60 : 회복'
  2039. // 70 : 종료'
  2040. // ---------------------------------
  2041. if (utlf_isNull(xPathDispDT.getColumn(0, "patinroomdd"))) {
  2042. if (sysf_getUserInfo("dutplceinstcd") == "017") { //빈센트 수술기록일시 입실일시로 셋팅 2010.04.09 K. J. M
  2043. var ccsroprectm = utlf_transNullToEmpty(xPathData.getColumn(0, "ccsroprectm"));
  2044. if (!utlf_isNull(ccsroprectm)) {
  2045. xPathDispDT.setColumn(0, "patinroomdd", ccsroprectm.substr(0, 8));
  2046. xPathDispDT.setColumn(0, "patinroomhh", ccsroprectm.substr(8, 4));
  2047. }
  2048. } else {
  2049. xPathDispDT.setColumn(0, "patinroomdd", sOpCnfmDD);
  2050. }
  2051. } else {
  2052. if (xPathData.getColumn(0, "opstatcd") > "39") { // 진행상태
  2053. group3.switch1.case1.grp_time.inp_patinroomdd.style.color = "#0000ff";
  2054. group3.switch1.case1.grp_time.inp_patinroomhh.style.color = "#0000ff";
  2055. group3.switch1.case1.grp_time.inp_patinroomhh.style.selectcolor = "#0000ff";
  2056. }
  2057. }
  2058. //퇴실일자가 없거나, 퇴실시간이 없으면 마취종료시간, 수술종료시간으로 셋팅 2010.05.27 K. J. M
  2059. if (utlf_isNull(xPathDispDT.getColumn(0, "patoutroomdd")) ||
  2060. (!utlf_isNull(xPathDispDT.getColumn(0, "patoutroomdd")) && utlf_isNull(xPathDispDT.getColumn(0, "patoutroomhh")))) {
  2061. if (sysf_getUserInfo("dutplceinstcd") == "017") { //빈센트 마취종료시간 퇴실일시로 셋팅 2010.04.09 K. J. M
  2062. var anstenddd = utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(0, 8);
  2063. var anstendhh = utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(8, 4);
  2064. var openddd = xPathDispDT.getColumn(0, "optodd");
  2065. var opendhh = xPathDispDT.getColumn(0, "optohh");
  2066. if (!utlf_isNull(anstenddd) && !utlf_isNull(anstendhh)) {
  2067. xPathDispDT.setColumn(0, "patoutroomdd", anstenddd);
  2068. xPathDispDT.setColumn(0, "patoutroomhh", anstendhh);
  2069. } else if (!utlf_isNull(openddd) && !utlf_isNull(opendhh) && group3.switch1.case1.chk_anstkindcheck03.value == "S") { //국소마취일경우 수술종료시간 셋팅
  2070. xPathDispDT.setColumn(0, "patoutroomdd", openddd);
  2071. xPathDispDT.setColumn(0, "patoutroomhh", opendhh);
  2072. }
  2073. } else {
  2074. xPathDispDT.setColumn(0, "patoutroomdd", sOpCnfmDD);
  2075. }
  2076. } else {
  2077. if (xPathData.getColumn(0, "opstatcd") > "39" && sOutflag == "Y") { // 진행상태+퇴실저장여부
  2078. group3.switch1.case1.grp_time.inp_patoutroomdd.style.color = "#0000ff";
  2079. group3.switch1.case1.grp_time.inp_patoutroomhh.style.color = "#0000ff";
  2080. group3.switch1.case1.grp_time.inp_patoutroomhh.style.selectcolor = "#0000ff";
  2081. }
  2082. }
  2083. if (utlf_isNull(xPathDispDT.getColumn(0, "anstsrtdd"))) xPathDispDT.setColumn(0, "anstsrtdd", sOpCnfmDD);
  2084. if (utlf_isNull(xPathDispDT.getColumn(0, "anstenddd"))) xPathDispDT.setColumn(0, "anstenddd", sOpCnfmDD)
  2085. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  2086. // if (utlf_isNull(xPathDispDT.getColumn(0, "perfidarvdd"))) xPathDispDT.setColumn(0, "perfidarvdd", sOpCnfmDD);
  2087. // if (utlf_isNull(xPathDispDT.getColumn(0, "perfidoutdd"))) xPathDispDT.setColumn(0, "perfidoutdd", sOpCnfmDD);
  2088. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromdd"))) xPathDispDT.setColumn(0, "opfromdd", sOpCnfmDD);
  2089. if (utlf_isNull(xPathDispDT.getColumn(0, "optodd"))) xPathDispDT.setColumn(0, "optodd", sOpCnfmDD);
  2090. if (xPathData.getColumn(0, "recstat") == "I") {
  2091. //2009-02-02 ycd 삭제 요청으로 삭제 처리
  2092. //model.setValue(xPathData+"/timeoutspec/timeout/timeoutcheck", "1 2 3 4");
  2093. //2008-06-25 오후 1:41:48 taebum 추가요구사항으로 default로 check안되도록 수정함.
  2094. /*
  2095. model.setValue(xPathData+"/druguseyn" , "N" );
  2096. model.setValue(xPathData+"/drgeuseyn" , "N" );
  2097. model.setValue(xPathData+"/eqmtuseyn" , "X" );
  2098. model.setValue(xPathData+"/implantuseyn" , "N" );
  2099. model.setValue(xPathData+"/tnsyn" , "N" );
  2100. model.setValue(xPathData+"/carerecuseyn" , "N" );
  2101. model.setValue(xPathData+"/spcuseyn" , "X" );
  2102. model.setValue(xPathData+"/esuspec/esu/esuyn" , "N");
  2103. model.setValue(xPathData+"/tourniquetspec/tourniquet/tourniquetyn" , "N");
  2104. */
  2105. //===========================================================================================
  2106. //2008-06-18 오후 1:11:39 taebum 요구사항으로 UI 수정 및 로직 수정
  2107. //model.setValue(xPathData+"/warmcoldregmspec/warmcoldregm/warmcoldregmyn" , "N");
  2108. //model.setValue(xPathData+"/warmcoldregmspec/warmcoldregm/ltube/ltubecheck" , "X");
  2109. //model.setValue(xPathData+"/warmcoldregmspec/warmcoldregm/urinary/urinarycheck" , "X");
  2110. //model.setValue(xPathData+"/postureskinupdtspec/postureskinupdt/skinupdtcheck" , "X");
  2111. //model.setValue(xPathData+"/warmcoldregmspec/warmcoldregm/subclavian/subclaviancheck", "X");
  2112. //===========================================================================================
  2113. }
  2114. // 주수술
  2115. if (!utlf_isNull(xPathData.getColumn(0, "opcd"))) {
  2116. xPathOpCd.clearData();
  2117. xPathOpCd.addRow();
  2118. xPathOpCd.setColumn(0, "opstat", "");
  2119. xPathOpCd.setColumn(0, "subcls", "1");
  2120. xPathOpCd.setColumn(0, "opcd", xPathData.getColumn(0, "opcd"));
  2121. xPathOpCd.setColumn(0, "calcd", xPathData.getColumn(0, "calcd"));
  2122. xPathOpCd.setColumn(0, "opcdname", xPathData.getColumn(0, "opcdnm"));
  2123. }
  2124. // 부수술
  2125. if (!utlf_isNull(xPathData.getColumn(0, "subopcd")) && xPathData.getColumn(0, "subopcd") != "-") {
  2126. if (xPathOpCd.rowcount == 0) {
  2127. xPathOpCd.addRow();
  2128. }
  2129. xPathOpCd.addRow();
  2130. xPathOpCd.setColumn(1, "opstat", "");
  2131. xPathOpCd.setColumn(1, "subcls", "2");
  2132. xPathOpCd.setColumn(1, "opcd", xPathData.getColumn(0, "subopcd"));
  2133. xPathOpCd.setColumn(1, "calcd", xPathData.getColumn(0, "subcalcd"));
  2134. xPathOpCd.setColumn(1, "opcdname", xPathData.getColumn(0, "subopcdnm"));
  2135. }
  2136. //수술후 수술명 생성 2008-07-17 오전 10:39:20 taebum 기록3에서 만드는 부분 주석처리 후 로직 생성함.
  2137. //OpcdPath = "/root/main/MnphopcrData/MnphopcrList/aftopopnm/aftopoplists";
  2138. var sOprddata = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "oprddata"));
  2139. if (!utlf_isNull(sOprddata)) {
  2140. var sRowArr = sOprddata.split("▩");
  2141. var sColArr = null;
  2142. if (sRowArr.length > 0) {
  2143. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.clearData();
  2144. for (var j = 0; j < sRowArr.length; j++) {
  2145. sColArr = utlf_transNullToEmpty(sRowArr[j]).split("▦");
  2146. if (sColArr[2] != "") { //수술코드
  2147. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.addRow();
  2148. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.setColumn(j, "opstat", sColArr[0]);
  2149. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.setColumn(j, "subcls", sColArr[1]);
  2150. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.setColumn(j, "opcd", sColArr[2]);
  2151. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.setColumn(j, "opcdname", sColArr[3]);
  2152. }
  2153. }
  2154. ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.rowposition = 0;
  2155. }
  2156. }
  2157. fOpeuDataDisplay();
  2158. fSettingOPdate("all"); //수술관련 시간 참여자 정보에 자동 세팅 처리(집도의입실, 수술시작)
  2159. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "oproom"))) {
  2160. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "oproom", xPathData.getColumn(0, "oproomcd"));
  2161. }
  2162. //2008-08-20 오전 11:06:11 taebum 조회된 Data를 잘못된 값으로 Display하는 오류 발생(instacne안에는 제대로 조회됨)
  2163. //===================== 주석처리 하지 말것! ========================================================
  2164. //===================================================================================================
  2165. fEsuCheck(); // ESU 해당없음 Check
  2166. fTourniquetCheck(); // Tourniquet 해당없음 Check
  2167. fInscathCheck(); // 삽관기록 데이터 clear
  2168. //====================================================================================================
  2169. //2008-06-18 오전 11:28:55 taebum - 요구사항의 Catheter삽관기록 UI 및 로직 수정요청반영관련 주석처리
  2170. //fWarmcoldregmCheck(); // 냉온요법
  2171. //fSkinupdtcheck(); // 피부변화
  2172. //fUrinarycheck();
  2173. //fLtubecheck();
  2174. //fSubclaviancheck();
  2175. //====================================================================================================
  2176. fTnsRecCheck(); // 수혈기록지 기록여부 체크
  2177. fDelivynCheck(); //2008-08-25 오후 8:19:50 taebum 분만 여부 체크
  2178. fExtcynCheck(); //2008-08-25 오후 8:19:50 taebum 적출물 체크
  2179. fOtynCheck(); //2008-08-25 오후 8:20:56 taebum 장기이식 체크
  2180. //fObRecCheck(); //2012-06.03 오후 02.51 손성훈. 관찰기록 체크
  2181. var StayChk = utlf_transNullToEmpty(xPathData.getColumn(0, "staycnfmpat")) + " " // 대기실 환자명
  2182. +
  2183. utlf_transNullToEmpty(xPathData.getColumn(0, "staycnfmid")) + " " // 대기실 등록번호
  2184. +
  2185. utlf_transNullToEmpty(xPathData.getColumn(0, "staycnfmdr")) + " " // 대기실 집도의
  2186. +
  2187. utlf_transNullToEmpty(xPathData.getColumn(0, "staycnfmpart")); // 대기실 수술부위
  2188. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opcnfcheck", StayChk); // 대기실 Check정보
  2189. xPathData.setColumn(0, "oppartdispyn", xPathData.getColumn(0, "staycnfmpartdisp")); // 대기실 수술부위표시
  2190. var sPatInfo = utlf_transNullToEmpty(xPathData.getColumn(0, "pid")) + " " // 등록번호
  2191. +
  2192. utlf_transNullToEmpty(xPathData.getColumn(0, "patname2")) + " " // 환자명(표시명)
  2193. +
  2194. utlf_transNullToEmpty(xPathData.getColumn(0, "sa")) + " " // SA
  2195. +
  2196. utlf_transNullToEmpty(xPathData.getColumn(0, "wardcd")) + " " // 병동
  2197. +
  2198. utlf_transNullToEmpty(xPathData.getColumn(0, "roomcd")); // 병실
  2199. var sPatInfo2 = utlf_transNullToEmpty(xPathData.getColumn(0, "depthngnm")) + " " // 진료과
  2200. +
  2201. utlf_transNullToEmpty(xPathData.getColumn(0, "oproomnm")) + " " // 수술실명
  2202. +
  2203. utlf_transNullToEmpty(xPathData.getColumn(0, "perfdridnm")) + " " // 집도의
  2204. +
  2205. utlf_transNullToEmpty(xPathData.getColumn(0, "opcdnm"))+ " " // 수술명
  2206. +
  2207. utlf_transNullToEmpty(xPathData.getColumn(0, "oprsrvno")); // 수술번호
  2208. ds_init_HideData.setColumn(0, "patinfo", sPatInfo);
  2209. ds_init_HideData.setColumn(0, "patinfo2", sPatInfo2);
  2210. //2009-02-11 ycd 수술전처치 및 간호상태 확인 기록지 정보 연동 및 TextArea 세팅
  2211. if (ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount > 0) {
  2212. //보낸 물품 & 약품 정보
  2213. var sItemChekInfo1 = "";
  2214. var sItemChekInfo2 = "";
  2215. var sItemChekInfo3 = "";
  2216. var sItemCd1 = "ITM019";
  2217. var sItemCd2 = "ITM021";
  2218. sItemChekInfo1 = ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", sItemCd1), "ItemInfoBk");
  2219. if (!utlf_isNull(sItemChekInfo1)) {
  2220. sItemChekInfo1 = sItemChekInfo1 + " : " + ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", sItemCd1), "ItemInfo");
  2221. }
  2222. sItemChekInfo2 = ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", sItemCd2), "ItemInfoBk");
  2223. if (!utlf_isNull(sItemChekInfo2)) {
  2224. sItemChekInfo2 = sItemChekInfo2 + " : " + ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", sItemCd2), "ItemInfo");
  2225. }
  2226. sItemChekInfo3 = sItemChekInfo1 + "\n" + sItemChekInfo2;
  2227. xPathData.setColumn(0, "deptremark", sItemChekInfo3);
  2228. }
  2229. // 2009-02-19 그리드 형식으로 조회 처리
  2230. ds_temp_anstkindinfo_anstkindlist.clearData();
  2231. ds_temp_anstkindinfo_anstkindlist.addRow();
  2232. ds_temp_anstkindinfo_anstkindlist.addRow();
  2233. ds_temp_anstkindinfo_anstkindlist.setColumn(0, "anstflag", "1");
  2234. ds_temp_anstkindinfo_anstkindlist.setColumn(0, "anstmthdname", xPathData.getColumn(0, "anstmthdname"));
  2235. ds_temp_anstkindinfo_anstkindlist.setColumn(1, "anstflag", "2");
  2236. ds_temp_anstkindinfo_anstkindlist.setColumn(1, "anstmthdname", xPathData.getColumn(0, "anstmthdsubname"));
  2237. //model.setValue(xPathData+"/skindinfspec/skindinf/Skindinfkind", model.getValue(xPathData+"/skindinfspec/skindinf/Skindinfkind")); //피부소독
  2238. var sOpposturecd = xPathData.getColumn(0, "opposturecd");
  2239. var sAnstmthdcd = xPathData.getColumn(0, "anstmthdcd");
  2240. var sAnstmthdname = xPathData.getColumn(0, "anstmthdname");
  2241. //2009-02-03 ycd 기록 항목 변경 요청 추가 부분(병동, 대기실, 수술실 사용자 정보 세팅)
  2242. if (ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.rowcount > 0) { //기록항목 추가건 반영 후 기록
  2243. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "wardnurse", xPathData.getColumn(0, "nurgpartid")); // 병동 기록자NM
  2244. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "wardnursenm", xPathData.getColumn(0, "nurgpartnm")); // 병동 기록자NM
  2245. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "cnfnurse", xPathData.getColumn(0, "staychfid")); // 대기실 기록자ID
  2246. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "cnfnursenm", xPathData.getColumn(0, "staychfidnm")); // 대기실 기록자NM
  2247. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opnurse", xPathData.getColumn(0, "operchfid")); // 수술실 기록자NM
  2248. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opnursenm", xPathData.getColumn(0, "operchfnm")); // 수술실 기록자NM
  2249. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opocr1chkexec", xPathData.getColumn(0, "ocrchk1")); // OCR서식(수술(시술) 부위 표식 확인서 : '0000002304' ) 출력
  2250. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opocr2chkexec", xPathData.getColumn(0, "ocrchk2")); // OCR서식(수술부위 확인 점검표 : '0000002850' ) 출력
  2251. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdname", xPathData.getColumn(0, "anstmthdname")); // 주마취명
  2252. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdnamesub", xPathData.getColumn(0, "anstmthdsubname")); // 부마취명
  2253. } else { //기록항목 추가건 반영 전 기록
  2254. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.addRow();
  2255. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "wardnurse", xPathData.getColumn(0, "nurgpartid")); // 병동 기록자NM
  2256. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "wardnursenm", xPathData.getColumn(0, "nurgpartnm")); // 병동 기록자NM
  2257. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "cnfnurse", xPathData.getColumn(0, "staychfid")); // 대기실 기록자ID
  2258. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "cnfnursenm", xPathData.getColumn(0, "staychfidnm")); // 대기실 기록자NM
  2259. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opnurse", xPathData.getColumn(0, "operchfid")); // 수술실 기록자NM
  2260. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opnursenm", xPathData.getColumn(0, "operchfnm")); // 수술실 기록자NM
  2261. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opocr1chkexec", xPathData.getColumn(0, "ocrchk1")); // OCR서식(수술(시술) 부위 표식 확인서 : '0000002304' ) 출력
  2262. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opocr2chkexec", xPathData.getColumn(0, "ocrchk2")); // OCR서식(수술부위 확인 점검표 : '0000002850' ) 출력
  2263. if (ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.rowcount == 0) {
  2264. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.addRow();
  2265. }
  2266. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdname", xPathData.getColumn(0, "anstmthdname")); // 주마취명
  2267. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdnamesub", xPathData.getColumn(0, "anstmthdsubname")); // 부마취명
  2268. //model.makeNode(xPathData+"/anstkindspec/anstkind/anstopchk");
  2269. }
  2270. // 2009-02-10 ycd 재수술 여부 확인 조회 추가
  2271. var sReOpFlag = ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "reopflag");
  2272. // 2009-02-03 ycd 시행,미시행 처리부분 추가
  2273. // 수술전 준비확인 기록 여부에 따른 처리
  2274. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "opbfpatchk"))) {
  2275. if (!utlf_isNull(xPathData.getColumn(0, "opbfcureseqno"))) { //수술전 준비확인 기록이 존재하지 않을 경우
  2276. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opbfpatchk", "Y");
  2277. group3.switch1.case1.cmb_opbfpatresn.enable = false;
  2278. } else {
  2279. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opbfpatchk", "N");
  2280. group3.switch1.case1.cmb_opbfpatresn.enable = true;
  2281. }
  2282. } else {
  2283. if (ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "opbfpatchk") == "N") {
  2284. group3.switch1.case1.cmb_opbfpatresn.enable = true;
  2285. } else {
  2286. group3.switch1.case1.cmb_opbfpatresn.enable = false;
  2287. }
  2288. }
  2289. // 수술(시술) 부위 표식 확인서 출력 여부에 따른 처리
  2290. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "opbfpartchk"))) {
  2291. if (!utlf_isNull(xPathData.getColumn(0, "ocrchk1"))) {
  2292. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opbfpartchk", "Y");
  2293. group3.switch1.case1.cmb_opbfpartresn.enable = false;
  2294. } else {
  2295. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "opbfpartchk", "N");
  2296. group3.switch1.case1.cmb_opbfpartresn.enable = true;
  2297. }
  2298. } else {
  2299. if (ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "opbfpartchk") == "N") {
  2300. group3.switch1.case1.cmb_opbfpartresn.enable = true;
  2301. } else {
  2302. group3.switch1.case1.cmb_opbfpartresn.enable = false;
  2303. }
  2304. }
  2305. // 수술부위 확인 점검표 출력 여부에 따른 처리
  2306. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "optimeoutchk"))) {
  2307. if (xPathData.getColumn(0, "timeoutdtnrchkyn") != "N") {
  2308. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "optimeoutchk", "Y");
  2309. group3.switch1.case1.cmb_opbftimeoutresn.enable = false;
  2310. } else {
  2311. ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.setColumn(0, "optimeoutchk", "N");
  2312. group3.switch1.case1.cmb_opbftimeoutresn.enable = true;
  2313. }
  2314. } else {
  2315. if (ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "optimeoutchk") == "N") {
  2316. group3.switch1.case1.cmb_opbftimeoutresn.enable = true;
  2317. } else {
  2318. group3.switch1.case1.cmb_opbftimeoutresn.enable = false;
  2319. }
  2320. }
  2321. // 2009-02-10 ycd 수술기록 진행 상태 표시
  2322. if (xPathData.getColumn(0, "opcertstat") == "Y") {
  2323. ds_init_XmlFormat.setColumn(0, "opcertviewstat", "확정");
  2324. group3.opt_opcertstat.style.color = "#ff0000";
  2325. } else if (xPathData.getColumn(0, "opcertstat") == "N") {
  2326. ds_init_XmlFormat.setColumn(0, "opcertviewstat", "임시");
  2327. group3.opt_opcertstat.style.color = "#000000";
  2328. } else {
  2329. ds_init_XmlFormat.setColumn(0, "opcertviewstat", "");
  2330. group3.opt_opcertstat.style.color = "#000000";
  2331. }
  2332. // 2009-02-19 ycd 협진 상태 표시
  2333. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") &&
  2334. xPathData.getColumn(0, "mainoprsrvno") != "-") {
  2335. ds_init_XmlFormat.setColumn(0, "reopviewflag", "협진");
  2336. } else {
  2337. ds_init_XmlFormat.setColumn(0, "reopviewflag", "");
  2338. }
  2339. // 2009-02-11 ycd 재수술 상태 표시
  2340. if (xPathData.getColumn(0, "reopflag") == "Y") {
  2341. if (utlf_isNull(ds_init_XmlFormat.getColumn(0, "reopviewflag"))) {
  2342. ds_init_XmlFormat.setColumn(0, "reopviewflag", "재수술");
  2343. } else {
  2344. ds_init_XmlFormat.setColumn(0, "reopviewflag", "(재수술)");
  2345. }
  2346. }
  2347. // 2009-02-03 ycd 기록 항목 삭제로 인한 변경
  2348. if (sAnstmthdcd == "G") {
  2349. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstkindcheck01", sAnstmthdcd);
  2350. }
  2351. if (sAnstmthdcd == "P") {
  2352. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstkindcheck02", sAnstmthdcd);
  2353. }
  2354. /*
  2355. if (chk_anstkindcheck01.value == ""){ // 전신
  2356. if (sAnstmthdcd == "G") {
  2357. chk_anstkindcheck01.value = sAnstmthdcd;
  2358. ipt_anstmthdname.value = sAnstmthdname;
  2359. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck02","");
  2360. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck03","");
  2361. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck09","");
  2362. }
  2363. }
  2364. if (chk_anstkindcheck02.value == ""){ // 부위
  2365. if (sAnstmthdcd == "P") {
  2366. chk_anstkindcheck02.value = sAnstmthdcd;
  2367. ipt_anstmthdname.value = sAnstmthdname;
  2368. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck01","");
  2369. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck03","");
  2370. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck09","");
  2371. }
  2372. }
  2373. if (chk_anstkindcheck09.value == ""){ // 기타
  2374. if (sAnstmthdcd == "E") {
  2375. chk_anstkindcheck09.value = sAnstmthdcd;
  2376. ipt_anstmthdname.value = sAnstmthdname;
  2377. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck01","");
  2378. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck02","");
  2379. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck03","");
  2380. }
  2381. }
  2382. //2008-08-28 오전 10:21:15 taebum 마취종류가 전신 또는 국소일 경우 국소 또는 기타가 Check 안되도록
  2383. */
  2384. if (utlf_isNull(group3.switch1.case1.chk_anstkindcheck03.value)) { // 국소
  2385. if (sAnstmthdcd == "S") {
  2386. group3.switch1.case1.chk_anstkindcheck03.value = sAnstmthdcd;
  2387. //model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck01","");
  2388. //model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck02","");
  2389. //model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck09","");
  2390. }
  2391. }
  2392. // 마취없음 체크
  2393. if (group3.switch1.case1.chk_anstkindcheck99.value == "N") {
  2394. group3.switch1.case1.ipt_anstkindothertext.enable = true;
  2395. } else {
  2396. group3.switch1.case1.ipt_anstkindothertext.enable = false;
  2397. }
  2398. // 2009-02-19 YCD 삭제 처리
  2399. // 수술중 마취변경 체크
  2400. /*
  2401. if (chk_anstchngchk.value != ""){
  2402. ipt_anstbfchngnm.disabled = false;
  2403. ipt_anstaftchngnm.disabled = false;
  2404. }else{
  2405. ipt_anstbfchngnm.disabled = true;
  2406. ipt_anstaftchngnm.disabled = true;
  2407. }
  2408. */
  2409. // 20200113 김현석, 본원은 수술실 체위 기본값 세팅을 안 하도록 수정 . 요청번호: 20190828008
  2410. if (sysf_getUserInfo("dutplceinstcd") != "031")
  2411. {
  2412. if (ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.rowcount == 0) {
  2413. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.addRow();
  2414. }
  2415. //수술체위 정보 세팅
  2416. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(0, "opposturekind")))
  2417. {
  2418. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(0, "opposturekind", sOpposturecd);
  2419. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(0, "opposturefrdt", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(0, 8)); // 수술시작일자
  2420. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(0, "opposturefrtm", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(8, 4)); // 수술시작시간
  2421. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist
  2422. }
  2423. }
  2424. fOpTimeControl(""); //국소마취여부를 Check한다.
  2425. //chk_stay.refresh(); //수술전환자확인 2009-02-02 삭제 ycd
  2426. //rdo_oppartdispyn.refresh(); //수술부위표시 2009-02-02 삭제 ycd
  2427. //inp_cnfnurse.refresh(); //대기실간호사ID 2009-02-02 삭제 ycd
  2428. //opt_anstmthdname.refresh();
  2429. //opt_anstmthdnamesub.refresh();
  2430. // 2009-01-23 간호처방 확정상태 색변경 ycd
  2431. group3.opt_ccrtstat.value = group3.cmb_cartstat.text;
  2432. if (xPathData.getColumn(0, "ccrtstat") == "5") {
  2433. group3.opt_ccrtstat.style.color = "#ff0000";
  2434. } else {
  2435. group3.opt_ccrtstat.style.color = "#000000";
  2436. }
  2437. // 2010-04-13 오전 11:15:50 마취기록 마취방법 변경요청건 taebum
  2438. if (xPathData.getColumn(0, "anstmthdchgflag") == "Y") {
  2439. //기존에 마취종류가 국소로 입력되어 있을 경우 국소를 데이터를 없애고, 마취기록정보를 연동한다.
  2440. if (ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03") == "S") {
  2441. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstkindcheck03", "");
  2442. fOpTimeControl("");
  2443. }
  2444. group3.caption39.visible = true;
  2445. } else {
  2446. group3.caption39.visible = false;
  2447. }
  2448. }
  2449. function cf_TRMNP00350(sSvcId, nErrorCode, sErrorMsg) {
  2450. arErrorCode.push(sSvcId, nErrorCode);
  2451. }
  2452. // 수혈기록지 기록여부 체크
  2453. function fTnsRecCheck() {
  2454. if (xPathData.getColumn(0, "tnsyn") == "Y") {
  2455. group3.switch1.case3.btn_tnsrec.enable = true;
  2456. } else {
  2457. group3.switch1.case3.btn_tnsrec.enable = false;
  2458. }
  2459. }
  2460. // 분만여부 체크
  2461. function fDelivynCheck() { //2008-08-25 오후 8:19:50 taebum 분만 여부 체크
  2462. if (xPathData.getColumn(0, "delivyn") == "Y") {
  2463. group3.switch1.case3.button28.enable = true;
  2464. } else {
  2465. group3.switch1.case3.button28.enable = false;
  2466. }
  2467. }
  2468. //적출물 여부 체크
  2469. function fExtcynCheck() { //2008-08-25 오후 8:19:50 taebum 적출물 체크
  2470. if (xPathData.getColumn(0, "extcyn") == "Y") {
  2471. group3.switch1.case3.button12.enable = true;
  2472. } else {
  2473. group3.switch1.case3.button12.enable = false;
  2474. }
  2475. }
  2476. //장기이식 체크
  2477. function fOtynCheck() { //2008-08-25 오후 8:20:56 taebum 장기이식 체크
  2478. if (xPathData.getColumn(0, "otyn") == "Y") {
  2479. group3.switch1.case3.button29.enable = true;
  2480. } else {
  2481. group3.switch1.case3.button29.enable = false;
  2482. }
  2483. }
  2484. //관찰기록 여부 체크
  2485. function fObRecCheck() { //2008-08-25 오후 8:19:50 taebum 적출물 체크
  2486. if (xPathData.getColumn(0, "obrecyn") == "Y") {
  2487. group3.switch1.case3.button11.enable = true;
  2488. } else {
  2489. group3.switch1.case3.button11.enable = false;
  2490. }
  2491. }
  2492. // ESU 해당사없음 체크
  2493. function fEsuCheck() {
  2494. if (ds_main_MnphopcrData_MnphopcrList_esuspec_esu.getColumn(0, "esuyn") == 'N') {
  2495. //if (chk_esuyn.value == 'N') { //2008-08-07 오후 8:18:35 taebum 속도 개선을 위한 주석처리
  2496. ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.clearData();
  2497. //model.copyNode(xPathData+"/esuspec", xPathFormat+"/esuspec"); 2008-06-25 오후 2:43:32 taebum
  2498. ds_main_MnphopcrData_MnphopcrList_esuspec_esu.setColumn(0, "esuyn", "N");
  2499. group3.switch1.case1.grp_esu.enable = false;
  2500. group3.switch1.case1.button19.enable = false;
  2501. group3.switch1.case1.button2.enable = false;
  2502. } else {
  2503. group3.switch1.case1.grp_esu.enable = true;
  2504. group3.switch1.case1.button19.enable = true;
  2505. group3.switch1.case1.button2.enable = true;
  2506. }
  2507. }
  2508. // 장비사용내역 해당없음 체크 로직
  2509. // 2009-02-16 ycd 기록 데이터 존재하지 않을 경우 해당없음 체크
  2510. function fTourniquetCheck() {
  2511. if (ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet.getColumn(0, "tourniquetyn") == 'N') {
  2512. //if (chk_tourniquetyn.value == 'N') {//2008-08-07 오후 8:20:51 속도 개선을 위한 주석처리 taebum
  2513. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.clearData();
  2514. //model.copyNode(xPathData+"/tourniquetspec", xPathFormat+"/tourniquetspec"); 2008-07-09 오전 10:18:09 경로 수정으로 변경
  2515. //model.setValue(xPathData+"/tourniquetspec/tourniquet/tourniquetyn","N");
  2516. group3.switch1.case1.group7.grd_tourniquet.enable = false;
  2517. group3.switch1.case1.btn_addtourniquet.enable = false;
  2518. group3.switch1.case1.bnt_deltourniquet.enable = false;
  2519. } else {
  2520. group3.switch1.case1.group7.grd_tourniquet.enable = true;
  2521. group3.switch1.case1.btn_addtourniquet.enable = true;
  2522. group3.switch1.case1.bnt_deltourniquet.enable = true;
  2523. }
  2524. }
  2525. function fInscathCheck() {
  2526. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.getColumn(0, "itemnm"))) {
  2527. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.clearData();
  2528. }
  2529. }
  2530. function fWarmcoldregmCheck() {
  2531. // if (chk_warmcoldregmyn.value == 'N') {
  2532. // fClearGroup(grp_warmcoldregm_urinary , 2);
  2533. // fClearGroup(grp_warmcoldregm_ltube , 3);
  2534. // fClearGroup(grp_warmcoldregm_subclavian, 4);
  2535. // chk_warmcoldregmyn.value = "N";
  2536. //
  2537. // grp_warmcoldregm_urinary.disabled = "true" ;
  2538. // grp_warmcoldregm_ltube.disabled = "true" ;
  2539. // // grp_warmcoldregm_subclavian.disabled = "true" ;
  2540. // }
  2541. // else {
  2542. // grp_warmcoldregm_urinary.disabled = "false" ;
  2543. // grp_warmcoldregm_ltube.disabled = "false" ;
  2544. // // grp_warmcoldregm_subclavian.disabled = "false" ;
  2545. // }
  2546. }
  2547. function fSkinupdtcheck() {
  2548. if (chk_skinupdtcheck.value == 'Y') {
  2549. /*
  2550. fClearGroup(grp_postureskinupdt, 5);
  2551. fClearGroup(grp_postureskinupdt, 6);
  2552. chk_skinupdtcheck.value = "X";
  2553. grp_postureskinupdt.disabled = "true" ;
  2554. */
  2555. datagrid2.disabled = true;
  2556. button15.disabled = true;
  2557. button13.disabled = true;
  2558. model.removeNodeSet("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist");
  2559. datagrid2.refresh();
  2560. } else {
  2561. datagrid2.disabled = false;
  2562. button15.disabled = false;
  2563. button13.disabled = false;
  2564. datagrid2.addRow();
  2565. }
  2566. }
  2567. // 2009-04-03 ycd 수술간호 기록 수정으로 인하여 삭제 처리
  2568. /*
  2569. function fWarmColdMethodNoneChech(){
  2570. if(chk_warmnoneflag.value == 'X') {
  2571. datagrid2.disabled = true;
  2572. button16.disabled = true;
  2573. button21.disabled = true;
  2574. model.removeNodeSet("/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/lists/warmlist/warmcoldregm");
  2575. datagrid3.refresh();
  2576. } else {
  2577. datagrid2.disabled = false;
  2578. button16.disabled = false;
  2579. button21.disabled = false;
  2580. datagrid3.addRow();
  2581. }
  2582. }
  2583. */
  2584. function fUrinarycheck() {
  2585. if (fCheckBoxValueCheck(chk_urinarycheck.value, 'X')) {
  2586. fClearGroup(grp_warmcoldregm_urinary, 2);
  2587. chk_urinarycheck.value = "X";
  2588. grp_urinary.disabled = "true";
  2589. } else {
  2590. grp_urinary.disabled = "false";
  2591. }
  2592. }
  2593. function fLtubecheck() {
  2594. if (fCheckBoxValueCheck(chk_ltubecheck.value, 'X')) {
  2595. fClearGroup(grp_warmcoldregm_ltube, 3);
  2596. chk_ltubecheck.value = "X";
  2597. grp_ltube.disabled = "true";
  2598. } else {
  2599. grp_ltube.disabled = "false";
  2600. }
  2601. }
  2602. function fSubclaviancheck() {
  2603. if (fCheckBoxValueCheck(chk_subclaviancheck.value, 'X')) {
  2604. fClearGroup(grp_warmcoldregm_subclavian, 4);
  2605. chk_subclaviancheck.value = "X";
  2606. grp_subclavian.disabled = "true";
  2607. } else {
  2608. grp_subclavian.disabled = "false";
  2609. }
  2610. }
  2611. function fSkinupdtStatcheck(pPre) {
  2612. if (eval(pPre + "none").value == "Y") {
  2613. eval(pPre + "redness").value = "";
  2614. eval(pPre + "bulla").value = "";
  2615. eval(pPre + "abrasion").value = "";
  2616. eval(pPre + "redness").disabled = "true";
  2617. eval(pPre + "bulla").disabled = "true";
  2618. eval(pPre + "abrasion").disabled = "true";
  2619. } else {
  2620. eval(pPre + "redness").disabled = "false";
  2621. eval(pPre + "bulla").disabled = "false";
  2622. eval(pPre + "abrasion").disabled = "false";
  2623. }
  2624. }
  2625. /* ------------------------------------------------- */
  2626. /* desc : 수술기록 자료저장하기 */
  2627. /* param : pModel - Model */
  2628. /* tNode - Target Node */
  2629. /* sNode - Source Node */
  2630. /* return : */
  2631. /* -------------------------------------------------- */
  2632. function fSave(pFlag) {
  2633. //인증저장시 계수 Time Out 시행 여부 미입력시 저장안되게 처리(2017.05.22 이윤주쌤 요청)
  2634. if( pFlag == "C" && ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnoyn") != "Y" ){
  2635. var sTempVal = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opcntlisttoexecyn");
  2636. //20171204 이돈희 수정 : 임시저장때는 집도의 입실 시간이 없어도 저장됨, 인증저장때 체크(수술실 김종숙 수간호사)
  2637. var varEntrid1 = utlf_transEmptyToNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid1"));
  2638. var varEntrtm1 = utlf_transEmptyToNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrtm1"));
  2639. if(!utlf_isNull(varEntrid1))
  2640. {
  2641. if(utlf_isNull(varEntrtm1))
  2642. {
  2643. sysf_messageBox("집도의 입실일시를 확인하십시요.", "E000");
  2644. return false;
  2645. }
  2646. }
  2647. if( utlf_isNull(sTempVal) || (sTempVal != "Y" && sTempVal != "N") ){
  2648. alert("계수 Time Out 시행 여부를 확인하세요.");
  2649. return;
  2650. }
  2651. // 20200129, 수술간호기록의 마취/수술 시간과 마취기록지의 마취/수술 시간이 일치하는지 체크
  2652. if (sysf_getUserInfo("dutplceinstcd")== "031") // 본원/칠곡 병원 분기
  2653. {
  2654. // 우선 보류 하기로 함.
  2655. //fCheckOpAnstTime();
  2656. }
  2657. }
  2658. // 에러 체크 후 diable 된 dataset 이벤트 활성화 하기 try{} catch{}
  2659. try
  2660. {
  2661. ds_init_workinst_OpeuLists_opeulist1.enableevent = false;
  2662. ds_init_workinst_OpeuLists_opeulist2.enableevent = false;
  2663. ds_main_SheetData3_SpecimenLists_specimenlist.enableevent = false;
  2664. //2012.09.03 _ 인증저장 할 경우 검체 항목에 '보낸시간' 이 입력 되어 있지 않을때는 '퇴실일시'가 자동 저장 되도록 체크._장수경샘 요청._손성훈.
  2665. for (var i = 0; i < group3.switch1.case1.grp_specimen.grd_spclistnew.rowcount; i++) {
  2666. if (utlf_isNull(ds_main_SheetData3_SpecimenLists_specimenlistnew.getColumn(i, "specimentm"))) {
  2667. var sOutroomhh = ds_init_workinst_datetimedata.getColumn(0, "patoutroomhh");
  2668. ds_main_SheetData3_SpecimenLists_specimenlistnew.setColumn(i, "specimentm", sOutroomhh);
  2669. }
  2670. }
  2671. // ----------------------------------------2012.09.03_손성훈 //
  2672. var rtn = fOpeuDataConcatenate(); // 참가자정보 조합
  2673. if (rtn == false)
  2674. {
  2675. return;
  2676. }
  2677. rtn = fInstance2Save(pFlag); // 수술기록 자료 Copy 하기
  2678. if (rtn == false)
  2679. {
  2680. return;
  2681. }
  2682. if (pFlag == "C") {
  2683. fCheckMedrList();
  2684. var actcnt = ds_hidden_medrinfo_medrlist.getColumn(0, "actcnt");
  2685. var totalcnt = ds_hidden_medrinfo_medrlist.getColumn(0, "totalcnt");
  2686. if (actcnt < totalcnt && totalcnt != 0) {
  2687. sysf_messageBox("미투약된 수술중 처방이 존재합니다.", "I");
  2688. }
  2689. //sCertOutFlag = "Y"; // 인증저장 플래그
  2690. //fInOutRoomSave("2"); // 수술기록 1:입실저장,2:퇴실저장,9:입실취소 등록/수정/삭제 요청을 처리한다.
  2691. //sCertOutFlag = "N"; // 인증저장 플래그
  2692. if (group3.switch1.case1.chk_opnoyn.value == "Y") {
  2693. } else {
  2694. var rtn = fConfirmInputData3(); // 시간정보 퇴실 저장 여부
  2695. if (rtn == false)
  2696. {
  2697. return;
  2698. }
  2699. }
  2700. }
  2701. //if (pFlag == "T") {//임시저장
  2702. // fChkInputTime();//입력시간 자릿수 체크
  2703. //}
  2704. fMnphopcrDataConcatenate(pFlag); // 수술간호기록정보 조합하기
  2705. rtn = fCountDataSave(pFlag); // 수술기록2 Count정보 저장하기
  2706. if (rtn == false)
  2707. {
  2708. return;
  2709. }
  2710. sysf_trace("start : " + ds_main_MnphopcrData_MnphopcrList.getColumn(0, "oppart"))
  2711. // var wUserId = getUserInfo("userid" ); // 사용자
  2712. // var wUserNm = getUserInfo("usernm" ); // 사용자 명
  2713. // var wDeptNm = getUserInfo("posdeptnm"); // 사용자 부서명
  2714. var wDate = utlf_getCurrentDate();
  2715. var wTime = utlf_getCurrentTime();
  2716. var wDate = wDate.substr(0, 4) + "-" +
  2717. wDate.substr(4, 2) + "-" + wDate.substr(6, 2) + " " +
  2718. wTime.substr(0, 2) + ":" + wTime.substr(2, 2);
  2719. ds_init_workinst_OpOtherData.setColumn(0, "OpWrtDate", wDate);
  2720. ds_init_workinst_OpOtherData.setColumn(0, "OpWrtName", sysf_getUserInfo("usernm"));
  2721. ds_init_workinst_OpOtherData.setColumn(0, "OpWrtDept", sysf_getUserInfo("posdeptnm"));
  2722. //인증저장 관련 자료 Call
  2723. var CertFlag = true;
  2724. if (pFlag == "C") {
  2725. //피부관찰기록 체크 여부 확인
  2726. var SkinRecViewOpenYn = "";
  2727. //피부관찰기록 여부 'Y' 이면서 주수술에 한에서 체크
  2728. if (group3.switch1.case1.chk_opnoyn.value == "Y") {
  2729. } else {
  2730. if (ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "144"), "cdid") == "Y" &&
  2731. (xPathData.getColumn(0, "oprsrvno") == xPathData.getColumn(0, "mainoprsrvno") || xPathData.getColumn(0, "mainoprsrvno") == "-")) {
  2732. ds_recinfo_skinrecinfo_skinreclist.clearData();
  2733. // 피부관찰기록 저장 정보 조회
  2734. var oParam = {};
  2735. oParam.id = "TRMNP00326";
  2736. oParam.service = "opanstapp.OpAnstRec";
  2737. oParam.method = "reqGetSkinRecChk";
  2738. oParam.inds = "MnphopcrList=ds_send_MnphopcrList";
  2739. oParam.outds = "ds_recinfo_skinrecinfo_skinreclist=skinreclist";
  2740. oParam.async = false;
  2741. //oParam.callback = "cf_TRMNP00326";
  2742. tranf_submit(oParam);
  2743. if (ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "182"), "cdid") == xPathData.getColumn(0, "perfdeptcd") &&
  2744. (!utlf_isNull(group3.switch1.case1.chk_anstkindcheck03.value) || !utlf_isNull(group3.switch1.case1.chk_anstcprchk.value)) || !utlf_isNull(group3.switch1.case1.chk_esuyn.value)) { //안과 수술 피부관찰지 체크 제외(국소, CPCR일때) //20110322 이선경(경북대) : ESU 해당없음인경우도 제외
  2745. //피부관찰지 체크 제외
  2746. } else {
  2747. if ((ds_recinfo_skinrecinfo_skinreclist.getColumn(0, "reccnt") == "0" || ds_recinfo_skinrecinfo_skinreclist.getColumn(0, "tmpreccnt") != "0") && group3.switch1.case3.grd_skinsurveylist.rowcount <= 0)
  2748. {
  2749. sysf_messageBox("피부관찰기록 정보가 존재하지 않거나 미인증 기록이 존재합니다.\n수술간호기록III의 피부관찰기록을 작성하거나 피부관찰기록지에서 피부관찰기록을 작성하십시오.", "I");
  2750. return;
  2751. }
  2752. if ((ds_recinfo_skinrecinfo_skinreclist.getColumn(0, "reccnt") == "0" || ds_recinfo_skinrecinfo_skinreclist.getColumn(0, "tmpreccnt") != "0") && group3.switch1.case3.grd_skinsurveylist.rowcount <= 0)
  2753. {
  2754. //messageBox("수술간호기록 저장에 실패하였습니다.\n\n피부관찰기록 정보를 확인 하시고 인증저장 하십시요.", "C");
  2755. return;
  2756. }
  2757. }
  2758. }
  2759. }
  2760. //2008-07-27 오후 3:14:29 인증을 할 경우 적출물기록, 장기이식기록을 조회하여 데이터가 존재할 경우 함께 인증처리 한다.
  2761. fGetExtcOtRecord();
  2762. //인증저장 번호 추출 및 기록 필수 조건 블럭킹
  2763. for (var i = 0; i < group3.switch1.case3.grd_skinsurveylist.rowcount; i++) {
  2764. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getRowType(i) == 1) {
  2765. ds_main_SheetData3_skinserveyinfo_skinserveylist.setRowType(i, 4);
  2766. }
  2767. if (utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "surveypriod")))
  2768. {
  2769. sysf_messageBox("관찰시기 항목은 필수 입력 항목입니다.", "I");
  2770. return;
  2771. }
  2772. if (utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "surveyplace")))
  2773. {
  2774. sysf_messageBox("관찰장소 항목은 필수 입력 항목입니다.", "I");
  2775. return;
  2776. }
  2777. if (utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "surveynm")))
  2778. {
  2779. sysf_messageBox("관찰자 항목은 필수 입력 항목입니다.", "I");
  2780. return;
  2781. }
  2782. if (utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "cnfmrnm")))
  2783. {
  2784. sysf_messageBox("확인의 항목은 필수 입력 항목입니다.", "I");
  2785. return;
  2786. }
  2787. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "trobyn") == "Y" && utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "skinstat")))
  2788. {
  2789. sysf_messageBox("이상유무 'Y'일 경우 피부상태는 필수 입력 항목입니다.", "I");
  2790. return;
  2791. }
  2792. if (!utlf_isNull(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "signno"))) {
  2793. sSignNo = ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(i, "signno");
  2794. }
  2795. }
  2796. CertFlag = fSignProcessSet();
  2797. }
  2798. grdf_setStatusColumn(ds_main_SheetData3_skinserveyinfo_skinserveylist, "status");
  2799. var updtdata = grdf_getGridUpdateData(group3.switch1.case3.grd_skinsurveylist, "all");
  2800. ds_send_recsavedata.assign(updtdata);
  2801. if (CertFlag == false)
  2802. {
  2803. return; // 인증실패
  2804. }
  2805. //수술기록,수술참가자,계수정보,계수확인 간호사 등록/수정/삭제 요청을 처리
  2806. var oParam = {};
  2807. oParam.id = "TXMNP00303";
  2808. oParam.service = "opanstapp.OpAnstRec";
  2809. oParam.method = "reqExeMnphOpcrCocnInfo";
  2810. oParam.inds = "MnphopcrList=ds_send_MnphopcrList "
  2811. + "MnphopeuList=ds_send_MnphopeuList " // 수술실 참여자
  2812. + "druglist=ds_send_druglist "
  2813. + "drgelist=ds_send_drgelist "
  2814. + "eqmtlist=ds_send_eqmtlist "
  2815. + "specimenlist=ds_send_specimenlist "
  2816. + "MnphcocnList=ds_send_MnphcocnList "
  2817. + "MnphopcoList=ds_send_MnphopcoList "
  2818. + "recsavedata=ds_send_recsavedata:A "
  2819. + "signinfo=ds_send_signinfo "
  2820. + "signinfo2=ds_send_signinfo2";
  2821. oParam.outds = "ds_temp_retdata=retdata";
  2822. oParam.async = false;
  2823. oParam.callback = "cf_TXMNP00303";
  2824. tranf_submit(oParam);
  2825. if (arErrorCode.pop("TXMNP00303") > -1) { // 수술간호기록정보,참가자 정보저장
  2826. //messagebox("저장 되었습니다.", "I000" );
  2827. xPathData.setColumn(0, "recstat", "U"); // record 상태정보 i:신규,u:수정
  2828. //2008-08-28 오후 1:44:05 taebum 입/퇴실 저장이 아닐 경우 수술예약정보는 변경 되지 못하도록 수정.
  2829. //model.setValue(xPathData+"/opstatcd", sOpstatcdnew); // 진행상태
  2830. xPathData.setColumn(0, "org_opoutrmplcecd", sOpoutrmplcecd);
  2831. ds_init_HideData.setColumn(0, "opoutrmplcecd", xPathData.getColumn(0, "opoutrmplcecd")); // 퇴실장소
  2832. //==================================================================================================
  2833. if (pFlag == "C") {
  2834. xPathData.setColumn(0, "certno", ds_temp_retdata.getColumn(0, "certno"));
  2835. group3.btn_rgst_tmp.enable = false;
  2836. }
  2837. fReload("S");
  2838. //Mnphopcrlist_Read();
  2839. //fMnphopco_Read(); // Count 정보를 다시 읽는다. 그렇지 않으면 오류발생한다.
  2840. //fOpTotalTime();
  2841. //fSettingOPdate("all"); //수술관련 시간 참여자 정보에 자동 세팅 처리(집도의입실, 수술시작)
  2842. }
  2843. group3.switch1.case1.grp_specimen.btn_specmini.click(); // 검체_new 크기 축소
  2844. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = false;
  2845. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = false;
  2846. for (var i = 0; i < ds_main_SheetData3_skinserveyinfo_skinserveylist.rowcount; i++) {
  2847. ds_main_SheetData3_skinserveyinfo_skinserveylist.setRowType(i, 1);
  2848. }
  2849. }finally
  2850. {
  2851. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = true;
  2852. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = true;
  2853. group3.switch1.case3.btn_decrease.click();
  2854. fSetStyle();
  2855. ds_init_workinst_OpeuLists_opeulist1.enableevent = true;
  2856. ds_init_workinst_OpeuLists_opeulist2.enableevent = true;
  2857. ds_main_SheetData3_SpecimenLists_specimenlist.enableevent = true;
  2858. }
  2859. }
  2860. function cf_TXMNP00303(sSvcId, nErrorCode, sErrorMsg) {
  2861. arErrorCode.push(sSvcId, nErrorCode);
  2862. }
  2863. /* ------------------------------------------------- */
  2864. /* desc : 수술기록 시간 자릿수 체크 */
  2865. /* param : */
  2866. /* return : */
  2867. /* -------------------------------------------------- */
  2868. //function fChkInputTime() {
  2869. // var sFromdd = model.getValue(xPathDispDT+"/perfidarvhh" ); // 집도의입실시간
  2870. // var sFromhh = model.getValue(xPathDispDT+"/patinroomhh" ); // 입실시간
  2871. // var sTodd = model.getValue(xPathDispDT+"/perfidouthh"); // 집도의퇴실시간
  2872. // var sTohh = model.getValue(xPathDispDT+"/patoutroomhh"); // 퇴실시간
  2873. // var sTohh = model.getValue(xPathDispDT+"/optohh"); // 수술종료시간
  2874. // var sTohh = model.getValue(xPathDispDT+"/anstendhh"); // 수술종료시간
  2875. // var sTohh = model.getValue(xPathDispDT+"/optohh"); // 수술종료시간
  2876. // var sTohh = model.getValue(xPathDispDT+"/optohh"); // 수술종료시간
  2877. //
  2878. //
  2879. //
  2880. //}
  2881. /* ------------------------------------------------- */
  2882. /* desc : 수술기록 강제 인증저장하기 */
  2883. /* param : pModel - Model */
  2884. /* tNode - Target Node */
  2885. /* sNode - Source Node */
  2886. /* return : */
  2887. /* -------------------------------------------------- */
  2888. function fOnClickForceSaveBtn(pFlag) {
  2889. model.removenode("/root/send");
  2890. var rtn = fOpeuDataConcatenate(); // 참가자정보 조합
  2891. //if(rtn == false) return;
  2892. rtn = fInstance2Save(pFlag); // 수술기록 자료 Copy 하기
  2893. //if(rtn == false) return;
  2894. if (pFlag == "C") {
  2895. var rtn = fConfirmInputData3(); // 시간정보 퇴실 저장 여부
  2896. //if (rtn == false) return;
  2897. }
  2898. fMnphopcrDataConcatenate(pFlag); // 수술간호기록정보 조합하기
  2899. rtn = fCountDataSave(pFlag); // 수술기록2 Count정보 저장하기
  2900. //if(rtn == false) return;
  2901. // var wUserId = getUserInfo("userid" ); // 사용자
  2902. // var wUserNm = getUserInfo("usernm" ); // 사용자 명
  2903. // var wDeptNm = getUserInfo("posdeptnm"); // 사용자 부서명
  2904. var wDate = getCurrentDate();
  2905. var wTime = getCurrentTime();
  2906. var wDate = wDate.substr(0, 4) + "-" +
  2907. wDate.substr(4, 2) + "-" + wDate.substr(6, 2) + " " +
  2908. wTime.substr(0, 2) + ":" + wTime.substr(2, 2);
  2909. model.setValue("/root/init/workinst/OpOtherData/OpWrtDate", wDate);
  2910. model.setValue("/root/init/workinst/OpOtherData/OpWrtName", getUserInfo("usernm"));
  2911. model.setValue("/root/init/workinst/OpOtherData/OpWrtDept", getUserInfo("dutplcecd"));
  2912. //인증저장 관련 자료 Call
  2913. var CertFlag = true;
  2914. if (pFlag == "C") {
  2915. //2008-07-27 오후 3:14:29 인증을 할 경우 적출물기록, 장기이식기록을 조회하여 데이터가
  2916. // 존재할 경우 함께 인증처리 한다.
  2917. fGetExtcOtRecord();
  2918. CertFlag = fSignProcessSet();
  2919. }
  2920. if (CertFlag == false) return; // 인증실패
  2921. if (submit("TXMNP00303")) { // 수술간호기록정보,참가자 정보저장
  2922. messageBox("저장 되었습니다.", "I000");
  2923. model.setValue(xPathData + "/recstat", "U"); // Record 상태정보 I:신규,U:수정
  2924. //2008-08-28 오후 1:44:05 taebum 입/퇴실 저장이 아닐 경우 수술예약정보는 변경 되지 못하도록 수정.
  2925. //model.setValue(xPathData+"/opstatcd", sOpstatcdnew); // 진행상태
  2926. model.setValue(xPathData + "/org_opoutrmplcecd", sOpoutrmplcecd);
  2927. model.setValue("/root/init/HideData/opoutrmplcecd", model.getValue(xPathData + "/opoutrmplcecd")); // 퇴실장소
  2928. //==================================================================================================
  2929. if (pFlag == "C") {
  2930. model.setValue(xPathData + "/certno", model.getValue("/root/temp/retdata/certno"));
  2931. btn_rgst_tmp.disabled = true;
  2932. }
  2933. fMnphopco_Read(); // Count 정보를 다시 읽는다. 그렇지 않으면 오류발생한다.
  2934. fOpTotalTime();
  2935. }
  2936. }
  2937. //이전 같은날 같은 수술방의 직전에 수술한 수술환자의 수술시간 check
  2938. function fValidPreOpdt() {
  2939. var sPre_opdt = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "pre_optodt"));
  2940. var sPre_opdd = "";
  2941. var sPre_optm = "";
  2942. var sPre_opmi = "";
  2943. //2008-09-03 오후 8:24:36 taebum 협진일 경우 return;
  2944. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  2945. return true;
  2946. }
  2947. if (!utlf_isNull(sPre_opdt)) {
  2948. sPre_opdd = sPre_opdt.substr(0, 8);
  2949. sPre_optm = sPre_opdt.substr(8, 2);
  2950. sPre_opmi = sPre_opdt.substr(10, 2)
  2951. var sDisplayPreOpdate = sPre_opdt.substr(0, 4) + "-" +
  2952. sPre_opdt.substr(4, 2) + "-" +
  2953. sPre_opdt.substr(6, 2) + " " +
  2954. sPre_optm + ":" +
  2955. sPre_opmi;
  2956. // if (eval(sPre_opdd) > eval(group3.switch1.case1.grp_time.inp_patinroomdd.value)) {
  2957. // sysf_messageBox("이전 수술환자의 퇴실일시를 확인하십시요. 이전 퇴실일시 : " + sDisplayPreOpdate, "C000");
  2958. // return false;
  2959. // } else if (eval(sPre_opdd) == eval(group3.switch1.case1.grp_time.inp_patinroomdd.value)) {
  2960. // if (eval(sPre_optm) > eval(utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomhh.value).substr(0, 2))) {
  2961. // sysf_messageBox("이전 수술환자의 퇴실일시를 확인하십시요. 이전 퇴실일시 : " + sDisplayPreOpdate, "C000");
  2962. // return false;
  2963. // } else if (eval(sPre_optm) == eval(utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomhh.value).substr(0, 2))) {
  2964. // if (eval(sPre_opmi) > eval(utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomhh.value).substr(2, 2))) {
  2965. // sysf_messageBox("이전 수술환자의 퇴실일시를 확인하십시요. 이전 퇴실일시 : " + sDisplayPreOpdate, "C000");
  2966. // return false;
  2967. // }
  2968. // }
  2969. // }
  2970. }
  2971. return true;
  2972. }
  2973. // --------------------------------------------------------------------------
  2974. // 수술기록 1:입실저장,2:퇴실저장,9:입실취소 등록/수정/삭제 요청을 처리한다.
  2975. // --------------------------------------------------------------------------
  2976. function fInOutRoomSave(pFlag) {
  2977. //cart 자동 불출 //2008-07-31 오후 8:03:05 수술대기 이상 Cart 불출이하 자동불출 go
  2978. //=======================================================================
  2979. //2008-08-19 오전 10:09:12 taebum 주석처리 요청
  2980. /*
  2981. var sTmpOprsrvno = model.getValue("/root/main/operation/list/oprsrvno");
  2982. var sTmpOproomcd = model.getValue("/root/main/operation/list/oproomcd");
  2983. var sTmpOpstatcd = model.getValue("/root/main/MnphopcrData/MnphopcrList/opstatcd");
  2984. var sTempCartGubn = model.getValue("/root/main/MnphopcrData/MnphopcrList/ccrtstat"); //수술카트
  2985. var sTmpAnstCartGubn = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstccrtstat"); //마취카트
  2986. var cartbaglist = "m▦rownum▦oprsrvno▦oproomcd▦cartgubn";
  2987. var bSubMitFlag = false;
  2988. //수술Cart
  2989. if((parseInt(sTmpOpstatcd) > 29) && (parseInt(sTempCartGubn) < 3) ){ //2008-07-31 오후 8:03:05 수술대기 이상 Cart 불출이하 자동불출 go
  2990. cartbaglist = cartbaglist + "▩" + "u" + "▦" + "1" + "▦" + sTmpOprsrvno + "▦" + sTmpOproomcd + "▦" + "O";
  2991. bSubMitFlag = true;
  2992. }
  2993. if((parseInt(sTmpOpstatcd) > 29) && (parseInt(sTmpAnstCartGubn) < 3) ){
  2994. if(bSubMitFlag == true){
  2995. cartbaglist = cartbaglist + "▩" + "u" + "▦" + "2" + "▦" + sTmpOprsrvno + "▦" + sTmpOproomcd + "▦" + "A";
  2996. }else{
  2997. cartbaglist = cartbaglist + "▩" + "u" + "▦" + "1" + "▦" + sTmpOprsrvno + "▦" + sTmpOproomcd + "▦" + "A";
  2998. bSubMitFlag = true;
  2999. }
  3000. }
  3001. if(bSubMitFlag == true){
  3002. model.removenode("/root/send");
  3003. model.makeValue("/root/send/cartsend" , cartbaglist );
  3004. if(submit("TXMNP03401")){
  3005. if((parseInt(sTmpOpstatcd) > 29) && (parseInt(sTempCartGubn) < 3) ){
  3006. model.setValue("/root/main/MnphopcrData/MnphopcrList/ccrtstat", "3");
  3007. cmb_cartstat.refresh();
  3008. }
  3009. }
  3010. }
  3011. */
  3012. // if( sCertOutFlag == "N" ) {//인증저장일때는 인스턴스 삭제 안함
  3013. // model.removenode("/root/send");
  3014. // }
  3015. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid")); // 01 환자번호
  3016. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 02 수술예약(의뢰)번호(년도+일련번호)
  3017. sOphistno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "ophistno")); // 03 예약번호에따른이력번호
  3018. sInstcd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd")); // 04 기관코드
  3019. //2008-06-23 오후 4:52:59 taebum 입/퇴실 시간 저장시 시간이 입력되지 않았을 경우 경고 후 return
  3020. if (pFlag == "1") {
  3021. ds_send.setColumn(0, "instcd", ds_init_HideData.getColumn(0, "instcd"));
  3022. ds_send.setColumn(0, "pid", ds_init_HideData.getColumn(0, "pid"));
  3023. ds_send.setColumn(0, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  3024. ds_send.setColumn(0, "ophistno", ds_init_HideData.getColumn(0, "ophistno"));
  3025. var ccrtstat = "";
  3026. var oParam = {};
  3027. oParam.id = "TRMNP00350";
  3028. oParam.service = "opanstapp.OpAnstRec";
  3029. oParam.method = "reqGetCartStat";
  3030. oParam.inds = "req=ds_send";
  3031. oParam.outds = "ds_main_CartList_cartlist=cartlist";
  3032. oParam.async = false;
  3033. oParam.callback = "cf_TRMNP00350";
  3034. tranf_submit(oParam);
  3035. if (arErrorCode.pop("TRMNP00350") > -1) { // 수술실의 코드와 명칭을 가져온다.
  3036. var ccrtstat = ds_main_CartList_cartlist.getColumn(0, "ccrtstat");
  3037. if (ccrtstat < 3) {
  3038. var rtn = sysf_messageBox("아직 cart미불출 상태입니다 그래도 입실하시겠습니까?", "Q");
  3039. if (rtn != "6") {
  3040. return;
  3041. }
  3042. }
  3043. }
  3044. if (utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomhh.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomhh.value + "").replace(' ', '')).length < 4) {
  3045. sysf_messageBox("입실시간을 입력 하시기 바랍니다.", "I000");
  3046. group3.switch1.case1.grp_time.inp_patinroomhh.setFocus();
  3047. return;
  3048. } else if (utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomdd.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomdd.value + "").replace(' ', '')).length < 8) {
  3049. sysf_messageBox("입실일자를 입력 하시기 바랍니다.", "I000");
  3050. group3.switch1.case1.grp_time.inp_patinroomdd.setFocus();
  3051. return;
  3052. } else {
  3053. if (!fValidPreOpdt()) { //이전 수술시작시간 validcheck
  3054. return;
  3055. }
  3056. //2008-10-05 오후 11:47:19 taebum
  3057. //환자 도착시간보다 입실시간이 작을 경우 메세지 호출 추가
  3058. var sPatArriveDt = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "patarrvdt")) +
  3059. utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "patarrvtm"));
  3060. var sInroomDt = utlf_transNullToEmpty(ds_init_workinst_datetimedata.getColumn(0, "patinroomdd")) +
  3061. utlf_transNullToEmpty(ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  3062. if (sPatArriveDt > sInroomDt) {
  3063. sysf_messageBox("환자도착 시간을 확인 하시기 바랍니다.", "I000");
  3064. group3.switch1.case1.grp_time.inp_patinroomhh.setFocus();
  3065. return;
  3066. }
  3067. }
  3068. //입실시간 자동 세팅 부분
  3069. fSettingOPdate("Opfromdt");
  3070. } else if (pFlag == "2") {
  3071. //2009-02-19 ycd 퇴실 저장시 시간 체크 추가
  3072. if (utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomdd.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomdd.value + "").replace(' ', '')).length < 8) {
  3073. sysf_messageBox("입실일자를 입력 하시기 바랍니다.", "I000");
  3074. group3.switch1.case1.grp_time.inp_patoutroomhh.setFocus();
  3075. return;
  3076. }
  3077. if (utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomhh.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patinroomhh.value + "").replace(' ', '')).length < 4) {
  3078. sysf_messageBox("입실시간을 입력 하시기 바랍니다.", "I000");
  3079. group3.switch1.case1.grp_time.inp_patoutroomhh.setFocus();
  3080. return;
  3081. }
  3082. if (utlf_isNull(group3.switch1.case1.grp_time.inp_patoutroomdd.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patoutroomdd.value + "").replace(' ', '')).length < 8) {
  3083. sysf_messageBox("퇴실일자를 입력 하시기 바랍니다.", "I000");
  3084. group3.switch1.case1.grp_time.inp_patoutroomdd.setFocus();
  3085. return;
  3086. }
  3087. if (utlf_isNull(group3.switch1.case1.grp_time.inp_patoutroomhh.value) || (utlf_transNullToEmpty(group3.switch1.case1.grp_time.inp_patoutroomhh.value + "").replace(' ', '')).length < 4) {
  3088. sysf_messageBox("퇴실시간을 입력 하시기 바랍니다.", "I000");
  3089. group3.switch1.case1.grp_time.inp_patoutroomhh.setFocus();
  3090. return;
  3091. }
  3092. //2010.04.09 K. J. M 퇴실저장여부 추가
  3093. sOutflag = "Y";
  3094. /* ycd 확실하지 않아 로직 추가 제한
  3095. if(inp_optodd.value == "" || (inp_optodd.value).length < 8 || inp_optohh.value == "" || (inp_optohh.value).length < 4){
  3096. messageBox("수술종료일시를 입력 하시기 바랍니다.", "I000");
  3097. model.setFocus("inp_optohh");
  3098. return;
  3099. }
  3100. if(inp_optodd.value ||inp_optohh.value > inp_patoutroomdd.value || inp_patoutroomhh.value ){
  3101. messageBox("퇴실일시가 수술종료일시보다 이전입니다. 퇴실일시를 확인 하십시오.", "I000");
  3102. model.setFocus("inp_patoutroomhh");
  3103. return;
  3104. }
  3105. */
  3106. if (group3.switch1.case1.grp_time.inp_patinroomdd.value + group3.switch1.case1.grp_time.inp_patinroomhh.value > group3.switch1.case1.grp_time.inp_patoutroomdd.value + group3.switch1.case1.grp_time.inp_patoutroomhh.value) {
  3107. sysf_messageBox("퇴실일시가 입실일시보다 이전입니다. 퇴실일시를 확인 하십시오.", "I000");
  3108. group3.switch1.case1.grp_time.inp_patoutroomhh.setFocus();
  3109. return;
  3110. }
  3111. //=========================================================================================
  3112. //2008-06-27 오후 3:42:06 taebum add 추가 요구사항
  3113. if (utlf_isNull(group3.switch1.case1.grp_time.cmb_outplc.value) || group3.switch1.case1.grp_time.cmb_outplc.value == "00" || group3.switch1.case1.grp_time.cmb_outplc.value == "43") {
  3114. sysf_messageBox("퇴실장소를 입력 하시기 바랍니다.", "I000");
  3115. group3.switch1.case1.grp_time.cmb_outplc.setFocus();
  3116. return;
  3117. }
  3118. //인증저장 후 퇴실장소 입력오류로 수정 불가
  3119. /*
  3120. //2008-06-27 오후 2:52:26 taebum add 추가요구사항
  3121. setParameter("SPMNP00305_message", "입력하신 퇴실장소가 맞습니까?");
  3122. setParameter("SPMNP00305_button1", "확 인");
  3123. setParameter("SPMNP00305_button2", "취 소");
  3124. setParameter("SPMNP00305_buttonFocus", "button2");
  3125. modal("SPMNP00305", "", 300, 400, "SPMNP00305", "width:510px;height:130px;");
  3126. var sResult = getParameter("SPMNP00305_result");
  3127. */
  3128. //alert(sResult);
  3129. //2008-09-04 오후 9:42:57 퇴실 장소 재확인...
  3130. if (utlf_isNull(xPathData.getColumn(0, "certno")) && sCertOutFlag == "Y" && sOpstatcd < "50") { //처음 인증저장시 퇴실저장 확인 2010.02.18 K. J. M
  3131. if (sysf_messageBox("퇴실", "Q002") != 6) {
  3132. sysf_messageBox("퇴실 저장이 취소 되었습니다.", "I000");
  3133. return;
  3134. }
  3135. } else if (sCertOutFlag == "N" && pFlag == "2") { //퇴실저장시 무조건 확인 2010.02.18 K. J. M
  3136. if (sysf_messageBox("퇴실", "Q002") != 6) {
  3137. sysf_messageBox("퇴실 저장이 취소 되었습니다.", "I000");
  3138. return;
  3139. }
  3140. }
  3141. //=========================================================================================
  3142. }
  3143. var sOutplccd = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opoutrmplcecd"));
  3144. var sOutplcnm = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opdisplaynm")); //기준자료로 자동셋팅되게 수정 K. J. M 2010.01.21
  3145. if (!utlf_isNull(sOutplccd)) {
  3146. if (utlf_isNull(sOutplcnm)) { //전광판명이 없으면
  3147. // 2009-02-05 ycd 퇴실장소 flag에 따른 전광판용 퇴실장소명 (공통코드 관리시 수정 필요)
  3148. if (sOutplccd == "01") {
  3149. sOutplcnm = "회복실";
  3150. } else if (sOutplccd == "02") {
  3151. sOutplcnm = "병실";
  3152. } else if (sOutplccd == "31") {
  3153. sOutplcnm = "DSC";
  3154. } else if (sOutplccd == "32") {
  3155. sOutplcnm = "주사실";
  3156. } else if (sOutplccd == "21") {
  3157. sOutplcnm = "ICU";
  3158. } else if (sOutplccd == "22") {
  3159. sOutplcnm = "ICU";
  3160. } else if (sOutplccd == "23") {
  3161. sOutplcnm = "ICU";
  3162. } else if (sOutplccd == "24") {
  3163. sOutplcnm = "ICU";
  3164. } else if (sOutplccd == "25") {
  3165. sOutplcnm = "회복실";
  3166. } else if (sOutplccd == "26") {
  3167. sOutplcnm = "회복실";
  3168. } else if (sOutplccd == "99") {
  3169. sOutplcnm = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opoutrmplcenm"));
  3170. }
  3171. // 2009-02-05 ycd 퇴실장소 추가
  3172. else if (sOutplccd == "27") {
  3173. sOutplcnm = "ICU";
  3174. } else if (sOutplccd == "28") {
  3175. sOutplcnm = "ICU";
  3176. } else if (sOutplccd == "29") {
  3177. sOutplcnm = "ICU";
  3178. } else if (sOutplccd == "20") {
  3179. sOutplcnm = "ICU";
  3180. }
  3181. }
  3182. }
  3183. sJobProc = "pid" + "▦" // 01 환자번호
  3184. +
  3185. "oprsrvno" + "▦" // 02 수술예약
  3186. +
  3187. "ophistno" + "▦" // 03 이력번호
  3188. +
  3189. "instcd" + "▦" // 04 기관코드
  3190. +
  3191. "jobflag" + "▦" // 05 작업구분(1:입실저장,2:퇴실저장,9:입실취소)
  3192. +
  3193. "outplcnm" + "▩" // 06 퇴실장소명
  3194. +
  3195. utlf_transNullToEmpty(sPid) + "▦" // 01 환자번호
  3196. +
  3197. utlf_transNullToEmpty(sOprsrvno) + "▦" // 02 수술예약
  3198. +
  3199. utlf_transNullToEmpty(sOphistno) + "▦" // 03 이력번호
  3200. +
  3201. utlf_transNullToEmpty(sInstcd) + "▦" // 04 기관코드
  3202. +
  3203. utlf_transNullToEmpty(pFlag) + "▦" // 05 작업구분(1:입실저장,2:퇴실저장,9:입실취소)
  3204. +
  3205. utlf_transNullToEmpty(sOutplcnm) + "▩"; // 06 퇴실장소명
  3206. dsf_setCSVToDs("ds_send_JobProc", sJobProc);
  3207. var rtn = fInstance2Save(pFlag); // 수술기록 자료 Copy 하기
  3208. if (rtn == false) return;
  3209. fMnphopcrDataConcatenate("Y"); // 수술간호기록정보 조합하기
  3210. dsf_setDefaultVal(ds_send_JobProc, "all");
  3211. dsf_setDefaultVal(ds_send_MnphopcrList, "all");
  3212. var oParam = {};
  3213. oParam.id = "TXMNP00301";
  3214. oParam.service = "opanstapp.OpAnstRec";
  3215. oParam.method = "reqExeMnphopcrInfo";
  3216. oParam.inds = "JobProc=ds_send_JobProc MnphopcrList=ds_send_MnphopcrList OperationList=ds_main_operation_list";
  3217. oParam.outds = "ds_sms_MnphopcrList=MnphopcrList";
  3218. oParam.async = false;
  3219. oParam.callback = "cf_TXMNP00301";
  3220. tranf_submit(oParam);
  3221. if (arErrorCode.pop("TXMNP00301") > -1) { // 수술간호기록정보,참가자 정보저장
  3222. if (utlf_isNull(xPathData.getColumn(0, "certno")) && sCertOutFlag == "Y" && sOpstatcd < "50") { //처음 인증저장시 퇴실저장 확인 2010.02.18 K. J. M
  3223. sysf_messageBox("저장 되었습니다.", "I000");
  3224. //sOpstatcd = sOpstatcdnew;//수술상태값 변경(인증저장시 퇴실저장여부 체크로직 때문에 바뀐 상태값으로 셋팅)2010.02.19 K. J. M
  3225. } else if ((sCertOutFlag == "N" && pFlag == "2") || pFlag == "1") { //퇴실저장시 무조건 확인 2010.02.18 K. J. M, 입실저장일때
  3226. sysf_messageBox("저장 되었습니다.", "I000");
  3227. }
  3228. xPathData.setColumn(0, "recstat", "U"); // Record 상태정보 I:신규,U:수정
  3229. //================================================================================================
  3230. //입실 저장 후 진행사항 정보 관련 null exception error 처리 관련 추가 2008-07-26 오후 1:56:53
  3231. xPathData.setColumn(0, "opstatcd", sOpstatcdnew); // 진행상태
  3232. xPathData.setColumn(0, "org_opoutrmplcecd", sOpoutrmplcecd);
  3233. //================================================================================================
  3234. if (pFlag == "1") {
  3235. group3.switch1.case1.grp_time.inp_patinroomdd.style.color = "#0000ff";
  3236. group3.switch1.case1.grp_time.inp_patinroomhh.style.color = "#0000ff";
  3237. group3.switch1.case1.grp_time.inp_patinroomhh.style.selectcolor = "#0000ff";
  3238. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(0, "opposturefrdt"))) {
  3239. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(0, "opposturefrdt", ds_init_workinst_datetimedata.getColumn(0, "patinroomdd"));
  3240. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(0, "opposturefrtm", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  3241. }
  3242. }
  3243. if (pFlag == "2") {
  3244. group3.switch1.case1.grp_time.inp_patoutroomdd.style.color = "#0000ff";
  3245. group3.switch1.case1.grp_time.inp_patoutroomhh.style.color = "#0000ff";
  3246. group3.switch1.case1.grp_time.inp_patoutroomhh.style.selectcolor = "#0000ff";
  3247. }
  3248. //입실/퇴실 smsid 저장한 Setting 2008-07-24 오전 10:35:03 taebum
  3249. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "patopinsndsmsid", ds_sms_MnphopcrList.getColumn(0, "patopinsndsmsid"));
  3250. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "patopoutsndsmsid", ds_sms_MnphopcrList.getColumn(0, "patopoutsndsmsid"));
  3251. } else { //입퇴실저장 실패시 수술상태값 이전으로 돌리기 2010.04.09 K. J. M
  3252. if (pFlag == "1") {
  3253. xPathData.setColumn(0, "opstatcd", "30");
  3254. } else if (pFlag == "2") {
  3255. xPathData.setColumn(0, "opstatcd", "40");
  3256. }
  3257. //2010.04.09 K. J. M 퇴실저장 실패시 플래그 값 초기화
  3258. sOutflag = "";
  3259. }
  3260. }
  3261. function cf_TXMNP00301(sSvcId, nErrorCode, sErrorMsg) {
  3262. arErrorCode.push(sSvcId, nErrorCode);
  3263. }
  3264. /* ------------------------------------------------- */
  3265. /* desc : 수술기록 자료 Copy 하기 */
  3266. /* param : */
  3267. /* return : */
  3268. /* -------------------------------------------------- */
  3269. function fInstance2Save(pFlag) {
  3270. if (pFlag == "C") {
  3271. var rtn = fConfirmInputData1(); // 필수 입력 데이터 확인하기
  3272. if (rtn == false) return false;
  3273. }
  3274. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid")); // 01 환자번호
  3275. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 02 수술예약(의뢰)번호(년도+일련번호)
  3276. sOphistno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "ophistno")); // 03 예약번호에따른이력번호
  3277. sInstcd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd")); // 04 기관코드
  3278. sOptrustflag = utlf_transNullToEmpty(xPathData.getColumn(0, "optrustflag")); // 05 수술의뢰구분-정규(일반)E응급
  3279. sOppatflag = utlf_transNullToEmpty(xPathData.getColumn(0, "oppatflag")); // 06 수술환자구분
  3280. sOppartdispyn = utlf_transNullToEmpty(xPathData.getColumn(0, "oppartdispyn")); // 08 수술부위표시여부
  3281. sOpscale = utlf_transNullToEmpty(xPathData.getColumn(0, "opscale")); // 수술 스케일
  3282. wPatinroomdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patinroomdd")); // 환자입실일자
  3283. wPatinroomhh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patinroomhh")); // 환자입실시간
  3284. wPatoutroomdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patoutroomdd")); // 환자퇴실일자
  3285. wPatoutroomhh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patoutroomhh")); // 환자퇴실시간
  3286. wAnstsrtdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "anstsrtdd")); // 마취시작일자
  3287. wAnstsrthh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "anstsrthh")); // 마취시작시간
  3288. wAnstenddd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "anstenddd")); // 마취종료일자
  3289. wAnstendhh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "anstendhh")); // 마취종료시간
  3290. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  3291. wPerfidarvdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "perfidarvdd")); // 집도의도착일자
  3292. wPerfidarvhh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "perfidarvhh")); // 집도의도착시간
  3293. wPerfidoutdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "perfidoutdd")); // 집도의퇴실일자
  3294. wPerfidouthh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "perfidouthh")); // 집도의퇴실시간
  3295. wOpfromdd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "opfromdd")); // 수술시작일자
  3296. wOpfromhh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "opfromhh")); // 수술시작시간
  3297. wOptodd = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "optodd")); // 수술종료일자
  3298. wOptohh = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "optohh")); // 수술종료시간
  3299. sDrugUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "druguseyn")); // 약품사용여부
  3300. sDrgeUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "drgeuseyn")); // 배액관사용여부
  3301. sEqmtUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "eqmtuseyn")); // 장비사용여부
  3302. sImplantUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "implantuseyn")); // Implant사용여부
  3303. sDrugCmt = utlf_transNullToEmpty(xPathData.getColumn(0, "drugcmt")); // 약품비고
  3304. sDrgeCmt = utlf_transNullToEmpty(xPathData.getColumn(0, "drgecmt")); // 배액관비고
  3305. sEqmtCmt = utlf_transNullToEmpty(xPathData.getColumn(0, "eqmtcmt")); // 장비비고
  3306. sImplantCmt = utlf_transNullToEmpty(xPathData.getColumn(0, "implantcmt")); // Implant비고
  3307. sTnsYN = utlf_transNullToEmpty(xPathData.getColumn(0, "tnsyn")); // 수혈여부
  3308. sSpcUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "spcuseyn")); // 검체사용여부
  3309. sCareRecUseYN = utlf_transNullToEmpty(xPathData.getColumn(0, "carerecuseyn")); // 간호기록사용여부
  3310. //--
  3311. sOpoutrmplcecd = utlf_transNullToEmpty(xPathData.getColumn(0, "opoutrmplcecd")); // 수술후퇴실장소
  3312. sOpoutrmplcenm = utlf_transNullToEmpty(xPathData.getColumn(0, "opoutrmplcenm")); // 수술후퇴실장소기타
  3313. //2008-06-27 오전 10:32:54 taebum 추가요구사항 적용
  3314. sCuthairflag = utlf_transNullToEmpty(xPathData.getColumn(0, "cuthairflag")); //삭모
  3315. sXrayflag = utlf_transNullToEmpty(xPathData.getColumn(0, "xrayflag")); //X-Ray
  3316. sXraydrugspec = utlf_transNullToEmpty(xPathData.getColumn(0, "xraydrugspec")); //X-Ray 조용제 사용입력 text
  3317. sDrsflag = utlf_transNullToEmpty(xPathData.getColumn(0, "drsflag")); //Dressing 구분
  3318. sDrsetc = utlf_transNullToEmpty(xPathData.getColumn(0, "drsetc")); //Dressing 기타 입력 text
  3319. sNocountdoctid = utlf_transNullToEmpty(xPathData.getColumn(0, "nocountdoctid")); //집도의 요청에 의한 계수확인 안함 집도의ID
  3320. sExtcyn = utlf_transNullToEmpty(xPathData.getColumn(0, "extcyn")); //적출물 여부
  3321. sSkinstatflag = utlf_transNullToEmpty(xPathData.getColumn(0, "skinstatflag")); //피부상태 구분
  3322. sDelivyn = utlf_transNullToEmpty(xPathData.getColumn(0, "delivyn")); //분만여부
  3323. sPlatatransid = utlf_transNullToEmpty(xPathData.getColumn(0, "platatransid")); //태반운반자 2008-07-07 오후 2:55:43 추가
  3324. sOtyn = utlf_transNullToEmpty(xPathData.getColumn(0, "otyn")); //장기이식여부 2008-07-08 오후 9:47:42 add
  3325. sObRecyn = utlf_transNullToEmpty(xPathData.getColumn(0, "obrecyn")); //관찰기록여부 2012-06-03 오후 4:56:15 cnrk
  3326. sPatopinsndsmsid = utlf_transNullToEmpty(xPathData.getColumn(0, "patopinsndsmsid")); //환자입실smsID 2008-07-22 오후 10:25:51
  3327. sPatopoutsndsmsid = utlf_transNullToEmpty(xPathData.getColumn(0, "patopoutsndsmsid")); //환자퇴실smsID 2008-07-22 오후 10:26:06
  3328. //2009-02-09 ycd 수술간호기록 화면 수정 중 추가 기록 항목 세팅
  3329. sEscopeeqmtuseyn = utlf_transNullToEmpty(xPathData.getColumn(0, "escopeeqmtuseyn")); //내시경장비사용여부
  3330. sInsuremark = utlf_transNullToEmpty(xPathData.getColumn(0, "insuremark")); //보험팀전달사항
  3331. sPrcporderid = utlf_transNullToEmpty(xPathData.getColumn(0, "prcporderid")); //처방의사ID
  3332. sDeptremark = utlf_transNullToEmpty(xPathData.getColumn(0, "deptremark")); //부서Remark
  3333. sOproomremark = utlf_transNullToEmpty(xPathData.getColumn(0, "oproomremark")); //수술실Remark
  3334. sOpcntlistremark = utlf_transNullToEmpty(xPathData.getColumn(0, "opcntlistremark")); //수술count리스트 Remark
  3335. sOpcntlisttoexecyn = utlf_transNullToEmpty(xPathData.getColumn(0, "opcntlisttoexecyn")); //수술count리스트 Time Out 시행여부
  3336. //2008-07-01 오전 10:55:57 taebum 중환자실용 회복환자 관리 요구사항
  3337. if (pFlag == "2"
  3338. //&& (sOpoutrmplcecd == "21" || sOpoutrmplcecd == "22" || sOpoutrmplcecd == "23" || sOpoutrmplcecd == "24")){
  3339. //2009-02-09 ycd 수술실 퇴실장소 추가로 인하여 수정 처리
  3340. &&
  3341. (sOpoutrmplcecd == "21" || //내과중환자실
  3342. sOpoutrmplcecd == "22" || //신경외과중환자실
  3343. //sOpoutrmplcecd == "23" || //심장내과중환자실 삭제처리
  3344. sOpoutrmplcecd == "24" || //외과중환자실
  3345. sOpoutrmplcecd == "27" || //2층중환자실
  3346. sOpoutrmplcecd == "28" || //순환기계중환자실
  3347. sOpoutrmplcecd == "29" || //신생아중환자실
  3348. sOpoutrmplcecd == "20" //호흡기내과중환자실
  3349. )) {
  3350. //퇴실 장소가 ICU일 경우에만.
  3351. sIcuGoFlag = "Y";
  3352. } else {
  3353. sIcuGoFlag = "N";
  3354. }
  3355. //
  3356. CheckCnt = 0;
  3357. if (utlf_isNull(wPatinroomhh)) { // 01 : 환자입실일자
  3358. wPatinroomdd = "";
  3359. }
  3360. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  3361. if (utlf_isNull(wPerfidarvhh)) { // 02 : 집도의도착일자
  3362. wPerfidarvdd = "";
  3363. }
  3364. if (utlf_isNull(wAnstsrthh)) { // 03 : 마취시작일자
  3365. wAnstsrtdd = "";
  3366. }
  3367. if (utlf_isNull(wOpfromhh)) { // 04 : 수술시작일자
  3368. wOpfromdd = "";
  3369. }
  3370. if (utlf_isNull(wAnstendhh)) { // 05 : 마취종료일자
  3371. wAnstenddd = "";
  3372. }
  3373. if (utlf_isNull(wOptohh)) { // 06 : 수술종료일자
  3374. wOptodd = "";
  3375. }
  3376. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  3377. if (utlf_isNull(wPerfidouthh)) { // 07 : 집도의퇴실일자
  3378. wPerfidoutdd = "";
  3379. }
  3380. if (utlf_isNull(wPatoutroomhh)) { // 08 : 환자퇴실일자
  3381. wPatoutroomdd = "";
  3382. } else {
  3383. CheckCnt++;
  3384. }
  3385. sPatinroomdt = wPatinroomdd // 환자입실일자
  3386. +
  3387. wPatinroomhh; // 환자입실시간
  3388. sPatoutroomdt = wPatoutroomdd // 환자퇴실일자
  3389. +
  3390. wPatoutroomhh; // 환자퇴실시간
  3391. sAnstsrtdt = wAnstsrtdd // 마취시작일자
  3392. +
  3393. wAnstsrthh; // 마취시작시간
  3394. sAnstenddt = wAnstenddd // 마취종료일자
  3395. +
  3396. wAnstendhh; // 마취종료시간
  3397. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  3398. sPerfidarvdt = wPerfidarvdd // 집도의도착일자
  3399. +
  3400. wPerfidarvhh; // 집도의도착시간
  3401. sPerfidoutdt = wPerfidoutdd // 집도의퇴실일자
  3402. +
  3403. wPerfidouthh; // 집도의퇴실시간
  3404. sOpfromdt = wOpfromdd // 수술시작일자
  3405. +
  3406. wOpfromhh; // 수술시작시간
  3407. sOptodt = wOptodd // 수술종료일자
  3408. +
  3409. wOptohh; // 수술종료시간
  3410. if (pFlag == "T") { //임시저장일때 수술시작 종료 시간 자릿수 체크 2010.03.18
  3411. if (!utlf_isNull(sOpfromdt) && sOpfromdt.length < 12) {
  3412. sysf_messageBox("수술시작일시를 확인하십시요.!", "E000");
  3413. return false;
  3414. } else if (!utlf_isNull(sOptodt) && sOptodt.length < 12) {
  3415. sysf_messageBox("수술종료일시를 확인하십시요.!", "E000");
  3416. return false;
  3417. }
  3418. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석처리 및 수술참여자의 입실시간 미입력시 알림말 발생
  3419. // else if (!utlf_isNull(sPerfidarvdt) && sPerfidarvdt.length < 12)
  3420. // {
  3421. // sysf_messageBox("집도의 입실일시를 확인하십시요.!", "E000");
  3422. // return false;
  3423. // }
  3424. // else if (!utlf_isNull(sPerfidoutdt) && sPerfidoutdt.length < 12)
  3425. // {
  3426. // sysf_messageBox("집도의 퇴실일시를 확인하십시요.!", "E000");
  3427. // return false;
  3428. // }
  3429. }
  3430. sCertno = utlf_transNullToEmpty(xPathData.getColumn(0, "certno")); // 인증코드
  3431. sOpcnfmdd = utlf_transNullToEmpty(xPathData.getColumn(0, "opcnfmdd")); // 수술확정일자(의뢰상태일경우예정일자와동일)
  3432. sOpstatcd = utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")); // 진행상태
  3433. sOpstatcdnew = utlf_transNullToEmpty(xPathData.getColumn(0, "opstatcd")); // 진행상태
  3434. sRecstat = utlf_transNullToEmpty(xPathData.getColumn(0, "recstat")); // Record 상태정보 I:신규,U:수정
  3435. var pParam = new Object();
  3436. pParam.cDataYN = "N";
  3437. var ds_opbfpatcnfmspec_XML = "<opbfpatcnfm><oproom/><opcnfcheck/><cnfnurse/><cnfnursenm/><wardnurse/><wardnursenm/><opnurse/><opnursenm/><opbfpatchk/><opbfpartchk/><optimeoutchk/><opbfpatresn/><opbfpartresn/><opbftimeoutresn/><opocr1chkexec/><opocr2chkexec/><reopflag/></opbfpatcnfm>";
  3438. var sParamObjArr = [{
  3439. ds: "ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm",
  3440. path: "opbfpatcnfm",
  3441. filter: ""
  3442. }];
  3443. var ds_opbfpatcnfmspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opbfpatcnfmspec_XML, pParam);
  3444. sOpbfpatcnfmspec = ds_opbfpatcnfmspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/opbfpatcnfmspec/opbfpatcnfm" ).xml; // 07 수술전환자확인내역
  3445. var ds_timeoutspec_XML = "<timeout><perfdr/><perfdrnm/><pertdrdeptcd/><pertdrdeptnm/><apprtcdr/><apprtcdrnm/><apprtcdrdeptcd/><apprtcdrdeptnm/><anstdr/><anstdrnm/><anstdrdeptcd/><anstdrdeptnm/><nurse1/><nurse1nm/><nurse1deptcd/><nurse1deptnm/><nurse2/><nurse2nm/><nurse2deptcd/><nurse2deptnm/><timeoutcheck/></timeout>";
  3446. var sParamObjArr = [{
  3447. ds: "ds_main_MnphopcrData_MnphopcrList_timeoutspec_timeout",
  3448. path: "timeout",
  3449. filter: ""
  3450. }];
  3451. var ds_timeoutspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_timeoutspec_XML, pParam);
  3452. sTimeoutspec = ds_timeoutspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/timeoutspec/timeout" ).xml; // 09 TimeOut내역
  3453. var ds_anstkindspec_XML = "<anstkind><anstfrdt/><anstfrtm/><ansttodt/><ansttotm/><anstkindcheck01/><anstkindcheck02/><anstkindcheck03/><anstkindcheck04/><anstkindcheck05/><anstkindcheck06/><anstkindcheck07/><anstkindcheck08/><anstkindcheck09/><anstkindcheck10/><anstkindcheck11/><anstkindcheck12/><anstkindcheck13/><anstkindcheck14/><anstkindcheck15/><anstkindcheck99/><anstchngchk/><anstkindother/><anstmthdname/><anstmthdnamesub/><anstkindothertext/><anstbfchngnm/><anstaftchngnm/><anstcprchk/><anstopchk/></anstkind>";
  3454. var sParamObjArr = [{
  3455. ds: "ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind",
  3456. path: "anstkind",
  3457. filter: ""
  3458. }];
  3459. var ds_anstkindspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_anstkindspec_XML, pParam);
  3460. sAnstkindspec = ds_anstkindspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/anstkindspec/anstkind" ).xml; // 10 마취종류내역
  3461. var ds_opposturespec_XML = "<opposture><opposturelist><opposturekind/><opposturefrdt/><opposturefrtm/><opposturetodt/><opposturetotm/><oppostureterm/><opposturetot/></opposturelist></opposture>";
  3462. var sParamObjArr = [{
  3463. ds: "ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist",
  3464. path: "opposture/opposturelist",
  3465. filter: ""
  3466. }];
  3467. var ds_opposturespec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opposturespec_XML, pParam);
  3468. sOpposturespec = ds_opposturespec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/opposturespec/opposture" ).xml; // 11 수술체위내역
  3469. var ds_skindinfspec_XML = "<skindinf><Skindinfkind/><SkindOther/></skindinf>";
  3470. var sParamObjArr = [{
  3471. ds: "ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf",
  3472. path: "skindinf",
  3473. filter: ""
  3474. }];
  3475. var ds_skindinfspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_skindinfspec_XML, pParam);
  3476. sSkindinfspec = ds_skindinfspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/skindinfspec/skindinf" ).xml; // 12 피부소독제내역
  3477. var ds_aftopopnm_XML = "<aftopoplists><opcdlist><opstat/><subcls/><opcd/><opcdname/></opcdlist></aftopoplists>";
  3478. var sParamObjArr = [{
  3479. ds: "ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist",
  3480. path: "aftopoplists/opcdlist",
  3481. filter: ""
  3482. }];
  3483. var ds_aftopopnm_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_aftopopnm_XML, pParam);
  3484. sAftopopnm = ds_aftopopnm_XML_RSLT; //instance1.selectSingleNode(xPathData+"/aftopopnm/aftopoplists" ).xml; // 13 수술후수술명
  3485. var bDataset = false;
  3486. for( var i=0 ; i<ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.rowcount ; i++ ){
  3487. for( var j=0 ; j<ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColCount() ; j++ ){
  3488. if( !utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, j)) ){
  3489. bDataset = true;
  3490. }
  3491. }
  3492. }
  3493. if( bDataset == true ){
  3494. //sAftopopnm = instance1.selectSingleNode(xPathData+"/aftopopnm/opcdlist" ).xml; // 13 수술후수술명 2008-07-18 오후 5:39:51 taebum 주석처리
  3495. var ds_esuspec_XML = "<esu><esuyn/><esulist><mfrcut/><mfrcong/><bwatt/><imgpost/><imgpostview/><applierid/><appliernm/><grdflag/></esulist></esu>";
  3496. var sParamObjArr = [{
  3497. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu",
  3498. path: "esu",
  3499. filter: ""
  3500. },
  3501. {
  3502. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist",
  3503. path: "esu/esulist",
  3504. filter: ""
  3505. }
  3506. ];
  3507. var ds_esuspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_esuspec_XML, pParam);
  3508. sEsuspec = ds_esuspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/esuspec/esu" ).xml; // 21 ESU내역
  3509. }else{
  3510. //sAftopopnm = instance1.selectSingleNode(xPathData+"/aftopopnm/opcdlist" ).xml; // 13 수술후수술명 2008-07-18 오후 5:39:51 taebum 주석처리
  3511. var ds_esuspec_XML = "<esu><esuyn/></esu>";
  3512. var sParamObjArr = [{
  3513. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu",
  3514. path: "esu",
  3515. filter: ""
  3516. }
  3517. ];
  3518. var ds_esuspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_esuspec_XML, pParam);
  3519. sEsuspec = ds_esuspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/esuspec/esu" ).xml; // 21 ESU내역
  3520. }
  3521. var bDataset = false;
  3522. for( var i=0 ; i<ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount ; i++ ){
  3523. for( var j=0 ; j<ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColCount() ; j++ ){
  3524. if( !utlf_isNull(ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(i, j)) ){
  3525. bDataset = true;
  3526. }
  3527. }
  3528. }
  3529. if( bDataset == true ){
  3530. var ds_tourniquetspec_XML = "<tourniquet><tourniquetyn/><tourniquetlist><startdd/><starttm/><enddd/><endtm/><termtm/><posimageview/><cuffsize/><pressure/><posimage/><applierid/><appliernm/></tourniquetlist></tourniquet>";
  3531. var sParamObjArr = [{
  3532. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet",
  3533. path: "tourniquet",
  3534. filter: ""
  3535. },
  3536. {
  3537. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist",
  3538. path: "tourniquet/tourniquetlist",
  3539. filter: ""
  3540. }
  3541. ];
  3542. var ds_tourniquetspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_tourniquetspec_XML, pParam);
  3543. sTourniquetspec = ds_tourniquetspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/tourniquetspec/tourniquet" ).xml; // 22 Tourniquet내역
  3544. }else{
  3545. var ds_tourniquetspec_XML = "<tourniquet><tourniquetyn/></tourniquet>";
  3546. var sParamObjArr = [{
  3547. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet",
  3548. path: "tourniquet",
  3549. filter: ""
  3550. }
  3551. ];
  3552. var ds_tourniquetspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_tourniquetspec_XML, pParam);
  3553. sTourniquetspec = ds_tourniquetspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/tourniquetspec/tourniquet" ).xml; // 22 Tourniquet내역
  3554. }
  3555. var bDataset = false;
  3556. for( var i=0 ; i<ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.rowcount ; i++ ){
  3557. for( var j=0 ; j<ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.getColCount() ; j++ ){
  3558. if( !utlf_isNull(ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.getColumn(i, j)) ){
  3559. bDataset = true;
  3560. }
  3561. }
  3562. }
  3563. if( bDataset == true ){
  3564. //2009-02-09 ycd 수술간호기록 내역에서 삭제
  3565. var ds_warmcoldregmspec_XML = "<lists><warmlist><warmnoneflag/><warmcoldregm><partcd/><kindflag/><apppart/><appkind/><warmfrtem/><warmtotem/><startdd/><starttm/><todd/><totm/><appid/><appnm/></warmcoldregm></warmlist><cathlist><inscathnoneflag/><inscath><itemcd/><cathflag/><itemnm/><spec/><qty/><actflag/><method/><cathcmnt/><partinfo/><actnm/><actid/><actdd/><acttm/></inscath></cathlist></lists>";
  3566. var sParamObjArr = [{
  3567. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist",
  3568. path: "lists/warmlist",
  3569. filter: ""
  3570. },
  3571. {
  3572. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist_warmcoldregm",
  3573. path: "lists/warmlist/warmcoldregm",
  3574. filter: ""
  3575. },
  3576. {
  3577. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist",
  3578. path: "lists/cathlist",
  3579. filter: ""
  3580. },
  3581. {
  3582. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath",
  3583. path: "lists/cathlist/inscath",
  3584. filter: ""
  3585. }
  3586. ];
  3587. var ds_warmcoldregmspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_warmcoldregmspec_XML, pParam);
  3588. sWarmcoldregmspec = ds_warmcoldregmspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/warmcoldregmspec/lists" ).xml; // 23 온냉요법내역, Catheter 삽관기록
  3589. //sPostureskinupdtspec = instance1.selectSingleNode(xPathData+"/postureskinupdtspec/lists" ).xml; // 24 체위에따른피부변화내역
  3590. }else{
  3591. //2009-02-09 ycd 수술간호기록 내역에서 삭제
  3592. var ds_warmcoldregmspec_XML = "<lists><warmlist><warmnoneflag/><warmcoldregm><partcd/><kindflag/><apppart/><appkind/><warmfrtem/><warmtotem/><startdd/><starttm/><todd/><totm/><appid/><appnm/></warmcoldregm></warmlist><cathlist><inscathnoneflag/></cathlist></lists>";
  3593. var sParamObjArr = [{
  3594. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist",
  3595. path: "lists/warmlist",
  3596. filter: ""
  3597. },
  3598. {
  3599. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist_warmcoldregm",
  3600. path: "lists/warmlist/warmcoldregm",
  3601. filter: ""
  3602. },
  3603. {
  3604. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist",
  3605. path: "lists/cathlist",
  3606. filter: ""
  3607. }
  3608. ];
  3609. var ds_warmcoldregmspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_warmcoldregmspec_XML, pParam);
  3610. sWarmcoldregmspec = ds_warmcoldregmspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/warmcoldregmspec/lists" ).xml; // 23 온냉요법내역, Catheter 삽관기록
  3611. //sPostureskinupdtspec = instance1.selectSingleNode(xPathData+"/postureskinupdtspec/lists" ).xml; // 24 체위에따른피부변화내역
  3612. }
  3613. var ds_counspec_XML = "<countlist><remark0/><remark1/><remark2/><remark3/><remark4/><remark5/><remark6/><remark7/><remark8/><remark9/></countlist>";
  3614. var sParamObjArr = [{
  3615. ds: "ds_main_MnphopcrData_MnphopcrList_counspec_countlist",
  3616. path: "countlist",
  3617. filter: ""
  3618. }];
  3619. var ds_counspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_counspec_XML, pParam);
  3620. sCounspec = ds_counspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/counspec/countlist" ).xml; // 27 Count,내역
  3621. var ds_packingspec_XML = "<packing><remark0/><remark1/><remark2/><remark3/><remark4/><remark5/><remark6/><remark7/><remark8/><remark9/></packing>";
  3622. var sParamObjArr = [{
  3623. ds: "ds_main_MnphopcrData_MnphopcrList_packingspec_packing",
  3624. path: "packing",
  3625. filter: ""
  3626. }];
  3627. var ds_packingspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_packingspec_XML, pParam);
  3628. sPackingspec = ds_packingspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/packingspec/packing" ).xml; // 28 Packing내역
  3629. var ds_opNursRecTimeRemark_XML = "<delyresnlist><delytime1/><delytime2/><delytime3/><delytime4/><delytime5/><delytime6/><delytime7/><delyresn1/><delyresn2/><delyresn3/><delyresn4/><delyresn5/><delyresn6/><delyresn7/><delyuserid1/><delyuserid2/><delyuserid3/></delyresnlist>";
  3630. var sParamObjArr = [{
  3631. ds: "ds_main_MnphopcrData_MnphopcrList_opnursrectimeremark_delyresnlist",
  3632. path: "delyresnlist",
  3633. filter: ""
  3634. }];
  3635. var ds_opNursRecTimeRemark_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opNursRecTimeRemark_XML, pParam);
  3636. sOpNursRecTimeRemark = ds_opNursRecTimeRemark_XML_RSLT; //instance1.selectSingleNode(xPathData+"/opnursrectimeremark/delyresnlist" ).xml; // 70 수술지연사유정보
  3637. //sOpDrgeSpec = instance1.selectSingleNode(xPathData+"/warmcoldregmspec/lists" ).xml; // 삽관기록
  3638. sSpcCmt = utlf_transNullToEmpty(xPathData.getColumn(0, "spccmt")); // 71 장비비고
  3639. //--------(20110512)
  3640. fopdicordnmcreate(); //불일치시 자료 전달기능
  3641. //--------(20110512)
  3642. // ---------------------------------
  3643. // 진행상태
  3644. // 00 : 임시'
  3645. // 00 : 임시'
  3646. // 10 : 의뢰'
  3647. // 19 : 의뢰취소'
  3648. // 20 : 예정'
  3649. // 29 : 취소'
  3650. // 30 : 대기'
  3651. // 39 : 대기취소'
  3652. // 40 : 수술'
  3653. // 49 : 수술취소'
  3654. // 50 : 종료'
  3655. // 60 : 회복'
  3656. // 70 : 종료'
  3657. // ---------------------------------
  3658. sOpstatcdnew = sOpstatcd; // 진행상태
  3659. //2008-06-27 오후 4:25:16 taebum 수정 임시저장일 경우에도 진행상태가 반영이 되어야한다.
  3660. //if (pFlag == "C" || pFlag == "1") {
  3661. if (pFlag == "1") {
  3662. if (sOpstatcd < "40" && !utlf_isNull(sPatinroomdt)) {
  3663. sOpstatcdnew = "40"; // 진행상태
  3664. //20181022 이돈희 : 수술종료된 건의 수술기록에서 퇴실장소가 수술실(26)로 된 건이 발생
  3665. // : 따라서 퇴실장소가 없는 경우에만 수술실(26)로 변경하도록 수정
  3666. if (utlf_isNull(sOpoutrmplcecd) || sOpoutrmplcecd == "00" || sOpoutrmplcecd == "43") {
  3667. sOpoutrmplcecd = "26"; //43->26 퇴실장소 기준자료와 동기화시키기위해 변경 2010.01.22 K.J.M
  3668. }
  3669. }
  3670. }
  3671. //2008-06-27 오후 4:25:16 taebum 수정 임시저장일 경우에도 진행상태가 반영이 되어야한다.
  3672. //2008-06-28 오전 11:31:34 taebum 수술실과 분만실이 퇴실장소인 경우는 전광판에 회복중으로 요청
  3673. // 퇴실장소가 수술실인 경우 HIV 환자도 수술실에서 .... 회복한다고 함.
  3674. //if (pFlag == "C" || pFlag == "2"){
  3675. if (pFlag == "2") {
  3676. //if (sOpstatcd < "50" && sPatoutroomdt != "")
  3677. if (!utlf_isNull(sPatoutroomdt)) { //상태값에 관계없이 퇴실저장시에는 수술상태값 변경2010.02.08 K.J.M
  3678. // 2009-02-09 ycd 퇴실장소 추가로 인하여 조건 추가
  3679. if (sOpoutrmplcecd == "01" || //회복실
  3680. sOpoutrmplcecd == "21" || //내과중환자실
  3681. sOpoutrmplcecd == "22" || //신경외과중환자실
  3682. sOpoutrmplcecd == "23" || //심장내과중환자실
  3683. sOpoutrmplcecd == "24" || //외과중환자실
  3684. sOpoutrmplcecd == "25" || //분만실
  3685. sOpoutrmplcecd == "27" || //2층중환자실
  3686. sOpoutrmplcecd == "28" || //순환기계중환자실
  3687. sOpoutrmplcecd == "29" || //신생아중환자실
  3688. sOpoutrmplcecd == "20" || //호흡기내과중환자실
  3689. sOpoutrmplcecd == "26" //수술실
  3690. ) { // 회복실 입실
  3691. sOpstatcdnew = "60";
  3692. } else {
  3693. sOpstatcdnew = "50"; // 진행상태 퇴실 - 회복실, 중환자실, 분만실, 수술실을 제외한 나머지는 모두 종료처리
  3694. }
  3695. }
  3696. }
  3697. //
  3698. xPathData.setColumn(0, "patinroomdt", sPatinroomdt); // 환자입실시간
  3699. xPathData.setColumn(0, "patoutroomdt", sPatoutroomdt); // 환자퇴실시간
  3700. xPathData.setColumn(0, "anstsrtdt", sAnstsrtdt); // 마취시작일자
  3701. xPathData.setColumn(0, "anstenddt", sAnstenddt); // 마취종료일자
  3702. xPathData.setColumn(0, "perfidarvdt", sPerfidarvdt); // 집도의도착일자
  3703. xPathData.setColumn(0, "perfidoutdt", sPerfidoutdt); // 집도의퇴실일자
  3704. xPathData.setColumn(0, "opfromdt", sOpfromdt); // 수술시작일자
  3705. xPathData.setColumn(0, "optodt", sOptodt); // 수술종료일자
  3706. xPathData.setColumn(0, "opstatcd", sOpstatcdnew); // 진행상태
  3707. //2009-02-09 ycd 수술간호기록 내역에서 삭제
  3708. //cmb_opstatcd.refresh();
  3709. }
  3710. /* ------------------------------------------------- */
  3711. /* desc : 필수 입력 데이터 확인하기 */
  3712. /* -------------------------------------------------- */
  3713. function fConfirmInputData1() {
  3714. // 집도의 : fUserEnter(xPathData,"/timeoutspec/timeout/perfdr" , "/timeoutspec/timeout/perfdrnm" ,"/timeoutspec/timeout/pertdrdeptcd", "/timeoutspec/timeout/pertdrdeptnm" , inp_perfdrnm.currentText , inp_perfdrnm );
  3715. // 수련의 : fUserEnter(xPathData,"/timeoutspec/timeout/apprtcdr", "/timeoutspec/timeout/apprtcdrnm","/timeoutspec/timeout/apprtcdrdeptcd", "/timeoutspec/timeout/apprtcdrdeptnm", inp_apprtcdrnm.currentText, inp_apprtcdrnm);
  3716. // 마취의 : fUserEnter(xPathData,"/timeoutspec/timeout/anstdr" , "/timeoutspec/timeout/anstdrnm" ,"/timeoutspec/timeout/anstdrdeptcd", "/timeoutspec/timeout/anstdrdeptnm" , inp_anstdrnm.currentText , inp_anstdrnm );
  3717. // 간호사1 : fUserEnter(xPathData,"/timeoutspec/timeout/nurse1" , "/timeoutspec/timeout/nurse1nm" ,"/timeoutspec/timeout/nurse1deptcd", "/timeoutspec/timeout/nurse1deptnm" , inp_nurse1nm.currentText , inp_nurse1nm );
  3718. // 간호사2 : fUserEnter(xPathData,"/timeoutspec/timeout/nurse2" , "/timeoutspec/timeout/nurse2nm" ,"/timeoutspec/timeout/nurse2deptcd" , "/timeoutspec/timeout/nurse2deptnm" , inp_nurse2nm.currentText , inp_nurse2nm );
  3719. //2008-10-21 오전 9:54:44 taebum Timeout 인증 저장시 전체 unCheck 대하여 Blocking 해제
  3720. //alert(model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck"));
  3721. var CheckCnt = 0;
  3722. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  3723. /*
  3724. if (model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck") != ""
  3725. && model.getValue(xPathData+"/timeoutspec/timeout/perfdr" ) == "") {
  3726. //CheckCnt += 1;
  3727. messageBox("Time Out 수술의를 ","C001");
  3728. return false;
  3729. }
  3730. */
  3731. //
  3732. // if (model.getValue(xPathData+"/timeoutspec/timeout/apprtcdr") == "" || model.getValue(xPathData+"/timeoutspec/timeout/apprtcdrnm")=="") {
  3733. // CheckCnt += 1;
  3734. // // messageBox("Time Out 수련의를 다시","C001");
  3735. // // return false;
  3736. // }
  3737. //
  3738. // if (CheckCnt == 2) {
  3739. // messageBox("Time Out 수술의를 다시","C001");
  3740. // return false;
  3741. // }
  3742. //
  3743. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  3744. /*
  3745. if (model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck") != ""
  3746. && model.getValue(xPathData+"/timeoutspec/timeout/nurse1" ) == "") {
  3747. messageBox("Time Out 수술간호사를 ","C001");
  3748. return false;
  3749. }
  3750. */
  3751. CheckCnt = 0;
  3752. // 2009-02-09 ycd 수술간호기록 기록내역 변경으로 인하여 CPR 정보 체크 추가
  3753. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck01"))) CheckCnt++; //전신마취
  3754. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck02"))) CheckCnt++; //부위마취
  3755. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03"))) CheckCnt++; //국소마취
  3756. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck99"))) CheckCnt++; //마취없음
  3757. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstcprchk"))) CheckCnt++; //CPR
  3758. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstopchk" ) != "") CheckCnt++; //수술없음
  3759. // 2009-02-09 ycd 수술간호기록 기록내역 변경으로 인하여 삭제 항목 체크 부분 삭제
  3760. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck04") != "") CheckCnt++;
  3761. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck05") != "") CheckCnt++;
  3762. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck06") != "") CheckCnt++;
  3763. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck07") != "") CheckCnt++;
  3764. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck08") != "") CheckCnt++;
  3765. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck10") != "") CheckCnt++;
  3766. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck11") != "") CheckCnt++;
  3767. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck12") != "") CheckCnt++;
  3768. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck13") != "") CheckCnt++;
  3769. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck14") != "") CheckCnt++;
  3770. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck15") != "") CheckCnt++;
  3771. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck99") != "") CheckCnt++;
  3772. // 2009-05-15 ycd 주석처리
  3773. //if (CheckCnt == 0) {
  3774. // messageBox("마취종류를 ","C001");
  3775. // return false;
  3776. //}
  3777. //2010-03-03 K. J. M 수술안함일경우 유효성체크 제외
  3778. var opnoyn = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnoyn");
  3779. //2009-02-11 저장시 미시행 사유 등록여부 체크
  3780. if (group3.switch1.case1.rdo_opbfpatchk.value == "N" && utlf_isNull(group3.switch1.case1.cmb_opbfpatresn.value)) {
  3781. sysf_messageBox("수술전 환자 확인 미시행 사유를 확인하십시오.", "I000");
  3782. return false;
  3783. }
  3784. if (opnoyn != "Y") { //수술안함이면 체크안함.
  3785. if (group3.switch1.case1.rdo_opbfpartchk.value == "N" && utlf_isNull(group3.switch1.case1.cmb_opbfpartresn.value)) {
  3786. sysf_messageBox("수술부위표시확인 미시행 사유를 확인하십시오.", "I000");
  3787. return false;
  3788. }
  3789. if (group3.switch1.case1.rdo_optimeoutchk.value == "N" && utlf_isNull(group3.switch1.case1.cmb_opbftimeoutresn.value)) {
  3790. sysf_messageBox("Time Out 미시행 사유를 확인하십시오.", "I000");
  3791. return false;
  3792. }
  3793. }
  3794. //2008-09-25 오전 12:43:31 taebum 주석처리
  3795. //if (CheckCnt == 1 && model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck03") == "S") { //
  3796. if (ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03") == "S") { //
  3797. CheckCnt = 99;
  3798. }
  3799. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  3800. /*
  3801. if (CheckCnt != 99) {
  3802. if (model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck") != ""
  3803. && (model.getValue(xPathData+"/timeoutspec/timeout/anstdr" ) == "" || model.getValue(xPathData+"/timeoutspec/timeout/anstdrnm")=="")) {
  3804. messageBox("Time Out 마취의를 ","C001");
  3805. return false;
  3806. }
  3807. if (model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck") != ""
  3808. && (model.getValue(xPathData+"/timeoutspec/timeout/nurse2" ) == "" || model.getValue(xPathData+"/timeoutspec/timeout/nurse2nm")=="")) {
  3809. messageBox("Time Out 마취간호사를 ","C001");
  3810. return false;
  3811. }
  3812. }
  3813. */
  3814. //
  3815. if (opnoyn != "Y") { //수술안함이면 체크안함.
  3816. if (group3.switch1.case1.grd_opposture.rowcount < 1) {
  3817. sysf_messageBox("수술체위를", "C001");
  3818. return false;
  3819. }
  3820. }
  3821. var sListIndex = "";
  3822. var sRowCnt = group3.switch1.case1.grd_opposture.rowcount;
  3823. if (opnoyn != "Y") { //수술안함이면 체크안함.
  3824. //2009-02-13 마지막행 수술종료일시로 매핑 및 소요시간 총소요시간 합계처리
  3825. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(sRowCnt - 1, "oppostureterm"))) {
  3826. if (!utlf_isNull(group3.switch1.case1.grp_time.inp_optodd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_optohh.value)) {
  3827. var iRow = sRowCnt - 1;
  3828. var iCol = group3.switch1.case1.grd_opposture.getBindCellIndex("body", "opposturetotm");
  3829. if (iRow < 0 || iCol == group3.switch1.case1.grd_opposture.getBindCellIndex("body", "opposturekind") || iCol == group3.switch1.case1.grd_opposture.getBindCellIndex("body", "oppostureterm") || iCol == group3.switch1.case1.grd_opposture.getBindCellIndex("body", "opposturetot")) return;
  3830. if (iCol == group3.switch1.case1.grd_opposture.getBindCellIndex("body", "opposturefrtm") || iCol == group3.switch1.case1.grd_opposture.getBindCellIndex("body", "opposturetotm")) {
  3831. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(iRow, "opposturetodt", group3.switch1.case1.grp_time.inp_optodd.value);
  3832. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(iRow, "opposturetotm", group3.switch1.case1.grp_time.inp_optohh.value);
  3833. }
  3834. var pFrDate = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(iRow, "opposturefrdt");
  3835. var pFrTime = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(iRow, "opposturefrtm");
  3836. var pToDate = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(iRow, "opposturetodt");
  3837. var pToTime = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(iRow, "opposturetotm");
  3838. var rTime = fTimeInterval(pFrDate, pToDate, pFrTime, pToTime, "1");
  3839. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(iRow, "oppostureterm", rTime);
  3840. //grd_opposture.refresh();
  3841. fTotalTimeSet();
  3842. } else {
  3843. //if(chk_anstcprchk.value == ""){
  3844. // messageBox("수술종료 일시를 확인하십시오.","I000");
  3845. // return false;
  3846. //}
  3847. }
  3848. }
  3849. for (var i = 0; i < sRowCnt; i++) {
  3850. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(i, "oppostureterm")) ||
  3851. utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(i, "opposturekind"))) {
  3852. sListIndex = i;
  3853. }
  3854. }
  3855. //
  3856. if (!utlf_isNull(sListIndex)) {
  3857. sysf_messageBox("수술체위 정보의 누락 부분(체위, 시작시간, 종료시간)을", "C001");
  3858. return false;
  3859. }
  3860. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf.getColumn(0, "Skindinfkind"))) {
  3861. sysf_messageBox("피부 소독제를 선택하십시오.", "I000");
  3862. return false;
  3863. }
  3864. if (utlf_isNull(xPathData.getColumn(0, "opscale"))) {
  3865. sysf_messageBox("수술스케일를 선택하십시오.", "I000");
  3866. return false;
  3867. }
  3868. }
  3869. //2008-06-26 오전 11:38:08 tabum - esu, tour, 검체 해당없음 체크
  3870. var sEsuCheckFlag = ds_main_MnphopcrData_MnphopcrList_esuspec_esu.getColumn(0, "esuyn");
  3871. if (utlf_isNull(sEsuCheckFlag)) {
  3872. var iEsuCnt = ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.rowcount;
  3873. var sCut = "";
  3874. var sCoag = "";
  3875. var sWatt = "";
  3876. var sImgpostView = "";
  3877. var iRecCnt = 0;
  3878. for (var k = 0; k < iEsuCnt; k++) {
  3879. sCut = ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(k, "mfrcut");
  3880. sCoag = ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(k, "mfrcong");
  3881. sWatt = ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(k, "bwatt");
  3882. sImgpostView = ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(k, "imgpostview");
  3883. iRecCnt = 0;
  3884. if ((!utlf_isNull(sCut) || !utlf_isNull(sCoag)) && utlf_isNull(sImgpostView)) {
  3885. sysf_messageBox("ESU Monopolar기록에 대한 위치 정보를 입력하십시요", "I000");
  3886. return false;
  3887. }
  3888. // 2009-02-13 ycd ESU저장 체크 처리 변경으로 인하여 주석처리
  3889. /*
  3890. if(sCut == "" || sCut == null || sCut == "undefined"){
  3891. iRecCnt++;
  3892. }
  3893. if(sCoag == "" || sCoag == null || sCoag == "undefined"){
  3894. iRecCnt++;
  3895. }
  3896. if(sWatt == "" || sWatt == null || sWatt == "undefined"){
  3897. iRecCnt++;
  3898. }
  3899. if(iRecCnt == 3){
  3900. messageBox("ESU 상세 내역을 기록하십시오.","I000");
  3901. return false;
  3902. }
  3903. */
  3904. }
  3905. }
  3906. // 2009-02-16 ycd 검체정보 개수 입력시 취급자 정보 체크 추가
  3907. var sSpcuseynFlag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "spcuseyn");
  3908. if (utlf_isNull(sSpcuseynFlag)) {
  3909. var iSpcuseCnt = ds_main_SheetData3_SpecimenLists_specimenlist.rowcount;
  3910. var sSpcuseQty = "";
  3911. var sSpcuseChargerId = "";
  3912. var sSpcuseChargerNm = "";
  3913. for (var k = 0; k < iSpcuseCnt; k++) {
  3914. sSpcuseQty = ds_main_SheetData3_SpecimenLists_specimenlist.getColumn(k, "qty");
  3915. sSpcuseChargerId = ds_main_SheetData3_SpecimenLists_specimenlist.getColumn(k, "chargerid");
  3916. sSpcuseChargerNm = ds_main_SheetData3_SpecimenLists_specimenlist.getColumn(k, "chargernm");
  3917. if (sSpcuseQty != "0" && (utlf_isNull(sSpcuseChargerId) || utlf_isNull(sSpcuseChargerNm))) {
  3918. sysf_messageBox("검체기록에 대한 취급자 정보를 입력하십시오.", "I000");
  3919. return false;
  3920. }
  3921. }
  3922. }
  3923. var sTourniquetFlag = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet.getColumn(0, "tourniquetyn");
  3924. if (utlf_isNull(sTourniquetFlag)) {
  3925. var iToniqCnt = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount;
  3926. var sToniFrdd = "";
  3927. var sToniFrtm = "";
  3928. var sToniTodd = "";
  3929. var sToniTotm = "";
  3930. var iRecCnt = 0;
  3931. for (var k = 0; k < iToniqCnt; k++) {
  3932. sToniFrdd = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(k, "startdd");
  3933. sToniFrtm = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(k, "starttm");
  3934. sToniTodd = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(k, "enddd");
  3935. sToniTotm = ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(k, "endtm");
  3936. iRecCnt = 0;
  3937. if (utlf_isNull(sToniFrdd)) {
  3938. iRecCnt++;
  3939. }
  3940. if (utlf_isNull(sToniFrtm)) {
  3941. iRecCnt++;
  3942. }
  3943. if (utlf_isNull(sToniTodd)) {
  3944. iRecCnt++;
  3945. }
  3946. if (utlf_isNull(sToniTotm)) {
  3947. iRecCnt++;
  3948. }
  3949. if (iRecCnt > 0) {
  3950. sysf_messageBox("Tourniquet 상세 내역을 기록하십시오.", "I000");
  3951. return false;
  3952. }
  3953. }
  3954. }
  3955. //2009-02-13 ycd 장비사용기록 사용시작일시, 사용종료일시 기록 누락건 검색 - 사용시작일시 : 수술시작, 사용종료일시 : 수술종료 로 세팅
  3956. /* 장비사용기록시 사용시작일시, 사용종료일시 삭제.2012.05.18_손성훈(본원 칠곡 수술실 간호사 요청사항.)
  3957. var sEqmtUseYnChk = model.getValue("/root/main/MnphopcrData/MnphopcrList/eqmtuseyn");
  3958. if(sEqmtUseYnChk == "" || sEqmtUseYnChk == "undefined" || sEqmtUseYnChk == null){
  3959. var iEqmtUseYnChk = getNodesetCount("/root/main/SheetData3/OpEqmtLists/opeqmtlist");
  3960. var ChkCnt = 0 ;
  3961. for(var i = 1 ; i <= iEqmtUseYnChk ; i++){
  3962. sEqmFromdd = model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/fromdd" );
  3963. sEqmFromtm = model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/fromtm" );
  3964. sEqmTodd = model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/todd" );
  3965. sEqmTotm = model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/totm" );
  3966. if( sEqmFromdd == "" && sEqmFromtm == "" ) {
  3967. model.setValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/fromdd", inp_opfromdd.value );
  3968. model.setValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/fromtm", inp_opfromhh.value );
  3969. }
  3970. if( sEqmTodd == "" && sEqmTotm == "" ) {
  3971. model.setValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/todd" , inp_optodd.value );
  3972. model.setValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/totm" , inp_optohh.value );
  3973. }
  3974. if( model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/fromdd" ) == "" ||
  3975. model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist["+ i +"]/todd" ) == "" ){
  3976. ChkCnt ++;
  3977. }
  3978. }
  3979. if( ChkCnt > 0 ){
  3980. messageBox("장비사용기록 시작, 종료 일시 정보를 확인하십시오.","I000");
  3981. return false;
  3982. }
  3983. }
  3984. */
  3985. /*
  3986. var sCutHairYn = model.getValue("/root/main/MnphopcrData/MnphopcrList/cuthairflag");
  3987. if(sCutHairYn == "" || sCutHairYn == null || sCutHairYn == "undefined"){
  3988. messageBox("삭모 시행 여부를 ","C001");
  3989. return false;
  3990. }
  3991. */
  3992. var sXrayFlag = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "xrayflag"));
  3993. if (utlf_isNull(sXrayFlag)) {
  3994. sysf_messageBox("X-ray 촬영 여부를 선택하십시오.", "I000");
  3995. return false;
  3996. } else {
  3997. var XrayData = sXrayFlag.split(" ");
  3998. for (var i = 0; i < XrayData.length; i++) {
  3999. if (XrayData[i] == "3") {
  4000. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "xraydrugspec"))) {
  4001. sysf_messageBox("조영제 종류를 입력하십시오.", "I000");
  4002. return false;
  4003. }
  4004. }
  4005. }
  4006. }
  4007. var sDressingFlag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "drsflag");
  4008. if (utlf_isNull(sDressingFlag)) {
  4009. sysf_messageBox("Dressing 내역을 ", "C001");
  4010. return false;
  4011. }
  4012. /*
  4013. var sImplantFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/implantuseyn");
  4014. if(sImplantFlag == "" || sImplantFlag == "undefined" || sImplantFlag == null){
  4015. var sTempData = model.getValue("/root/main/SheetData3/ImplantLists/implantlist/goodhngnm");
  4016. if(sTempData == "" || sTempData == "undefined" || sTempData == null){
  4017. messageBox("Implant / Prosthesis 등록 내역을 다시","C001");
  4018. return false;
  4019. }
  4020. }
  4021. var sDrugFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/druguseyn");
  4022. if(sDrugFlag == "" || sDrugFlag == "undefined" || sDrugFlag == null){
  4023. var sTempData = model.getValue("/root/main/SheetData3/DrugLists/druglist/drugnm");
  4024. if(sTempData == "" || sTempData == "undefined" || sTempData == null){
  4025. messageBox("수술중 사용한 약품 등록 내역을 다시","C001");
  4026. return false;
  4027. }
  4028. }
  4029. var sDrqeFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/drgeuseyn");
  4030. if(sDrqeFlag == "" || sDrqeFlag == "undefined" || sDrqeFlag == null){
  4031. var sTempData = model.getValue("/root/main/SheetData3/DrgeLists/drgelist/drgenm");
  4032. if(sTempData == "" || sTempData == "undefined" || sTempData == null){
  4033. messageBox("배액관 내역을 다시","C001");
  4034. return false;
  4035. }
  4036. }
  4037. */
  4038. /*
  4039. var sEqmtFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/eqmtuseyn");
  4040. if(sEqmtFlag == "" || sEqmtFlag == "undefined" || sEqmtFlag == null){
  4041. var sTempData = model.getValue("/root/main/SheetData3/OpEqmtLists/opeqmtlist/opeqmtnm");
  4042. if(sTempData == "" || sTempData == "undefined" || sTempData == null){
  4043. messageBox("장비 내역을 다시","C001");
  4044. return false;
  4045. }
  4046. }
  4047. */
  4048. return true;
  4049. }
  4050. /* ------------------------------------------------- */
  4051. /* desc : 필수 입력 데이터 확인하기 */
  4052. /* -------------------------------------------------- */
  4053. function fConfirmInputData3()
  4054. {
  4055. var CheckCnt = 0;
  4056. var sTmpAnstKindChk = "";
  4057. CheckCnt = 0;
  4058. var preopcureflag = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "preopcureflag");
  4059. // 2009-02-09 ycd 수술기록 체위에 따른 피부변화 삭제 처리
  4060. //체위에 따른 피부변화 CheckCnt
  4061. /*
  4062. var iTempGridCnt = getNodesetCnt(model,"/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist");
  4063. var sNomalFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinflag");
  4064. if(iTempGridCnt > 0){
  4065. /*
  4066. var sAPFlag = "";
  4067. var sRLFlag = "";
  4068. var sPartcd = "";
  4069. var sOpbStat = "";
  4070. for(var i = 1; i <= iTempGridCnt; i++){
  4071. sAPFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist["++"]/apflag");
  4072. sRLFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist["++"]/rlflag");
  4073. sPartcd = model.getValue("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist["++"]/partcd");
  4074. sOpbStat = model.getValue("/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/lists/skinlist["++"]/opbstat");
  4075. //필요시 validcheck
  4076. }
  4077. }else{
  4078. if(sNomalFlag != "Y"){
  4079. messageBox("체위에 따른 피부변화 상태를 기록하십시오. ","I000");
  4080. }
  4081. }
  4082. */
  4083. // 2009-02-09 ycd 수술기록 체위에 따른 온냉요법 삭제 처리
  4084. //온냉요법 check
  4085. /*
  4086. iTempGridCnt = getNodesetCnt(model,"/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/lists/warmlist/warmcoldregm");
  4087. var sTmpNoneFlag = model.getValue("/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/lists/warmlist/warmnoneflag");
  4088. if(iTempGridCnt > 0){
  4089. //필요시 validcheck 추가
  4090. }else{
  4091. /*
  4092. if(sNomalFlag != "X"){
  4093. messageBox("온냉요법 적용 여부를 기록하십시오.","I000");
  4094. return false;
  4095. }
  4096. }
  4097. */
  4098. //2010-03-03 K. J. M 수술안함일경우 유효성체크 제외
  4099. var opnoyn = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnoyn");
  4100. //2010-04-19 K. J. M PHYSSTAT 6 장기기증환자 마취시간하고 수술시간 시간체크 안함
  4101. var physstat = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "physstat");
  4102. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck01"))) CheckCnt++;
  4103. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck02"))) CheckCnt++;
  4104. if (CheckCnt > 0) {
  4105. sTmpAnstKindChk = "M";
  4106. }
  4107. // 2009-02-09 ycd 수술기록 마취기록 연계정보 변경으로 인하여 삭제 처리
  4108. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck09") != "") CheckCnt++;
  4109. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck03") != "") CheckCnt++;
  4110. // 2009-02-09 ycd 수술기록 마취기록 연계정보 변경으로 인하여 추가
  4111. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck99") != "") CheckCnt++; //마취없음
  4112. //if (model.getValue(xPathData+"/anstkindspec/anstkind/anstcprchk") != "") CheckCnt++; //CPR
  4113. //2008-09-25 오전 12:57:03 taebum 주석처리.
  4114. //if (CheckCnt == 1 && model.getValue(xPathData+"/anstkindspec/anstkind/anstkindcheck03") == "S") { //
  4115. // 2009-02-09 ycd 수술기록 마취기록 연계정보 변경으로 인하여 기록 저장시 체크 부분 변경
  4116. if (ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstcprchk") == "Y") { // CPR
  4117. CheckCnt = 99;
  4118. sTmpAnstKindChk = "Y";
  4119. }
  4120. if (ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03") == "S" || // 국소마취
  4121. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck99") == "N") { // 마취없음
  4122. CheckCnt = 99;
  4123. sTmpAnstKindChk = "S";
  4124. }
  4125. if (ds_main_MnphopcrData_MnphopcrList.getColumn(0, "spcuseyn") != "X") { //검체 해당없음 체크가 풀려있으면 검체확인의 체크
  4126. if (ds_main_operation_list.getColumn(0, "opcnfmdd") <= ds_specdd.getColumn(0, "chkdd")) { //검체 기록을 과거 화면과 분리를 위해_20120904_손성훈.
  4127. var prcporderid = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "prcporderid");
  4128. if (utlf_isNull(prcporderid)) {
  4129. sysf_messageBox("수술간호기록지의 검체 확인의를 확인하십시오.!", "E000");
  4130. return false;
  4131. }
  4132. } else {
  4133. for (var i = 0; i < group3.switch1.case1.grp_specimen.grd_spclistnew.rowcount; i++) {
  4134. var prcporderid = ds_main_SheetData3_SpecimenLists_specimenlistnew.getColumn(i, "prcporderid");
  4135. if (utlf_isNull(prcporderid)) {
  4136. sysf_messageBox("수술간호기록지의 검체 확인의를 확인하십시오.!", "E000");
  4137. return false;
  4138. }
  4139. }
  4140. }
  4141. }
  4142. //2009-02-20 YCD 인증 저장 전 처리 필요 부분
  4143. if (sOpstatcd < "40") {
  4144. sysf_messageBox("인증저장 전 입실저장을 하시기 바랍니다.", "");
  4145. return false;
  4146. }
  4147. if (sOpstatcd < "50") {
  4148. sysf_messageBox("인증저장 전 퇴실저장을 하시기 바랍니다.", "");
  4149. return false;
  4150. }
  4151. if (sOpstatcd >= "40" && sOutflag == "N") { //수술이상이면서 퇴실저장안한 경우 2010.04.12 K. J. M
  4152. sysf_messageBox("인증저장 전 퇴실저장을 하시기 바랍니다.", "");
  4153. return false;
  4154. }
  4155. // 2009-02-16 ycd 저장 제어 조건 정리
  4156. // 공동 처리 부분(전신, 부분)======================================================================================================
  4157. if (utlf_isNull(sPatinroomdt) || utlf_isNull(sPatoutroomdt) || sPatinroomdt > sPatoutroomdt) {
  4158. sysf_messageBox("입실일시, 퇴실일시를 확인 하십시오.", "I000");
  4159. return false;
  4160. }
  4161. if ((!utlf_isNull(sPatoutroomdt) && utlf_isNull(sOpoutrmplcecd)) || (!utlf_isNull(sOpoutrmplcecd) && utlf_isNull(sPatoutroomdt))) {
  4162. sysf_messageBox("퇴실장소와 퇴실시간을 확인 하십시오.", "I000");
  4163. return false;
  4164. }
  4165. // =================================================================================================================================
  4166. //2010-04-13 오전 11:29:26 마취기록에서 마취기록변경을 체크하였을 경우 마취시작,종료/수술시작,종료 Check 로직 Check 안함 추가 taebum
  4167. var sAnstmthdchgflag = xPathData.getColumn(0, "anstmthdchgflag");
  4168. if (opnoyn != "Y") { //수술안함이면 체크안함.
  4169. //2009-02-20 YCD 기타 시간 체크 부분 처리
  4170. if (CheckCnt != 99) { //전신 부위 마취일경우
  4171. if (utlf_isNull(sAnstsrtdt) || utlf_isNull(sAnstenddt) || sAnstsrtdt > sAnstenddt) {
  4172. sysf_messageBox("마취기록지의 마취 시작, 종료일시를 확인하십시오.", "I000");
  4173. return false;
  4174. }
  4175. if (utlf_isNull(sOpfromdt) || utlf_isNull(sOptodt) || sOpfromdt > sOptodt) {
  4176. sysf_messageBox("마취기록지의 수술 시작, 종료일시를 확인하십시오.", "I000");
  4177. return false;
  4178. }
  4179. //2009-08-18 마취기록지 수술전처치체크 시 유효성체크 안함. 대기실에서 마취를 먼저 시작할 수 있음.K. J. M 최소현 선생님 요청
  4180. if (preopcureflag == "N") {
  4181. if (sAnstmthdchgflag != "Y") { //2010-04-13 오전 11:33:49 taebum add
  4182. if (sAnstsrtdt > sOpfromdt) {
  4183. sysf_messageBox("마취기록지의 마취시작일시를 확인 하십시오. \n\n마취시작일시가 수술시작일시 보다 늦습니다.", "I000");
  4184. return false;
  4185. }
  4186. }
  4187. }
  4188. if (sAnstmthdchgflag != "Y" && physstat != "06") { //2010-04-13 오전 11:33:49 taebum add, 2010.04.19 K. J. M 장기기증이 아닐때 체크
  4189. if (sAnstenddt < sOptodt) {
  4190. sysf_messageBox("마취기록지의 마취종료일시를 확인 하십시오. \n\n수술종료일시가 마취종료일시 보다 늦습니다.", "I000");
  4191. return false;
  4192. }
  4193. }
  4194. //2009-08-18 마취기록지 수술전처치체크 시 유효성체크 안함. 대기실에서 마취를 먼저 시작할 수 있음.K. J. M 최소현 선생님 요청
  4195. if (preopcureflag == "N") {
  4196. if (sPatinroomdt > sAnstsrtdt) {
  4197. sysf_messageBox("입실일시를 확인 하십시오. \n\n입실일시가 마취시작일시 보다 늦습니다.", "I000");
  4198. return false;
  4199. }
  4200. }
  4201. if (sPatinroomdt > sOpfromdt) {
  4202. sysf_messageBox("입실일시를 확인 하십시오. \n\n입실일시가 수술시작일시 보다 늦습니다.", "I000");
  4203. return false;
  4204. }
  4205. if (sAnstenddt > sPatoutroomdt) {
  4206. sysf_messageBox("퇴실일시를 확인 하십시오. \n\n마취종료일시가 퇴실일시 보다 늦습니다.", "I000");
  4207. return false;
  4208. }
  4209. if (sOptodt > sPatoutroomdt) {
  4210. sysf_messageBox("퇴실일시를 확인 하십시오. \n\n수술종료일시가 퇴실일시 보다 늦습니다.", "I000");
  4211. return false;
  4212. }
  4213. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석처리 및 환자 입실일시보다 집도의입실 일시 늦은경우 알림창 띄우기
  4214. // if (sPatinroomdt > sPerfidarvdt) {
  4215. // sysf_messageBox("집도의입실 일시를 확인 하십시오. \n\n환자 입실일시가 집도의입실 일시 보다 늦습니다.", "I000");
  4216. // return false;
  4217. // }
  4218. // if (sPerfidoutdt > sPatoutroomdt) {
  4219. // sysf_messageBox("집도의퇴실 일시를 확인 하십시오. \n\n집도의퇴실 일시가 환자 퇴실일시 보다 늦습니다.", "I000");
  4220. // return false;
  4221. // }
  4222. var varEntrid1 = utlf_transEmptyToNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid1"));
  4223. var varEntrtm1 = utlf_transEmptyToNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrtm1"));
  4224. if(!utlf_isNull(varEntrid1))
  4225. {
  4226. if(!utlf_isNull(varEntrtm1))
  4227. {
  4228. if(wPatinroomhh >varEntrtm1)
  4229. {
  4230. //20171204 이돈희 주석 처리 : 날짜가 없는 관계로 00시 기준으로 문제 발생으로 주석처리
  4231. //sysf_messageBox("집도의입실 일시를 확인 하십시오. \n\n환자 입실일시가 집도의입실 일시 보다 늦습니다.", "I000");
  4232. //return false;
  4233. }
  4234. }
  4235. }
  4236. //2009-02-13 ycd 수술간호기록 마취종류에 따른 시간 체크 로직 변경
  4237. /*
  4238. var sTmpAnstKind = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck03");
  4239. if((sTmpAnstKind != "S") && ((sAnstsrtdt == "" || sAnstenddt == "" || sAnstsrtdt >= sAnstenddt))){
  4240. messageBox("마취 시작, 종료일시를 확인 하십시오.","I000");
  4241. return false;
  4242. }
  4243. if ( (sTmpAnstKind != "S") && (sPatinroomdt > sAnstsrtdt)) {
  4244. //messageBox("마취시작일시가 입실일시 보다 빠릅니다. 다시","C001");
  4245. messageBox(" 입실일시를 확인 하십시오. \n\n 입실일시가 마취시작일시보다 늦습니다.","I000");
  4246. return false;
  4247. }
  4248. */
  4249. /*
  4250. //
  4251. if ((sTmpAnstKind != "S") && (sAnstenddt < sOptodt)) {
  4252. messageBox("마취종료일시가 수술종료일시 보다 빠릅니다. 다시","C001");
  4253. return false;
  4254. }
  4255. //
  4256. if ((sTmpAnstKind != "S") && (sAnstenddt > sPatoutroomdt)) {
  4257. messageBox("환자퇴실일시가 마취종료일시 보다 빠릅니다. 다시","C001");
  4258. return false;
  4259. }
  4260. */
  4261. } else { // 전신, 부위마취가 아닐 경우
  4262. if (sTmpAnstKindChk == "S") { //CPR만 선택 없이 국소 or 마취없음 선택시
  4263. // 2009-02-26 ycd 체크로직 하나로 합침
  4264. /*
  4265. if (sOpfromdt > sOptodt) {
  4266. //messageBox("수술관련 시간기록을 확인하십시오. \n\n수술종료일시가 수술시작일시 보다 빠릅니다.","I000");
  4267. messageBox("수술관련 시간기록을 확인하십시오.","I000");
  4268. return false;
  4269. }
  4270. if (sPatinroomdt > sOpfromdt) {
  4271. //messageBox("수술관련 시간기록을 확인하십시오. \n\n수술시작일시가 입실일시 보다 빠릅니다.","I000");
  4272. messageBox("수술관련 시간기록을 확인하십시오.","I000");
  4273. return false;
  4274. }
  4275. if (sPatoutroomdt > sOptodt) {
  4276. messageBox("수술관련 시간기록을 확인하십시오. \n\n수술종료일시가 퇴실일시 보다 빠릅니다.","I000");
  4277. return false;
  4278. }
  4279. */
  4280. if (utlf_isNull(sOpfromdt) || utlf_isNull(sOptodt) || sOpfromdt > sOptodt) {
  4281. sysf_messageBox("수술 시작, 종료일시를 확인하십시오.", "I000");
  4282. return false;
  4283. }
  4284. if (sPatinroomdt > sOpfromdt) {
  4285. sysf_messageBox("입실일시를 확인 하십시오. \n\n입실일시가 수술시작일시 보다 늦습니다.", "I000");
  4286. return false;
  4287. }
  4288. if (sOptodt > sPatoutroomdt) {
  4289. sysf_messageBox("퇴실일시를 확인 하십시오. \n\n수술종료일시가 퇴실일시 보다 늦습니다.", "I000");
  4290. return false;
  4291. }
  4292. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석처리
  4293. // if (sPatinroomdt > sPerfidarvdt) {
  4294. // sysf_messageBox("집도의입실 일시를 확인 하십시오. \n\n환자 입실일시가 집도의입실 일시 보다 늦습니다.", "I000");
  4295. // return false;
  4296. // }
  4297. // if (sPerfidoutdt > sPatoutroomdt) {
  4298. // sysf_messageBox("집도의퇴실 일시를 확인 하십시오. \n\n집도의퇴실 일시가 환자 퇴실일시 보다 늦습니다.", "I000");
  4299. // return false;
  4300. // }
  4301. }
  4302. }
  4303. }
  4304. // 2009-02-16 ycd 저장 제어 조건 정리
  4305. // 공동 처리 부분(전신, 부분)======================================================================================================
  4306. // //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석처리
  4307. // if (opnoyn != "Y")
  4308. // { //수술안함이면 체크안함.
  4309. // if (utlf_isNull(sPerfidarvdt) || utlf_isNull(sPerfidoutdt) || sPerfidarvdt > sPerfidoutdt)
  4310. // {
  4311. // sysf_messageBox("집도의 입실일시, 퇴실일시를 확인 하십시오.", "I000");
  4312. // return false;
  4313. // }
  4314. // }
  4315. //=================================================================================================================================
  4316. /*
  4317. //
  4318. if ((sTmpAnstKind != "S") && (sOptodt > sPatoutroomdt)) {
  4319. messageBox("환자퇴실일시가 마취종료일시 보다 빠릅니다. 다시","C001");
  4320. return false;
  4321. }
  4322. */
  4323. //2008-08-12 오후 3:22:41 taebum 국소마취일 경우에는 check 안하도록 수정. 입력 자체를 하지 않는다.
  4324. //2009-02-09 ycd 수술기록 마취기록 연계정보 변경으로 인하여 기록 저장시 체크 부분 변경
  4325. /*
  4326. var sTmpAnstKind = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck03");
  4327. if((sTmpAnstKind != "S") && ((sAnstsrtdt == "" && sAnstenddt != "") ||
  4328. (sAnstsrtdt != "" && sAnstenddt != "" && sAnstsrtdt > sAnstenddt) )){
  4329. messageBox("마취기록지 수술관련 시간기록을 확인하십시오. ","C001");
  4330. return false;
  4331. }*/
  4332. // 2009-02-16 ycd 기존 로직 삭제 처리
  4333. /*
  4334. if((sPatinroomdt == "" && sPatoutroomdt != "") ||
  4335. (sPatinroomdt != "" && sPatoutroomdt !="" && sPatinroomdt > sPatoutroomdt)){
  4336. messageBox("입실, 퇴실일시를 확인하십시오.","I000");
  4337. return false;
  4338. }
  4339. if((sPatinroomdt == "" || sPatoutroomdt =="" || sPatinroomdt > sPatoutroomdt)){
  4340. messageBox("입실, 퇴실일시를 확인하십시오.","I000");
  4341. return false;
  4342. }
  4343. if( (sTmpAnstKindChk != "Y" ) && (sOpfromdt == "" || sOptodt == "" || (sOpfromdt != "" && sOptodt != "" && sOpfromdt > sOptodt)) ){
  4344. messageBox("수술 시작, 종료일시를 확인하십시오.","I000");
  4345. return false;
  4346. }
  4347. if( (sTmpAnstKindChk != "Y" ) && (sOpfromdt == "" || sOptodt == "" || sOpfromdt > sOptodt)){
  4348. messageBox("수술 시작, 종료일시를 확인하십시오.","I000");
  4349. return false;
  4350. }
  4351. if(sOptodt != "" && sPatoutroomdt != "" && sOptodt > sPatoutroomdt){
  4352. messageBox("수술관련 시간기록을 확인하십시오. \n\n 퇴실일시가 수술종료일시보다 빠릅니다.","I000");
  4353. return false;
  4354. }
  4355. */
  4356. /*
  4357. if((sPerfidarvdt == "" && sPerfidoutdt != "") ||
  4358. (sPerfidarvdt != "" && sPerfidoutdt != "" && sPerfidarvdt > sPerfidoutdt)){
  4359. messageBox("집도의 도착, 퇴실일시를 확인하십시오.","I000");
  4360. return false;
  4361. }
  4362. if((sPerfidarvdt == "" || sPerfidoutdt == "" || sPerfidarvdt > sPerfidoutdt)){
  4363. messageBox("집도의입실, 퇴실일시를 확인하십시오.","I000");
  4364. return false;
  4365. }
  4366. */
  4367. /*
  4368. if(sPatoutroomdt != "" && sOpoutrmplcecd == ""){
  4369. messageBox("퇴실장소가 입력이 되었습니다. 퇴실일시도","C001");
  4370. return false;
  4371. }
  4372. */
  4373. //2009-02-13 인증저장시 Cheke 추가 자동완성 기능 추가
  4374. // var sEsuListCnt = getNodesetCount("/root/main/MnphopcrData/MnphopcrList/esuspec/esu/esulist"); //ESU 기록값 체크
  4375. // var sEsuListCnt = getNodesetCount("/root/main/SheetData3/OpEqmtLists/opeqmtlist");
  4376. // var sEsuListCnt = getNodesetCount("/root/main/MnphopcrData/MnphopcrList/tourniquetspec/tourniquet/tourniquetlist");
  4377. // var sEsuListCnt = getNodesetCount("/root/main/SheetData3/SpecimenLists/specimenlist");
  4378. // var sEsuListCnt = getNodesetCount("/root/main/MnphopcrData/MnphopcrList/opposturespec/opposture/opposturelist");
  4379. //
  4380. // if(getNodesetCount("/root/main/MnphopcrData/MnphopcrList/esuspec/esu/esulist") > 0){
  4381. //
  4382. // }
  4383. /*
  4384. if (sOpoutrmplcecd == ""){
  4385. messageBox("퇴실장소를 확인하십시오.","I000");
  4386. return false;
  4387. }
  4388. */
  4389. //2008-09-04 오후 10:34:39 taebum 주/부수술 모두 확인하도록 수정
  4390. //주수술기록일 경우에만 check
  4391. //if( (model.getValue(xPathData+"/oprsrvno") != model.getValue(xPathData+"/mainoprsrvno")) &&
  4392. // (model.getValue(xPathData+"/mainoprsrvno") != "-" ) ){
  4393. //skip
  4394. //}else{
  4395. // 2009-02-20 YCD 저장 데이터 체크 조건 순서 변경
  4396. /*
  4397. if (sOpstatcd < "40"){
  4398. messageBox("인증저장 전 입실저장을 하시기 바랍니다.","");
  4399. return false;
  4400. }
  4401. if (sOpstatcd < "50"){
  4402. messageBox("인증저장 전 퇴실저장을 하시기 바랍니다.","");
  4403. return false;
  4404. }
  4405. */
  4406. //}
  4407. return true;
  4408. }
  4409. /* ------------------------------------------------- */
  4410. /* desc : 수술간호기록정보 조합하기 */
  4411. /* param : */
  4412. /* return : */
  4413. /* -------------------------------------------------- */
  4414. function fMnphopcrDataConcatenate(pFlag) {
  4415. // 00 수술간호기록정보
  4416. //----(20110512) 불일치조치사항 추가
  4417. // sMnphopcrData = "oprsrvno" + "▦" // 01 CHARACTER(10) 수술예약(의뢰)번호(년도+일련번호)
  4418. // + "instcd" + "▦" // 02 CHARACTER(3) 기관코드
  4419. // + "pid" + "▦" // 03 VARCHAR(10) 환자번호
  4420. // + "optrustflag" + "▦" // 04 VARCHAR(1) 수술의뢰구분-정규(일반)E응급
  4421. // + "oppatflag" + "▦" // 05 CHARACTER(1) 수술환자구분
  4422. // + "opbfpatcnfmspec" + "▦" // 06 "SYSIBM"."XML" 수술전환자확인내역
  4423. // + "oppartdispyn" + "▦" // 07 CHARACTER(1) 수술부위표시여부
  4424. // + "timeoutspec" + "▦" // 08 "SYSIBM"."XML" TimeOut내역
  4425. // + "anstkindspec" + "▦" // 09 "SYSIBM"."XML" 마취종류내역
  4426. // + "opposturespec" + "▦" // 10 "SYSIBM"."XML" 수술체위내역
  4427. // + "skindinfspec" + "▦" // 11 "SYSIBM"."XML" 피부소독제내역
  4428. // + "aftopopnm" + "▦" // 12 "SYSIBM"."XML" 수술후수술명
  4429. // + "opscale" + "▦" // 13 CHARACTER(01) 수술스케일 L,M,S
  4430. // + "patinroomdt" + "▦" // 14 CHARACTER(14) 환자입실시간
  4431. // + "patoutroomdt" + "▦" // 15 CHARACTER(14) 환자퇴실시간
  4432. // + "anstsrtdt" + "▦" // 16 CHARACTER(14) 마취시작시간
  4433. // + "anstenddt" + "▦" // 17 CHARACTER(14) 마취종료시간
  4434. // + "perfidarvdt" + "▦" // 18 CHARACTER(14) 집도의도착일시
  4435. // + "perfidoutdt" + "▦" // 19 CHARACTER(14) 집도의퇴실일시
  4436. // + "opfromdt" + "▦" // 20 CHARACTER(14) 수술시작일자
  4437. // + "optodt" + "▦" // 21 CHARACTER(14) 수술종료일자
  4438. // + "opoutrmplcecd" + "▦" // 22 VARCHAR(10) 수술후퇴실장소
  4439. // + "opoutrmplcenm" + "▦" // 23 VARCHAR(50) 수술후퇴실장소기타
  4440. // + "esuspec" + "▦" // 24 "SYSIBM"."XML" ESU내역
  4441. // + "tourniquetspec" + "▦" // 25 "SYSIBM"."XML" Tourniquet내역
  4442. // + "warmcoldregmspec" + "▦" // 26 "SYSIBM"."XML" 온냉요법내역
  4443. // + "postureskinupdtspec" + "▦" // 27 "SYSIBM"."XML" 체위에따른피부변화내역
  4444. // + "counspec" + "▦" // 28 "SYSIBM"."XML" Count,내역
  4445. // + "packingspec" + "▦" // 29 "SYSIBM"."XML" Packing내역
  4446. // + "certno" + "▦" // 30 VARCHAR(17) 인증코드
  4447. // + "opcnfmdd" + "▦" // 31 CHARACTER(8) 수술확정일자(의뢰상태일경우예정일자와동일)
  4448. // + "fstrgstrid" + "▦" // 32 CHARACTER(10) 최초등록자ID(시스템정보)
  4449. // + "lastupdtid" + "▦" // 33 CHARACTER(10) 최종수정자(시스템정보)
  4450. // + "opstatcd" + "▦" // 34 진행상태
  4451. // + "opstatcdnew" + "▦" // 35 진행상태
  4452. // + "ophistno" + "▦" // 36 예약번호에따른이력번호
  4453. // + "recstat" + "▦" // 37 Record 상태정보 I:신규,U:수정
  4454. // + "druguseyn" + "▦" // 38 약품사용여부
  4455. // + "drugcmt" + "▦" // 39 약품비고
  4456. // + "drgeuseyn" + "▦" // 40 배액관사용여부
  4457. // + "drgecmt" + "▦" // 41 배액관비고
  4458. // + "eqmtuseyn" + "▦" // 42 장비사용여부
  4459. // + "eqmtcmt" + "▦" // 43 장비비고
  4460. // + "implantuseyn" + "▦" // 44 Implant 사용 여부
  4461. // + "implantcmt" + "▦" // 45 Implant비고
  4462. // + "tnsyn" + "▦" // 46 수혈여부
  4463. // + "spcuseyn" + "▦" // 47 검체사용여부
  4464. // + "carerecuseyn" + "▦" // 48 간호기록사용여부
  4465. // + "certflag" + "▦" // 49 임시/인증 저장 여부(C:인증, T:임시)
  4466. // + "cuthairflag" + "▦" // 50 삭모구분
  4467. // + "xrayflag" + "▦" // 51 X-Ray 구분
  4468. // + "xraydrugspec" + "▦" // 52 X-Ray 조영제 사용 text
  4469. // + "drsflag" + "▦" // 53 Dressing 구분
  4470. // + "drsetc" + "▦" // 54 Dressing 기타 입력 text
  4471. // + "nocountdoctid" + "▦" // 55 집도의 요청에 이한 계수확인 안함 집도의ID
  4472. // + "icugoflag" + "▦" // 56 ICU 회복환자 관리용 회복실 입실구분
  4473. // + "extcyn" + "▦" // 57 적출물여부
  4474. // + "skinstatflag" + "▦" // 58 피부상태구분
  4475. // + "delivyn" + "▦" // 59 분만여부
  4476. // + "platatransid" + "▦" // 60 태반운반자
  4477. // + "otyn" + "▦" // 61 장기이식여부
  4478. // + "patopinsndsmsid" + "▦" // 62 환자입실smsID
  4479. // + "patopoutsndsmsid" + "▦" // 63 환자퇴실SMSID
  4480. // + "escopeeqmtuseyn" + "▦" // 64 내시경장비사용여부
  4481. // + "insuremark" + "▦" // 65 보험팀전달사항
  4482. // + "prcporderid" + "▦" // 66 처방의사ID
  4483. // + "deptremark" + "▦" // 67 부서Remark
  4484. // + "oproomremark" + "▦" // 68 수술실Remark
  4485. // + "opcntlistremark" + "▦" // 69 수술count리스트 Remark
  4486. // + "opnursrectimeremark" + "▦" // 70 수술지연사유정보
  4487. // + "spccmt" + "▦" // 71 검체비고입력
  4488. // + "opnoyn" + "▦" // 72 수술안함여부
  4489. // + "outflag" + "▦" // 73 퇴실저장여부
  4490. // + "mainoprsrvno" + "▩" // 74 MAINOPRSRVNO
  4491. //
  4492. // sMnphopcrData += sOprsrvno + "▦" // 01 CHARACTER(10) 수술예약(의뢰)번호(년도+일련번호)
  4493. // + sInstcd + "▦" // 02 CHARACTER(3) 기관코드
  4494. // + sPid + "▦" // 03 VARCHAR(10) 환자번호
  4495. // + sOptrustflag + "▦" // 04 VARCHAR(1) 수술의뢰구분-정규(일반)E응급
  4496. // + sOppatflag + "▦" // 05 CHARACTER(1) 수술환자구분
  4497. // + sOpbfpatcnfmspec + "▦" // 06 "SYSIBM"."XML" 수술전환자확인내역
  4498. // + sOppartdispyn + "▦" // 07 CHARACTER(1) 수술부위표시여부
  4499. // + sTimeoutspec + "▦" // 08 "SYSIBM"."XML" TimeOut내역
  4500. // + sAnstkindspec + "▦" // 09 "SYSIBM"."XML" 마취종류내역
  4501. // + sOpposturespec + "▦" // 10 "SYSIBM"."XML" 수술체위내역
  4502. // + sSkindinfspec + "▦" // 11 "SYSIBM"."XML" 피부소독제내역
  4503. // + sAftopopnm + "▦" // 12 "SYSIBM"."XML" 수술후수술명
  4504. // + sOpscale + "▦" // 13 CHARACTER(01) 수술스케일 L,M,S
  4505. // + sPatinroomdt + "▦" // 14 CHARACTER(14) 환자입실시간
  4506. // + sPatoutroomdt + "▦" // 15 CHARACTER(14) 환자퇴실시간
  4507. // + sAnstsrtdt + "▦" // 16 CHARACTER(14) 마취시작시간
  4508. // + sAnstenddt + "▦" // 17 CHARACTER(14) 마취종료시간
  4509. // + sPerfidarvdt + "▦" // 18 CHARACTER(14) 집도의도착일시
  4510. // + sPerfidoutdt + "▦" // 19 CHARACTER(14) 집도의퇴실일시
  4511. // + sOpfromdt + "▦" // 20 CHARACTER(14) 수술시작일자
  4512. // + sOptodt + "▦" // 21 CHARACTER(14) 수술종료일자
  4513. // + sOpoutrmplcecd + "▦" // 22 VARCHAR(10) 수술후퇴실장소
  4514. // + sOpoutrmplcenm + "▦" // 23 VARCHAR(50) 수술후퇴실장소기타
  4515. // + sEsuspec + "▦" // 24 "SYSIBM"."XML" ESU내역
  4516. // + sTourniquetspec + "▦" // 25 "SYSIBM"."XML" Tourniquet내역
  4517. // + sWarmcoldregmspec + "▦" // 26 "SYSIBM"."XML" 온냉요법내역
  4518. // + sPostureskinupdtspec + "▦" // 27 "SYSIBM"."XML" 체위에따른피부변화내역
  4519. // + sCounspec + "▦" // 28 "SYSIBM"."XML" Count,내역
  4520. // + sPackingspec + "▦" // 29 "SYSIBM"."XML" Packing내역
  4521. // + sCertno + "▦" // 30 VARCHAR(17) 인증코드
  4522. // + sOpcnfmdd + "▦" // 31 CHARACTER(8) 수술확정일자(의뢰상태일경우예정일자와동일)
  4523. // + sFstrgstrid + "▦" // 32 CHARACTER(10) 최초등록자ID(시스템정보)
  4524. // + sLastupdtid + "▦" // 33 CHARACTER(10) 최종수정자(시스템정보)
  4525. // + sOpstatcd + "▦" // 34 진행상태
  4526. // + sOpstatcdnew + "▦" // 35 진행상태
  4527. // + sOphistno + "▦" // 36 예약번호에따른이력번호
  4528. // + sRecstat + "▦" // 37 Record 상태정보 I:신규,U:수정
  4529. // + sDrugUseYN + "▦" // 38 약품사용여부분
  4530. // + sDrugCmt + "▦" // 39 약품비고
  4531. // + sDrgeUseYN + "▦" // 40 배액관사용여부
  4532. // + sDrgeCmt + "▦" // 41 배액관비고
  4533. // + sEqmtUseYN + "▦" // 42 장비사용여부
  4534. // + sEqmtCmt + "▦" // 43 장비비고
  4535. // + sImplantUseYN + "▦" // 44 Implant 사용 여부
  4536. // + sImplantCmt + "▦" // 45 Implant비고
  4537. // + sTnsYN + "▦" // 46 수혈여부
  4538. // + sSpcUseYN + "▦" // 47 검체사용여부
  4539. // + sCareRecUseYN + "▦" // 48 간호기록사용여부
  4540. // + pFlag + "▦" // 49 임시/인증 저장 여부(C:인증, T:임시)
  4541. // + sCuthairflag + "▦" // 50 삭모구분
  4542. // + sXrayflag + "▦" // 51 X-Ray 구분
  4543. // + sXraydrugspec + "▦" // 52 X-Ray 조영제 사용 입력 text
  4544. // + sDrsflag + "▦" // 53 Dressing 구분
  4545. // + sDrsetc + "▦" // 54 Dressing 기타 입력 text
  4546. // + sNocountdoctid + "▦" // 55 집도의 요청에 의한 계수확인 안함 집도의ID
  4547. // + sIcuGoFlag + "▦" // 56 중환자실용 회복환자 관리 flag
  4548. // + sExtcyn + "▦" // 57 적출물여부
  4549. // + sSkinstatflag + "▦" // 58 피부상태구분
  4550. // + sDelivyn + "▦" // 59 분만여부
  4551. // + sPlatatransid + "▦" // 60 태반운반자
  4552. // + sOtyn + "▦" // 61 장기이식여부
  4553. // + sPatopinsndsmsid + "▦" // 62 환자입실smsID
  4554. // + sPatopoutsndsmsid + "▦" // 63 환자퇴실SMSID
  4555. // + sEscopeeqmtuseyn + "▦" // 64 내시경장비사용여부
  4556. // + sInsuremark + "▦" // 65 보험팀전달사항
  4557. // + sPrcporderid + "▦" // 66 처방의사ID
  4558. // + sDeptremark + "▦" // 67 부서Remark
  4559. // + sOproomremark + "▦" // 68 수술실Remark
  4560. // + sOpcntlistremark + "▦" // 69 수술count리스트 Remark
  4561. // + sOpNursRecTimeRemark + "▦" // 70 수술지연사유정보
  4562. // + sSpcCmt + "▦" // 71 검체비고입력
  4563. // + model.getValue("/root/main/MnphopcrData/MnphopcrList/opnoyn") + "▦" // 72 수술안함 여부
  4564. // + sOutflag + "▦" // 73 퇴실저장여부
  4565. // + model.getValue("/root/main/MnphopcrData/MnphopcrList/mainoprsrvno") + "▩"; // 74 MAINOPRSRVNO
  4566. sMnphopcrData = "oprsrvno" + "▦" // 01 CHARACTER(10) 수술예약(의뢰)번호(년도+일련번호)
  4567. +
  4568. "instcd" + "▦" // 02 CHARACTER(3) 기관코드
  4569. +
  4570. "pid" + "▦" // 03 VARCHAR(10) 환자번호
  4571. +
  4572. "optrustflag" + "▦" // 04 VARCHAR(1) 수술의뢰구분-정규(일반)E응급
  4573. +
  4574. "oppatflag" + "▦" // 05 CHARACTER(1) 수술환자구분
  4575. +
  4576. "opbfpatcnfmspec" + "▦" // 06 "SYSIBM"."XML" 수술전환자확인내역
  4577. +
  4578. "oppartdispyn" + "▦" // 07 CHARACTER(1) 수술부위표시여부
  4579. +
  4580. "timeoutspec" + "▦" // 08 "SYSIBM"."XML" TimeOut내역
  4581. +
  4582. "anstkindspec" + "▦" // 09 "SYSIBM"."XML" 마취종류내역
  4583. +
  4584. "opposturespec" + "▦" // 10 "SYSIBM"."XML" 수술체위내역
  4585. +
  4586. "skindinfspec" + "▦" // 11 "SYSIBM"."XML" 피부소독제내역
  4587. +
  4588. "aftopopnm" + "▦" // 12 "SYSIBM"."XML" 수술후수술명
  4589. +
  4590. "opscale" + "▦" // 13 CHARACTER(01) 수술스케일 L,M,S
  4591. +
  4592. "patinroomdt" + "▦" // 14 CHARACTER(14) 환자입실시간
  4593. +
  4594. "patoutroomdt" + "▦" // 15 CHARACTER(14) 환자퇴실시간
  4595. +
  4596. "anstsrtdt" + "▦" // 16 CHARACTER(14) 마취시작시간
  4597. +
  4598. "anstenddt" + "▦" // 17 CHARACTER(14) 마취종료시간
  4599. +
  4600. "perfidarvdt" + "▦" // 18 CHARACTER(14) 집도의도착일시
  4601. +
  4602. "perfidoutdt" + "▦" // 19 CHARACTER(14) 집도의퇴실일시
  4603. +
  4604. "opfromdt" + "▦" // 20 CHARACTER(14) 수술시작일자
  4605. +
  4606. "optodt" + "▦" // 21 CHARACTER(14) 수술종료일자
  4607. +
  4608. "opoutrmplcecd" + "▦" // 22 VARCHAR(10) 수술후퇴실장소
  4609. +
  4610. "opoutrmplcenm" + "▦" // 23 VARCHAR(50) 수술후퇴실장소기타
  4611. +
  4612. "esuspec" + "▦" // 24 "SYSIBM"."XML" ESU내역
  4613. +
  4614. "tourniquetspec" + "▦" // 25 "SYSIBM"."XML" Tourniquet내역
  4615. +
  4616. "warmcoldregmspec" + "▦" // 26 "SYSIBM"."XML" 온냉요법내역
  4617. +
  4618. "postureskinupdtspec" + "▦" // 27 "SYSIBM"."XML" 체위에따른피부변화내역
  4619. +
  4620. "counspec" + "▦" // 28 "SYSIBM"."XML" Count,내역
  4621. +
  4622. "packingspec" + "▦" // 29 "SYSIBM"."XML" Packing내역
  4623. +
  4624. "certno" + "▦" // 30 VARCHAR(17) 인증코드
  4625. +
  4626. "opcnfmdd" + "▦" // 31 CHARACTER(8) 수술확정일자(의뢰상태일경우예정일자와동일)
  4627. +
  4628. "fstrgstrid" + "▦" // 32 CHARACTER(10) 최초등록자ID(시스템정보)
  4629. +
  4630. "lastupdtid" + "▦" // 33 CHARACTER(10) 최종수정자(시스템정보)
  4631. +
  4632. "opstatcd" + "▦" // 34 진행상태
  4633. +
  4634. "opstatcdnew" + "▦" // 35 진행상태
  4635. +
  4636. "ophistno" + "▦" // 36 예약번호에따른이력번호
  4637. +
  4638. "recstat" + "▦" // 37 Record 상태정보 I:신규,U:수정
  4639. +
  4640. "druguseyn" + "▦" // 38 약품사용여부
  4641. +
  4642. "drugcmt" + "▦" // 39 약품비고
  4643. +
  4644. "drgeuseyn" + "▦" // 40 배액관사용여부
  4645. +
  4646. "drgecmt" + "▦" // 41 배액관비고
  4647. +
  4648. "eqmtuseyn" + "▦" // 42 장비사용여부
  4649. +
  4650. "eqmtcmt" + "▦" // 43 장비비고
  4651. +
  4652. "implantuseyn" + "▦" // 44 Implant 사용 여부
  4653. +
  4654. "implantcmt" + "▦" // 45 Implant비고
  4655. +
  4656. "tnsyn" + "▦" // 46 수혈여부
  4657. +
  4658. "spcuseyn" + "▦" // 47 검체사용여부
  4659. +
  4660. "carerecuseyn" + "▦" // 48 간호기록사용여부
  4661. +
  4662. "certflag" + "▦" // 49 임시/인증 저장 여부(C:인증, T:임시)
  4663. +
  4664. "cuthairflag" + "▦" // 50 삭모구분
  4665. +
  4666. "xrayflag" + "▦" // 51 X-Ray 구분
  4667. +
  4668. "xraydrugspec" + "▦" // 52 X-Ray 조영제 사용 text
  4669. +
  4670. "drsflag" + "▦" // 53 Dressing 구분
  4671. +
  4672. "drsetc" + "▦" // 54 Dressing 기타 입력 text
  4673. +
  4674. "nocountdoctid" + "▦" // 55 집도의 요청에 이한 계수확인 안함 집도의ID
  4675. +
  4676. "icugoflag" + "▦" // 56 ICU 회복환자 관리용 회복실 입실구분
  4677. +
  4678. "extcyn" + "▦" // 57 적출물여부
  4679. +
  4680. "skinstatflag" + "▦" // 58 피부상태구분
  4681. +
  4682. "delivyn" + "▦" // 59 분만여부
  4683. +
  4684. "platatransid" + "▦" // 60 태반운반자
  4685. +
  4686. "otyn" + "▦" // 61 장기이식여부
  4687. +
  4688. "patopinsndsmsid" + "▦" // 62 환자입실smsID
  4689. +
  4690. "patopoutsndsmsid" + "▦" // 63 환자퇴실SMSID
  4691. +
  4692. "escopeeqmtuseyn" + "▦" // 64 내시경장비사용여부
  4693. +
  4694. "insuremark" + "▦" // 65 보험팀전달사항
  4695. +
  4696. "prcporderid" + "▦" // 66 처방의사ID
  4697. +
  4698. "deptremark" + "▦" // 67 부서Remark
  4699. +
  4700. "oproomremark" + "▦" // 68 수술실Remark
  4701. +
  4702. "opcntlistremark" + "▦" // 69 수술count리스트 Remark
  4703. +
  4704. "opnursrectimeremark" + "▦" // 70 수술지연사유정보
  4705. +
  4706. "spccmt" + "▦" // 71 검체비고입력
  4707. +
  4708. "opnoyn" + "▦" // 72 수술안함여부
  4709. +
  4710. "outflag" + "▦" // 73 퇴실저장여부
  4711. +
  4712. "mainoprsrvno" + "▦" // 74 MAINOPRSRVNO
  4713. +
  4714. "opdiscordspec" + "▦" // 75 불일치조치사항
  4715. +
  4716. "obrecyn" + "▦" // 76 관찰기록여부
  4717. +
  4718. "calmflag" + "▦" // 77 진정유무
  4719. +
  4720. "opcntlisttoexecyn" + "▩"; // 78 수술count리스트 Time Out 시행여부
  4721. sMnphopcrData += utlf_transNullToEmpty(sOprsrvno) + "▦" // 01 CHARACTER(10) 수술예약(의뢰)번호(년도+일련번호)
  4722. +
  4723. utlf_transNullToEmpty(sInstcd) + "▦" // 02 CHARACTER(3) 기관코드
  4724. +
  4725. utlf_transNullToEmpty(sPid) + "▦" // 03 VARCHAR(10) 환자번호
  4726. +
  4727. utlf_transNullToEmpty(sOptrustflag) + "▦" // 04 VARCHAR(1) 수술의뢰구분-정규(일반)E응급
  4728. +
  4729. utlf_transNullToEmpty(sOppatflag) + "▦" // 05 CHARACTER(1) 수술환자구분
  4730. +
  4731. utlf_transNullToEmpty(sOpbfpatcnfmspec) + "▦" // 06 "SYSIBM"."XML" 수술전환자확인내역
  4732. +
  4733. utlf_transNullToEmpty(sOppartdispyn) + "▦" // 07 CHARACTER(1) 수술부위표시여부
  4734. +
  4735. utlf_transNullToEmpty(sTimeoutspec) + "▦" // 08 "SYSIBM"."XML" TimeOut내역
  4736. +
  4737. utlf_transNullToEmpty(sAnstkindspec) + "▦" // 09 "SYSIBM"."XML" 마취종류내역
  4738. +
  4739. utlf_transNullToEmpty(sOpposturespec) + "▦" // 10 "SYSIBM"."XML" 수술체위내역
  4740. +
  4741. utlf_transNullToEmpty(sSkindinfspec) + "▦" // 11 "SYSIBM"."XML" 피부소독제내역
  4742. +
  4743. utlf_transNullToEmpty(sAftopopnm) + "▦" // 12 "SYSIBM"."XML" 수술후수술명
  4744. +
  4745. utlf_transNullToEmpty(sOpscale) + "▦" // 13 CHARACTER(01) 수술스케일 L,M,S
  4746. +
  4747. utlf_transNullToEmpty(sPatinroomdt) + "▦" // 14 CHARACTER(14) 환자입실시간
  4748. +
  4749. utlf_transNullToEmpty(sPatoutroomdt) + "▦" // 15 CHARACTER(14) 환자퇴실시간
  4750. +
  4751. utlf_transNullToEmpty(sAnstsrtdt) + "▦" // 16 CHARACTER(14) 마취시작시간
  4752. +
  4753. utlf_transNullToEmpty(sAnstenddt) + "▦" // 17 CHARACTER(14) 마취종료시간
  4754. +
  4755. utlf_transNullToEmpty(sPerfidarvdt) + "▦" // 18 CHARACTER(14) 집도의도착일시
  4756. +
  4757. utlf_transNullToEmpty(sPerfidoutdt) + "▦" // 19 CHARACTER(14) 집도의퇴실일시
  4758. +
  4759. utlf_transNullToEmpty(sOpfromdt) + "▦" // 20 CHARACTER(14) 수술시작일자
  4760. +
  4761. utlf_transNullToEmpty(sOptodt) + "▦" // 21 CHARACTER(14) 수술종료일자
  4762. +
  4763. utlf_transNullToEmpty(sOpoutrmplcecd) + "▦" // 22 VARCHAR(10) 수술후퇴실장소
  4764. +
  4765. utlf_transNullToEmpty(sOpoutrmplcenm) + "▦" // 23 VARCHAR(50) 수술후퇴실장소기타
  4766. +
  4767. utlf_transNullToEmpty(sEsuspec) + "▦" // 24 "SYSIBM"."XML" ESU내역
  4768. +
  4769. utlf_transNullToEmpty(sTourniquetspec) + "▦" // 25 "SYSIBM"."XML" Tourniquet내역
  4770. +
  4771. utlf_transNullToEmpty(sWarmcoldregmspec) + "▦" // 26 "SYSIBM"."XML" 온냉요법내역
  4772. +
  4773. utlf_transNullToEmpty(sPostureskinupdtspec) + "▦" // 27 "SYSIBM"."XML" 체위에따른피부변화내역
  4774. +
  4775. utlf_transNullToEmpty(sCounspec) + "▦" // 28 "SYSIBM"."XML" Count,내역
  4776. +
  4777. utlf_transNullToEmpty(sPackingspec) + "▦" // 29 "SYSIBM"."XML" Packing내역
  4778. +
  4779. utlf_transNullToEmpty(sCertno) + "▦" // 30 VARCHAR(17) 인증코드
  4780. +
  4781. utlf_transNullToEmpty(sOpcnfmdd) + "▦" // 31 CHARACTER(8) 수술확정일자(의뢰상태일경우예정일자와동일)
  4782. +
  4783. utlf_transNullToEmpty(sFstrgstrid) + "▦" // 32 CHARACTER(10) 최초등록자ID(시스템정보)
  4784. +
  4785. utlf_transNullToEmpty(sLastupdtid) + "▦" // 33 CHARACTER(10) 최종수정자(시스템정보)
  4786. +
  4787. utlf_transNullToEmpty(sOpstatcd) + "▦" // 34 진행상태
  4788. +
  4789. utlf_transNullToEmpty(sOpstatcdnew) + "▦" // 35 진행상태
  4790. +
  4791. utlf_transNullToEmpty(sOphistno) + "▦" // 36 예약번호에따른이력번호
  4792. +
  4793. utlf_transNullToEmpty(sRecstat) + "▦" // 37 Record 상태정보 I:신규,U:수정
  4794. +
  4795. utlf_transNullToEmpty(sDrugUseYN) + "▦" // 38 약품사용여부분
  4796. +
  4797. utlf_transNullToEmpty(sDrugCmt) + "▦" // 39 약품비고
  4798. +
  4799. utlf_transNullToEmpty(sDrgeUseYN) + "▦" // 40 배액관사용여부
  4800. +
  4801. utlf_transNullToEmpty(sDrgeCmt) + "▦" // 41 배액관비고
  4802. +
  4803. utlf_transNullToEmpty(sEqmtUseYN) + "▦" // 42 장비사용여부
  4804. +
  4805. utlf_transNullToEmpty(sEqmtCmt) + "▦" // 43 장비비고
  4806. +
  4807. utlf_transNullToEmpty(sImplantUseYN) + "▦" // 44 Implant 사용 여부
  4808. +
  4809. utlf_transNullToEmpty(sImplantCmt) + "▦" // 45 Implant비고
  4810. +
  4811. utlf_transNullToEmpty(sTnsYN) + "▦" // 46 수혈여부
  4812. +
  4813. utlf_transNullToEmpty(sSpcUseYN) + "▦" // 47 검체사용여부
  4814. +
  4815. utlf_transNullToEmpty(sCareRecUseYN) + "▦" // 48 간호기록사용여부
  4816. +
  4817. utlf_transNullToEmpty(pFlag) + "▦" // 49 임시/인증 저장 여부(C:인증, T:임시)
  4818. +
  4819. utlf_transNullToEmpty(sCuthairflag) + "▦" // 50 삭모구분
  4820. +
  4821. utlf_transNullToEmpty(sXrayflag) + "▦" // 51 X-Ray 구분
  4822. +
  4823. utlf_transNullToEmpty(sXraydrugspec) + "▦" // 52 X-Ray 조영제 사용 입력 text
  4824. +
  4825. utlf_transNullToEmpty(sDrsflag) + "▦" // 53 Dressing 구분
  4826. +
  4827. utlf_transNullToEmpty(sDrsetc) + "▦" // 54 Dressing 기타 입력 text
  4828. +
  4829. utlf_transNullToEmpty(sNocountdoctid) + "▦" // 55 집도의 요청에 의한 계수확인 안함 집도의ID
  4830. +
  4831. utlf_transNullToEmpty(sIcuGoFlag) + "▦" // 56 중환자실용 회복환자 관리 flag
  4832. +
  4833. utlf_transNullToEmpty(sExtcyn) + "▦" // 57 적출물여부
  4834. +
  4835. utlf_transNullToEmpty(sSkinstatflag) + "▦" // 58 피부상태구분
  4836. +
  4837. utlf_transNullToEmpty(sDelivyn) + "▦" // 59 분만여부
  4838. +
  4839. utlf_transNullToEmpty(sPlatatransid) + "▦" // 60 태반운반자
  4840. +
  4841. utlf_transNullToEmpty(sOtyn) + "▦" // 61 장기이식여부
  4842. +
  4843. utlf_transNullToEmpty(sPatopinsndsmsid) + "▦" // 62 환자입실smsID
  4844. +
  4845. utlf_transNullToEmpty(sPatopoutsndsmsid) + "▦" // 63 환자퇴실SMSID
  4846. +
  4847. utlf_transNullToEmpty(sEscopeeqmtuseyn) + "▦" // 64 내시경장비사용여부
  4848. +
  4849. utlf_transNullToEmpty(sInsuremark) + "▦" // 65 보험팀전달사항
  4850. +
  4851. utlf_transNullToEmpty(sPrcporderid) + "▦" // 66 처방의사ID
  4852. +
  4853. utlf_transNullToEmpty(sDeptremark) + "▦" // 67 부서Remark
  4854. +
  4855. utlf_transNullToEmpty(sOproomremark) + "▦" // 68 수술실Remark
  4856. +
  4857. utlf_transNullToEmpty(sOpcntlistremark) + "▦" // 69 수술count리스트 Remark
  4858. +
  4859. utlf_transNullToEmpty(sOpNursRecTimeRemark) + "▦" // 70 수술지연사유정보
  4860. +
  4861. utlf_transNullToEmpty(sSpcCmt) + "▦" // 71 검체비고입력
  4862. +
  4863. utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnoyn")) + "▦" // 72 수술안함 여부
  4864. +
  4865. utlf_transNullToEmpty(sOutflag) + "▦" // 73 퇴실저장여부
  4866. +
  4867. utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "mainoprsrvno")) + "▦" // 74 MAINOPRSRVNO
  4868. +
  4869. utlf_transNullToEmpty(opdiscordspec) + "▦" // 75 "SYSIBM"."XML" 불일치시조치사항
  4870. +
  4871. utlf_transNullToEmpty(sObRecyn) + "▦" // 76 관찰기록여부
  4872. +
  4873. utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "calmflag")) + "▦" // 77 진정유무
  4874. +
  4875. utlf_transNullToEmpty(sOpcntlisttoexecyn) + "▩" // 78 수술count리스트 Time Out 시행여부
  4876. //----(20110512) 불일치조치사항 추가
  4877. dsf_setCSVToDs("ds_send_MnphopcrList", sMnphopcrData);
  4878. if (pFlag != "Y") {
  4879. fDetailDataConcatenate(); // 기타상세 기록정보 조합하기
  4880. }
  4881. }
  4882. /* ------------------------------------------------- */
  4883. /* desc : 기타상세 기록정보 조합하기 */
  4884. /* -------------------------------------------------- */
  4885. function fDetailDataConcatenate() {
  4886. //ESU 자동 삭제 기능 추가
  4887. var iRow = group3.switch1.case1.grp_esu.grd_esu.rowcount - 1;
  4888. for (var i = iRow; i > -1; i--) {
  4889. if ((utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "mfrcut")) || ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "mfrcut") == "0") &&
  4890. (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "mfrcong")) || ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "mfrcong") == "0") &&
  4891. (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "bwatt")) || ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "bwatt") == "0") &&
  4892. utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, "imgpostview"))) {
  4893. ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.deleteRow(i);
  4894. }
  4895. }
  4896. ds_send_druglist.copyData(ds_main_SheetData3_DrugLists_druglist); // 약품정보
  4897. ds_send_eqmtlist.copyData(ds_main_SheetData3_OpEqmtLists_opeqmtlist); // 장비정보
  4898. ds_send_druglist.enableevent = false;
  4899. ds_send_druglist.updatecontrol = false;
  4900. for (var i = 0; i < ds_send_druglist.rowcount; i++) {
  4901. ds_send_druglist.setRowType(i, 2);
  4902. }
  4903. ds_send_druglist.updatecontrol = true;
  4904. ds_send_druglist.enableevent = true;
  4905. ds_send_eqmtlist.enableevent = false;
  4906. ds_send_eqmtlist.updatecontrol = false;
  4907. for (var i = 0; i < ds_send_eqmtlist.rowcount; i++) {
  4908. if (ds_send_eqmtlist.getColumn(i, "chk") == "1") {
  4909. ds_send_eqmtlist.setColumn(i, "chk", "true");
  4910. } else {
  4911. ds_send_eqmtlist.setColumn(i, "chk", "false");
  4912. }
  4913. ds_send_eqmtlist.setRowType(i, 2);
  4914. }
  4915. ds_send_eqmtlist.updatecontrol = true;
  4916. ds_send_eqmtlist.enableevent = true;
  4917. if (ds_main_operation_list.getColumn(0, "opcnfmdd") <= ds_specdd.getColumn(0, "chkdd")) {
  4918. ds_send_specimenlist.copyData(ds_main_SheetData3_SpecimenLists_specimenlist); // 검체정보
  4919. ds_send_specimenlist.enableevent = false;
  4920. ds_send_specimenlist.updatecontrol = false;
  4921. for (var i = 0; i < ds_send_specimenlist.rowcount; i++) {
  4922. ds_send_specimenlist.setRowType(i, 2);
  4923. }
  4924. ds_send_specimenlist.updatecontrol = true;
  4925. ds_send_specimenlist.enableevent = true;
  4926. } else {
  4927. ds_send_specimenlist.copyData(ds_main_SheetData3_SpecimenLists_specimenlistnew); // 검체정보_new_2012.08.30_손성훈.
  4928. ds_send_specimenlist.enableevent = false;
  4929. ds_send_specimenlist.updatecontrol = false;
  4930. for (var i = 0; i < ds_send_specimenlist.rowcount; i++) {
  4931. ds_send_specimenlist.setRowType(i, 2);
  4932. }
  4933. ds_send_specimenlist.updatecontrol = true;
  4934. ds_send_specimenlist.enableevent = true;
  4935. }
  4936. //model.makeValue("/root/send/organlist" , datagrid4.getUpdateData()); // 장기이식정보
  4937. }
  4938. /* ------------------------------------------------- */
  4939. /* desc : 수술기록2 Count정보 저장하기 */
  4940. /* param : pModel - Model */
  4941. /* tNode - Target Node */
  4942. /* sNode - Source Node */
  4943. /* return : */
  4944. /* -------------------------------------------------- */
  4945. function fCountDataSave(pFlag) {
  4946. var CountMainPath = ds_main_MnphopcoLists_mnphopcolist; // Count Main Path
  4947. var CountListPath = ds_main_MnphopcoLists_mnphopcolist; // Count List Path
  4948. var sNode = CountMainPath;
  4949. if (utlf_isNull(sNode)) {
  4950. return false;
  4951. }
  4952. //------------
  4953. var DgrsData = "1 1 2 2 3 3 4 4"; // 차수(1:1차,2:2차,3:3차,4:END)
  4954. var FlasData = "1 2 1 2 1 2 1 2"; // 1.소독간호사, 2.순회간호사
  4955. var NursnmData = "nursnm11 nursnm12 nursnm21 nursnm22 nursnm31 nursnm32 nursnm41 nursnm42"; // 확인간호사명
  4956. var NursidData = "nursid11 nursid12 nursid21 nursid22 nursid31 nursid32 nursid41 nursid42"; // 확인간호사ID
  4957. var DeptcdData = "deptcd11 deptcd12 deptcd21 deptcd22 deptcd31 deptcd32 deptcd41 deptcd42"; // 부서코드
  4958. var DeptnmData = "deptnm11 deptnm12 deptnm21 deptnm22 deptnm31 deptnm32 deptnm41 deptnm42"; // 부서명
  4959. var CheckidData = "checkid11 checkid12 checkid21 checkid22 checkid31 checkid32 checkid41 checkid42"; // 확인간호사ID Check
  4960. var Dgrs = DgrsData.split(" ");
  4961. var Flas = FlasData.split(" ");
  4962. var Nursnm = NursnmData.split(" ");
  4963. var Nursid = NursidData.split(" ");
  4964. var Deptcd = DeptcdData.split(" ");
  4965. var Deptnm = DeptnmData.split(" ");
  4966. var Checkid = CheckidData.split(" ");
  4967. var sCheck = "N";
  4968. var CocnCnt = 0;
  4969. var OpcoCnt = 0;
  4970. var OpcoStat = "";
  4971. var CountNode = "";
  4972. var eNurseData = ""; // 해당없음이 아닌 경우 확인 간호사 1,2,3 모두 들어갔는지 Check.
  4973. var eNurseFlag = false;
  4974. var MnphcocnData = fMnphcocnTitle(); // 수술기록의 계수정보 TITLE
  4975. var MnphopcoData = fMnphopcoTitle(); // 수술기록_계수확인 간호사 정보 TITLE
  4976. //--------(20101024) 경북대
  4977. var discordaction = ""; //불일치 조치사항 추가
  4978. var discordactionetc = ""; //불일치 조치사항 기타 입력 추가
  4979. var discordactionnm = ""; //불일치 조치사항 추가
  4980. //--------(20101024) 경북대
  4981. var nIdx = sNode.rowcount;
  4982. var sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 수술예약(의뢰)번호
  4983. var sInstCd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd")); // 기관코드
  4984. var nRowNum = 0;
  4985. for (var n = 0; n < nIdx; n++) {
  4986. sCheck = "N";
  4987. CountNode = CountListPath;
  4988. sKindcd = utlf_transNullToEmpty(CountNode.getColumn(n, "kindcd")); // 종류코드
  4989. sNacls = utlf_transNullToEmpty(CountNode.getColumn(n, "nacls")); // 종류해당유무
  4990. sSameyn = utlf_transNullToEmpty(CountNode.getColumn(n, "samey")); // 계수일치여부
  4991. sRecstat = utlf_transNullToEmpty(CountNode.getColumn(n, "recflag")); // Record 상태정보 I:신규,U:수정
  4992. sTotQty = utlf_transNullToEmpty(CountNode.getColumn(n, "totqty")); // Total수량
  4993. //2009-02-09 ycd Count List 해당사유없음 체크시 상세 정보추가
  4994. sNaclsinucd = utlf_transNullToEmpty(CountNode.getColumn(n, "naclsinucd")); // 해당없음 사유코드
  4995. SCodenm3 = utlf_transNullToEmpty(CountNode.getColumn(n, "codenm3")); // 기록종류명
  4996. sRecNo = utlf_transNullToEmpty(CountNode.getColumn(n, "recno")); // Sheet 번호
  4997. //---------(20101024) 경북대
  4998. discordaction = utlf_transNullToEmpty(CountNode.getColumn(n, "discordaction")); // 불일치사유
  4999. discordactionetc = utlf_transNullToEmpty(CountNode.getColumn(n, "discordactionetc")); // 불일치사유기타사유
  5000. discordactionnm = utlf_transNullToEmpty(CountNode.getColumn(n, "discordactionnm")); // 불일치사유
  5001. //---------(20101024) 경북대
  5002. sNacls = (sNacls == "1") ? "Y" : "N";
  5003. sSameyn = (sSameyn == "1") ? "Y" : "N";
  5004. sTotQty = utlf_isNull(sTotQty) ? "0" : sTotQty;
  5005. if (sRecstat == "-") {
  5006. nRowNum++;
  5007. continue;
  5008. }
  5009. if (sNacls == "Y") {
  5010. if (sRecstat != "I") {
  5011. sCheck = "N";
  5012. sRecstat = "U";
  5013. }
  5014. //2009-02-09 ycd Count List 해당사유없음 체크시 사유정보 입력 체크
  5015. if (sNaclsinucd == "-") {
  5016. sysf_messageBox(SCodenm3 + " 기록항목 해당없음에 대한 사유를 입력하십시오.", "I000");
  5017. return false;
  5018. }
  5019. } else {
  5020. if (sTotQty != "0" || sKindcd == "00" || n == 0) { // INSTRUMENT
  5021. sCheck = "Y";
  5022. } else {
  5023. //2008-09-03 오후 1:27:06 taebum 협진관련 로직 추가
  5024. //2009-02-19 ycd 임시저장시 Count List 확인자 입력 체크 제외(협진 체크는 제외)
  5025. //if ((pFlag == "C") && ( (model.getValue(xPathData+"/oprsrvno") == model.getValue(xPathData+"/mainoprsrvno"))
  5026. // || (model.getValue(xPathData+"/mainoprsrvno") == "-") )) {
  5027. if (pFlag == "C") {
  5028. sCheck = "N";
  5029. sRecstat = "D";
  5030. //alert(model.getValue(CountNode + "/codenm3")+"의 수량을 입력하십시요 !!" );
  5031. //2008-08-21 오후 2:06:12 Count List
  5032. //messageBox("Count List 수량을 입력하십시오!" , "I000");
  5033. //return false;
  5034. }
  5035. }
  5036. }
  5037. if (sCheck == "Y") {
  5038. sInitqty = utlf_transNullToEmpty(CountNode.getColumn(n, "initqty")); // 03 최초수량
  5039. sAddqty = utlf_transNullToEmpty(CountNode.getColumn(n, "addqty")); // 04 추가수량
  5040. sPackqty = utlf_transNullToEmpty(CountNode.getColumn(n, "packqty")); // 05 Packing수량
  5041. if (n == 0) {
  5042. sInitqty = "0";
  5043. sAddqty = "0";
  5044. sPackqty = "0";
  5045. } else {
  5046. // 2009-02-27 count list 저장시 packing 수량, total 수량 비교
  5047. if (((eval(sInitqty) + eval(sAddqty)) < eval(sPackqty)) && pFlag == "C") {
  5048. //if(((eval(sInitqty) + eval(sAddqty)) < eval(sPackqty))){
  5049. sysf_messageBox(SCodenm3 + " 의 Total 수량과 Packing 수량을 확인하십시요.", "I000");
  5050. return false;
  5051. }
  5052. }
  5053. }
  5054. //--(20101024) 경북대
  5055. // MnphcocnData += sOprsrvno + "▦" // 00 수술예약(의뢰)번호
  5056. // + model.getValue(CountNode + "/kindcd" ) + "▦" // 01 종류코드
  5057. // + sInstCd + "▦" // 02 기관코드
  5058. // + model.getValue(CountNode + "/initqty" ) + "▦" // 03 최초수량
  5059. // + model.getValue(CountNode + "/addqty" ) + "▦" // 04 추가수량
  5060. // + model.getValue(CountNode + "/packqty" ) + "▦" // 05 Packing수량
  5061. // + instance1.selectSingleNode(CountNode+"/packspec").xml + "▦" // 06 Packing내역
  5062. // + sNacls + "▦" // 07 종류해당유무
  5063. // + sSameyn + "▦" // 08 계수일치여부
  5064. // + model.getValue(CountNode + "/codenm1" ) + "▦" // 09 종류코드명1
  5065. // + model.getValue(CountNode + "/codenm2" ) + "▦" // 10 종류코드명2
  5066. // + model.getValue(CountNode + "/codenm3" ) + "▦" // 11 종류코드명3
  5067. // + model.getValue(CountNode + "/refseq" ) + "▦" // 12 조회순서
  5068. // + sRecstat + "▦" // 13 Record 상태정보 I:신규,U:수정
  5069. // + sNaclsinucd + "▦" // 14 해당없음의 사유코드
  5070. // + sRecNo + "▩"; // 15 Sheet 번호
  5071. var ds_packspec_XML_RSLT = "";
  5072. if (!utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + (n - nRowNum) + "_packspec_packlist"])) {
  5073. var pParam = new Object();
  5074. pParam.cDataYN = "N";
  5075. var ds_packspec_XML = "<packspec><packlist><packnm/><lt/><center/><rt/><packcnt/><packchk/></packlist></packspec>";
  5076. var sParamObjArr = [{
  5077. ds: "ds_main_MnphopcoLists_mnphopcolist" + (n - nRowNum) + "_packspec_packlist",
  5078. path: "packspec/packlist",
  5079. filter: ""
  5080. }];
  5081. ds_packspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_packspec_XML, pParam);
  5082. }
  5083. MnphcocnData += sOprsrvno + "▦" // 00 수술예약(의뢰)번호
  5084. +
  5085. utlf_transNullToEmpty(CountNode.getColumn(n, "kindcd")) + "▦" // 01 종류코드
  5086. +
  5087. sInstCd + "▦" // 02 기관코드
  5088. +
  5089. utlf_transNullToEmpty(CountNode.getColumn(n, "initqty")) + "▦" // 03 최초수량
  5090. +
  5091. utlf_transNullToEmpty(CountNode.getColumn(n, "addqty")) + "▦" // 04 추가수량
  5092. +
  5093. utlf_transNullToEmpty(CountNode.getColumn(n, "packqty")) + "▦" // 05 Packing수량
  5094. +
  5095. ds_packspec_XML_RSLT + "▦" //instance1.selectSingleNode(CountNode+"/packspec").xml + "▦" // 06 Packing내역
  5096. +
  5097. sNacls + "▦" // 07 종류해당유무
  5098. +
  5099. sSameyn + "▦" // 08 계수일치여부
  5100. +
  5101. utlf_transNullToEmpty(CountNode.getColumn(n, "codenm1")) + "▦" // 09 종류코드명1
  5102. +
  5103. utlf_transNullToEmpty(CountNode.getColumn(n, "codenm2")) + "▦" // 10 종류코드명2
  5104. +
  5105. utlf_transNullToEmpty(CountNode.getColumn(n, "codenm3")) + "▦" // 11 종류코드명3
  5106. +
  5107. utlf_transNullToEmpty(CountNode.getColumn(n, "refseq")) + "▦" // 12 조회순서
  5108. +
  5109. sRecstat + "▦" // 13 Record 상태정보 I:신규,U:수정
  5110. +
  5111. sNaclsinucd + "▦" // 14 해당없음의 사유코드
  5112. +
  5113. sRecNo + "▦" // 15 Sheet 번호
  5114. +
  5115. discordaction + "▦" // 16 불일치사유(추가)
  5116. +
  5117. discordactionetc + "▦" // 17 불일치사유기타입력(추가)
  5118. +
  5119. discordactionnm + "▩"; // 16 불일치사유(추가)
  5120. //alert("막음"+discordaction + "/" + discordactionetc);
  5121. //--(20101024) 경북대
  5122. CocnCnt++;
  5123. // 확인간호사 Check
  5124. // I : 입력, U : 수정, D : 입력데이터 삭제, X : 삭제
  5125. if (sRecstat == "D") {
  5126. MnphopcoData += sOprsrvno + "▦" // 00 수술예약(의뢰)번호
  5127. +
  5128. sKindcd + "▦" // 01 종류(수술기본코드분류:01참조)
  5129. +
  5130. "" + "▦" // 02 차수(1:1차,2:2차,3:3차,4:END)
  5131. +
  5132. "X" + "▦" // 03 1.소독간호사, 2.순회간호사
  5133. +
  5134. "" + "▦" // 04 기관코드
  5135. +
  5136. "" + "▦" // 05 확인간호사ID
  5137. +
  5138. "" + "▦" // 06 확인간호사명
  5139. +
  5140. "" + "▦" // 07 부서코드
  5141. +
  5142. "" + "▦" // 08 부서명
  5143. +
  5144. "" + "▦" // 09 일치여부
  5145. +
  5146. "0" + "▦" // 10 PAD개수
  5147. +
  5148. "D" + "▦" // 11 Record 상태정보 I:신규,U:수정
  5149. +
  5150. sRecNo + "▩"; // 12 Sheet 번호
  5151. } else if (sRecstat == "I" || sRecstat == "U") {
  5152. for (var i = 0; i < Nursnm.length; i++) {
  5153. //---------(20110512)
  5154. //간호사 end 숨김
  5155. if (Nursid[i] == "nursid41" || Nursid[i] == "nursid42") {
  5156. sNursid = "-"; // 확인간호사ID
  5157. sNursnm = "-"; // 확인간호사명
  5158. sDeptcd = "-"; // 부서코드
  5159. sDeptnm = "-"; // 부서명
  5160. sCheckid = "-"; // 확인간호사ID Check
  5161. } else {
  5162. sNursid = utlf_transNullToEmpty(CountNode.getColumn(n, Nursid[i])); // 확인간호사ID
  5163. sNursnm = utlf_transNullToEmpty(CountNode.getColumn(n, Nursnm[i])); // 확인간호사명
  5164. sDeptcd = utlf_transNullToEmpty(CountNode.getColumn(n, Deptcd[i])); // 부서코드
  5165. sDeptnm = utlf_transNullToEmpty(CountNode.getColumn(n, Deptnm[i])); // 부서명
  5166. sCheckid = utlf_transNullToEmpty(CountNode.getColumn(n, Checkid[i])); // 확인간호사ID Check
  5167. }
  5168. //alert(i+"/"+sNursid+"/"+CountNode + "/" + Nursid[i]);
  5169. //---------(20110512)
  5170. if (sNursid != sCheckid) {
  5171. if (utlf_isNull(sNursid)) {
  5172. OpcoStat = "D";
  5173. sNursid = sCheckid;
  5174. } else if (utlf_isNull(sCheckid)) {
  5175. OpcoStat = "I";
  5176. } else {
  5177. OpcoStat = "U";
  5178. }
  5179. MnphopcoData += sOprsrvno + "▦" // 00 수술예약(의뢰)번호
  5180. +
  5181. sKindcd + "▦" // 01 종류(수술기본코드분류:01참조)
  5182. +
  5183. Dgrs[i] + "▦" // 02 차수(1:1차,2:2차,3:3차,4:END)
  5184. +
  5185. Flas[i] + "▦" // 03 1.소독간호사, 2.순회간호사
  5186. +
  5187. sInstCd + "▦" // 04 기관코드
  5188. +
  5189. sNursid + "▦" // 05 확인간호사ID
  5190. +
  5191. sNursnm + "▦" // 06 확인간호사명
  5192. +
  5193. sDeptcd + "▦" // 07 부서코드
  5194. +
  5195. sDeptnm + "▦" // 08 부서명
  5196. +
  5197. sSameyn + "▦" // 09 일치여부
  5198. +
  5199. sTotQty + "▦" // 10 PAD개수
  5200. +
  5201. OpcoStat + "▦" // 11 Record 상태정보 I:신규,U:수정
  5202. +
  5203. sRecNo + "▩"; // 12 Sheet 번호
  5204. OpcoCnt++;
  5205. }
  5206. if (sNacls != "Y") {
  5207. if (utlf_isNull(sNursid)) {
  5208. //if ((pFlag == "C") && (model.getValue(xPathData+"/oprsrvno") == model.getValue(xPathData+"/mainoprsrvno")) || (model.getValue(xPathData+"/mainoprsrvno") == "-")) {
  5209. // 2009-02-19 ycd 임시저장시 Count List 확인자 입력 체크 제외(협진 체크는 제외)
  5210. if (ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opnoyn") != "Y") {
  5211. if (pFlag == "C") {
  5212. //alert(model.getValue(CountNode + "/codenm3")+"의 확인자을 입력하십시요 !!" );
  5213. sysf_messageBox("Count List 확인자를 입력하십시오!", "I000");
  5214. return false;
  5215. }
  5216. }
  5217. }
  5218. }
  5219. } // for (var i=0; i < Nursnm.length; i++){
  5220. }
  5221. } // if (sCheck == "Y") {
  5222. //} // for (n = 1; n <= nIdx; n++) {
  5223. dsf_setCSVToDs("ds_send_MnphcocnList", MnphcocnData);
  5224. dsf_setCSVToDs("ds_send_MnphopcoList", MnphopcoData);
  5225. // if (submit("TXMNP00302")){ // 수술기록2 Count정보 저장
  5226. // messageBox("자료 저장이", "I002");
  5227. // }
  5228. }
  5229. /* ------------------------------------------------- */
  5230. /* EMR.MNPHCOCN 수술기록의 계수정보 TITLE */
  5231. /* -------------------------------------------------- */
  5232. function fMnphcocnTitle() {
  5233. //---------(20101024) 경북대
  5234. // var TitData = "oprsrvno" + "▦" // 00 수술예약(의뢰)번호 CHAR
  5235. // + "kindcd" + "▦" // 01 종류코드 CHAR
  5236. // + "instcd" + "▦" // 02 기관코드 CHAR
  5237. // + "initqty" + "▦" // 03 최초수량 INT
  5238. // + "addqty" + "▦" // 04 추가수량 INT
  5239. // + "packqty" + "▦" // 05 Packing수량 INT
  5240. // + "packspec" + "▦" // 06 Packing내역 XML
  5241. // + "nacls" + "▦" // 07 종류해당유무 CHAR
  5242. // + "sameyn" + "▦" // 08 계수일치여부 CHAR
  5243. // + "kindnm1" + "▦" // 09 종류코드명1 VCHAR
  5244. // + "kindnm2" + "▦" // 10 종류코드명2 VCHAR
  5245. // + "kindnm3" + "▦" // 11 종류코드명3 VCHAR
  5246. // + "refseq" + "▦" // 12 조회순서 INT
  5247. // + "recstat" + "▦" // 13 Record 상태정보 I:신규,U:수정
  5248. // + "naclsinucd" + "▦" // 14 해양유무사유코드
  5249. // + "recno" + "▩"; // 15 기록번호
  5250. var TitData = "oprsrvno" + "▦" // 00 수술예약(의뢰)번호 CHAR
  5251. +
  5252. "kindcd" + "▦" // 01 종류코드 CHAR
  5253. +
  5254. "instcd" + "▦" // 02 기관코드 CHAR
  5255. +
  5256. "initqty" + "▦" // 03 최초수량 INT
  5257. +
  5258. "addqty" + "▦" // 04 추가수량 INT
  5259. +
  5260. "packqty" + "▦" // 05 Packing수량 INT
  5261. +
  5262. "packspec" + "▦" // 06 Packing내역 XML
  5263. +
  5264. "nacls" + "▦" // 07 종류해당유무 CHAR
  5265. +
  5266. "sameyn" + "▦" // 08 계수일치여부 CHAR
  5267. +
  5268. "kindnm1" + "▦" // 09 종류코드명1 VCHAR
  5269. +
  5270. "kindnm2" + "▦" // 10 종류코드명2 VCHAR
  5271. +
  5272. "kindnm3" + "▦" // 11 종류코드명3 VCHAR
  5273. +
  5274. "refseq" + "▦" // 12 조회순서 INT
  5275. +
  5276. "recstat" + "▦" // 13 Record 상태정보 I:신규,U:수정
  5277. +
  5278. "naclsinucd" + "▦" // 14 해양유무사유코드
  5279. +
  5280. "recno" + "▦" // 15 기록번호
  5281. +
  5282. "discordaction" + "▦" // 16 불일치사유(추가)
  5283. +
  5284. "discordactionetc" + "▦" // 17 불일치사유기타입력(추가)
  5285. +
  5286. "discordactionnm" + "▩"; // 16 불일치사유(추가)
  5287. //---------(20101024) 경북대
  5288. return TitData;
  5289. }
  5290. /* ------------------------------------------------- */
  5291. /* EMR.MNPHOPCO 수술기록_계수확인 간호사 정보 TITLE */
  5292. /* -------------------------------------------------- */
  5293. function fMnphopcoTitle() {
  5294. var TitData = "oprsrvno" + "▦" // 00 수술예약(의뢰)번호 CHAR
  5295. +
  5296. "kindcd" + "▦" // 01 종류(수술기본코드분류:01참조) CHAR
  5297. +
  5298. "dgrs" + "▦" // 02 차수(1:1차,2:2차,3:3차,4:END) INT
  5299. +
  5300. "nursflag" + "▦" // 03 1.소독간호사, 2.순회간호사 CHAR
  5301. +
  5302. "instcd" + "▦" // 04 기관코드 CHAR
  5303. +
  5304. "cnfmnursid" + "▦" // 05 확인간호사ID CHAR
  5305. +
  5306. "cnfmnursnm" + "▦" // 06 확인간호사명 VCHAR
  5307. +
  5308. "deptcd" + "▦" // 07 부서코드 CHAR
  5309. +
  5310. "deptnm" + "▦" // 08 부서명 VCHAR
  5311. +
  5312. "sameyn" + "▦" // 09 일치여부 CHAR
  5313. +
  5314. "padcnt" + "▦" // 10 PAD개수 INT
  5315. +
  5316. "recstat" + "▦" // 11 Record 상태정보 I:신규,U:수정
  5317. +
  5318. "recno" + "▩"; // 12 기록번호
  5319. return TitData;
  5320. }
  5321. /* ------------------------------------------------- */
  5322. /* desc : Instance NodeCopy 하기 */
  5323. /* param : pModel - Model */
  5324. /* tNode - Target Node */
  5325. /* sNode - Source Node */
  5326. /* return : */
  5327. /* -------------------------------------------------- */
  5328. function InstanceNodeCopy(pModel, tNode, sNode) {
  5329. pModel.copyNode(tNode, sNode);
  5330. }
  5331. /* ------------------------------------------------- */
  5332. /* desc : Instance NodeCopy 하기 */
  5333. /* param : pModel - Model */
  5334. /* tNode - Target Node */
  5335. /* sNode - Source Node */
  5336. /* return : */
  5337. /* -------------------------------------------------- */
  5338. function XmlDataCheck() {
  5339. // var tNode = "";
  5340. // var sNode = "";
  5341. // var pNode = "";
  5342. //
  5343. // for (var i = 0; i < XmlInstNm.length; i++) {
  5344. //
  5345. // tNode = "ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[i];
  5346. // pNode = eval(tNode);
  5347. //
  5348. // if (!utlf_isNull(this.objects[tNode])) {
  5349. // if (pNode.rowcount < 1) {
  5350. // sNode = xPathFormat + "_" + XmlInstNm[i];
  5351. // pNode.copyData(eval(sNode));
  5352. // }
  5353. // }
  5354. // }
  5355. // return;
  5356. var tNode = ""; //yjh1
  5357. var sNode = "";
  5358. var pNode = "";
  5359. var bCopyData = false;
  5360. for (var i = 0; i < XmlInstNm.length; i++) {
  5361. tNode = "ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[i];
  5362. pNode = eval(tNode);
  5363. if( i == 5 || i == 6 ){
  5364. if( ds_main_MnphopcrData_MnphopcrList.getColumn(0, "esuspec") != null && ds_main_MnphopcrData_MnphopcrList.getColumn(0, "esuspec") != "null" ){
  5365. if( pNode.rowcount >= 1 ){
  5366. bCopyData = true;
  5367. }
  5368. if( i == 6 ){
  5369. if( bCopyData == false ){
  5370. sNode = xPathFormat + "_" + XmlInstNm[i];
  5371. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[5]).copyData(eval(xPathFormat + "_" + XmlInstNm[5]));
  5372. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[6]).copyData(eval(xPathFormat + "_" + XmlInstNm[6]));
  5373. }else{
  5374. bCopyData = false;
  5375. }
  5376. }
  5377. }
  5378. }else if( i == 7 || i == 8 ){
  5379. if( ds_main_MnphopcrData_MnphopcrList.getColumn(0, "tourniquetspec") != null && ds_main_MnphopcrData_MnphopcrList.getColumn(0, "tourniquetspec") != "null" ){
  5380. if( pNode.rowcount >= 1 ){
  5381. bCopyData = true;
  5382. }
  5383. if( i == 8 ){
  5384. if( bCopyData == false ){
  5385. sNode = xPathFormat + "_" + XmlInstNm[i];
  5386. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[7]).copyData(eval(xPathFormat + "_" + XmlInstNm[7]));
  5387. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[8]).copyData(eval(xPathFormat + "_" + XmlInstNm[8]));
  5388. }else{
  5389. bCopyData = false;
  5390. }
  5391. }
  5392. }
  5393. }else if( i == 9 || i == 10 || i == 11 || i == 12 ){
  5394. if( ds_main_MnphopcrData_MnphopcrList.getColumn(0, "warmcoldregmspec") != null && ds_main_MnphopcrData_MnphopcrList.getColumn(0, "warmcoldregmspec") != "null" ){
  5395. if( pNode.rowcount >= 1 ){
  5396. bCopyData = true;
  5397. }
  5398. if( i == 12 ){
  5399. if( bCopyData == false ){
  5400. sNode = xPathFormat + "_" + XmlInstNm[i];
  5401. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[9]).copyData(eval(xPathFormat + "_" + XmlInstNm[9]));
  5402. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[10]).copyData(eval(xPathFormat + "_" + XmlInstNm[10]));
  5403. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[11]).copyData(eval(xPathFormat + "_" + XmlInstNm[11]));
  5404. eval("ds_main_MnphopcrData_MnphopcrList_" + XmlInstNm[12]).copyData(eval(xPathFormat + "_" + XmlInstNm[12]));
  5405. }else{
  5406. bCopyData = false;
  5407. }
  5408. }
  5409. }
  5410. }else{
  5411. if (!utlf_isNull(this.objects[tNode])) {
  5412. if (pNode.rowcount < 1) {
  5413. sNode = xPathFormat + "_" + XmlInstNm[i];
  5414. pNode.copyData(eval(sNode));
  5415. }
  5416. }
  5417. }
  5418. }
  5419. return;
  5420. }
  5421. /* ------------------------------------------------- */
  5422. /* desc : 수술참가자 조합하기 */
  5423. /* param : pModel - Model */
  5424. /* tNode - Target Node */
  5425. /* sNode - Source Node */
  5426. /* return : */
  5427. /* -------------------------------------------------- */
  5428. function fOpeuDataConcatenate() {
  5429. //2008-08-07 오후 9:57:34 taebum valid check add
  5430. var sOpeu1Cnt = ds_init_workinst_OpeuLists_opeulist1.rowcount;
  5431. var sTmpUid = "";
  5432. var sTmpUid2 = "";
  5433. var sTmp2Uid = "";
  5434. var sTmp2Uid2 = "";
  5435. var sTmp3Uid = "";
  5436. var sTmp3Uid2 = "";
  5437. if (sOpeu1Cnt > 0) {
  5438. for (var i = 0; i < (sOpeu1Cnt - 1); i++) {
  5439. if (sOpeu1Cnt > 0) {
  5440. sTmpUid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(i, "entrid1"));
  5441. sTmp2Uid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(i, "entrid2"));
  5442. sTmp3Uid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(i, "entrid3"));
  5443. for (var j = (i + 1); j < sOpeu1Cnt; j++) {
  5444. sTmpUid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(j, "entrid1"));
  5445. sTmp2Uid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(j, "entrid2"));
  5446. sTmp3Uid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist1.getColumn(j, "entrid3"));
  5447. if (!utlf_isNull(sTmpUid) && sTmpUid == sTmpUid2) {
  5448. sysf_messageBox("동일한 집도의 정보가 존재합니다. 확인하십시오.", "I000");
  5449. return false;
  5450. }
  5451. if (!utlf_isNull(sTmp2Uid) && sTmp2Uid == sTmp2Uid2) {
  5452. sysf_messageBox("동일한 Assist 정보가 존재합니다. 확인하십시오.", "I000");
  5453. return false;
  5454. }
  5455. if (!utlf_isNull(sTmp3Uid) && sTmp3Uid == sTmp3Uid2) {
  5456. sysf_messageBox("동일한 마취의 정보가 존재합니다. 확인하십시오.", "I000");
  5457. return false;
  5458. }
  5459. }
  5460. }
  5461. }
  5462. }
  5463. //2008-08-07 오후 11:55:53 taebum valid check add
  5464. var sOpeu2Cnt = ds_init_workinst_OpeuLists_opeulist2.rowcount;
  5465. sTmpUid = "";
  5466. sTmpUid2 = "";
  5467. sTmp2Uid = "";
  5468. sTmp2Uid2 = "";
  5469. sTmp3Uid = "";
  5470. sTmp3Uid2 = "";
  5471. if (sOpeu2Cnt > 0) {
  5472. for (var i = 0; i < (sOpeu2Cnt - 1); i++) {
  5473. if (sOpeu2Cnt > 0) {
  5474. sTmpUid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i, "entrid1"));
  5475. sTmp2Uid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i, "entrid2"));
  5476. sTmp3Uid = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i, "entrid3"));
  5477. if ((i + 1) < sOpeu2Cnt) {
  5478. sTmpUid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i + 1, "entrid1"));
  5479. sTmp2Uid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i + 1, "entrid2"));
  5480. sTmp3Uid2 = utlf_transNullToEmpty(ds_init_workinst_OpeuLists_opeulist2.getColumn(i + 1, "entrid3"));
  5481. if (!utlf_isNull(sTmpUid) && sTmpUid == sTmpUid2) {
  5482. sysf_messageBox("동일한 소독간호사 정보가 연속 존재합니다. 확인하십시오.", "I000");
  5483. return false;
  5484. }
  5485. if (!utlf_isNull(sTmp2Uid) && sTmp2Uid == sTmp2Uid2) {
  5486. sysf_messageBox("동일한 순환간호사 정보가 연속 존재합니다. 확인하십시오.", "I000");
  5487. return false;
  5488. }
  5489. if (!utlf_isNull(sTmp3Uid) && sTmp3Uid == sTmp3Uid2) {
  5490. sysf_messageBox("동일한 마취간호사 정보가 연속 존재합니다. 확인하십시오.", "I000");
  5491. return false;
  5492. }
  5493. }
  5494. /*
  5495. for(var j = i+1 ; j <= sOpeu2Cnt; j++){
  5496. sTmpUid2 = model.getValue("/root/init/workinst/OpeuLists/opeulist2["+j+"]/entrid1");
  5497. sTmp2Uid2 = model.getValue("/root/init/workinst/OpeuLists/opeulist2["+j+"]/entrid2");
  5498. sTmp3Uid2 = model.getValue("/root/init/workinst/OpeuLists/opeulist2["+j+"]/entrid3");
  5499. if(sTmpUid != "" && sTmpUid == sTmpUid2){
  5500. messageBox("동일한 소독간호사 정보가 존재합니다. 확인하십시오.","I000");
  5501. return false;
  5502. }
  5503. if(sTmp2Uid != "" && sTmp2Uid == sTmp2Uid2){
  5504. messageBox("동일한 순환간호사 정보가 존재합니다. 확인하십시오.","I000");
  5505. return false;
  5506. }
  5507. if(sTmp3Uid != "" && sTmp3Uid == sTmp3Uid2){
  5508. messageBox("동일한 마취간호사 정보가 존재합니다. 확인하십시오.","I000");
  5509. return false;
  5510. }
  5511. }
  5512. */
  5513. }
  5514. }
  5515. }
  5516. // 20200113 김현석, 수술 참여자 데이터가 제대로 안 들어간 경우 저장 안되도록 수정
  5517. var sUid1, sUid2, sUid3;
  5518. var sUnm1, sUnm2, sUnm3;
  5519. var arrEntRid = ["", "", ""];
  5520. var arrEntRnm = ["", "", ""];
  5521. var arrTitle = [ ["집도의", "Assist", " 마취의"]
  5522. , ["소독 간호사", "순환 간호사", "마취 간호사"]
  5523. ];
  5524. var errmsg = "";
  5525. for(var dsinx = 1; dsinx <= 2; dsinx++)
  5526. {
  5527. var tmpds = eval("ds_init_workinst_OpeuLists_opeulist" + dsinx);
  5528. for(var i = 0; i < tmpds.rowcount; i++)
  5529. {
  5530. for(var j = 0; j < arrEntRid.length; j++)
  5531. {
  5532. arrEntRid[j] = utlf_transNullToEmpty(tmpds.getColumn(i, "entrid" + (j + 1)));
  5533. if (arrEntRid[j] == "null") arrEntRid[j] = "";
  5534. arrEntRnm[j] = utlf_transNullToEmpty(tmpds.getColumn(i, "entrnm" + (j + 1)));
  5535. if (arrEntRnm[j] == "null") arrEntRnm[j] = "";
  5536. if ( ! utlf_isNull(arrEntRid[j]) && utlf_isNull(arrEntRnm[j]) )
  5537. {
  5538. errmsg += arrTitle[i][j] + " 정보(" + arrEntRid[j] + ") 가 제대로 입력되지 않았습니다. \n";
  5539. }
  5540. }
  5541. }
  5542. }
  5543. if ( !utlf_isNull(errmsg) )
  5544. {
  5545. //lf_restoreDatasetEvent();
  5546. sysf_messageBox(errmsg + "\n확인하십시오.", "I000");
  5547. return false;
  5548. }
  5549. var ii = 1;
  5550. var rValue = "";
  5551. var sPatoutroomdt = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patoutroomdd")); // 15 환자퇴실일자
  5552. if (utlf_isNull(sPatoutroomdt)) {
  5553. sPatoutroomdt = utlf_getCurrentDate();
  5554. }
  5555. var sOutTime = utlf_transNullToEmpty(xPathDispDT.getColumn(0, "patoutroomhh"));
  5556. if (utlf_isNull(sOutTime)) {
  5557. sOutTime = utlf_getCurrentTime().substr(0, 6);
  5558. }
  5559. sOutTime = sOutTime.getRightPad(6, "0");
  5560. sPatoutroomdt += sOutTime; // 15 환자퇴실시간
  5561. sOutTime = sPatoutroomdt.substr(0, 4) + "-" +
  5562. sPatoutroomdt.substr(4, 2) + "-" +
  5563. sPatoutroomdt.substr(6, 2) + " " +
  5564. sPatoutroomdt.substr(8, 2) + ":" +
  5565. sPatoutroomdt.substr(10, 2) + ":" +
  5566. sPatoutroomdt.substr(12, 2);
  5567. // alert(sOutTime);
  5568. var sMnphopeuData = "pid" + "▦" // 01 환자번호
  5569. +
  5570. "oprsrvno" + "▦" // 02 수술예약(의뢰)번호 (년도 + 일련번호)
  5571. +
  5572. "ophistno" + "▦" // 03 예약번호에 따른 이력번호
  5573. +
  5574. "entridflag" + "▦" // 04 참가자 ID구분
  5575. +
  5576. "entrid" + "▦" // 05 참가자ID
  5577. +
  5578. "entrdt" + "▦" // 06 참가시간
  5579. +
  5580. "entrnm" + "▦" // 07 참가자명
  5581. +
  5582. "deptcd" + "▦" // 08 부서코드
  5583. +
  5584. "deptnm" + "▦" // 09 부서명
  5585. +
  5586. "refseq" + "▦" // 10 조회순서
  5587. +
  5588. "outdt" + "▦" // 11 퇴실일시
  5589. +
  5590. "instcd" + "▦" // 12 기관코드
  5591. +
  5592. "fstrgstrid" + "▦" // 13 최초등록자ID
  5593. +
  5594. "lastupdtid" + "▦" // 14 최종수정자
  5595. +
  5596. "entrtm" + "▩"; // 15 입실시간
  5597. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid"));
  5598. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno"));
  5599. sOphistno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "ophistno"));
  5600. var sOpeuKey = sPid + "▦" // 환자번호
  5601. +
  5602. sOprsrvno + "▦" // 수술예약(의뢰)번호 (년도 + 일련번호)
  5603. +
  5604. sOphistno + "▦"; // 예약번호에 따른 이력번호
  5605. var sOpeuLast = utlf_transNullToEmpty(xPathData.getColumn(0, "instcd")) + "▦" // 기관코드
  5606. +
  5607. "" + "▦" // 최초등록자ID(시스템정보)
  5608. +
  5609. "" + ""; // 최종수정자(시스템정보)
  5610. var iPath = "";
  5611. var sEntrnmData = "entrnm1 entrnm2 entrnm3";
  5612. var sEntridData = "entrid1 entrid2 entrid3";
  5613. var sDeptcdData = "deptcd1 deptcd2 deptcd3";
  5614. var sDeptnmData = "deptnm1 deptnm2 deptnm3";
  5615. var sEntrTmData = "entrtm1 entrtm2 entrtm3";
  5616. var sEntrnm = sEntrnmData.split(" ");
  5617. var sEntrid = sEntridData.split(" ");
  5618. var sDeptcd = sDeptcdData.split(" ");
  5619. var sDeptnm = sDeptnmData.split(" ");
  5620. var sEntrtm = sEntrTmData.split(" ");
  5621. // D1: 집도의, D4: 보조의, D3: 마취의, N1: 소독간호사, N2: 순회간호사, N3: 마취간호사
  5622. var OpeuFlags = "D1*D4*D3#N1*N2*N3";
  5623. var OpeuFlag = OpeuFlags.split("#");
  5624. for (var k = 1; k < 3; k++) { // 1: grd_opeu1, 2:grd_opeu2
  5625. wPath = (k == 1) ? OpeuGrid1 : OpeuGrid2;
  5626. var oFlag = OpeuFlag[k - 1].split("*");
  5627. for (var j = 0; j < sEntrid.length; j++) {
  5628. for (var i = 0; i < 5; i++) { // Grid Row5
  5629. iPath = wPath;
  5630. if (!utlf_isNull(iPath.getColumn(i, sEntrnm[j])) && utlf_isNull(iPath.getColumn(i, sEntrid[j]))) {
  5631. //alert(" , iPath : "+iPath + " , data : "+ iPath+sEntrnm[j]+" , "+ iPath+sEntrid[j] + ", j, : "+ j+ ", sEntrid[j] :"+sEntrid[j]);
  5632. sysf_messageBox("수술 참가자를 다시", "C001");
  5633. return false;
  5634. }
  5635. //
  5636. if (!utlf_isNull(iPath.getColumn(i, sEntrid[j]))) {
  5637. rValue += sOpeuKey;
  5638. rValue += oFlag[j] + "▦" // 04 참가자 ID구분
  5639. rValue += utlf_transNullToEmpty(iPath.getColumn(i, sEntrid[j])) + "▦" // 05 참가자ID
  5640. rValue += "12" + "▦" // 06 참가시간
  5641. rValue += utlf_transNullToEmpty(iPath.getColumn(i, sEntrnm[j])) + "▦" // 07 참가자명
  5642. rValue += utlf_transNullToEmpty(iPath.getColumn(i, sDeptcd[j])) + "▦" // 08 부서코드
  5643. rValue += utlf_transNullToEmpty(iPath.getColumn(i, sDeptnm[j])) + "▦" // 09 부서명
  5644. rValue += ii + "▦" // 10 조회순서
  5645. rValue += sOutTime + "▦" // 11 퇴실일시
  5646. rValue += sOpeuLast + "▦" // 12
  5647. rValue += utlf_transNullToEmpty(iPath.getColumn(i, sEntrtm[j])) + "▩"; // 15 입실시간정보
  5648. ii++;
  5649. }
  5650. }
  5651. }
  5652. }
  5653. sMnphopeuData += rValue;
  5654. dsf_setCSVToDs("ds_send_MnphopeuList", sMnphopeuData);
  5655. }
  5656. /* ------------------------------------------------- */
  5657. /* desc : 수술참가자 보여주기 */
  5658. /* param : pModel - Model */
  5659. /* tNode - Target Node */
  5660. /* sNode - Source Node */
  5661. /* return : */
  5662. /* -------------------------------------------------- */
  5663. function fOpeuDataDisplay() {
  5664. var ii = 1;
  5665. var jj = 1;
  5666. var kk = 1;
  5667. var c = 0;
  5668. var c1 = -1;
  5669. var c2 = -1;
  5670. var c3 = -1;
  5671. var c4 = -1;
  5672. var c5 = -1;
  5673. var c6 = -1;
  5674. var sNode = "";
  5675. var OpeuList = utlf_transNullToEmpty(xPathData.getColumn(0, "opeudata"));
  5676. // if (OpeuList == "") {
  5677. // OpeuList = "D1▦D11234▦200705152222▦집도의▦000001▦집도의부서▦1▦2007-05-15 22:22▩" ;
  5678. // OpeuList += "D2▦D21234▦200705152222▦전공의▦000002▦전공의부서▦2▦2007-05-15 22:22▩" ;
  5679. // OpeuList += "D3▦D31234▦200705152222▦마취의▦000003▦마취의부서▦3▦2007-05-15 22:22▩" ;
  5680. // OpeuList += "D4▦D41234▦200705152222▦보조의▦000004▦보조의부서▦4▦2007-05-15 22:22▩" ;
  5681. // OpeuList += "N1▦N11234▦200705152222▦소독간호사▦000005▦소독간부서▦5▦2007-05-15 22:22▩" ;
  5682. // OpeuList += "N2▦N21234▦200705152222▦순회간호사▦000006▦순회간부서▦6▦2007-05-15 22:22▩" ;
  5683. // OpeuList += "N3▦N31234▦200705152222▦마취간호사▦000007▦마취간부서▦7▦2007-05-15 22:22▩" ;
  5684. // OpeuList += "N4▦N41234▦200705152222▦보조간호사▦000008▦보조간부서▦8▦2007-05-15 22:22" ;
  5685. // }
  5686. // OpeuList += "D1▦D11234▦200705152222▦집도의▦000001▦집도의부서▦1▦2007-05-15 22:22▩" ;
  5687. // OpeuList += "D2▦D21234▦200705152222▦전공의▦000002▦전공의부서▦2▦2007-05-15 22:22▩" ;
  5688. // OpeuList += "D3▦D31234▦200705152222▦마취의▦000003▦마취의부서▦3▦2007-05-15 22:22▩" ;
  5689. // OpeuList += "D4▦D41234▦200705152222▦보조의▦000004▦보조의부서▦4▦2007-05-15 22:22▩" ;
  5690. // OpeuList += "N1▦N11234▦200705152222▦소독간호사▦000005▦소독간부서▦5▦2007-05-15 22:22▩" ;
  5691. // OpeuList += "N2▦N21234▦200705152222▦순회간호사▦000006▦순회간부서▦6▦2007-05-15 22:22▩" ;
  5692. // OpeuList += "N3▦N31234▦200705152222▦마취간호사▦000007▦마취간부서▦7▦2007-05-15 22:22▩" ;
  5693. // OpeuList += "N4▦N41234▦200705152222▦보조간호사▦000008▦보조간부서▦8▦2007-05-15 22:22" ;
  5694. //
  5695. // OpeuList += "D1▦98030869▦12 ▦김병로▦77200 ▦외래식당 ▦1▦20070730171724000▩" ;
  5696. // OpeuList += "D3▦39087 ▦12 ▦김병국▦11300 ▦이비인후과 ▦3▦20070730171724000▩" ;
  5697. // OpeuList += "D4▦92010036▦12 ▦어용성▦73411 ▦원무행정Unit ▦2▦20070730171724000▩" ;
  5698. // OpeuList += "N1▦95010019▦12 ▦이훈구▦77200 ▦정보지원팀 ▦4▦20070730171724000▩" ;
  5699. // OpeuList += "N2▦84030289▦12 ▦최영숙▦30786 ▦외래Unit ▦5▦20070730171724000▩" ;
  5700. // OpeuList += "N3▦94030533▦12 ▦박현숙▦50131 ▦간호행정교육팀▦6▦20070730171724000▩" ;
  5701. var OpeuDataRec = OpeuList.split("▩");
  5702. // 기존자료 삭제
  5703. // model.removeNodeset(OpeuPathR);
  5704. OpeuPathR.clearData();
  5705. OpeuPathR.addRow();
  5706. var wOpeuGrid;
  5707. for (var i = 0; i < OpeuDataRec.length; i++)
  5708. {
  5709. var OpeuData = utlf_transNullToEmpty(OpeuDataRec[i]).split("▦");
  5710. for (var j = 0; j < OpeuColumn.length; j++)
  5711. {
  5712. OpeuPathD.setColumn(0, OpeuColumn[j], OpeuData[j]);
  5713. }
  5714. OpeuPathR.copyRow(0, OpeuPathD, 0);
  5715. //sysf_messageBox(OpeuPathD.saveXML());
  5716. r = -1;
  5717. c = 0;
  5718. switch (OpeuData[0]) {
  5719. case "D1": // 집도의
  5720. c1++;
  5721. r = c1;
  5722. c = 1;
  5723. wOpeuGrid = OpeuGrid1;
  5724. break;
  5725. case "D2": // 전공의
  5726. c2++;
  5727. r = c2;
  5728. c = 2;
  5729. wOpeuGrid = OpeuGrid1;
  5730. break;
  5731. case "D3": // 마취의
  5732. c3++;
  5733. r = c3;
  5734. c = 3;
  5735. wOpeuGrid = OpeuGrid1;
  5736. break;
  5737. case "D4": // 보조의(Assist)
  5738. c2++;
  5739. r = c2;
  5740. c = 2;
  5741. wOpeuGrid = OpeuGrid1;
  5742. break;
  5743. case "N1": // 소독간호사
  5744. c4++;
  5745. r = c4;
  5746. c = 1;
  5747. wOpeuGrid = OpeuGrid2;
  5748. break;
  5749. case "N2": // 순회간호사
  5750. c5++;
  5751. r = c5;
  5752. c = 2;
  5753. wOpeuGrid = OpeuGrid2;
  5754. break;
  5755. case "N3": // 마취간호사
  5756. c6++;
  5757. r = c6;
  5758. c = 3;
  5759. wOpeuGrid = OpeuGrid2;
  5760. }
  5761. if (r > -1 && r < 5) {
  5762. if (c > 0 && c < 4) {
  5763. //20171204 이돈희 수정 : 협진의 경우 집도의1의 시간이 안뜨는 현상 발생
  5764. // if (OpeuData[0] == "D1" && xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno"))
  5765. // {
  5766. // //기존 협진의 경우 집도의 1의 값을 wOpeuGrid에 입력 안하였음
  5767. // }
  5768. // else
  5769. //{
  5770. if (OpeuData[0] == "D1" || OpeuData[0] == "D3" || OpeuData[0] == "N1" || OpeuData[0] == "N2" || OpeuData[0] == "N3") {
  5771. for (var k = 0; k < r; k++) {
  5772. wOpeuGrid.addRow();
  5773. }
  5774. wOpeuGrid.setColumn(r, "entrid" + c + "tmp", utlf_transNullToEmpty(OpeuData[1] ).replace(/(^\s*)|(\s*$)/g, ""));
  5775. }
  5776. wOpeuGrid.setColumn(r, "entrid" + c, utlf_transNullToEmpty(OpeuData[1]).replace(/(^\s*)|(\s*$)/g, ""));
  5777. wOpeuGrid.setColumn(r, "entrnm" + c, utlf_transNullToEmpty(OpeuData[3]).replace(/(^\s*)|(\s*$)/g, ""));
  5778. wOpeuGrid.setColumn(r, "deptcd" + c, utlf_transNullToEmpty(OpeuData[4]).replace(/(^\s*)|(\s*$)/g, ""));
  5779. wOpeuGrid.setColumn(r, "deptnm" + c, utlf_transNullToEmpty(OpeuData[5]).replace(/(^\s*)|(\s*$)/g, ""));
  5780. wOpeuGrid.setColumn(r, "entrtm" + c, utlf_transNullToEmpty(OpeuData[8]).replace(/(^\s*)|(\s*$)/g, ""));
  5781. //}
  5782. }
  5783. }
  5784. }
  5785. //아래 코드는 진입 될 경우가 발생하지 않을 것으로 보임, 연락이 없는 경우 추후 삭제 필요
  5786. if (!utlf_isNull(xPathData.getColumn(0, "perfdrid")) && utlf_isNull(OpeuGrid1.getColumn(0, "entrid1"))) {
  5787. //sysf_messageBox("의료정보과로 연락바랍니다.");
  5788. OpeuGrid1.setColumn(0, "entrid1tmp", xPathData.getColumn(0, "perfdrid"));
  5789. OpeuGrid1.setColumn(0, "entrid1", xPathData.getColumn(0, "perfdrid"));
  5790. OpeuGrid1.setColumn(0, "entrnm1", xPathData.getColumn(0, "perfdridnm"));
  5791. OpeuGrid1.setColumn(0, "deptcd1", xPathData.getColumn(0, "perfdeptcd"));
  5792. OpeuGrid1.setColumn(0, "deptnm1", xPathData.getColumn(0, "depthngnm"));
  5793. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석 및 수정
  5794. // if (utlf_isNull(OpeuGrid1.getColumn(0, "entrtm1"))) {
  5795. // OpeuGrid1.setColumn(0, "entrtm1", group3.switch1.case1.grp_time.inp_perfidarvhh.value);
  5796. // } else {
  5797. // OpeuGrid1.setColumn(0, "entrtm1", xPathData.getColumn(0, "entrtm1"));
  5798. // }
  5799. if (!utlf_isNull(OpeuGrid1.getColumn(0, "entrtm1")))
  5800. {
  5801. OpeuGrid1.setColumn(0, "entrtm1", xPathData.getColumn(0, "entrtm1"));
  5802. }
  5803. }
  5804. }
  5805. /**
  5806. * @group :
  5807. * @ver : 2007.03.16
  5808. * @by : 최학록
  5809. * @---------------------------------------------------
  5810. * @type : function
  5811. * @access : public
  5812. * @desc : 화면 초기화
  5813. * @param :
  5814. * @return :
  5815. * @---------------------------------------------------
  5816. */
  5817. function fInit() {
  5818. var Cnt = 6;
  5819. var ItemCode = "ITM013";
  5820. if (checkOpener()) {
  5821. ItemCode = model.getValue("/root/init/hidden/refinfo/ItemCode");
  5822. }
  5823. grd_StatList2.colWidth(1) = 32;
  5824. grd_StatList2.colWidth(2) = 272;
  5825. grd_StatList2.colWidth(3) = 0;
  5826. grd_StatList2.attribute("visibility") = "hidden";
  5827. // txt_ItemOther.disabled = false;
  5828. txt_ItemOther.attribute("visibility") = "visible";
  5829. if (ItemCode == "ITM008") { // 알러지여부
  5830. Cnt = 1;
  5831. } else if (ItemCode == "ITM009") { // 수술전 검사
  5832. Cnt = 2;
  5833. txt_ItemOther.attribute("visibility") = "hidden";
  5834. grd_StatList2.attribute("visibility") = "visible";
  5835. } else if (ItemCode == "ITM012") { //수술부위 피부준비
  5836. Cnt = 3;
  5837. txt_ItemOther.attribute("visibility") = "hidden";
  5838. grd_StatList2.attribute("visibility") = "visible";
  5839. } else if (ItemCode == "ITM013") { // 수술전투약
  5840. Cnt = 4;
  5841. } else if (ItemCode == "ITM017") { // 전염성 질환
  5842. Cnt = 5;
  5843. } else if (ItemCode == "ITM018") { // 혈액준비사항
  5844. Cnt = 6;
  5845. grd_StatList2.colWidth(2) = 136;
  5846. grd_StatList2.colWidth(3) = 136;
  5847. txt_ItemOther.attribute("visibility") = "hidden";
  5848. grd_StatList2.attribute("visibility") = "visible";
  5849. }
  5850. model.copyNode(xPathItem, xPathItemTemp + "[" + Cnt + "]"); // 환자 수술전 처치 및 간호상태 확인 사항
  5851. grp_biz.refresh();
  5852. }
  5853. /**
  5854. * @group :
  5855. * @ver : 2007.03.16
  5856. * @by : 최학록
  5857. * @---------------------------------------------------
  5858. * @type : function
  5859. * @access : public
  5860. * @desc : 항목 보내기
  5861. * @param :
  5862. * @return :
  5863. * @---------------------------------------------------
  5864. */
  5865. function fSendItem() {
  5866. var Itempath = "";
  5867. var SendData = "";
  5868. var sRowCnt = grd_StatList2.rows - grd_StatList2.fixedrows;
  5869. var iRow = 0;
  5870. for (var i = 1; i <= sRowCnt; i++) {
  5871. if (model.getValue(xPathItemList + "[" + i + "]/ItmCheck") == "true") {
  5872. iRow++;
  5873. if (iRow > 1) {
  5874. SendData += ",";
  5875. }
  5876. SendData += model.getValue(xPathItemList + "[" + i + "]/ItmName1");
  5877. }
  5878. }
  5879. if (model.getValue(xPathItem + "/ItemOther") != "") {
  5880. SendData += ",";
  5881. SendData += model.getValue(xPathItem + "/ItemOther");
  5882. }
  5883. opener.javascript.setParameter("SendData", SendData);
  5884. // model.makeValue("/root/init/hidden/refinfo/ItemInfo",SendData);
  5885. //
  5886. // if (checkOpener()){
  5887. // model.copyNode(opener.root.HideData.recinfo, root.hidden.refinfo);
  5888. // } else{
  5889. // alert("상위화면이 변경되어 데이터를 전달할 수 없습니다.");
  5890. // }
  5891. // alert(SendData);
  5892. model.close();
  5893. }
  5894. /**
  5895. * @group :
  5896. * @ver : 2007.03.16
  5897. * @by : 최학록
  5898. * @---------------------------------------------------
  5899. * @type : function
  5900. * @access : public
  5901. * @desc : 조회
  5902. * @param :
  5903. * @return :
  5904. * @---------------------------------------------------
  5905. */
  5906. function fSearch() {
  5907. var sTerm = model.getValue(xRefPath + "/terminfo");
  5908. model.removenode("/root/send");
  5909. model.makeValue("/root/send/attrcnts", model.getValue(xRefPath + "/terminfo"));
  5910. submit("TRMNR01501");
  5911. }
  5912. var GroupPathData = "/root/main/MnphopcrData/MnphopcrList/esuspec/esu" + "*" // 0
  5913. +
  5914. "/root/main/MnphopcrData/MnphopcrList/tourniquetspec/tourniquet" + "*" // 1
  5915. +
  5916. "/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/warmcoldregm/urinary" + "*" // 2
  5917. +
  5918. "/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/warmcoldregm/ltube" + "*" // 3
  5919. +
  5920. "/root/main/MnphopcrData/MnphopcrList/warmcoldregmspec/warmcoldregm/subclavian" + "*" // 4
  5921. +
  5922. "/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/postureskinupdt/skinpartafter" + "*" // 5
  5923. +
  5924. "/root/main/MnphopcrData/MnphopcrList/postureskinupdtspec/postureskinupdt/skinpartbefore"; // 6
  5925. var GroupPath = GroupPathData.split("*");
  5926. /* ------------------------------------------------- */
  5927. /* desc : 선택 NODE 하위의 내용을 CLEAR한다. */
  5928. /* return : */
  5929. /* -------------------------------------------------- */
  5930. function fClearGroup(pGroup, pIDX) {
  5931. fClearChildNode(GroupPath[pIDX]);
  5932. pGroup.refresh();
  5933. }
  5934. /* ------------------------------------------------- */
  5935. /* desc : 선택 NODE 하위의 내용을 CLEAR한다. */
  5936. /* return : */
  5937. /* -------------------------------------------------- */
  5938. function fClearChildNode(pNode) {
  5939. xNode = instance1.selectSingleNode(pNode);
  5940. if (xNode == null) return;
  5941. nLen = xNode.childNodes.length;
  5942. for (var i = 0; i < nLen; i++) {
  5943. xNode.childNodes(i).text = '';
  5944. }
  5945. }
  5946. /* ------------------------------------------------- */
  5947. /* desc : CheckBox의 값 Check */
  5948. /* param : pCheckData : Check Box의 값 */
  5949. /* pComp : 비교대상 값 */
  5950. /* return : true, false */
  5951. /* -------------------------------------------------- */
  5952. function fCheckBoxValueCheck(pCheckData, pComp) {
  5953. return getData2ArrayCheck(pCheckData, " ", pComp);
  5954. }
  5955. /* ------------------------------------------------- */
  5956. /* group : EMR 간호 */
  5957. /* ver : 2007.05.03 */
  5958. /* by : 최학록 */
  5959. /* --------------------------------------------------*/
  5960. /* type : function */
  5961. /* access : public */
  5962. /* desc : GRID 한줄 추가 */
  5963. /* param : pGridNm : DataGrid Name */
  5964. /* pLine : DataGrid Row */
  5965. /* return : */
  5966. /* --------------------------------------------------*/
  5967. function fAddItem(pGridNm, pLine) {
  5968. if (pLine == '') {
  5969. pGridNm.addItem();
  5970. } else {
  5971. pGridNm.addItem(pLine, "after");
  5972. }
  5973. }
  5974. /* --------------------------------------------------*/
  5975. /* type : function */
  5976. /* access : public */
  5977. /* desc : GRID 한줄 삭제 */
  5978. /* param : pGridNm : DataGrid Name */
  5979. /* pLine : DataGrid Row */
  5980. /* return : */
  5981. /* --------------------------------------------------*/
  5982. function fDeleteItem(pGridNm, pLine) {
  5983. if (pLine == '') {
  5984. pGridNm.removeItem();
  5985. } else {
  5986. pGridNm.deleteItem(pLine);
  5987. }
  5988. }
  5989. //참여자 정보 Local Data 찾기
  5990. function fFindNurseData(pRow, pCol) {
  5991. var iRowCnt = 0;
  5992. var sSuSulNurXpath = "/root/init/HideData/timeOutAddInfo/opnurlist";
  5993. var sAnstNurXpath = "/root/init/HideData/timeOutAddInfo/anstnurlist";
  5994. var sSearchXpath = "";
  5995. var sUsernm = grd_opeu2.valueMatrix(pRow, pCol);
  5996. var sUserid = "";
  5997. var sTempUsernm = "";
  5998. var sTempDeptcd = "";
  5999. var sTempDeptnm = "";
  6000. var iSameCnt = 0;
  6001. if (pCol == 2 || pCol == 4) {
  6002. sSearchXpath = sSuSulNurXpath;
  6003. } else if (pCol == 6) {
  6004. sSearchXpath = sAnstNurXpath;
  6005. }
  6006. var wCol = pCol / 2;
  6007. "deptcd" + wCol, "deptnm" + wCol
  6008. iRowCnt = getNodesetCnt(model, sSearchXpath);
  6009. for (var i = 1; i <= iRowCnt; i++) {
  6010. sTempUsernm = model.getValue(sSearchXpath + "[" + i + "]/usernm");
  6011. if (sUsernm == sTempUsernm) {
  6012. sUsernm = sTempUsernm;
  6013. sUserid = model.getValue(sSearchXpath + "[" + i + "]/userid");
  6014. sTempDeptcd = model.getValue(sSearchXpath + "[" + i + "]/posdeptcd");
  6015. sTempDeptnm = model.getValue(sSearchXpath + "[" + i + "]/posdeptnm");
  6016. iSameCnt++;
  6017. }
  6018. }
  6019. if (iSameCnt == 1) {
  6020. grd_opeu2.valueMatrix(pRow, pCol) = sUsernm;
  6021. grd_opeu2.valueMatrix(pRow, pCol - 1) = sUserid;
  6022. model.setValue("/root/init/workinst/OpeuLists/opeulist2[" + pRow + "]/deptcd" + wCol, sTempDeptcd);
  6023. model.setValue("/root/init/workinst/OpeuLists/opeulist2[" + pRow + "]/deptnm" + wCol, sTempDeptnm);
  6024. grd_opeu2.refresh();
  6025. return true;
  6026. }
  6027. return false;
  6028. }
  6029. //========================================
  6030. // 사용자 정보, 부서정보 copy
  6031. // 2008-08-07 오후 9:29:00 taebum
  6032. //========================================
  6033. function fMakeUserInfo(pCls, pRow, pCol) {
  6034. var sTmpUsernm = "";
  6035. var sTmpDeptnm = "";
  6036. var sTmpDeptcd = "";
  6037. var sTmpUserid = "";
  6038. if (pCol < 0) {
  6039. return;
  6040. }
  6041. if (pCls == "1") { // Doct info
  6042. sTmpUserid = group3.switch1.case1.grd_opeu1.getCellValue(pRow, pCol);
  6043. sTmpUsernm = group3.switch1.case1.grd_opeu1.getCellText(pRow, pCol);
  6044. if (sTmpUsernm == " ") {
  6045. sTmpUsernm = "";
  6046. }
  6047. if (pCol == group3.switch1.case1.grd_opeu1.getBindCellIndex("body", "entrid1") || pCol == group3.switch1.case1.grd_opeu1.getBindCellIndex("body", "entrid3")) {
  6048. if (pCol == group3.switch1.case1.grd_opeu1.getBindCellIndex("body", "entrid1")) {
  6049. sTmpDeptcd = ds_init_HideData_timeOutAddInfo_opstaffdoctlist.getColumn(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.findRow("userid", sTmpUserid), "posdeptcd");
  6050. sTmpDeptnm = ds_init_HideData_timeOutAddInfo_opstaffdoctlist.getColumn(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.findRow("userid", sTmpUserid), "posdeptnm");
  6051. } else {
  6052. sTmpDeptcd = ds_init_HideData_timeOutAddInfo_anstdoclist.getColumn(ds_init_HideData_timeOutAddInfo_anstdoclist.findRow("userid", sTmpUserid), "posdeptcd");
  6053. sTmpDeptnm = ds_init_HideData_timeOutAddInfo_anstdoclist.getColumn(ds_init_HideData_timeOutAddInfo_anstdoclist.findRow("userid", sTmpUserid), "posdeptnm");
  6054. }
  6055. if (pCol == group3.switch1.case1.grd_opeu1.getBindCellIndex("body", "entrid1")) {
  6056. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "entrid1tmp", sTmpUserid);
  6057. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "entrnm1", sTmpUsernm);
  6058. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "deptcd1", sTmpDeptcd);
  6059. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "deptnm1", sTmpDeptnm);
  6060. } else {
  6061. //if(sTmpDeptcd != "" && sTmpDeptnm != ""){
  6062. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "entrid3tmp", sTmpUserid);
  6063. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "entrnm3", sTmpUsernm);
  6064. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "deptcd3", sTmpDeptcd);
  6065. ds_init_workinst_OpeuLists_opeulist1.setColumn(pRow, "deptnm3", sTmpDeptnm);
  6066. //}
  6067. }
  6068. }
  6069. } else if (pCls == "2") { // nurse info
  6070. sTmpUserid = group3.switch1.case1.grd_opeu2.getCellValue(pRow, pCol);
  6071. sTmpUsernm = group3.switch1.case1.grd_opeu2.getCellText(pRow, pCol);
  6072. if (sTmpUsernm == " ") {
  6073. sTmpUsernm = "";
  6074. }
  6075. if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid1") || pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid2") || pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid3")) {
  6076. if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid1") || pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid2")) {
  6077. sTmpDeptcd = ds_init_HideData_timeOutAddInfo_opnurlist.getColumn(ds_init_HideData_timeOutAddInfo_opnurlist.findRow("userid", sTmpUserid), "posdeptcd");
  6078. sTmpDeptnm = ds_init_HideData_timeOutAddInfo_opnurlist.getColumn(ds_init_HideData_timeOutAddInfo_opnurlist.findRow("userid", sTmpUserid), "posdeptnm");
  6079. } else if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid3")) {
  6080. sTmpDeptcd = ds_init_HideData_timeOutAddInfo_anstnurlist.getColumn(ds_init_HideData_timeOutAddInfo_anstnurlist.findRow("userid", sTmpUserid), "posdeptcd");
  6081. sTmpDeptnm = ds_init_HideData_timeOutAddInfo_anstnurlist.getColumn(ds_init_HideData_timeOutAddInfo_anstnurlist.findRow("userid", sTmpUserid), "posdeptnm");
  6082. }
  6083. //if(sTmpDeptcd != "" && sTmpDeptnm != ""){
  6084. if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid1")) {
  6085. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrid1tmp", sTmpUserid);
  6086. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrnm1", sTmpUsernm);
  6087. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptcd1", sTmpDeptcd);
  6088. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptnm1", sTmpDeptnm);
  6089. } else if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid2")) {
  6090. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrid2tmp", sTmpUserid);
  6091. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrnm2", sTmpUsernm);
  6092. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptcd2", sTmpDeptcd);
  6093. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptnm2", sTmpDeptnm);
  6094. } else if (pCol == group3.switch1.case1.grd_opeu2.getBindCellIndex("body", "entrid3")) {
  6095. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrid3tmp", sTmpUserid);
  6096. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "entrnm3", sTmpUsernm);
  6097. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptcd3", sTmpDeptcd);
  6098. ds_init_workinst_OpeuLists_opeulist2.setColumn(pRow, "deptnm3", sTmpDeptnm);
  6099. }
  6100. //}
  6101. }
  6102. // 2009-02-12 ycd 검체 취급자 정보 선택 변경 input -> combo
  6103. //}else if(pCls == "3" && pCol == grd_spclist.colRef("chargerid")){
  6104. // 2009-02-19 ycd 'chargerid' 필드가 두개여서 필드값 세팅
  6105. } else if (pCls == "3" && pCol == 4) {
  6106. sTmpUserid = group3.switch1.case1.grd_spclist.getCellValue(pRow, pCol);
  6107. sTmpUsernm = group3.switch1.case1.grd_spclist.getCellText(pRow, pCol);
  6108. if (utlf_isNull(sTmpUsernm)) {
  6109. sTmpUsernm = "";
  6110. }
  6111. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(pRow, "chargerid", sTmpUserid);
  6112. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(pRow, "chargernm", sTmpUsernm);
  6113. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(pRow, "oprsrvno", ds_main_operation_list.getColumn(0, "oprsrvno"));
  6114. //---------------(20101015) 경북대
  6115. //검체정보에 보낸곳추가
  6116. } else if (pCls == "3" && pCol == group3.switch1.case1.grd_spclist.getBindCellIndex("body", "deviposi")) {
  6117. sTmpUserid = group3.switch1.case1.grd_spclist.getCellValue(pRow, pCol);
  6118. sTmpUsernm = group3.switch1.case1.grd_spclist.getCellText(pRow, pCol);
  6119. if (utlf_isNull(sTmpUsernm)) {
  6120. sTmpUsernm = "";
  6121. }
  6122. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(pRow, "deviposinm", sTmpUsernm);
  6123. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(pRow, "oprsrvno", ds_main_operation_list.getColumn(0, "oprsrvno"));
  6124. }
  6125. //---------------(20101015) 경북대
  6126. }
  6127. // --------------------------------------------------
  6128. // 참여자 정보가져오기
  6129. // 2008-08-07 오후 11:17:06 Grid Button 및 input을 combo 로 변경 작업 taebum
  6130. // --------------------------------------------------
  6131. function fOpeuSelect(pCls, pRow, pCol) {
  6132. if (pCls == "1" && (pCol == "2" || pCol == "9")) {
  6133. fMakeUserInfo(pCls, pRow, pCol);
  6134. return;
  6135. } else if (pCls == "2") {
  6136. fMakeUserInfo(pCls, pRow, pCol);
  6137. return;
  6138. } else if (pCls == "3") {
  6139. fMakeUserInfo(pCls, pRow, pCol);
  6140. return;
  6141. }
  6142. //2008-08-07 오후 11:12:08 pCls == "2"는 로직을 타지 않음.
  6143. /*
  6144. //참여 간호사 정보 입력시 3자리 Full Name 입력하였을 경우
  6145. if(pCls == "2"){
  6146. if(fFindNurseData(pRow, pCol)){
  6147. return;
  6148. }
  6149. }
  6150. */
  6151. var sData = "011*" // 0 집도의
  6152. +
  6153. "011*" // 1 Assist
  6154. +
  6155. "012*" // 2 마취의
  6156. +
  6157. "015*" // 3 소독간호사
  6158. +
  6159. "015*" // 4 순회간호사
  6160. +
  6161. "017"; // 5 마취간호사
  6162. var tNode = sData.split("*");
  6163. var rPath = (pCls == "1") ? OpeuGrid1 : OpeuGrid2;
  6164. var wCol = Math.round(pCol / 3); //2008-09-04 오후 9:58:24 taebum 컬럼 추가로 2로 나누는것을 2.5로 변경
  6165. var rOpeu = utlf_transNullToEmpty(rPath.getColumn(pRow, "entrnm" + wCol)).replace(/(^\s*)|(\s*$)/g, "");
  6166. rPath.setColumn(pRow, "entrid" + wCol, "");
  6167. rPath.setColumn(pRow, "deptcd" + wCol, "");
  6168. rPath.setColumn(pRow, "deptnm" + wCol, "");
  6169. var sOpeuGrid = eval("group3.switch1.case1.grd_opeu" + pCls); // grd_opeu1,2
  6170. if (utlf_isNull(rOpeu)) {
  6171. //sOpeuGrid.cellStyle("color", pRow, pCol, pRow, pCol) = "";
  6172. return;
  6173. }
  6174. var wNode = (pCls == "1") ? tNode[wCol - 1] : tNode[wCol + 2];
  6175. var sSearchdd = ds_main_operation_list.getColumn(0, "opcnfmdd");
  6176. //2008-07-25 오후 1:53:13 특정일자에 근무했던 정보를 가져오도록 수정
  6177. fUserEnter(rPath, pRow, "entrid" + wCol, "entrnm" + wCol, "deptcd" + wCol, "deptnm" + wCol, rOpeu, sOpeuGrid, "all", wNode, sSearchdd); //yjh : SPMNP00001화면 개발
  6178. //2008-06-23 오후 5:24:58 taebum 정보가 없을 경우에는 빈칸으로 들어가서 edit 모드로 변경함.
  6179. if (utlf_isNull(rPath.getColumn(pRow, "entrid" + wCol))) {
  6180. //sOpeuGrid.cellStyle("color", pRow, pCol, pRow, pCol) = "#D22D2D";
  6181. eval(sOpeuGrid.binddataset).setColumn(pRow, utlf_transNullToEmpty(sOpeuGrid.getCellProperty("Body", pCol, "text")).replace("bind:", ""), "");
  6182. eval(sOpeuGrid.binddataset).rowposition = pRow;
  6183. eval(sOpeuGrid.binddataset).selectRow(pRow);
  6184. sOpeuGrid.setCellPos(pCol);
  6185. sOpeuGrid.setFocus();
  6186. } else {
  6187. //sOpeuGrid.cellStyle("color", pRow, pCol, pRow, pCol) = "";
  6188. }
  6189. }
  6190. // --------------------------------------------------
  6191. // Counter 정보가져오기
  6192. // --------------------------------------------------
  6193. function fCountSelect(pRow, pCol) {
  6194. if (pRow < 0) {
  6195. return;
  6196. }
  6197. var rPath = CountPath;
  6198. if (pCol > group3.switch1.case2.grd_count.getBindCellIndex("body", "packqty") && pCol < group3.switch1.case2.grd_count.getBindCellIndex("body", "samey")) { // Counter 사원 Check
  6199. sCol = pCol - group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11");
  6200. sData = "nursnm11 nursnm12 nursnm21 nursnm22 nursnm31 nursnm32 nursnm41 nursnm42 " +
  6201. "nursid11 nursid12 nursid21 nursid22 nursid31 nursid32 nursid41 nursid42 " +
  6202. "deptcd11 deptcd12 deptcd21 deptcd22 deptcd31 deptcd32 deptcd41 deptcd42 " +
  6203. "deptnm11 deptnm12 deptnm21 deptnm22 deptnm31 deptnm32 deptnm41 deptnm42 ";
  6204. sColumn = sData.split(" ");
  6205. var nursnm = sColumn[sCol];
  6206. var nursid = sColumn[sCol + (8 * 1)];
  6207. var deptcd = sColumn[sCol + (8 * 2)];
  6208. var deptnm = sColumn[sCol + (8 * 3)];
  6209. rPath.setColumn(pRow, nursid, "");
  6210. rPath.setColumn(pRow, deptcd, "");
  6211. rPath.setColumn(pRow, deptnm, "");
  6212. var rName = rPath.getColumn(pRow, nursnm);
  6213. if (utlf_isNull(rName)) {
  6214. var sExprColor = group3.switch1.case2.grd_count.getCellProperty("Body", pCol, "color");
  6215. sExprColor = utlf_transNullToEmpty(sExprColor).replace("currow == " + pRow + " ? '#ff0000' : ", "");
  6216. group3.switch1.case2.grd_count.setCellProperty("Body", pCol, "color", sExprColor);
  6217. return;
  6218. }
  6219. //2008-07-27 오후 2:04:30 taebum 수술확정일자 기준의 사용자 정보를 조회하도록 수정
  6220. var sSearchdd = ds_main_operation_list.getColumn(0, "opcnfmdd");
  6221. fUserEnter(rPath, pRow, nursid, nursnm, deptcd, deptnm, rName, group3.switch1.case2.grd_count, "userid", "015", sSearchdd);
  6222. if (utlf_isNull(rPath.getColumn(pRow, nursid))) {
  6223. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, utlf_transNullToEmpty(group3.switch1.case2.grd_count.getCellProperty("Body", pCol, "text")).replace("bind:", ""), "");
  6224. //2009-02-12 ycd 사용자 입력 빨간색 대신 입력값이 사라지도록 처리
  6225. //grd_count.cellStyle("color", pRow, pCol, pRow, pCol) = "#D22D2D";
  6226. //} else {
  6227. //grd_count.cellStyle("color", pRow, pCol, pRow, pCol) = "";
  6228. }
  6229. } else if (pCol > group3.switch1.case2.grd_count.getBindCellIndex("body", "nacls") && pCol < group3.switch1.case2.grd_count.getBindCellIndex("body", "totqty")) { //수량 Check
  6230. if (pRow == 0) {
  6231. rPath.setColumn(pRow, "addqty", "");
  6232. rPath.setColumn(pRow, "initqty", "");
  6233. rPath.setColumn(pRow, "totqty", "");
  6234. } else {
  6235. tCnt = 0
  6236. aCnt = rPath.getColumn(pRow, "addqty");
  6237. iCnt = rPath.getColumn(pRow, "initqty");
  6238. // 2009-02-05 ycd 수량 count 합계 처리 부분 제어문 추가
  6239. if (!utlf_isNull(aCnt) || !utlf_isNull(iCnt)) {
  6240. iCnt = utlf_isNull(iCnt) ? "0" : iCnt;
  6241. aCnt = utlf_isNull(aCnt) ? "0" : aCnt;
  6242. tCnt = parseInt(iCnt) + parseInt(aCnt);
  6243. //model.setValue(rPath + "/totqty", tCnt);
  6244. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "totqty", tCnt);
  6245. //grd_count.refresh();
  6246. } else if (utlf_isNull(aCnt) && utlf_isNull(iCnt)) {
  6247. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "totqty", "");
  6248. } else {
  6249. return;
  6250. }
  6251. }
  6252. }
  6253. }
  6254. // --------------------------------------------------
  6255. // Packing화면 Visible 처리하는 함수
  6256. // --------------------------------------------------
  6257. function fPackingVisible(pCol, pRow, pYpos) {
  6258. if (pCol != group3.switch1.case2.grd_count.getBindCellIndex("body", "packqty") || ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "kindcd") == "00") {
  6259. fPackingHidden("C");
  6260. return;
  6261. }
  6262. // Mouse Max 675
  6263. var PackInit = ds_init_XmlFormat;
  6264. var OpcoPath = CountPath;
  6265. group3.switch1.case2.grp_packing.opt_packrow.value = group3.switch1.case2.grd_count.currentrow;
  6266. group3.switch1.case2.grp_packing.opt_kindnm.value = OpcoPath.getColumn(pRow, "codenm3");
  6267. group3.switch1.case2.grp_packing.opt_packtot.value = OpcoPath.getColumn(pRow, "packqty");
  6268. var nRowNum = pRow;
  6269. for (var i = 0; i < pRow; i++) {
  6270. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "-" && ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recno") == "1") {
  6271. nRowNum--;
  6272. }
  6273. }
  6274. if (utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist"])) {
  6275. dsf_createDs("ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist", [{
  6276. col: "packnm"
  6277. },
  6278. {
  6279. col: "lt"
  6280. },
  6281. {
  6282. col: "center"
  6283. },
  6284. {
  6285. col: "rt"
  6286. },
  6287. {
  6288. col: "packcnt"
  6289. },
  6290. {
  6291. col: "packchk"
  6292. }
  6293. ]);
  6294. }
  6295. var sNode = eval("ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist");
  6296. var nIdx = sNode.rowcount;
  6297. if (nIdx > 0) {
  6298. ds_init_XmlFormat_PackLists_packlist.copyData(sNode);
  6299. for (var i = 0; i < ds_init_XmlFormat_PackLists_packlist.rowcount; i++) {
  6300. if (utlf_isNull(ds_init_XmlFormat_PackLists_packlist.getColumn(i, "packcnt")) ||
  6301. ds_init_XmlFormat_PackLists_packlist.getColumn(i, "packcnt") == "0") {
  6302. ds_init_XmlFormat_PackLists_packlist.setColumn(i, "lt", "");
  6303. ds_init_XmlFormat_PackLists_packlist.setColumn(i, "center", "");
  6304. ds_init_XmlFormat_PackLists_packlist.setColumn(i, "rt", "");
  6305. ds_init_XmlFormat_PackLists_packlist.setColumn(i, "packcnt", "");
  6306. }
  6307. }
  6308. } else {
  6309. ds_init_XmlFormat_PackLists_packlist.copyData(ds_init_XmlFormat_PackInit_packlist);
  6310. //
  6311. }
  6312. // fPackingTotal();
  6313. var yPos = pYpos;
  6314. if (yPos > 395) {
  6315. yPos = pYpos - 300;
  6316. }
  6317. if (yPos > 426) {
  6318. yPos = 426;
  6319. }
  6320. //output1.text = pYpos;
  6321. //output2.text = yPos ;
  6322. //output2.text = "85" ;
  6323. // grp_packing.attribute("left") = "635px";
  6324. // grp_packing.attribute("top" ) = yPos+"px"; // "85px";
  6325. group3.switch1.case2.grp_packing.position.top = 85; // "85px";
  6326. group3.switch1.case2.grp_packing.visible = true;
  6327. }
  6328. // --------------------------------------------------
  6329. // Packing화면 Hidden 처리하는 함수
  6330. // --------------------------------------------------
  6331. function fPackingHidden(pProc) {
  6332. group3.switch1.case2.grp_packing.visible = false;
  6333. if (pProc == "C") {
  6334. return;
  6335. }
  6336. fPackingTotal();
  6337. var OpcoPath = CountPath;
  6338. var nRowNum = group3.switch1.case2.grp_packing.opt_packrow.value;
  6339. for (var i = 0; i < group3.switch1.case2.grp_packing.opt_packrow.value; i++) {
  6340. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "-" && ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recno") == "1") {
  6341. nRowNum--;
  6342. }
  6343. }
  6344. OpcoPath.setColumn(group3.switch1.case2.grp_packing.opt_packrow.value, "packqty", group3.switch1.case2.grp_packing.opt_packtot.value);
  6345. if (utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist"])) {
  6346. dsf_createDs("ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist", [{
  6347. col: "packnm"
  6348. },
  6349. {
  6350. col: "lt"
  6351. },
  6352. {
  6353. col: "center"
  6354. },
  6355. {
  6356. col: "rt"
  6357. },
  6358. {
  6359. col: "packcnt"
  6360. },
  6361. {
  6362. col: "packchk"
  6363. }
  6364. ]);
  6365. }
  6366. eval("ds_main_MnphopcoLists_mnphopcolist" + nRowNum + "_packspec_packlist").copyData(ds_init_XmlFormat_PackLists_packlist);
  6367. //grp_packing.attribute("left") = "635px";
  6368. //grp_packing.attribute("top" ) = "85px";
  6369. }
  6370. // 2009-02-07 ycd 부위별 입력 조건 변경으로 인하여 Lt, Center, Rt 입력 수치에 대한 합계 정보를 구함
  6371. function fPackingPartEdit(pRow, pCol) {
  6372. //if(grd_opeuinfo1.valueMatrix(pRow, pCol) == "") {
  6373. // return;
  6374. //}
  6375. var sPackCnt = 0;
  6376. if (!utlf_isNull(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "lt"))) {
  6377. sPackCnt += parseInt(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "lt"));
  6378. }
  6379. if (!utlf_isNull(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "center"))) {
  6380. sPackCnt += parseInt(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "center"));
  6381. }
  6382. if (!utlf_isNull(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "rt"))) {
  6383. sPackCnt += parseInt(ds_init_XmlFormat_PackLists_packlist.getColumn(pRow, "rt"));
  6384. }
  6385. //합계 입력
  6386. if (sPackCnt == 0) {
  6387. ds_init_XmlFormat_PackLists_packlist.setColumn(pRow, "packcnt", "");
  6388. } else {
  6389. ds_init_XmlFormat_PackLists_packlist.setColumn(pRow, "packcnt", sPackCnt);
  6390. }
  6391. }
  6392. // Packing수량 합계 구하기
  6393. function fPackingTotal() {
  6394. var pTot = 0;
  6395. var pCnt = "";
  6396. var PackNode = ds_init_XmlFormat_PackLists_packlist;
  6397. var sNode = ds_init_XmlFormat_PackLists_packlist;
  6398. if (utlf_isNull(sNode)) return;
  6399. var nIdx = sNode.rowcount;
  6400. PackNode = ds_init_XmlFormat_PackLists_packlist;
  6401. for (var n = 0; n < nIdx; n++) {
  6402. pCnt = PackNode.getColumn(n, "packcnt");
  6403. pCnt = utlf_isNull(pCnt) ? "0" : pCnt;
  6404. pTot += parseInt(pCnt);
  6405. } // -- End Of for (n = 1; n <= nIdx; n++) --
  6406. group3.switch1.case2.grp_packing.opt_packtot.value = pTot;
  6407. }
  6408. // Packing Grid Merge False
  6409. function fPackingMergeFalse() {
  6410. for (var i = grd_count.colRef("nacls"); i <= grd_count.cols; i++) {
  6411. grd_count.mergeCol(i) = false;
  6412. }
  6413. /*
  6414. grd_count.mergeCol(03) = false;
  6415. grd_count.mergeCol(04) = false;
  6416. grd_count.mergeCol(05) = false;
  6417. grd_count.mergeCol(06) = false;
  6418. grd_count.mergeCol(07) = false;
  6419. grd_count.mergeCol(08) = false;
  6420. grd_count.mergeCol(09) = false;
  6421. grd_count.mergeCol(10) = false;
  6422. grd_count.mergeCol(11) = false;
  6423. grd_count.mergeCol(12) = false;
  6424. grd_count.mergeCol(13) = false;
  6425. grd_count.mergeCol(14) = false;
  6426. grd_count.mergeCol(15) = false;
  6427. grd_count.mergeCol(16) = false;
  6428. grd_count.mergeCol(17) = false;
  6429. */
  6430. }
  6431. // Packing Data Clear
  6432. function fPackingDataClear(pRow) {
  6433. var OpcoPath = CountPath;
  6434. //fCountDataClear(pRow);
  6435. fReadOnlyFlag(group3.switch1.case2.grd_count, pRow, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "initqty"), group3.switch1.case2.grd_count.getBindCellIndex("body", "samen"), true);
  6436. }
  6437. // Grid의 ReadOnly Set
  6438. function fReadOnlyFlag(pGrid, pStrRow, pEndRow, pStrCol, pEndCol, pBool) {
  6439. // alert("fReadOnlyFlag("+pGrid+", "+pStrRow+", "+ pEndRow+", "+pStrCol+", "+ pEndCol+", "+ pBool);
  6440. if (pBool == true) {
  6441. for (var i = pStrCol; i <= pEndCol; i++) {
  6442. var sExprEdit = pGrid.getCellProperty("Body", i, "edittype");
  6443. if (i == 4 || i == 18 || i == 19) {
  6444. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'checkbox'", "");
  6445. } else if (i == 5 || i == 20) {
  6446. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'combo'", "");
  6447. } else if (i == 6 || i == 7 || i == 10 || i == 11 || i == 12 || i == 13 || i == 14 || i == 15 || i == 16 || i == 17 || i == 21) {
  6448. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'text'", "");
  6449. } else {
  6450. continue;
  6451. }
  6452. for (var j = pStrRow; j <= pEndRow; j++) {
  6453. if (sExprEdit.indexOf("currow == " + j + " ? 'none' : ") < 0) {
  6454. sExprEdit += "currow == " + j + " ? 'none' : ";
  6455. }
  6456. }
  6457. if (i == 4 || i == 18 || i == 19) {
  6458. sExprEdit += "'checkbox'";
  6459. } else if (i == 5 || i == 20) {
  6460. sExprEdit += "'combo'";
  6461. } else if (i == 6 || i == 7 || i == 10 || i == 11 || i == 12 || i == 13 || i == 14 || i == 15 || i == 16 || i == 17 || i == 21) {
  6462. sExprEdit += "'text'";
  6463. }
  6464. pGrid.setCellProperty("Body", i, "edittype", sExprEdit);
  6465. }
  6466. } else {
  6467. for (var i = pStrCol; i <= pEndCol; i++) {
  6468. var sExprEdit = pGrid.getCellProperty("Body", i, "edittype");
  6469. for (var j = pStrRow; j <= pEndRow; j++) {
  6470. if (sExprEdit.indexOf("currow == " + j + " ? 'none' : ") > -1) {
  6471. utlf_transNullToEmpty(sExprEdit).replace("currow == " + j + " ? 'none' : ", "");
  6472. }
  6473. }
  6474. pGrid.setCellProperty("Body", i, "edittype", sExprEdit);
  6475. }
  6476. }
  6477. if (pBool == true) {
  6478. for (var Idx = pStrRow; Idx <= pEndRow; Idx++) {
  6479. fCountDataClear(Idx);
  6480. }
  6481. }
  6482. }
  6483. // Count Data Clear
  6484. function fCountDataClear(pRow, pFlag) {
  6485. var OpcoPath = CountPath; //+"["+ (pRow-1) +"]";
  6486. if (pRow == 0) { // Instrument
  6487. OpcoPath.setColumn(pRow, "initqty", ""); // 04
  6488. OpcoPath.setColumn(pRow, "addqty", ""); // 05
  6489. OpcoPath.setColumn(pRow, "totqty", ""); // 06
  6490. OpcoPath.setColumn(pRow, "packqty", ""); // 07
  6491. if (pFlag != true) {
  6492. var sExprBack = utlf_transNullToEmpty(group3.switch1.case2.grd_count.getCellProperty("Body", 3, "background")).replace("currow == " + pRow + " ? '#c0c0c0' : ", "").replace("currow == " + pRow + " ? '#ffff99' : ", "");
  6493. if (sExprBack.indexOf("currow == " + pRow + " ? '#DCDACS' : ") < 0) {
  6494. sExprBack = utlf_transNullToEmpty(sExprBack).replace("'')", "") + "currow == " + pRow + " ? '#DCDACS' : '')";
  6495. group3.switch1.case2.grd_count.setCellProperty("Body", 3, "background", sExprBack);
  6496. group3.switch1.case2.grd_count.setCellProperty("Body", 3, "background2", sExprBack);
  6497. }
  6498. sExprBack = utlf_transNullToEmpty(group3.switch1.case2.grd_count.getCellProperty("Body", 4, "background")).replace("currow == " + pRow + " ? '#c0c0c0' : ", "").replace("currow == " + pRow + " ? '#ffff99' : ", "");
  6499. if (sExprBack.indexOf("currow == " + pRow + " ? '#DCDACS' : ") < 0) {
  6500. sExprBack = utlf_transNullToEmpty(sExprBack).replace("'')", "") + "currow == " + pRow + " ? '#DCDACS' : '')";
  6501. group3.switch1.case2.grd_count.setCellProperty("Body", 4, "background", sExprBack);
  6502. group3.switch1.case2.grd_count.setCellProperty("Body", 4, "background2", sExprBack);
  6503. group3.switch1.case2.grd_count.setCellProperty("Body", 5, "background", sExprBack);
  6504. group3.switch1.case2.grd_count.setCellProperty("Body", 5, "background2", sExprBack);
  6505. group3.switch1.case2.grd_count.setCellProperty("Body", 6, "background", sExprBack);
  6506. group3.switch1.case2.grd_count.setCellProperty("Body", 6, "background2", sExprBack);
  6507. group3.switch1.case2.grd_count.setCellProperty("Body", 7, "background", sExprBack);
  6508. group3.switch1.case2.grd_count.setCellProperty("Body", 7, "background2", sExprBack);
  6509. }
  6510. }
  6511. } else {
  6512. OpcoPath.setColumn(pRow, "initqty", ""); // 04
  6513. OpcoPath.setColumn(pRow, "addqty", ""); // 05
  6514. OpcoPath.setColumn(pRow, "totqty", ""); // 06
  6515. OpcoPath.setColumn(pRow, "packqty", ""); // 07
  6516. }
  6517. OpcoPath.setColumn(pRow, "nursnm11", ""); // 08
  6518. OpcoPath.setColumn(pRow, "nursnm12", ""); // 09
  6519. OpcoPath.setColumn(pRow, "nursnm21", ""); // 10
  6520. OpcoPath.setColumn(pRow, "nursnm22", ""); // 11
  6521. OpcoPath.setColumn(pRow, "nursnm31", ""); // 12
  6522. OpcoPath.setColumn(pRow, "nursnm32", ""); // 13
  6523. OpcoPath.setColumn(pRow, "nursnm41", ""); // 14
  6524. OpcoPath.setColumn(pRow, "nursnm42", ""); // 15
  6525. OpcoPath.setColumn(pRow, "samey", "0"); // 16
  6526. OpcoPath.setColumn(pRow, "samen", "1"); // 17
  6527. OpcoPath.setColumn(pRow, "nursid11", "");
  6528. OpcoPath.setColumn(pRow, "nursid12", "");
  6529. OpcoPath.setColumn(pRow, "nursid21", "");
  6530. OpcoPath.setColumn(pRow, "nursid22", "");
  6531. OpcoPath.setColumn(pRow, "nursid31", "");
  6532. OpcoPath.setColumn(pRow, "nursid32", "");
  6533. OpcoPath.setColumn(pRow, "nursid41", "");
  6534. OpcoPath.setColumn(pRow, "nursid42", "");
  6535. OpcoPath.setColumn(pRow, "deptcd11", "");
  6536. OpcoPath.setColumn(pRow, "deptcd12", "");
  6537. OpcoPath.setColumn(pRow, "deptcd21", "");
  6538. OpcoPath.setColumn(pRow, "deptcd22", "");
  6539. OpcoPath.setColumn(pRow, "deptcd31", "");
  6540. OpcoPath.setColumn(pRow, "deptcd32", "");
  6541. OpcoPath.setColumn(pRow, "deptcd41", "");
  6542. OpcoPath.setColumn(pRow, "deptcd42", "");
  6543. OpcoPath.setColumn(pRow, "deptnm11", "");
  6544. OpcoPath.setColumn(pRow, "deptnm12", "");
  6545. OpcoPath.setColumn(pRow, "deptnm21", "");
  6546. OpcoPath.setColumn(pRow, "deptnm22", "");
  6547. OpcoPath.setColumn(pRow, "deptnm31", "");
  6548. OpcoPath.setColumn(pRow, "deptnm32", "");
  6549. OpcoPath.setColumn(pRow, "deptnm41", "");
  6550. OpcoPath.setColumn(pRow, "deptnm42", "");
  6551. var nIdx = 0;
  6552. if (utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + pRow + "_packspec_packlist"])) {
  6553. dsf_createDs("ds_main_MnphopcoLists_mnphopcolist" + pRow + "_packspec_packlist", [{
  6554. col: "packnm"
  6555. },
  6556. {
  6557. col: "lt"
  6558. },
  6559. {
  6560. col: "center"
  6561. },
  6562. {
  6563. col: "rt"
  6564. },
  6565. {
  6566. col: "packcnt"
  6567. },
  6568. {
  6569. col: "packchk"
  6570. }
  6571. ]);
  6572. }
  6573. if (!utlf_isNull(this.objects["ds_main_MnphopcoLists_mnphopcolist" + pRow + "_packspec_packlist"])) {
  6574. nIdx = eval("ds_main_MnphopcoLists_mnphopcolist" + pRow + "_packspec_packlist").rowcount;
  6575. }
  6576. PackNode = eval("ds_main_MnphopcoLists_mnphopcolist" + pRow + "_packspec_packlist");
  6577. for (var n = 0; n < nIdx; n++) {
  6578. PackNode.setColumn(n, "packchk", "false");
  6579. PackNode.setColumn(n, "packcnt", "");
  6580. PackNode.setColumn(n, "lt", ""); // 07
  6581. PackNode.setColumn(n, "center", ""); // 07
  6582. PackNode.setColumn(n, "rt", ""); // 07
  6583. } // -- End Of for (n = 1; n <= nIdx; n++) --
  6584. }
  6585. // Grid의 CountOnClick Set
  6586. function fCountOnClick(pGrid, pRow, pCol) {
  6587. if (pCol == group3.switch1.case2.grd_count.getBindCellIndex("body", "nacls")) {
  6588. if (pRow < 0) {
  6589. if (pGrid.getCellProperty("Head", 2, "displaytype") == "checkbox") {
  6590. fReadOnlyFlag(pGrid, 1, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "initqty"), group3.switch1.case2.grd_count.getBindCellIndex("body", "samen"), true);
  6591. pGrid.setCellProperty("Head", 60, "displaytype", "normal");
  6592. pGrid.setCellProperty("Head", 60, "edittype", "none");
  6593. pGrid.setCellProperty("Head", 61, "displaytype", "normal");
  6594. pGrid.setCellProperty("Head", 61, "edittype", "none");
  6595. } else {
  6596. fReadOnlyFlag(pGrid, 1, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "initqty"), group3.switch1.case2.grd_count.getBindCellIndex("body", "samen"), false);
  6597. pGrid.setCellProperty("Head", 60, "displaytype", "checkbox");
  6598. pGrid.setCellProperty("Head", 60, "edittype", "checkbox");
  6599. pGrid.setCellProperty("Head", 60, "expr", "0");
  6600. pGrid.setCellProperty("Head", 61, "displaytype", "checkbox");
  6601. pGrid.setCellProperty("Head", 61, "edittype", "checkbox");
  6602. pGrid.setCellProperty("Head", 61, "expr", "0");
  6603. }
  6604. } else {
  6605. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "nacls") == '1') {
  6606. fPackingDataClear(pRow);
  6607. var sExprEdit = pGrid.getCellProperty("Body", 6, "edittype");
  6608. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") < 0) {
  6609. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'text'", "") + ("currow == " + pRow + " ? 'none' : 'text'");
  6610. }
  6611. pGrid.setCellProperty("Body", 6, "edittype", sExprEdit);
  6612. pGrid.setCellProperty("Body", 7, "edittype", sExprEdit);
  6613. var sExprEdit = pGrid.getCellProperty("Body", 10, "edittype");
  6614. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") < 0) {
  6615. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'text'", "") + ("currow == " + pRow + " ? 'none' : 'text'");
  6616. }
  6617. pGrid.setCellProperty("Body", 10, "edittype", sExprEdit);
  6618. pGrid.setCellProperty("Body", 11, "edittype", sExprEdit);
  6619. pGrid.setCellProperty("Body", 12, "edittype", sExprEdit);
  6620. pGrid.setCellProperty("Body", 13, "edittype", sExprEdit);
  6621. pGrid.setCellProperty("Body", 14, "edittype", sExprEdit);
  6622. pGrid.setCellProperty("Body", 15, "edittype", sExprEdit);
  6623. pGrid.setCellProperty("Body", 16, "edittype", sExprEdit);
  6624. pGrid.setCellProperty("Body", 17, "edittype", sExprEdit);
  6625. var sExprEdit = pGrid.getCellProperty("Body", 18, "edittype");
  6626. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") < 0) {
  6627. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'checkbox'", "") + ("currow == " + pRow + " ? 'none' : 'checkbox'");
  6628. }
  6629. pGrid.setCellProperty("Body", 18, "edittype", sExprEdit);
  6630. pGrid.setCellProperty("Body", 19, "edittype", sExprEdit);
  6631. var sExprEdit = pGrid.getCellProperty("Body", 5, "edittype");
  6632. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") > -1) {
  6633. utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  6634. }
  6635. pGrid.setCellProperty("Body", 5, "edittype", sExprEdit);
  6636. } else {
  6637. var sExprEdit = pGrid.getCellProperty("Body", 6, "edittype");
  6638. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") > -1) {
  6639. utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  6640. }
  6641. pGrid.setCellProperty("Body", 6, "edittype", sExprEdit);
  6642. pGrid.setCellProperty("Body", 6, "edittype", sExprEdit);
  6643. var sExprEdit = pGrid.getCellProperty("Body", 10, "edittype");
  6644. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") > -1) {
  6645. utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  6646. }
  6647. pGrid.setCellProperty("Body", 10, "edittype", sExprEdit);
  6648. pGrid.setCellProperty("Body", 11, "edittype", sExprEdit);
  6649. pGrid.setCellProperty("Body", 12, "edittype", sExprEdit);
  6650. pGrid.setCellProperty("Body", 13, "edittype", sExprEdit);
  6651. pGrid.setCellProperty("Body", 14, "edittype", sExprEdit);
  6652. pGrid.setCellProperty("Body", 15, "edittype", sExprEdit);
  6653. pGrid.setCellProperty("Body", 16, "edittype", sExprEdit);
  6654. pGrid.setCellProperty("Body", 17, "edittype", sExprEdit);
  6655. var sExprEdit = pGrid.getCellProperty("Body", 18, "edittype");
  6656. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") > -1) {
  6657. utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  6658. }
  6659. pGrid.setCellProperty("Body", 18, "edittype", sExprEdit);
  6660. pGrid.setCellProperty("Body", 19, "edittype", sExprEdit);
  6661. var sExprEdit = pGrid.getCellProperty("Body", 5, "edittype");
  6662. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") < 0) {
  6663. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'combo'", "") + ("currow == " + pRow + " ? 'none' : 'combo'");
  6664. }
  6665. pGrid.setCellProperty("Body", 5, "edittype", sExprEdit);
  6666. CountPath.setColumn(pRow, "naclsinucd", "-"); // 사유란 초기화
  6667. CountPath.setColumn(pRow, "samey", "1"); // 16
  6668. CountPath.setColumn(pRow, "samen", "0"); // 17
  6669. }
  6670. }
  6671. ds_main_MnphopcoLists_mnphopcolist.setColumn(0, "nacls", "0");
  6672. var sExprEdit = pGrid.getCellProperty("Body", 4, "edittype");
  6673. if (sExprEdit.indexOf("currow == 0 ? 'none' : ") < 0) {
  6674. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'checkbox'", "") + ("currow == 0 ? 'none' : 'checkbox'");
  6675. }
  6676. pGrid.setCellProperty("Body", 4, "edittype", sExprEdit);
  6677. var sExprEdit = pGrid.getCellProperty("Body", 5, "edittype");
  6678. if (sExprEdit.indexOf("currow == 0 ? 'none' : ") < 0) {
  6679. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'combo'", "") + ("currow == 0 ? 'none' : 'combo'");
  6680. }
  6681. pGrid.setCellProperty("Body", 5, "edittype", sExprEdit);
  6682. var sExprEdit = pGrid.getCellProperty("Body", 6, "edittype");
  6683. if (sExprEdit.indexOf("currow == 0 ? 'none' : ") < 0) {
  6684. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'text'", "") + ("currow == 0 ? 'none' : 'text'");
  6685. }
  6686. pGrid.setCellProperty("Body", 6, "edittype", sExprEdit);
  6687. pGrid.setCellProperty("Body", 7, "edittype", sExprEdit);
  6688. } else if (pCol == group3.switch1.case2.grd_count.getBindCellIndex("body", "samey")) {
  6689. // 2009-02-10 ycd 오류 처리 계수여부 2개 동시 선택 되던 문제를 위해 func 분리시 삭제 처리
  6690. /*
  6691. if (pGrid.valueMatrix(pGrid.row, grd_count.colRef("nacls")) == 'false') {
  6692. fPackingVisible(pGrid.col, event.targetY);
  6693. }else{
  6694. fPackingHidden("C");
  6695. }
  6696. */
  6697. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "samey") == '1') {
  6698. if (pRow == 0 && xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  6699. fReadOnlyFlag(pGrid, pRow, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11"), group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm42"), false);
  6700. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "nacls", "0");
  6701. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "naclsinucd", "-");
  6702. }
  6703. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "samen", "0");
  6704. } else {
  6705. if (pRow == 0 && xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  6706. fReadOnlyFlag(pGrid, pRow, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11"), group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm42"), true);
  6707. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "nacls", "1");
  6708. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "naclsinucd", "9");
  6709. }
  6710. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "samen", "1");
  6711. }
  6712. } else if (pCol == group3.switch1.case2.grd_count.getBindCellIndex("body", "samen")) {
  6713. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "samen") == '1') {
  6714. if (pRow == 0 && xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  6715. fReadOnlyFlag(pGrid, pRow, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11"), group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm42"), true);
  6716. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "nacls", "1");
  6717. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "naclsinucd", "9");
  6718. }
  6719. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "samey", "0");
  6720. } else {
  6721. if (pRow == 0 && xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  6722. fReadOnlyFlag(pGrid, pRow, pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11"), group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm42"), false);
  6723. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "nacls", "0");
  6724. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "naclsinucd", "-");
  6725. }
  6726. ds_main_MnphopcoLists_mnphopcolist.setColumn(pRow, "samey", "1");
  6727. }
  6728. }
  6729. //---------(20101024) 경북대
  6730. if (pCol == group3.switch1.case2.grd_count.getBindCellIndex("body", "discordaction")) {
  6731. var stemp = pGrid.getCellText(pRow, group3.switch1.case2.grd_count.getBindCellIndex("body", "discordaction"));
  6732. CountPath.setColumn(pRow, "discordactionnm", stemp);
  6733. }
  6734. //---------(20101024) 경북대
  6735. }
  6736. // Grid의 CountOnClick Set 2009-02-10 ycd 변경요청에 의해 Packing 더블 클릭시 부위별 Packing 정보 입력창 활성화/비활성화 처리
  6737. function fCountOndblclickClick(pGrid, pRow, pCol) {
  6738. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "-") {
  6739. fClickCountListPopUpBtn(pRow);
  6740. } else {
  6741. if (pCol == pGrid.getBindCellIndex("body", "packqty")) {
  6742. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "nacls") == '0' && (ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "I" || ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recflag") == "U")) {
  6743. fPackingVisible(pCol, pRow, system.clientToScreenY(this, this.position.top));
  6744. } else {
  6745. fPackingHidden("C");
  6746. }
  6747. }
  6748. }
  6749. }
  6750. // --------------------------------------------------
  6751. // 수술체위 추가
  6752. // --------------------------------------------------
  6753. function fOppostureInsertRow() {
  6754. //2009-02-13 체위 추가시 자동 세팅 처리
  6755. var sOppostureLastRow = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.rowcount;
  6756. if (sOppostureLastRow == 0) {
  6757. var nRow = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.addRow();
  6758. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.copyRow(nRow, ds_init_XmlFormat_opposturespec_opposture_opposturelist, 0);
  6759. sOppostureLastRow = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.rowcount - 1;
  6760. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(sOppostureLastRow, "opposturefrdt", group3.switch1.case1.grp_time.inp_opfromdd.value);
  6761. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(sOppostureLastRow, "opposturefrtm", group3.switch1.case1.grp_time.inp_opfromhh.value);
  6762. } else {
  6763. if (utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(sOppostureLastRow - 1, "opposturetodt")) ||
  6764. utlf_isNull(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(sOppostureLastRow - 1, "opposturetotm"))) {
  6765. sysf_messageBox("수술체위 정보 추가시 이전 체위의 종료시간을 입력하십시오.", "I000");
  6766. return;
  6767. } else {
  6768. var nRow = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.addRow();
  6769. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.copyRow(nRow, ds_init_XmlFormat_opposturespec_opposture_opposturelist, 0);
  6770. sOppostureLastRow = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.rowcount;
  6771. sRtnBfOutoDate = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(sOppostureLastRow - 2, "opposturetodt")) + utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(sOppostureLastRow - 2, "opposturetotm")) + "00";
  6772. var sRtnOutoDate = utlf_getDateTime(sRtnBfOutoDate.toDate("YYYYMMDDhhmmss").getAddDate(1, "m"), 'A');
  6773. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(sOppostureLastRow - 1, "opposturefrdt", sRtnOutoDate.substr(0, 8));
  6774. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(sOppostureLastRow - 1, "opposturefrtm", sRtnOutoDate.substr(8, 4));
  6775. }
  6776. }
  6777. }
  6778. // --------------------------------------------------
  6779. // 수술체위 삭제
  6780. // --------------------------------------------------
  6781. function fOppostureDeleteRow() {
  6782. if (grd_opposture.row > 0) {
  6783. fDeleteItem(grd_opposture, grd_opposture.row);
  6784. }
  6785. }
  6786. // 수술명 조회
  6787. function fOpCodePopup(pRow, pCol) {
  6788. var xpos = event.screenX;
  6789. var ypos = event.screenY - 300;
  6790. setParameter("SendData", "");
  6791. modal("SPMNP01500");
  6792. // open("SPMNP01500", 1, xpos, ypos,"SPMNP01500","/root/init/WorkData/oplist", "/root/Cond/oplist");
  6793. var iProperties = getParameter("SendData");
  6794. var iSplit_Value = iProperties.split("|");
  6795. if (iSplit_Value.length > 0) {
  6796. if (model.getValue(OpcdPath + "/opcdlist[" + pRow + "]/opcd") != iSplit_Value[0]) { // CODE
  6797. model.setValue(OpcdPath + "/opcdlist[" + pRow + "]/opstat", "수정");
  6798. }
  6799. //
  6800. model.setValue(OpcdPath + "/opcdlist[" + pRow + "]/opcd", iSplit_Value[0]); // CODE
  6801. model.setValue(OpcdPath + "/opcdlist[" + pRow + "]/opcdname", iSplit_Value[1]); // NAME
  6802. //} else {
  6803. // model.setValue(OpcdPath+"/opcdlist["+pRow+"]/opstat" ,"");
  6804. }
  6805. }
  6806. // 수술기록 III 조회
  6807. function fSheetData3_Read_xxxxx(pFlag) {
  6808. var sSpecimenCd = "";
  6809. if (pFlag == "all") {
  6810. model.removenodeset(xPathSheetData3 + "/DrugLists/druglist");
  6811. model.removenodeset(xPathSheetData3 + "/DrgeLists/drgelist");
  6812. model.removenodeset(xPathSheetData3 + "/ImplantLists/implantlist");
  6813. model.removenodeset(xPathSheetData3 + "/OpEqmtLists/opeqmtlist");
  6814. //model.removenodeset(xPathSheetData3+"/OrganLists/organlist");
  6815. }
  6816. model.removenode("/root/send");
  6817. model.makeValue("/root/send/pid", model.getValue("/root/init/HideData/pid"));
  6818. model.makeValue("/root/send/oprsrvno", model.getValue("/root/init/HideData/oprsrvno"));
  6819. // model.makeValue("/root/send/opcnfmdd" , model.getValue(hPath+"/opcnfmdd" ));
  6820. model.makeValue("/root/send/opcnfmdd", model.getValue(xPathData + "/opcnfmdd"));
  6821. model.makeValue("/root/send/flag", pFlag);
  6822. if (submit("TRMNP00305")) {
  6823. // 약품정보
  6824. if (getNodesetCnt(model, xPathHiddenSheetData3 + "/druglist") > 0) {
  6825. model.makeNode(xPathSheetData3 + "/DrugLists/druglist");
  6826. model.copyNode(xPathSheetData3 + "/DrugLists/druglist", xPathHiddenSheetData3 + "/druglist");
  6827. }
  6828. // 배액관정보
  6829. // if(model.getValue(xPathData+"/drgeuseyn") != "X" &&
  6830. if (getNodesetCnt(model, xPathHiddenSheetData3 + "/drgelist") > 0) {
  6831. model.makeNode(xPathSheetData3 + "/DrgeLists/drgelist");
  6832. model.copyNode(xPathSheetData3 + "/DrgeLists/drgelist", xPathHiddenSheetData3 + "/drgelist");
  6833. }
  6834. // 장비 정보
  6835. if (model.getValue(xPathData + "/eqmtuseyn") != "X" && getNodesetCnt(model, xPathHiddenSheetData3 + "/opeqmtlist") > 0) {
  6836. model.makeNode(xPathSheetData3 + "/OpEqmtLists/opeqmtlist");
  6837. model.copyNode(xPathSheetData3 + "/OpEqmtLists/opeqmtlist", xPathHiddenSheetData3 + "/opeqmtlist");
  6838. }
  6839. // implant 정보
  6840. //if(model.getValue(xPathData+"/implantuseyn") != "X"
  6841. fSheetData3_Copy("/ImplantLists/implantlist", "/implantlist");
  6842. // if(getNodesetCnt(model, xPathHiddenSheetData3+"/implantlist") >0 ){
  6843. // model.makeNode(xPathSheetData3+"/ImplantLists/implantlist");
  6844. // model.copyNode(xPathSheetData3+"/ImplantLists/implantlist" ,xPathHiddenSheetData3+"/implantlist");
  6845. // }
  6846. // 검체 정보
  6847. model.copyNode(xPathSheetData3 + "/SpecimenLists", xPathFormat + "/SpecimenLists");
  6848. // 20071120 Choi
  6849. if (getNodesetCnt(model, xPathHiddenSheetData3 + "/specimenlist") > 0) {
  6850. for (var iRow = 1; iRow <= getNodesetCnt(model, xPathHiddenSheetData3 + "/specimenlist"); iRow++) {
  6851. sSpecimenCd = model.getValue(xPathHiddenSheetData3 + "/specimenlist[" + iRow + "]/specimencd");
  6852. model.setValue(xPathSheetData3 + "/SpecimenLists/specimenlist[specimencd='" + sSpecimenCd + "']/qty", model.getValue(xPathHiddenSheetData3 + "/specimenlist[" + iRow + "]/qty"));
  6853. model.setValue(xPathSheetData3 + "/SpecimenLists/specimenlist[specimencd='" + sSpecimenCd + "']/chargernm", model.getValue(xPathHiddenSheetData3 + "/specimenlist[" + iRow + "]/chargernm"));
  6854. model.setValue(xPathSheetData3 + "/SpecimenLists/specimenlist[specimencd='" + sSpecimenCd + "']/chargerid", model.getValue(xPathHiddenSheetData3 + "/specimenlist[" + iRow + "]/chargerid"));
  6855. model.setValue(xPathSheetData3 + "/SpecimenLists/specimenlist[specimencd='" + sSpecimenCd + "']/oprsrvno", model.getValue(xPathHiddenSheetData3 + "/specimenlist[" + iRow + "]/oprsrvno"));
  6856. }
  6857. }
  6858. if (getNodesetCnt(model, "/root/temp/SheetData3/specimenlistnew") > 0) {
  6859. model.copyNode(xPathSheetData3 + "/SpecimenLists/specimenlistnew", "/root/temp/SheetData3/specimenlistnew");
  6860. }
  6861. // Tourniquet 정보
  6862. if (model.getValue(xPathData + "/tourniquetspec/tourniquet/tourniquetyn") != "N" &&
  6863. getNodesetCnt(model, xPathHiddenSheetData3 + "/tourniquetlist") > 0) {
  6864. for (var iRow = 1; iRow <= getNodesetCnt(model, xPathHiddenSheetData3 + "/tourniquetlist"); iRow++) {
  6865. sTouranstrecno = model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/anstrecno");
  6866. pchkyn = "N";
  6867. if (getNodesetCnt(model, xPathData + "/tourniquetspec/tourniquet/tourniquetlist") > 0) {
  6868. for (var cRow = 1; cRow <= getNodesetCnt(model, xPathData + "/tourniquetspec/tourniquet/tourniquetlist"); cRow++) {
  6869. if (model.getValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[anstrecno ='" + sTouranstrecno + "']/startdd") != "") {
  6870. pchkyn = "Y";
  6871. }
  6872. }
  6873. }
  6874. if (pchkyn == "N") {
  6875. insRow = eval(getNodesetCnt(model, xPathData + "/tourniquetspec/tourniquet/tourniquetlist")) + 1;
  6876. var rSttTime = "";
  6877. pFrDate = model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/torniquetfromdd");
  6878. pFrTime = model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/torniquetfromtm");
  6879. pToDate = model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/torniquettodd");
  6880. pToTime = model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/torniquettotm");
  6881. if (pFrDate != "" && pToDate != "" && pFrTime != "" && pToTime != "") {
  6882. rSttTime = fTimeInterval(pFrDate, pToDate, pFrTime, pToTime, "1");
  6883. }
  6884. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/startdd", pFrDate);
  6885. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/starttm", pFrTime);
  6886. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/enddd", pToDate);
  6887. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/endtm", pToTime);
  6888. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/termtm", rSttTime);
  6889. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/pressure", "");
  6890. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/posimage", "");
  6891. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/posimageview", "");
  6892. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/cuffsize", "");
  6893. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/applierid", "");
  6894. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/appliernm", "");
  6895. model.makeValue(xPathData + "/tourniquetspec/tourniquet/tourniquetlist[" + insRow + "]/anstrecno", model.getValue(xPathHiddenSheetData3 + "/tourniquetlist[" + iRow + "]/anstrecno"));
  6896. }
  6897. }
  6898. }
  6899. // 수술후 수술명
  6900. xNode = instance1.selectSingleNode(OpcdPath);
  6901. if (xNode == null) {
  6902. nLen = 0;
  6903. model.makeNode(OpcdPath); // Path 생성 /root/main/MnphopcrData/MnphopcrList/aftopopnm/aftopoplists
  6904. } else {
  6905. nLen = xNode.childNodes.length;
  6906. }
  6907. if (getNodesetCnt(model, xPathHiddenSheetData3 + "/opcdlist") > 0) {
  6908. model.makeNode(OpcdPath + "/opcdlist");
  6909. model.copyNode(OpcdPath + "/opcdlist", xPathHiddenSheetData3 + "/opcdlist");
  6910. } else {
  6911. if (nLen < 1) {
  6912. model.copyNode(OpcdPath, "/root/init/workinst/OpcdData");
  6913. }
  6914. }
  6915. grd_afopnm.refresh();
  6916. grd_druglist.refresh();
  6917. //grd_inscath.refresh();
  6918. grd_opeqmtlist.refresh();
  6919. grd_implantlist.refresh();
  6920. grd_spclist.refresh();
  6921. grd_tourniquet.refresh();
  6922. }
  6923. }
  6924. // 수술기록 III 조회
  6925. function fSheetData3_Read(pFlag) {
  6926. //return;
  6927. var sSpecimenCd = "";
  6928. if (pFlag == "all") {
  6929. eval(xPathSheetData3 + "DrugLists_druglist").clearData();
  6930. eval(xPathSheetData3 + "DrgeLists_drgelist").clearData();
  6931. eval(xPathSheetData3 + "ImplantLists_implantlist").clearData();
  6932. eval(xPathSheetData3 + "OpEqmtLists_opeqmtlist").clearData();
  6933. }
  6934. ds_send.setColumn(0, "pid", ds_init_HideData.getColumn(0, "pid"));
  6935. ds_send.setColumn(0, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  6936. ds_send.setColumn(0, "opcnfmdd", xPathData.getColumn(0, "opcnfmdd"));
  6937. ds_send.setColumn(0, "flag", pFlag);
  6938. var oParam = {};
  6939. oParam.id = "TRMNP00305";
  6940. oParam.service = "opanstapp.OpAnstRec";
  6941. oParam.method = "reqGetSheetDataList";
  6942. oParam.inds = "req=ds_send";
  6943. oParam.outds = "ds_temp_SheetData3_druglist=druglist ds_temp_SheetData3_drgelist=drgelist ds_temp_SheetData3_implantlist=implantlist ds_temp_SheetData3_opeqmtlist=opeqmtlist ds_temp_SheetData3_specimenlist=specimenlist ds_temp_SheetData3_specimenlistnew=specimenlistnew ds_temp_SheetData3_opcdlist=opcdlist ds_temp_SheetData3_tourniquetlist=tourniquetlist ds_temp_SheetData3_skinserveylist=skinserveylist";
  6944. oParam.async = false;
  6945. oParam.callback = "cf_TRMNP00305";
  6946. tranf_submit(oParam);
  6947. if (arErrorCode.pop("TRMNP00305") > -1) {
  6948. fSheetData3_Copy("DrugLists_druglist", "druglist"); // 약품정보
  6949. fSheetData3_Copy("DrgeLists_drgelist", "drgelist"); // 배액관정보
  6950. fSheetData3_Copy("skinserveyinfo_skinserveylist", "skinserveylist"); // 피부관찰기록정보
  6951. //============================================================================
  6952. //2008-06-26 오후 5:12:43 taebum 추가요구사항
  6953. //삽관기록에 배액관으로 처방된 목록이 기본으로 들어오도록 이때는 시기가 intra op 로 해서 추가
  6954. if (ds_main_MnphopcrData_MnphopcrList.getColumn(0, "recstat") == "I") {
  6955. fGetDrgeListForCath();
  6956. }
  6957. //============================================================================
  6958. //2009-02-16 ycd 장비사용기록 해당없음 Y,N 여부에 따른 처리 로직 변경
  6959. if (xPathData.getColumn(0, "eqmtuseyn") != "X" || eval(xPathHiddenSheetData3 + "opeqmtlist").rowcount > 0) {
  6960. group3.switch1.case1.btn_settingstrdt.enable = true;
  6961. group3.switch1.case1.btn_settingenddt.enable = true;
  6962. group3.switch1.case1.bbt_opeqmt.enable = true;
  6963. group3.switch1.case1.btn_eqmtinfo.enable = true;
  6964. fSheetData3_Copy("OpEqmtLists_opeqmtlist", "opeqmtlist"); // 장비 정보
  6965. for (var i = 0; i < ds_main_SheetData3_OpEqmtLists_opeqmtlist.rowcount; i++) {
  6966. if (ds_main_SheetData3_OpEqmtLists_opeqmtlist.getColumn(i, "chk") == "true") {
  6967. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "1");
  6968. } else {
  6969. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "0");
  6970. }
  6971. }
  6972. xPathData.setColumn(0, "eqmtuseyn", "");
  6973. } else {
  6974. group3.switch1.case1.btn_settingstrdt.enable = false;
  6975. group3.switch1.case1.btn_settingenddt.enable = false;
  6976. group3.switch1.case1.bbt_opeqmt.enable = false;
  6977. group3.switch1.case1.btn_eqmtinfo.enable = false;
  6978. }
  6979. fSheetData3_Copy("ImplantLists_implantlist", "implantlist"); // implant 정보
  6980. //2008-07-03 오후 10:58:15 taebum add
  6981. //fSheetData3_Copy("/OrganLists/organlist", "/organlist"); // 장기이식 정보
  6982. // 검체 정보 체크
  6983. // 2009-02-16 ycd 수정 fSpecimenCheck() 메소드 수정 처리시 같이 수정
  6984. // model.copyNode(xPathSheetData3+"/SpecimenLists", xPathFormat+"/SpecimenLists");
  6985. // 20071120 Choi
  6986. if (xPathData.getColumn(0, "spcuseyn") != "X") {
  6987. if (ds_main_operation_list.getColumn(0, "opcnfmdd") <= ds_specdd.getColumn(0, "chkdd")) { //검체 기록을 과거 화면과 분리를 위해_20120904_손성훈.
  6988. if (eval(xPathHiddenSheetData3 + "specimenlist").rowcount > 0) {
  6989. for (var iRow = 0; iRow < eval(xPathHiddenSheetData3 + "specimenlist").rowcount; iRow++) {
  6990. sSpecimenCd = eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "specimencd");
  6991. var nFindRow = eval(xPathSheetData3 + "SpecimenLists_specimenlist").findRow("specimencd", sSpecimenCd);
  6992. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "qty", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "qty"));
  6993. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "chargernm", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "chargernm"));
  6994. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "chargerid", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "chargerid"));
  6995. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "oprsrvno", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "oprsrvno"));
  6996. //-----------(20101015) 경북대
  6997. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "deviposi", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "deviposi"));
  6998. eval(xPathSheetData3 + "SpecimenLists_specimenlist").setColumn(nFindRow, "deviposinm", eval(xPathHiddenSheetData3 + "specimenlist").getColumn(iRow, "deviposinm"));
  6999. //-----------(20101015) 경북대
  7000. }
  7001. }
  7002. fChangGridSetting("grd_spclist");
  7003. } else {
  7004. // 검체항목 변경 _ 손성훈 _2012.08.29 ---------
  7005. if (eval(xPathHiddenSheetData3 + "specimenlistnew").rowcount > 0) {
  7006. pNode1 = "SpecimenLists_specimenlistnew";
  7007. pNode2 = "specimenlistnew";
  7008. fSheetData3_Copy(pNode1, pNode2);
  7009. }
  7010. fChangGridSetting("grd_spclistnew"); // 검체항목 변경 _ 손성훈 _2012.08.29
  7011. }
  7012. // ----------------------- 손성훈 _2012.08.29 //
  7013. } else {
  7014. fSpecimenCheck();
  7015. }
  7016. // Tourniquet 정보
  7017. if (ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet.getColumn(0, "tourniquetyn") != "N" &&
  7018. eval(xPathHiddenSheetData3 + "tourniquetlist").rowcount > 0) {
  7019. for (var iRow = 0; iRow < eval(xPathHiddenSheetData3 + "tourniquetlist").rowcount; iRow++) {
  7020. sTouranstrecno = eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "anstrecno");
  7021. pchkyn = "N";
  7022. if (ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount > 0) {
  7023. for (var cRow = 0; cRow < ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount; cRow++) {
  7024. if (!utlf_isNull(ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.findRow("anstrecno", sTouranstrecno), "startdd"))) {
  7025. pchkyn = "Y";
  7026. }
  7027. }
  7028. }
  7029. if (pchkyn == "N") {
  7030. insRow = eval(ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount);
  7031. var rSttTime = "";
  7032. pFrDate = eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "torniquetfromdd");
  7033. pFrTime = eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "torniquetfromtm");
  7034. pToDate = eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "torniquettodd");
  7035. pToTime = eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "torniquettotm");
  7036. if (!utlf_isNull(pFrDate) && !utlf_isNull(pToDate) && !utlf_isNull(pFrTime) && !utlf_isNull(pToTime)) {
  7037. rSttTime = fTimeInterval(pFrDate, pToDate, pFrTime, pToTime, "1");
  7038. }
  7039. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.addRow();
  7040. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "startdd", pFrDate);
  7041. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "starttm", pFrTime);
  7042. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "enddd", pToDate);
  7043. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "endtm", pToTime);
  7044. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "termtm", rSttTime);
  7045. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "pressure", "");
  7046. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "posimage", "");
  7047. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "posimageview", "");
  7048. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "cuffsize", "");
  7049. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "applierid", "");
  7050. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "appliernm", "");
  7051. ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.setColumn(insRow, "anstrecno", eval(xPathHiddenSheetData3 + "tourniquetlist").getColumn(iRow, "anstrecno"));
  7052. }
  7053. }
  7054. }
  7055. /* 2009-02-16 ycd 삭제처리
  7056. var iTotalSpecimentListsCnt = getNodesetCnt(model, xPathSheetData3+"/SpecimenLists/specimenlist");
  7057. for(var i=1; i <= iTotalSpecimentListsCnt; i++ ){
  7058. grd_spclist.cellstyle("background-color", i, 3, i, 3) = "#eaeaea";
  7059. }
  7060. */
  7061. /*
  7062. //opcr list에서 데이터를 가져오는데 왜 여기서 처리하는지 모르겠음. 2008-07-17 오전 10:08:46
  7063. // 수술후 수술명
  7064. xNode = instance1.selectSingleNode(OpcdPath);
  7065. if (xNode == null) {
  7066. nLen = 0;
  7067. model.makeNode(OpcdPath); // Path 생성 /root/main/MnphopcrData/MnphopcrList/aftopopnm/aftopoplists
  7068. } else {
  7069. //nLen = xNode.childNodes.length;
  7070. }
  7071. if (getNodesetCnt(model, xPathHiddenSheetData3+"/opcdlist") >0){
  7072. model.removenodeset(OpcdPath+"/opcdlist");
  7073. model.makeNode(OpcdPath+"/opcdlist");
  7074. model.copyNode(OpcdPath+"/opcdlist", xPathHiddenSheetData3+"/opcdlist");
  7075. }else{
  7076. model.removenodeset(OpcdPath+"/opcdlist");
  7077. if (nLen < 1) {
  7078. model.copyNode(OpcdPath, "/root/init/workinst/OpcdData");
  7079. }
  7080. }
  7081. */
  7082. }
  7083. }
  7084. function cf_TRMNP00305(sSvcId, nErrorCode, sErrorMsg) {
  7085. arErrorCode.push(sSvcId, nErrorCode);
  7086. }
  7087. // 수술기록 III Instance Copy
  7088. function fSheetData3_Copy(pNode1, pNode2) {
  7089. var NodeCnt = eval(xPathHiddenSheetData3 + pNode2).rowcount;
  7090. if (NodeCnt > 0) {
  7091. eval(xPathSheetData3 + pNode1).clearData();
  7092. eval(xPathSheetData3 + pNode1).enableevent = false;
  7093. eval(xPathSheetData3 + pNode1).updatecontrol = false;
  7094. for (var i = 0; i < NodeCnt; i++) {
  7095. eval(xPathSheetData3 + pNode1).addRow();
  7096. eval(xPathSheetData3 + pNode1).copyRow(i, eval(xPathHiddenSheetData3 + pNode2), i);
  7097. }
  7098. eval(xPathSheetData3 + pNode1).updatecontrol = true;
  7099. eval(xPathSheetData3 + pNode1).enableevent = true;
  7100. }
  7101. }
  7102. //배액관 정보 삽관기록으로 copy
  7103. function fGetDrgeListForCath() {
  7104. var NodeCnt = ds_main_SheetData3_DrgeLists_drgelist.rowcount;
  7105. var sCathFalg = "처방";
  7106. if (NodeCnt > 0) {
  7107. var sGridInsert = "false";
  7108. for (var i = 0; i < NodeCnt; i++) {
  7109. var sItemcd = ds_main_SheetData3_DrgeLists_drgelist.getColumn(i, "drgecd");
  7110. var sItemNm = ds_main_SheetData3_DrgeLists_drgelist.getColumn(i, "drgenm");
  7111. var sPartInfo = ds_main_SheetData3_DrgeLists_drgelist.getColumn(i, "partinfo");
  7112. var sDrgeqty = ds_main_SheetData3_DrgeLists_drgelist.getColumn(i, "drgeqty");
  7113. var sDrgespec = ds_main_SheetData3_DrgeLists_drgelist.getColumn(i, "drgespec");
  7114. //기존에 삽관기록에 존재할 경우 skip한다.
  7115. var iCathNodeCnt = ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.rowcount;
  7116. var sCatchItemcd = "";
  7117. var sExist = "false";
  7118. for (var j = 0; j < iCathNodeCnt; j++) {
  7119. sCatchItemcd = ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.getColumn(j, "itemcd");
  7120. sCatchDrgespec = ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.getColumn(j, "spec");
  7121. if (sItemcd == sCatchItemcd && sDrgespec == sCatchDrgespec) {
  7122. sExist = "true";
  7123. }
  7124. }
  7125. if (sExist == "false") {
  7126. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.addRow();
  7127. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "cathflag", sCathFalg);
  7128. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "itemcd", sItemcd);
  7129. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "itemnm", sItemNm);
  7130. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "partinfo", sPartInfo);
  7131. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "qty", sDrgeqty);
  7132. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "spec", sDrgespec);
  7133. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "actflag", "I"); //intra op
  7134. ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(iCathNodeCnt, "method", "A");
  7135. sGridInsert = "true";
  7136. }
  7137. }
  7138. }
  7139. }
  7140. // 수술장비조회 팝업 호출
  7141. function fOpEqmtPopup() {
  7142. var sMsg = "";
  7143. var sOPEqmtCD = "";
  7144. if (xPathData.getColumn(0, "eqmtuseyn") == "X") {
  7145. sysf_messageBox("해당없음 선택으로 장비 추가를 할 수", "I004");
  7146. return;
  7147. }
  7148. frmf_setParameter("SPMNP00300_oproomdept", ds_main_MnphopcrData_MnphopcrList.getColumn(0, "oproomcd"));
  7149. //modal("SPMNP00301"); // 기존 장비 목록 조회
  7150. frmf_modal("SPMNP00360", "SPMNP00360", null, "", "", "", "", "", "", "", "", "", "M"); // 장비목록 조회.2012.05.17_손성훈 //yjh
  7151. sMsg = utlf_transNullToEmpty(frmf_getParameter("SPMNP00300_Return"));
  7152. if (utlf_isNull(sMsg)) return;
  7153. frmf_setParameter("SPMNP00300_Return", "");
  7154. var iRow = group3.switch1.case1.grd_opeqmtlist.rowcount;
  7155. //20171213 이돈희 수정 : 원가분석을 위한 기구 및 장비 항목 수정
  7156. for (var i = 1; i < sMsg.split("▩").length - 1; i++) {
  7157. sOPEqmtCD = getArrayData(sMsg, i, 1);
  7158. //선택한 기구 및 장비가 기존에 추가 되어있는 경우 continue
  7159. if (!utlf_isNull(ds_main_SheetData3_OpEqmtLists_opeqmtlist.getColumn(ds_main_SheetData3_OpEqmtLists_opeqmtlist.findRow("opeqmtcd", sOPEqmtCD), "opeqmtcd")))
  7160. {
  7161. continue;
  7162. }
  7163. //선택한 기구 및 장비 추가
  7164. if (iRow == 0 || !utlf_isNull(ds_main_SheetData3_OpEqmtLists_opeqmtlist.getColumn(iRow - 1, "opeqmtcd"))) {
  7165. ds_main_SheetData3_OpEqmtLists_opeqmtlist.addRow();
  7166. iRow++;
  7167. }
  7168. //wongayn▦opeqmtcd▦fixasetcd▦opeqmtnm▦eqmodel▦installplcenm▩
  7169. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "wongayn", getArrayData(sMsg, i, 0));//구분
  7170. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "opeqmtcd", getArrayData(sMsg, i, 1));//장비코드(eqid)
  7171. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "fixasetcd", getArrayData(sMsg, i, 2));//자산코드
  7172. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "opeqmtnm", getArrayData(sMsg, i, 3));//장비명
  7173. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "eqmodel", getArrayData(sMsg, i, 4));//모델
  7174. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "installplcenm", getArrayData(sMsg, i, 5));//사용부서
  7175. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(iRow - 1, "oprsrvno", ds_init_HideData.getColumn(0, "oprsrvno"));
  7176. }
  7177. }
  7178. // 사용부위 팝업 호출
  7179. function fPartListVisible(pPartFlag, pYpos) {
  7180. var yPos = pYpos;
  7181. sPartFlag = pPartFlag;
  7182. if (yPos > 395) {
  7183. yPos = pYpos - 300;
  7184. }
  7185. if (yPos > 426) {
  7186. yPos = 426;
  7187. }
  7188. // 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  7189. //grp_partlist.attribute("top") = yPos+"px";
  7190. //grp_partlist.visible= true;
  7191. }
  7192. // 사용부위 팝업 설정/취소
  7193. function fPartListHidden(pProc) {
  7194. // 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  7195. //grp_partlist.visible = false;
  7196. var sSendMsg = "";
  7197. var sPartMsg = "";
  7198. var sPart = "";
  7199. var iRow = 0;
  7200. for (iRow = grd_partlist.fixedrows; iRow <= grd_partlist.rows; iRow++) {
  7201. sPartMsg = "";
  7202. sPart = "";
  7203. for (var iCol = 1; iCol <= 4; iCol++) {
  7204. if (grd_partlist.valueMatrix(iRow, iCol) == "true") {
  7205. if (iCol == 1) {
  7206. sPart = "앞";
  7207. } else if (iCol == 2) {
  7208. sPart = "뒤";
  7209. } else if (iCol == 3) {
  7210. sPart = "왼쪽";
  7211. } else if (iCol == 4) {
  7212. sPart = "오른쪽";
  7213. }
  7214. if (sPartMsg != "") {
  7215. sPartMsg += ",";
  7216. } else {
  7217. sPartMsg += "(";
  7218. }
  7219. sPartMsg += sPart;
  7220. grd_partlist.valueMatrix(iRow, iCol) = "";
  7221. }
  7222. }
  7223. if (sPartMsg != "") {
  7224. sPartMsg += ")";
  7225. }
  7226. if (sSendMsg != "" && sPartMsg != "") {
  7227. sSendMsg += ",";
  7228. }
  7229. if (sPartMsg != "") {
  7230. sSendMsg += grd_partlist.valueMatrix(iRow, 0) + sPartMsg;
  7231. }
  7232. }
  7233. if (pProc == "C") return;
  7234. if (sPartFlag == "drug") {
  7235. iRow = grd_druglist.row;
  7236. model.setValue(xPathSheetData3 + "/DrugLists/druglist[" + iRow + "]/partinfo", sSendMsg);
  7237. grd_druglist.rebuild();
  7238. }
  7239. // 2009-02-05 ycd 수술간호기록 수정작업 중 삭제 처리
  7240. /*
  7241. else if(sPartFlag == "drge"){
  7242. iRow = grd_drgelist.row;
  7243. model.setValue(xPathSheetData3+"/DrgeLists/drgelist["+iRow+"]/partinfo", sSendMsg);
  7244. grd_drgelist.rebuild();
  7245. }
  7246. */
  7247. }
  7248. // 검체 체크
  7249. function fSpecimenCheck() {
  7250. /* 2009-02-16 ycd 삭제처리
  7251. if(model.getValue(xPathData+"/spcuseyn") == "X"){
  7252. model.removenodeset(xPathSheetData3+"/SpecimenLists/specimenlist");
  7253. model.copyNode(xPathSheetData3+"/SpecimenLists", xPathFormat+"/SpecimenLists");
  7254. for (var iRow = grd_spclist.fixedrows; iRow <= grd_spclist.rows; iRow++){
  7255. grd_spclist.isReadOnly(iRow, 1, iRow, 5)= true;
  7256. }
  7257. }else{
  7258. fSheetData3_Read("specimen");
  7259. }
  7260. grd_spclist.refresh();
  7261. */
  7262. xPathData.setColumn(0, "prcporderid", "");
  7263. xPathData.setColumn(0, "prcpordernm", "");
  7264. xPathData.setColumn(0, "spccmt", "");
  7265. group3.switch1.case1.ipt_prcpordernm.enable = false;
  7266. group3.switch1.case1.button31.enable = false;
  7267. group3.switch1.case1.img1.enable = false;
  7268. group3.switch1.case1.txt_spccmt.enable = false;
  7269. eval(xPathSheetData3 + "SpecimenLists_specimenlist").clearData();
  7270. eval(xPathSheetData3 + "SpecimenLists_specimenlistnew").clearData();
  7271. eval(xPathSheetData3 + "SpecimenLists_specimenlist").copyData(eval(xPathFormat + "_SpecimenLists_specimenlist"));
  7272. fChangGridSetting("grd_spclist");
  7273. fChangGridSetting("grd_spclistnew");
  7274. /* 2009-02-19 ycd 주석처리
  7275. for (var iRow = grd_spclist.fixedrows; iRow <= grd_spclist.rows; iRow++){
  7276. grd_spclist.isReadOnly(iRow, 2, iRow, 5)= true;
  7277. grd_spclist.cellstyle("background-color", i, 0, i, 5) = "#eaeaea";
  7278. }
  7279. grd_spclist.refresh();
  7280. */
  7281. }
  7282. // 간호일지 조회
  7283. function fSrchCareRecList() {
  7284. //xPathData.setColumn(0, "carerecuseyn", "");
  7285. /*
  7286. model.makeValue("/root/send/pid" , model.getValue("/root/init/HideData/pid")); // 등록번호
  7287. model.makeValue("/root/send/indd" , model.getValue(xPathData+"/inpt_indd" )); // 입원일자
  7288. model.makeValue("/root/send/cretno" , model.getValue(xPathData+"/inpt_cretno" )); // 생성번호
  7289. model.makeValue("/root/send/ioflag" , "I" ); // I/O 구분
  7290. */
  7291. ds_send.clearData();
  7292. ds_send.addRow();
  7293. // 2009-05-13 YCD 외래 수술 기록도 가능하도록 처리
  7294. ds_send.setColumn(0, "pid", ds_temp_paminfo_list.getColumn(0, "pid")); // 등록번호
  7295. ds_send.setColumn(0, "cretno", ds_temp_paminfo_list.getColumn(0, "cretno")); // 생성번호
  7296. ds_send.setColumn(0, "ioflag", ds_temp_paminfo_list.getColumn(0, "ioflag")); // I/O 구분
  7297. if ("O" == ds_temp_paminfo_list.getColumn(0, "ioflag")) {
  7298. ds_send.setColumn(0, "orddd", ds_temp_paminfo_list.getColumn(0, "orddd")); // 진료일자
  7299. } else {
  7300. ds_send.setColumn(0, "indd", ds_temp_paminfo_list.getColumn(0, "indd")); // 입원일자
  7301. }
  7302. ds_send.setColumn(0, "dnarflag", "%"); // dnar 구분
  7303. ds_send.setColumn(0, "sortseq", "A"); // 정렬순서(A:오름차순, D:내림차순)
  7304. ds_send.setColumn(0, "recflag", "P"); // 기록구분
  7305. ds_send.setColumn(0, "reclnkkey", ds_init_HideData.getColumn(0, "oprsrvno") + "," + ds_init_HideData.getColumn(0, "instcd")); // 기록연계키
  7306. ds_send.setColumn(0, "instcd", ds_init_HideData.getColumn(0, "instcd")); // 기관코드
  7307. ds_send.setColumn(0, "prestdt", utlf_getCurrentDate() + utlf_getCurrentTime()); // 현재일시
  7308. var oParam = {};
  7309. oParam.id = "TRMNP00308";
  7310. oParam.service = "opanstapp.OpAnstRec";
  7311. oParam.method = "reqGetCareRecList";
  7312. oParam.inds = "req=ds_send";
  7313. oParam.outds = "ds_main_SheetData3_CareRecLists_carereclist=carereclist";
  7314. oParam.async = false;
  7315. //oParam.callback = "cf_TRMNP00308";
  7316. tranf_submit(oParam);
  7317. group3.switch1.case3.btn_carerec.enable = true;
  7318. /*
  7319. if (model.getValue(xPathData+"/carerecuseyn") == "X"){
  7320. model.removenodeset(xPathSheetData3+"/CareRecLists/carereclist");
  7321. btn_carerec.disabled = true;
  7322. }else{
  7323. model.removenode("/root/send");
  7324. model.makeValue("/root/send/pid" , model.getValue("/root/init/HideData/pid")); // 등록번호
  7325. model.makeValue("/root/send/indd" , model.getValue(xPathData+"/inpt_indd" )); // 입원일자
  7326. model.makeValue("/root/send/cretno" , model.getValue(xPathData+"/inpt_cretno" )); // 생성번호
  7327. model.makeValue("/root/send/ioflag" , "I" ); // I/O 구분
  7328. model.makeValue("/root/send/dnarflag" , "%" ); // dnar 구분
  7329. model.makeValue("/root/send/sortseq" , "A" ); // 정렬순서(A:오름차순, D:내림차순)
  7330. model.makeValue("/root/send/recflag" , "P" ); // 기록구분
  7331. model.makeValue("/root/send/reclnkkey",model.getValue("/root/init/HideData/oprsrvno")+","+model.getValue("/root/init/HideData/instcd")); // 기록연계키
  7332. model.makeValue("/root/send/instcd" , model.getValue("/root/init/HideData/instcd")); // 기관코드
  7333. model.makeValue("/root/send/prestdt" , getCurrentDate() + getCurrentTime() ); // 현재일시
  7334. submit("TRMNP00308", false);
  7335. btn_carerec.disabled = false;
  7336. }
  7337. */
  7338. }
  7339. // 소요시간계산
  7340. function fTimeInterval(pFrDate, pToDate, pFrTime, pToTime, pFlag) {
  7341. var HH = 0,
  7342. MM = 0,
  7343. tHH = 0;
  7344. var sInHospTMs, sInHospTM;
  7345. var rTime = "";
  7346. //
  7347. if (utlf_isNull(pFrDate) || utlf_transNullToEmpty(pFrDate).replace(' ', '').length < 8) {
  7348. //messageBox("시작 일자를", "C001");
  7349. return rTime;
  7350. }
  7351. //
  7352. if (utlf_isNull(pToDate) || utlf_transNullToEmpty(pToDate).replace(' ', '').length < 8) {
  7353. //messageBox("종료 일자를", "C001");
  7354. return rTime;
  7355. }
  7356. //
  7357. if (utlf_isNull(pFrTime) || utlf_transNullToEmpty(pFrTime).replace(' ', '').length < 4) {
  7358. //messageBox("시작 시간을", "C001");
  7359. return rTime;
  7360. }
  7361. //
  7362. if (utlf_isNull(pToTime) || utlf_transNullToEmpty(pToTime).replace(' ', '').length < 4) {
  7363. // messageBox("종료 시간을", "C001");
  7364. return rTime;
  7365. }
  7366. //
  7367. if (pFrDate > pToDate) {
  7368. sysf_messageBox("시작 일자가 종료일자보다 크므로 처리할 수", "I004");
  7369. return rTime;
  7370. }
  7371. //
  7372. if (pFrDate >= pToDate) {
  7373. if (pFrTime > pToTime) {
  7374. sysf_messageBox("시작시간(" + pFrTime + ") 이 종료시간(" + pToTime + ") 보다 큽니다.\n입력한 시간을 확인하시기 바랍니다.", "I000");
  7375. return rTime;
  7376. }
  7377. }
  7378. var sDateInterval = utlf_getDateInterval(pFrDate, pToDate); // 두 일자사이의 차(일단위)
  7379. // alert("sTimeInterval = getTimeInterval("+pFrTime+"00, "+pToTime+"00 )" ); // 두 시간사이의 차(초단위)
  7380. var sTimeInterval = utlf_getTimeInterval(pFrTime + "00", pToTime + "00"); // 두 시간사이의 차(초단위)
  7381. tHH = Number(sDateInterval * 24) +
  7382. Number(sTimeInterval / 3600);
  7383. HH = Math.floor(tHH);
  7384. MM = (HH == 0) ? Math.round(tHH * 60) : Math.round((tHH % HH) * 60);
  7385. HH = lpad(HH, 2, "0");
  7386. MM = lpad(MM, 2, "0");
  7387. if (pFlag == "1") {
  7388. rTime = HH + ":" + MM;
  7389. } else {
  7390. rTime = HH + "시간 " + MM + "분";
  7391. }
  7392. // alert(rTime);
  7393. return rTime;
  7394. }
  7395. // 소요시간계산
  7396. function fTimeSplit(pData) {
  7397. //2009-02-03 ycd 변경
  7398. /*
  7399. var hTime = pData.split("시간 ");
  7400. if (hTime[0] == "") return 0;
  7401. var wHH = Number(hTime[0]);
  7402. var mTime = hTime[1].split("분");
  7403. return Number(hTime[0]) + (Number(mTime[0])/60);
  7404. */
  7405. var hTime = utlf_transNullToEmpty(pData).substr(0, 2);
  7406. if (utlf_isNull(hTime)) return 0;
  7407. var wHH = Number(hTime);
  7408. var mTime = utlf_transNullToEmpty(pData).substr(3, 2);
  7409. return Number(hTime) + (Number(mTime) / 60);
  7410. }
  7411. function fTotalTimeSet() {
  7412. var TotTime = 0.0;
  7413. var wTime = "";
  7414. var sRowCnt = group3.switch1.case1.grd_opposture.rowcount;
  7415. for (var i = 0; i < sRowCnt; i++) {
  7416. wTime = ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(i, "oppostureterm");
  7417. if (!utlf_isNull(wTime)) {
  7418. TotTime += fTimeSplit(wTime);
  7419. if (i > 0) {
  7420. HH = Math.floor(TotTime);
  7421. MM = (HH == 0) ? Math.round(TotTime * 60) : Math.round((TotTime % HH) * 60);
  7422. ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(i, "opposturetot", HH + "시간 " + MM + "분");
  7423. }
  7424. }
  7425. }
  7426. }
  7427. /* ------------------------------------------------- */
  7428. /* desc : 마취시작,종료시간 입력제한 처리 */
  7429. /* param : 마취종류가 국소인경우는 직접입력한다 */
  7430. /* -------------------------------------------------- */
  7431. function fAnstTimeControl(pAnst) {
  7432. var sDisab = (pAnst == "") ? true : false;
  7433. var sVisib = (pAnst == "") ? "hidden" : "visible";
  7434. if (pAnst != "") {
  7435. var sTmpOpcnfmdd = model.getValue(xPathData + "/opcnfmdd");
  7436. //model.setValue("/root/init/workinst/datetimedata/anstsrtdd", sTmpOpcnfmdd);
  7437. model.setValue("/root/init/workinst/datetimedata/anstsrtdd", "");
  7438. model.setValue("/root/init/workinst/datetimedata/anstsrthh", "");
  7439. //model.setValue("/root/init/workinst/datetimedata/anstenddd", sTmpOpcnfmdd);
  7440. model.setValue("/root/init/workinst/datetimedata/anstenddd", "");
  7441. model.setValue("/root/init/workinst/datetimedata/anstendhh", "");
  7442. model.setValue("/root/init/workinst/datetimedata/opfromdd", sTmpOpcnfmdd);
  7443. model.setValue("/root/init/workinst/datetimedata/opfromhh", "");
  7444. model.setValue("/root/init/workinst/datetimedata/optodd", sTmpOpcnfmdd);
  7445. model.setValue("/root/init/workinst/datetimedata/optohh", "");
  7446. inp_anstsrtdd.disabled = true;
  7447. inp_anstsrthh.disabled = true;
  7448. bbt_anstsrthh.attribute("visibility") = "hidden";
  7449. inp_anstenddd.disabled = true;
  7450. inp_anstendhh.disabled = true;
  7451. bbt_anstendhh.attribute("visibility") = "hidden";
  7452. }
  7453. inp_opfromdd.disabled = sDisab;
  7454. inp_opfromhh.disabled = sDisab;
  7455. bbt_opfromhh.attribute("visibility") = sVisib;
  7456. inp_optodd.disabled = sDisab;
  7457. inp_optohh.disabled = sDisab;
  7458. bbt_optohh.attribute("visibility") = sVisib;
  7459. inp_anstsrtdd.refresh();
  7460. inp_anstsrthh.refresh();
  7461. bbt_anstsrthh.refresh();
  7462. inp_anstenddd.refresh();
  7463. inp_anstendhh.refresh();
  7464. bbt_anstendhh.refresh();
  7465. inp_opfromdd.refresh();
  7466. inp_opfromhh.refresh();
  7467. inp_optodd.refresh();
  7468. inp_optohh.refresh();
  7469. }
  7470. /* ------------------------------------------------- */
  7471. /* desc : 수술시작,수술시간 입력제한 처리 */
  7472. /* param : 마취종류가 국소인경우는 직접입력한다 */
  7473. /* -------------------------------------------------- */
  7474. function fOpTimeControl(pAnst) {
  7475. var sCheck = 0;
  7476. // 2009-02-04 ycd 마취종류 선택 변경에 의해 삭제 처리
  7477. //var sTmpAntkindCheck01 = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck01");
  7478. //var sTmpAntkindCheck02 = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck02");
  7479. //var sTmpAntkindCheck09 = model.getValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstkindcheck09");
  7480. var sTmpAnstkindcheck03 = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck03");
  7481. var sTmpAnstcprchk = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstcprchk");
  7482. var sTmpAnstkindcheck99 = ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.getColumn(0, "anstkindcheck99");
  7483. //var sAnstmthdcd = model.getValue(xPathData+"/anstmthdcd" );
  7484. var sAnstmthdname = xPathData.getColumn(0, "anstmthdname");
  7485. var sAnstmthdnamesub = xPathData.getColumn(0, "anstmthdsubname");
  7486. if (sysf_getUserInfo("dutplceinstcd") == "017") { //빈센트만 2010.05.27 K. J. M
  7487. var openddd = xPathDispDT.getColumn(0, "optodd");
  7488. var opendhh = xPathDispDT.getColumn(0, "optohh");
  7489. if (utlf_isNull(xPathDispDT.getColumn(0, "patoutroomdd")) || (!utlf_isNull(xPathDispDT.getColumn(0, "patoutroomdd")) && utlf_isNull(xPathDispDT.getColumn(0, "patoutroomhh")))) {
  7490. if (!utlf_isNull(openddd) && !utlf_isNull(opendhh) && sTmpAnstkindcheck03 == "S") { //국소마취일경우 수술종료시간 셋팅
  7491. xPathDispDT.setColumn(0, "patoutroomdd", openddd);
  7492. xPathDispDT.setColumn(0, "patoutroomhh", opendhh);
  7493. }
  7494. }
  7495. }
  7496. // 2009-02-04 ycd 마취종류 선택 변경에 의해 삭제 처리
  7497. //if (sTmpAntkindCheck01 != "") sCheck++; // 전신
  7498. //if (sTmpAntkindCheck02 != "") sCheck++; // 부위
  7499. //2009-02-04 이미 삭제된 부분
  7500. //if (sTmpAntkindCheck09 != "") sCheck++; // 기타
  7501. /*
  7502. //2008-08-28 오후 2:33:08 taebum 국소마취일 경우 주석처리함.
  7503. if (sCheck == 0) {
  7504. if (sTmpAntkindCheck02 == "") sCheck++; // 국소
  7505. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdname", "");
  7506. //ipt_anstmthdname.value = "";
  7507. }
  7508. */
  7509. // 2009-02-04 ycd 마취종류 선택 변경에 의해 삭제 처리
  7510. /*
  7511. if (sCheck != 0) {
  7512. model.setValue(xPathDispDT+"/anstsrtdd", model.getValue(xPathData+"/anstanstsrtdt").substr(0,8) ); // 마취시작일자
  7513. model.setValue(xPathDispDT+"/anstsrthh", model.getValue(xPathData+"/anstanstsrtdt").substr(8,4) ); // 마취시작시간
  7514. model.setValue(xPathDispDT+"/anstenddd", model.getValue(xPathData+"/anstanstenddt").substr(0,8) ); // 마취종료일자
  7515. model.setValue(xPathDispDT+"/anstendhh", model.getValue(xPathData+"/anstanstenddt").substr(8,4) ); // 마취종료시간
  7516. //2008-09-03 오전 10:55:49 taebum 협진관련 추가
  7517. if((model.getValue(xPathData+"/oprsrvno") == model.getValue(xPathData+"/mainoprsrvno")) || (model.getValue(xPathData+"/mainoprsrvno") == "-") ){
  7518. model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/anstopfromdt" ).substr(0,8)); // 수술시작일자
  7519. model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/anstopfromdt" ).substr(8,4)); // 수술시작시간
  7520. model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/anstoptodt" ).substr(0,8)); // 수술종료일자
  7521. model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/anstoptodt" ).substr(8,4)); // 수술종료시간
  7522. }else{
  7523. //부수술일 경우
  7524. model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/opfromdt" ).substr(0,8)); // 수술시작일자
  7525. model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/opfromdt" ).substr(8,4)); // 수술시작시간
  7526. model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/optodt" ).substr(0,8)); // 수술종료일자
  7527. model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/optodt" ).substr(8,4)); // 수술종료시간
  7528. }
  7529. if (sTmpAntkindCheck01 == "G"){ // 전신
  7530. if(sAnstmthdcd == "G"){
  7531. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdname",sAnstmthdname);
  7532. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdnamesub",sAnstmthdnamesub);
  7533. }
  7534. }
  7535. if (sTmpAntkindCheck02 == "P"){ // 부위
  7536. if(sAnstmthdcd == "P"){
  7537. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdname", sAnstmthdname);
  7538. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdnamesub",sAnstmthdnamesub);
  7539. }
  7540. }
  7541. if (sTmpAntkindCheck09 == "E"){ // 기타
  7542. if(sAnstmthdcd == "E"){
  7543. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdname", sAnstmthdname);
  7544. model.setValue("/root/main/MnphopcrData/MnphopcrList/anstkindspec/anstkind/anstmthdnamesub",sAnstmthdnamesub);
  7545. }
  7546. }
  7547. }
  7548. */
  7549. // 2009-02-04 ycd 마취종류 선택 변경 부분
  7550. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdname", sAnstmthdname);
  7551. ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind.setColumn(0, "anstmthdnamesub", sAnstmthdnamesub);
  7552. xPathDispDT.setColumn(0, "anstsrtdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstsrtdt")).substr(0, 8)); // 마취시작일자
  7553. xPathDispDT.setColumn(0, "anstsrthh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstsrtdt")).substr(8, 4)); // 마취시작시간
  7554. xPathDispDT.setColumn(0, "anstenddd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(0, 8)); // 마취종료일자
  7555. xPathDispDT.setColumn(0, "anstendhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstanstenddt")).substr(8, 4)); // 마취종료시간
  7556. sOpCnfmDD = xPathData.getColumn(0, "opcnfmdd");
  7557. if ((utlf_isNull(sTmpAnstkindcheck03) || sTmpAnstkindcheck03 == "N") && (utlf_isNull(sTmpAnstcprchk) || sTmpAnstcprchk == "N") && (utlf_isNull(sTmpAnstkindcheck99) || sTmpAnstkindcheck99 == "Y")) {
  7558. //if((model.getValue(xPathData+"/oprsrvno") == model.getValue(xPathData+"/mainoprsrvno")) || (model.getValue(xPathData+"/mainoprsrvno") == "-") ){
  7559. // model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/opfromdt" ).substr(0,8)); // 수술시작일자
  7560. // model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/opfromdt" ).substr(8,4)); // 수술시작시간
  7561. // model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/optodt" ).substr(0,8)); // 수술종료일자
  7562. // model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/optodt" ).substr(8,4)); // 수술종료시간
  7563. //}else{
  7564. //부수술일 경우
  7565. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromdd"))) xPathDispDT.setColumn(0, "opfromdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(0, 8)); // 수술시작일자
  7566. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromhh"))) xPathDispDT.setColumn(0, "opfromhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(8, 4)); // 수술시작시간
  7567. if (utlf_isNull(xPathDispDT.getColumn(0, "optodd"))) xPathDispDT.setColumn(0, "optodd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(0, 8)); // 수술종료일자
  7568. if (utlf_isNull(xPathDispDT.getColumn(0, "optohh"))) xPathDispDT.setColumn(0, "optohh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(8, 4)); // 수술종료시간
  7569. //2009-04-16 YCD 무조건 주수술의 정보를 가저옴
  7570. //model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/anstopfromdt" ).substr(0,8)); // 수술시작일자
  7571. //model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/anstopfromdt" ).substr(8,4)); // 수술시작시간
  7572. //model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/anstoptodt" ).substr(0,8)); // 수술종료일자
  7573. //model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/anstoptodt" ).substr(8,4)); // 수술종료시간
  7574. //}
  7575. sCheck++;
  7576. } else {
  7577. //if((model.getValue(xPathData+"/oprsrvno") == model.getValue(xPathData+"/mainoprsrvno")) || (model.getValue(xPathData+"/mainoprsrvno") == "-") ){
  7578. // model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/opfromdt" ).substr(0,8)); // 수술시작일자
  7579. // model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/opfromdt" ).substr(8,4)); // 수술시작시간
  7580. // model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/optodt" ).substr(0,8)); // 수술종료일자
  7581. // model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/optodt" ).substr(8,4)); // 수술종료시간
  7582. //}else{
  7583. //부수술일 경우
  7584. // model.setValue(xPathDispDT+"/opfromdd" , model.getValue(xPathData+"/anstopfromdt" ).substr(0,8)); // 수술시작일자
  7585. // model.setValue(xPathDispDT+"/opfromhh" , model.getValue(xPathData+"/anstopfromdt" ).substr(8,4)); // 수술시작시간
  7586. // model.setValue(xPathDispDT+"/optodd" , model.getValue(xPathData+"/anstoptodt" ).substr(0,8)); // 수술종료일자
  7587. // model.setValue(xPathDispDT+"/optohh" , model.getValue(xPathData+"/anstoptodt" ).substr(8,4)); // 수술종료시간
  7588. //}
  7589. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromdd"))) xPathDispDT.setColumn(0, "opfromdd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(0, 8)); // 수술시작일자
  7590. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromhh"))) xPathDispDT.setColumn(0, "opfromhh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstopfromdt")).substr(8, 4)); // 수술시작시간
  7591. if (utlf_isNull(xPathDispDT.getColumn(0, "optodd"))) xPathDispDT.setColumn(0, "optodd", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(0, 8)); // 수술종료일자
  7592. if (utlf_isNull(xPathDispDT.getColumn(0, "optohh"))) xPathDispDT.setColumn(0, "optohh", utlf_transNullToEmpty(xPathData.getColumn(0, "anstoptodt")).substr(8, 4)); // 수술종료시간
  7593. }
  7594. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석처리
  7595. //if (utlf_isNull(xPathDispDT.getColumn(0, "perfidarvdd"))) xPathDispDT.setColumn(0, "perfidarvdd", sOpCnfmDD);
  7596. //if (utlf_isNull(xPathDispDT.getColumn(0, "perfidoutdd"))) xPathDispDT.setColumn(0, "perfidoutdd", sOpCnfmDD);
  7597. if (utlf_isNull(xPathDispDT.getColumn(0, "opfromdd"))) xPathDispDT.setColumn(0, "opfromdd", sOpCnfmDD);
  7598. if (utlf_isNull(xPathDispDT.getColumn(0, "optodd"))) xPathDispDT.setColumn(0, "optodd", sOpCnfmDD);
  7599. var sDisab = (sCheck != 0) ? false : true;
  7600. var sVisib = (sCheck != 0) ? false : true;
  7601. //주수술만 있는경우, 수술시작/종료 비활성화 처리(2017.06.08 이윤주쌤 요청)
  7602. var oParam = {};
  7603. oParam.id = "TRMNP00329";
  7604. oParam.service = "opanstapp.OpAnstRec";
  7605. oParam.method = "reqGetMultiOPYN";
  7606. oParam.inds = "req=ds_main_operation_list";
  7607. oParam.outds = "ds_multioplist=multioplist";
  7608. oParam.async = false;
  7609. //oParam.callback = "cf_TRMNP00329";
  7610. tranf_submit(oParam);
  7611. if( ds_multioplist.rowcount > 0 && ds_multioplist.getColumn(0, "multiopyn") == "N" )
  7612. {
  7613. group3.switch1.case1.grp_time.inp_opfromdd.enable = sDisab;
  7614. group3.switch1.case1.grp_time.inp_opfromhh.enable = sDisab;
  7615. group3.switch1.case1.grp_time.bbt_opfromhh.visible = sVisib;
  7616. group3.switch1.case1.grp_time.inp_optodd.enable = sDisab;
  7617. group3.switch1.case1.grp_time.inp_optohh.enable = sDisab;
  7618. group3.switch1.case1.grp_time.bbt_optohh.visible = sVisib;
  7619. }
  7620. else
  7621. {
  7622. //주/부수술 관계없이 수술시작/종료 활성화처리 요청(2017.05.18 이윤주쌤)
  7623. // if (xPathData.getColumn(0, "oprsrvno") == xPathData.getColumn(0, "mainoprsrvno") || xPathData.getColumn(0, "mainoprsrvno") == "-") { //주수술일 경우 처리
  7624. // group3.switch1.case1.grp_time.inp_opfromdd.enable = sDisab;
  7625. // group3.switch1.case1.grp_time.inp_opfromhh.enable = sDisab;
  7626. // group3.switch1.case1.grp_time.bbt_opfromhh.visible = sVisib;
  7627. //
  7628. // group3.switch1.case1.grp_time.inp_optodd.enable = sDisab;
  7629. // group3.switch1.case1.grp_time.inp_optohh.enable = sDisab;
  7630. // group3.switch1.case1.grp_time.bbt_optohh.visible = sVisib;
  7631. // } else { //부수술일 경우 처리
  7632. group3.switch1.case1.grp_time.inp_opfromdd.enable = true;
  7633. group3.switch1.case1.grp_time.inp_opfromhh.enable = true;
  7634. group3.switch1.case1.grp_time.bbt_opfromhh.visible = true;
  7635. group3.switch1.case1.grp_time.inp_optodd.enable = true;
  7636. group3.switch1.case1.grp_time.inp_optohh.enable = true;
  7637. group3.switch1.case1.grp_time.bbt_optohh.visible = true;
  7638. }
  7639. //}
  7640. /*2008-08-28 오전 10:39:43 전신, 부위일 경우에 국소, 기타 disable 처리
  7641. 2009-02-03 ycd 기록 항목에서 삭제되어 주석처리
  7642. if(sAnstmthdcd == "G" || sAnstmthdcd == "P"){
  7643. chk_anstkindcheck03.disabled = true;
  7644. chk_anstkindcheck09.disabled = true;
  7645. chk_anstkindcheck99.disabled = true;
  7646. ipt_anstkindothertext.disabled = true;
  7647. input3.disabled = true;
  7648. }
  7649. */
  7650. // inp_opfromdd.refresh();
  7651. // inp_opfromhh.refresh();
  7652. // bbt_opfromhh.refresh();
  7653. // inp_optodd.refresh();
  7654. // inp_optohh.refresh();
  7655. // bbt_optohh.refresh();
  7656. //ipt_anstmthdname.refresh();
  7657. // 20200113 김현석, 수술시작, 종료시간을 입력할 수 있도록 함. 요청번호: 20190828008
  7658. if ( sysf_getUserInfo("dutplceinstcd") == "031") // 본원/칠곡 병원 분기
  7659. {
  7660. group3.switch1.case1.grp_time.inp_opfromdd.enable = true;
  7661. group3.switch1.case1.grp_time.inp_opfromhh.enable = true;
  7662. group3.switch1.case1.grp_time.bbt_opfromhh.visible = true;
  7663. group3.switch1.case1.grp_time.inp_optodd.enable = true;
  7664. group3.switch1.case1.grp_time.inp_optohh.enable = true;
  7665. group3.switch1.case1.grp_time.bbt_optohh.visible = true;
  7666. }
  7667. }
  7668. // 2020129 김현석, 수술간호기록의 마취/수술 시간과 마취기록지의 마취/수술 시간이 일치하는지 체크
  7669. function fCheckOpAnstTime()
  7670. {
  7671. ds_send.setColumn(0, "oprsrvno", ds_main_MnphopcrData_MnphopcrList.getColumn(0, "oprsrvno"));
  7672. dsf_createDs("ds_anstoptime");
  7673. var oParam = {};
  7674. oParam.id = "TRMNP0030001";
  7675. oParam.service = "anstrecapp.AnstRec";
  7676. oParam.method = "reqGetAnstInfo";
  7677. oParam.inds = "reqdata=ds_send";
  7678. oParam.outds = "ds_anstoptime=anstinfo";
  7679. oParam.async = false;
  7680. oParam.callback = "cf_TRMNP00350";
  7681. tranf_submit(oParam);
  7682. var errmsg = "";
  7683. if ( ((ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opfromdt") != ds_anstoptime.getColumn(0, "opfromdt")) || (ds_main_MnphopcrData_MnphopcrList.getColumn(0, "optodt") != ds_anstoptime.getColumn(0, "optodt")))
  7684. && ! utlf_isNull(ds_anstoptime.getColumn(0, "opfromdt"))
  7685. && ! utlf_isNull(ds_anstoptime.getColumn(0, "optodt"))
  7686. )
  7687. {
  7688. var opfromdt = urlf_getStrDate(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opfromdt") + "00").substr(0, 16);
  7689. var optodt = urlf_getStrDate(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "optodt") + "00").substr(0, 16);
  7690. var anstopfromdt = urlf_getStrDate(ds_anstoptime.getColumn(0, "opfromdt") + "00").substr(0, 16);
  7691. var anstoptodt = urlf_getStrDate(ds_anstoptime.getColumn(0, "optodt") + "00").substr(0, 16);
  7692. errmsg += "※ 마취 기록지와 수술 시작/종료 시간이 일치하지 않습니다. \n\n";
  7693. errmsg += "수술간호기록 : " + opfromdt + " ~ " + optodt + "\r\n";
  7694. errmsg += "마취기록 : " + anstopfromdt + " ~ " + anstoptodt + "\n\n";
  7695. }
  7696. if ( ((ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstsrtdt") != ds_anstoptime.getColumn(0, "anstsrtdt")) || (ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstenddt") != ds_anstoptime.getColumn(0, "anstenddt")))
  7697. && ! utlf_isNull(ds_anstoptime.getColumn(0, "anstsrtdt"))
  7698. && ! utlf_isNull(ds_anstoptime.getColumn(0, "anstenddt"))
  7699. )
  7700. {
  7701. var anstsrtdt = urlf_getStrDate(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstsrtdt") + "00").substr(0, 16);
  7702. var anstenddt = urlf_getStrDate(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "anstenddt") + "00").substr(0, 16);
  7703. var anstanstsrtdt = urlf_getStrDate(ds_anstoptime.getColumn(0, "anstsrtdt") + "00").substr(0, 16);
  7704. var anstanstenddt = urlf_getStrDate(ds_anstoptime.getColumn(0, "anstenddt") + "00").substr(0, 16);
  7705. errmsg += "※ 마취 기록지의 마취 시작/종료 시간이 변경되었습니다.\n인증저장을 다시 하십시오.\n\n";
  7706. errmsg += "수술간호기록 : " + anstsrtdt + " ~ " + anstenddt + "\r\n";
  7707. errmsg += "마취기록 : " + anstanstsrtdt + " ~ " + anstanstenddt + "";
  7708. }
  7709. if ( !utlf_isNull(errmsg))
  7710. {
  7711. sysf_messageBox(errmsg , "I000");
  7712. return false;
  7713. }
  7714. }
  7715. /* ------------------------------------------------- */
  7716. /* desc : 총수술시간 가져오기 */
  7717. /* -------------------------------------------------- */
  7718. function fOpTotalTime() {
  7719. var opScalecd = ds_init_opscale_codelist.getColumn(0, "cdid");
  7720. var sAnstmthdcd = xPathData.getColumn(0, "anstmthdcd"); // 마취구분
  7721. // var sOpscale = model.getValue(xPathData+"/opscale");
  7722. var sFromdd = xPathDispDT.getColumn(0, "patinroomdd"); // 입실일자
  7723. var sFromhh = xPathDispDT.getColumn(0, "patinroomhh"); // 입실시간
  7724. var sTodd = xPathDispDT.getColumn(0, "patoutroomdd"); // 퇴실일자
  7725. var sTohh = xPathDispDT.getColumn(0, "patoutroomhh"); // 퇴실시간
  7726. if (!utlf_isNull(sFromhh) && !utlf_isNull(sTohh)) {
  7727. var rTime = fTimeInterval(sFromdd, sTodd, sFromhh, sTohh);
  7728. ds_init_workinst_OpOtherData.setColumn(0, "OpTotalTime", rTime);
  7729. if (opScalecd == "A") { // 2009. 10. 26 han19 : 이영선선생님 요청사항 : 변경요청번호 : 8861 , Task No : 37761
  7730. // 수술스케일을 입실일시와 퇴실일시를 가지고 계산해서 자동으로 셋티해주도록 하는 로직 추가
  7731. // 기존에 저장된 수술스케일 값이 있더라도 계산된 값에 의해 자동으로 변환하게 셋팅함
  7732. if (sFromdd != sTodd) {
  7733. var sTimeInterval1 = utlf_getTimeInterval(sFromhh + "00", "240000"); // 두 시간사이의 차(초단위)
  7734. var sTimeInterval2 = utlf_getTimeInterval("000000", sTohh + "00"); // 두 시간사이의 차(초단위) )
  7735. } else {
  7736. var sTimeInterval1 = utlf_getTimeInterval(sFromhh + "00", sTohh + "00"); // 두 시간사이의 차(초단위)
  7737. var sTimeInterval2 = "000000"; // 두 시간사이의 차(초단위)
  7738. }
  7739. var opUseTime = (parseInt(sTimeInterval1) + parseInt(sTimeInterval2)) / 60;
  7740. var sTime1 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "1"), "cdid");
  7741. var sTime2 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "2"), "cdid");
  7742. var sTime3 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "3"), "cdid");
  7743. if (opUseTime < parseInt(sTime1)) {
  7744. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "S");
  7745. } else if (opUseTime >= parseInt(sTime1) && opUseTime < parseInt(sTime2)) {
  7746. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "M");
  7747. } else if (opUseTime >= parseInt(sTime2) && opUseTime < parseInt(sTime3)) {
  7748. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "L");
  7749. } else if (opUseTime >= parseInt(sTime3)) {
  7750. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "X");
  7751. }
  7752. } else if (opScalecd == "B") { // 여의도 성모병원 요청사항: by 박영우 20100122
  7753. // 성모병원은 기존에 저장된 수술스케일 값이 있다면 계산된 값이 아닌 스케일 값으로 대체
  7754. if (sOpscaleChgFlag == true || utlf_isNull(sOpscaleOrg)) { // 기존 값이 없거나 변화한 값이 있다면..
  7755. if (sFromdd != sTodd) {
  7756. var sTimeInterval1 = utlf_getTimeInterval(sFromhh + "00", "240000"); // 두 시간사이의 차(초단위)
  7757. var sTimeInterval2 = utlf_getTimeInterval("000000", sTohh + "00"); // 두 시간사이의 차(초단위) )
  7758. } else {
  7759. var sTimeInterval1 = utlf_getTimeInterval(sFromhh + "00", sTohh + "00"); // 두 시간사이의 차(초단위)
  7760. var sTimeInterval2 = "000000"; // 두 시간사이의 차(초단위)
  7761. }
  7762. var opUseTime = (parseInt(sTimeInterval1) + parseInt(sTimeInterval2)) / 60;
  7763. var sGTime1 = 0;
  7764. var sGTime2 = 0;
  7765. var sETime1 = 0;
  7766. var sETime2 = 0;
  7767. if (sAnstmthdcd == "G" || sAnstmthdcd == "P" || sAnstmthdcd == "X") { // 전신 or 부위 or Others 2010.03.02 K.J.M
  7768. sGTime1 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "2"), "cdid");
  7769. sGTime2 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "3"), "cdid");
  7770. if (opUseTime < parseInt(sGTime1) && sOpscaleOrg != "M") {
  7771. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "M");
  7772. } else if (opUseTime >= parseInt(sGTime1) && opUseTime < parseInt(sGTime2) && sOpscaleOrg != "L") {
  7773. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "L");
  7774. } else if (opUseTime >= parseInt(sGTime2) && sOpscaleOrg != "X") {
  7775. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "X");
  7776. }
  7777. } else if (sAnstmthdcd == "S") { //국소
  7778. sETime1 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "1"), "cdid");
  7779. sETime2 = ds_init_opscaletm_codelist.getColumn(ds_init_opscaletm_codelist.findRow("sortseq", "3"), "cdid");
  7780. if (opUseTime < parseInt(sETime1) && sOpscaleOrg != "S") {
  7781. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "S");
  7782. } else if (opUseTime >= parseInt(sETime1) && opUseTime < parseInt(sETime2) && sOpscaleOrg != "M") {
  7783. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "M");
  7784. } else if (opUseTime >= parseInt(sETime2) && sOpscaleOrg != "L") {
  7785. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "opscale", "L");
  7786. }
  7787. }
  7788. sOpscaleOrg = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opscale");
  7789. }
  7790. }
  7791. }
  7792. }
  7793. /* ------------------------------------------------- */
  7794. /* desc : 총마취시간 가져오기 */
  7795. /* -------------------------------------------------- */
  7796. function fAnTotalTime() {
  7797. var sFromdd = xPathDispDT.getColumn(0, "anstsrtdd"); // 입실일자
  7798. var sFromhh = xPathDispDT.getColumn(0, "anstsrthh"); // 입실시간
  7799. var sTodd = xPathDispDT.getColumn(0, "anstenddd"); // 퇴실일자
  7800. var sTohh = xPathDispDT.getColumn(0, "anstendhh"); // 퇴실시간
  7801. //if( sFromhh!="" ) {
  7802. // if( sFromhh.length < 4 ) {
  7803. // messageBox("입실시간을 잘못 입력하셨습니다.!", "E000");
  7804. // return;
  7805. // }
  7806. //}
  7807. //if( sTohh!="" ) {
  7808. // if( sTohh.length < 4 ) {
  7809. // messageBox("퇴실시간을 잘못 입력하셨습니다.!", "E000");
  7810. // return;
  7811. // }
  7812. //}
  7813. if (!utlf_isNull(sFromhh) && !utlf_isNull(sTohh)) {
  7814. var rTime = fTimeInterval(sFromdd, sTodd, sFromhh, sTohh);
  7815. ds_init_workinst_OpOtherData.setColumn(0, "AnTotalTime", rTime);
  7816. }
  7817. }
  7818. //Timeout User Check
  7819. function fTimeoutUserEnter(pIdx) {
  7820. var sPath = "/timeoutspec/timeout/";
  7821. var sData = "perfdr*perfdrnm*pertdrdeptcd*pertdrdeptnm*011" + "#" +
  7822. "apprtcdr*apprtcdrnm*apprtcdrdeptcd*apprtcdrdeptnm*011" + "#" +
  7823. "anstdr*anstdrnm*anstdrdeptcd*anstdrdeptnm*012" + "#" +
  7824. "nurse1*nurse1nm*nurse1deptcd*nurse1deptnm*015" + "#" +
  7825. "nurse2*nurse2nm*nurse2deptcd*nurse2deptnm*017"
  7826. var tNode = sData.split("#");
  7827. var wNode = tNode[pIdx].split("*");
  7828. var wDoc = eval("inp_" + wNode[1]);
  7829. model.setValue(xPathData + sPath + wNode[0], "");
  7830. model.setValue(xPathData + sPath + wNode[2], "");
  7831. model.setValue(xPathData + sPath + wNode[3], "");
  7832. if (wDoc.currentText == "") {
  7833. wDoc.attribute("color") = "";
  7834. wDoc.refresh();
  7835. return;
  7836. }
  7837. fUserEnter(xPathData, sPath + wNode[0], sPath + wNode[1], sPath + wNode[2], sPath + wNode[3], wDoc.currentText, wDoc, "all", wNode[4]);
  7838. model.removeNodeset("/root/UserData/list");
  7839. if (model.getValue(xPathData + sPath + wNode[0]) == "") {
  7840. wDoc.attribute("color") = "#D22D2D";
  7841. } else {
  7842. wDoc.attribute("color") = "";
  7843. }
  7844. wDoc.refresh();
  7845. }
  7846. // Grid 선택 / 취소
  7847. function fGridCheckToggle(pGrid, pGridNode, pCheck, pValue) {
  7848. var wValue = "";
  7849. // 그리드 이벤트가 발생하면 그리드에서 선택된 로우들의 index를 받아옴
  7850. var iRow = pGrid.row; // Grid의 첫 선택 Row
  7851. var sRow = pGrid.selectedRows; // 선택 Grid 수
  7852. var eRow = pGrid.selectedRow(0); // Grid의 첫 선택 Row
  7853. var tRow = pGrid.rows; // Grid의 전체수
  7854. if (instance1.selectSingleNode(pGridNode).childNodes.length == 0) return;
  7855. if (event.ctrlKey == 1) { // ctrlKey 를 누르고 row 선택시 각 그리드의 상태값 변경
  7856. wValue = model.getValue(pGridNode + "/MnpmcartList[" + pGrid.row + "]/" + pCheck);
  7857. model.setValue(pGridNode + "/MnpmcartList[" + pGrid.row + "]/" + pCheck, ((wValue == pValue) ? "" : pValue));
  7858. } else if (event.shiftKey == 1) { // shiftKey를 누르고 처음위치와 마지막 위치를 선택하면 선택된 row의 상태값이 변경
  7859. fGridCheckClear(pGridNode, tRow, pCheck);
  7860. if (iRow == eRow) {
  7861. fGridCheckSetting(pGridNode, iRow, iRow + sRow, pCheck, pValue);
  7862. } else {
  7863. fGridCheckSetting(pGridNode, eRow, iRow, pCheck, pValue);
  7864. }
  7865. } else { // 마우스를 클릭한 상태에서 드래하면 처음 위치부터 마지막 위치까지 선택된 row의 상태값이 변경
  7866. fGridCheckClear(pGridNode, tRow, pCheck);
  7867. if (sRow == "1") {
  7868. wValue = model.getValue(pGridNode + "/MnpmcartList[" + pGrid.row + "]/" + pCheck);
  7869. model.setValue(pGridNode + "/MnpmcartList[" + pGrid.row + "]/" + pCheck, ((wValue == pValue) ? "" : pValue));
  7870. } else {
  7871. if (iRow == eRow) {
  7872. fGridCheckSetting(pGridNode, iRow, iRow + sRow - 1, pCheck, pValue);
  7873. } else {
  7874. fGridCheckSetting(pGridNode, eRow, iRow, pCheck, pValue);
  7875. }
  7876. }
  7877. }
  7878. pGrid.refresh();
  7879. }
  7880. // // Grid 전 선택값을 Clear 한다.
  7881. // function fGridCheckClear(pGNode, pRow, pCheck){
  7882. //
  7883. // // alert( pGNode);
  7884. //
  7885. // for(ii=1 ; ii < pRow ; ii++){
  7886. // model.setValue(pGNode+"/MnpmcartList["+ii+"]/"+pCheck , "");
  7887. // }
  7888. // }
  7889. //
  7890. // // Grid 전선택값을 Settting 한다.
  7891. // function fGridCheckSetting(pGNode, pSRow, pERow, pCheck, pVal){
  7892. //
  7893. // for (j = pSRow ; j <= pERow ; j++) {
  7894. // model.setValue(pGNode+"/MnpmcartList["+j+"]/"+pCheck , pVal);
  7895. // }
  7896. // }
  7897. // datagrid 에서 선택되어 있는 셀들의 collection 을 반환한다.
  7898. function fSelectedCells(pGrid) {
  7899. if (pGrid.currentrow < 0) return;
  7900. var selectedCells = new Array();
  7901. for (var i = 0; i < pGrid.selectcount; i++) {
  7902. for (var j = pGrid.selectstartrow[i]; j <= pGrid.selectendrow[i]; j++) {
  7903. for (var k = pGrid.selectstartcol[i]; k <= pGrid.selectendcol[i]; k++) {
  7904. selectedCells[selectedCells.length] = [j, k];
  7905. }
  7906. }
  7907. }
  7908. var sCell = selectedCells[0];
  7909. var eCell = selectedCells[selectedCells.length - 1];
  7910. if (sCell[1] < group3.switch1.case2.grd_count.getBindCellIndex("body", "nursnm11") || sCell[1] > pGrid.getBindCellIndex("body", "nursnm42") || sCell[0] == eCell[0] && sCell[1] == eCell[1]) return;
  7911. var cPath = ds_main_MnphopcoLists_mnphopcolist;
  7912. var tTail = "11 12 21 22 31 32 41 42";
  7913. var sTail = tTail.split(" ");
  7914. var sPosId = (sCell[1] % pGrid.getBindCellIndex("body", "nursnm11"));
  7915. var sInPos = (sCell[1] % 2);
  7916. var sNursnm = cPath.getColumn(fv_nRowPos, "nursnm" + sTail[sPosId]);
  7917. var sNursid = cPath.getColumn(fv_nRowPos, "nursid" + sTail[sPosId]);
  7918. var sDeptcd = cPath.getColumn(fv_nRowPos, "deptcd" + sTail[sPosId]);
  7919. var sDeptnm = cPath.getColumn(fv_nRowPos, "deptnm" + sTail[sPosId]);
  7920. if (utlf_isNull(sNursid)) {
  7921. if (!utlf_isNull(sNursnm)) {
  7922. alert("선택 카운터를 확인 하십시요!!!");
  7923. return;
  7924. }
  7925. }
  7926. cPath.enableevent = false;
  7927. cPath.updatecontrol = false;
  7928. for (var i = 0; i < selectedCells.length; i++) {
  7929. eCell = selectedCells[i];
  7930. if (eCell) {
  7931. if (sInPos == (eCell[1] % 2) && eval(eCell[1]) < pGrid.getBindCellIndex("body", "samey") && eval(eCell[1]) > pGrid.getBindCellIndex("body", "packqty")) {
  7932. if (cPath.getColumn(eCell[0], "nacls") == "0") {
  7933. sPosId = (eCell[1] % pGrid.getBindCellIndex("body", "nursnm11"));
  7934. cPath.setColumn(eCell[0], "nursnm" + sTail[sPosId], sNursnm);
  7935. cPath.setColumn(eCell[0], "nursid" + sTail[sPosId], sNursid);
  7936. cPath.setColumn(eCell[0], "deptcd" + sTail[sPosId], sDeptcd);
  7937. cPath.setColumn(eCell[0], "deptnm" + sTail[sPosId], sDeptnm);
  7938. }
  7939. }
  7940. }
  7941. }
  7942. cPath.updatecontrol = true;
  7943. cPath.enableevent = true;
  7944. }
  7945. //Catheter User Check
  7946. function fCatheterUserEnter(pDoc, pPath1, pPath2, pIdx) {
  7947. var sPath = "/warmcoldregmspec/warmcoldregm/" + pPath1 + "/" + pPath2;
  7948. var sPath2 = "/warmcoldregmspec/warmcoldregm/" + pPath1 + "/" + pPath2 + "id";
  7949. var qCls = "D"; // 의사
  7950. if (pIdx != 1) qCls = (pIdx == 2) ? "N" : "A";
  7951. model.setValue(xPathData + sPath2, "");
  7952. if (pDoc.currentText == "") {
  7953. pDoc.attribute("color") = "";
  7954. pDoc.refresh();
  7955. return;
  7956. }
  7957. fUserEnter(xPathData, sPath2, sPath, "", "", pDoc.currentText, pDoc, "all", qCls);
  7958. if (model.getValue(xPathData + sPath2) == "") {
  7959. pDoc.attribute("color") = "#D22D2D";
  7960. } else {
  7961. pDoc.attribute("color") = "";
  7962. }
  7963. pDoc.refresh();
  7964. }
  7965. //
  7966. function fCatheterCheck(pData) {
  7967. if (fCheckBoxValueCheck(eval("chk_" + pData + "check").value, 'X')) {
  7968. fClearGroup(eval("grp_warmcoldregm_" + pData), 4);
  7969. eval("chk_" + pData + "check").value = "X";
  7970. eval("grp_" + pData).disabled = "true";
  7971. eval("chk_" + pData + "preop").disabled = "true";
  7972. eval("chk_" + pData + "intraop").disabled = "true";
  7973. eval("chk_" + pData + "postop").disabled = "true";
  7974. } else {
  7975. eval("grp_" + pData).disabled = "false";
  7976. eval("chk_" + pData + "preop").disabled = "false";
  7977. eval("chk_" + pData + "intraop").disabled = "false";
  7978. eval("chk_" + pData + "postop").disabled = "false";
  7979. }
  7980. }
  7981. // ※ 전자서명 호출
  7982. function fSignProcessSet(pIdx) {
  7983. //2008-07-28 오후 12:28:31 인증시 수술 후 진단명 정보(진료에서 조회한 내역은 삭제 후 저장시킴. taebum
  7984. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "oprddata", "");
  7985. certkind = "1";
  7986. grdf_setStatusColumn(ds_main_SheetData3_skinserveyinfo_skinserveylist, "status");
  7987. var updtdata = grdf_getGridUpdateData(group3.switch1.case3.grd_skinsurveylist, "all");
  7988. if (Sign.signprocess() == true) { // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
  7989. var wSigninfo = "pid" + "▦" // 01 등록번호
  7990. +
  7991. "orddd" + "▦" // 02 입원일자(입원,응급)/진료일자(외래)
  7992. +
  7993. "cretno" + "▦" // 03 생성번호
  7994. +
  7995. "signno" + "▦" // 04 서명번호(인증번호)
  7996. +
  7997. "recdd" + "▦" // 05 실제 기록이 이루어진 기록일자
  7998. +
  7999. "rectm" + "▦" // 06 실제 기록이 이루어진 기록시간
  8000. +
  8001. "recsaveflag" + "▦" // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  8002. +
  8003. "signflag" + "▦" // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  8004. +
  8005. "signgenrflag" + "▦" // 09 외래/입원구분(코드정의서 M0010 참조)
  8006. +
  8007. "formcd" + "▦" // 10 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  8008. +
  8009. "orddeptcd" + "▦" // 11 진료부서코드
  8010. +
  8011. "orddrid" + "▦" // 12 진료의사ID (집도의)
  8012. +
  8013. "signbfcnts" + "▦" // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  8014. +
  8015. "signaftcnts" + "▩" // 14 ▶ 공인인증 처리후 데이터
  8016. +
  8017. utlf_transNullToEmpty(sPid) + "▦" // 01 등록번호
  8018. +
  8019. utlf_transNullToEmpty(sIndd) + "▦" // 02 입원일자(입원,응급)/진료일자(외래)
  8020. +
  8021. utlf_transNullToEmpty(sCretno) + "▦" // 03 생성번호
  8022. +
  8023. utlf_transNullToEmpty(xPathData.getColumn(0, "certno")) + "▦" // 04 서명번호(인증번호)
  8024. +
  8025. utlf_getCurrentDate() + "▦" // 05 실제 기록이 이루어진 기록일자
  8026. +
  8027. utlf_getCurrentTime() + "▦" // 06 실제 기록이 이루어진 기록시간
  8028. +
  8029. "N" + "▦" // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  8030. +
  8031. "02" + "▦" // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  8032. +
  8033. utlf_transNullToEmpty(sSignGernalFlag) + "▦" // 09 외래/입원구분(코드정의서 M0010 참조) 2008-05-27 오후 3:32:35 김태범 null 값 넘어오는 부분 수정
  8034. +
  8035. "0000002473" + "▦" // 10 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  8036. +
  8037. utlf_transNullToEmpty(xPathData.getColumn(0, "orddeptcd")) + "▦" // 11 진료부서코드
  8038. +
  8039. utlf_transNullToEmpty(xPathData.getColumn(0, "perfdrid")) + "▦" // 12 진료의사ID (집도의)
  8040. +
  8041. utlf_transNullToEmpty(Sign.signedInfos[1]) + "▦" // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  8042. +
  8043. utlf_transNullToEmpty(Sign.signedInfos[2]) + "▩"; // 14 ▶ 공인인증 처리후 데이터
  8044. dsf_setCSVToDs("ds_send_signinfo", wSigninfo);
  8045. //model.makeNode("/root/send/signinfo2");
  8046. if (!utlf_isNull(updtdata)) {
  8047. certkind = "2"
  8048. Sign.certreload = false;
  8049. if (Sign.signprocess()) {
  8050. var vSignData = "pid" + "▦" // 01 등록번호
  8051. +
  8052. "orddd" + "▦" // 02 입원일자(입원,응급)/진료일자(외래)
  8053. +
  8054. "cretno" + "▦" // 03 생성번호
  8055. +
  8056. "signno" + "▦" // 04 서명번호(인증번호)
  8057. +
  8058. "recdd" + "▦" // 05 실제 기록이 이루어진 기록일자
  8059. +
  8060. "rectm" + "▦" // 06 실제 기록이 이루어진 기록시간
  8061. +
  8062. "recsaveflag" + "▦" // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  8063. +
  8064. "signflag" + "▦" // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  8065. +
  8066. "signgenrflag" + "▦" // 09 외래/입원구분(코드정의서 M0010 참조)
  8067. +
  8068. "formcd" + "▦" // 10 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  8069. +
  8070. "orddeptcd" + "▦" // 11 진료부서코드
  8071. +
  8072. "orddrid" + "▦" // 12 진료의사ID (집도의)
  8073. +
  8074. "signbfcnts" + "▦" // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  8075. +
  8076. "signaftcnts" + "▩" // 14 ▶ 공인인증 처리후 데이터
  8077. +
  8078. utlf_transNullToEmpty(sPid) + "▦" // 01 등록번호
  8079. +
  8080. utlf_transNullToEmpty(sIndd) + "▦" // 02 입원일자(입원,응급)/진료일자(외래)
  8081. +
  8082. utlf_transNullToEmpty(sCretno) + "▦" // 03 생성번호
  8083. +
  8084. utlf_transNullToEmpty(sSignNo) + "▦" // 04 서명번호(인증번호)
  8085. +
  8086. utlf_getCurrentDate() + "▦" // 05 실제 기록이 이루어진 기록일자
  8087. +
  8088. utlf_getCurrentTime() + "▦" // 06 실제 기록이 이루어진 기록시간
  8089. +
  8090. "N" + "▦" // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  8091. +
  8092. "02" + "▦" // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  8093. +
  8094. utlf_transNullToEmpty(sSignGernalFlag) + "▦" // 09 외래/입원구분(코드정의서 M0010 참조) 2008-05-27 오후 3:32:35 김태범 null 값 넘어오는 부분 수정
  8095. +
  8096. "0900006329" + "▦" // 10 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  8097. +
  8098. utlf_transNullToEmpty(xPathData.getColumn(0, "orddeptcd")) + "▦" // 11 진료부서코드
  8099. +
  8100. utlf_transNullToEmpty(xPathData.getColumn(0, "perfdrid")) + "▦" // 12 진료의사ID (집도의)
  8101. +
  8102. utlf_transNullToEmpty(Sign.signedInfos[1]) + "▦" // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  8103. +
  8104. utlf_transNullToEmpty(Sign.signedInfos[2]) + "▩"; // 14 ▶ 공인인증 처리후 데이터
  8105. dsf_setCSVToDs("ds_send_signinfo2", vSignData);
  8106. ds_send_recsavedata.copyData(updtdata);
  8107. }
  8108. }
  8109. } else {
  8110. return false;
  8111. }
  8112. }
  8113. // ※ 인증데이터 생성함수 만들기
  8114. // ※ 인증데이터 생성함수 만들기
  8115. function fMake_SignData() {
  8116. // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
  8117. if (certkind == "1") {
  8118. xPathData.setColumn(0, "opeudata", "");
  8119. ds_sign_MnphopcrData_MnphopcrList.clearData();
  8120. ds_sign_MnphopcrData_MnphopcrList.copyData(ds_main_MnphopcrData_MnphopcrList);
  8121. ds_sign_MnphopcrData_MnphopcrList_skindinfspec_skindinf.clearData();
  8122. ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.clearData();
  8123. ds_sign_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.clearData();
  8124. ds_sign_exotinfo_signexlists_eolist.clearData();
  8125. ds_sign_exotinfo_signotlists_organlist.clearData();
  8126. ds_sign_SheetData3_OpEqmtLists_opeqmtlist.clearData();
  8127. ds_sign_MnphopcoLists_mnphopcolist.clearData();
  8128. ds_sign_MnphopcrData_MnphopcrList_skindinfspec_skindinf.copyData(ds_main_MnphopcrData_MnphopcrList_skindinfspec_skindinf);
  8129. ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.copyData(ds_main_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist);
  8130. ds_sign_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.copyData(ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath);
  8131. ds_sign_exotinfo_signexlists_eolist.copyData(ds_exotinfo_signexlists_eolist);
  8132. ds_sign_exotinfo_signotlists_organlist.copyData(ds_exotinfo_signotlists_organlist);
  8133. ds_sign_MnphopcoLists_mnphopcolist.copyData(ds_main_MnphopcoLists_mnphopcolist);
  8134. // --------------------------
  8135. var wOprsPath = ds_sign_MnphopcrData_MnphopcrList; //Sign.XPATH_SIGNINFO + "/MnphopcrData/MnphopcrList";
  8136. //-----------(20110314) 경북대
  8137. //count list의 비고란 추가
  8138. // model.setValue(wOprsPath+"/opcntlistremark", model.getValue("/root/main/MnphopcrData/MnphopcrList/opcntlistremark"));
  8139. // //implant/prosthesis 비고란 추가
  8140. // model.setValue(wOprsPath+"/implantcmt", model.getValue("/root/main/MnphopcrData/MnphopcrList/implantcmt"));
  8141. // //수술중 사용한 약품 비고란 추가
  8142. // model.setValue(wOprsPath+"/drugcmt", model.getValue("/root/main/MnphopcrData/MnphopcrList/drugcmt"));
  8143. //-----------(20110314) 경북대
  8144. // 수술구분
  8145. var oFlag = wOprsPath.getColumn(0, "optrustflag");
  8146. if (oFlag == "1") wOprsPath.setColumn(0, "optrustflag", "정규");
  8147. if (oFlag == "2") wOprsPath.setColumn(0, "optrustflag", "응급");
  8148. if (oFlag == "3") wOprsPath.setColumn(0, "optrustflag", "추가");
  8149. // Time Out
  8150. var TimeCheck = ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.getColumn(0, "opcnfcheck");
  8151. // 수술부위
  8152. var TimeCheck2 = wOprsPath.getColumn(0, "oppart");
  8153. var TimeData = " ";
  8154. if (utlf_isNull(TimeCheck)) {
  8155. TimeData += "환자명 등록번호 집도의 수술부위";
  8156. } else {
  8157. TimeData += (TimeCheck.indexOf("1") != -1) ? "v 환자명 " : "";
  8158. TimeData += (TimeCheck.indexOf("2") != -1) ? "v 등록번호 " : "";
  8159. TimeData += (TimeCheck.indexOf("3") != -1) ? "v 집도의 " : "";
  8160. TimeData += (TimeCheck.indexOf("4") != -1) ? "v 수술부위" : "";
  8161. }
  8162. if (!utlf_isNull(TimeCheck2)) TimeData += TimeCheck2;
  8163. wOprsPath.setColumn(0, "oppart", TimeData);
  8164. // 피부 소독제
  8165. var Skindinfkind = utlf_transNullToEmpty(ds_sign_MnphopcrData_MnphopcrList_skindinfspec_skindinf.getColumn(0, "Skindinfkind"));
  8166. var tempSkindinfkind = Skindinfkind.split(" ");
  8167. var tmpLabel;
  8168. var skindLabel1 = "",
  8169. skindLabel2 = "",
  8170. skindLabel3 = "",
  8171. skindLabel4 = "",
  8172. skindLabel5 = "",
  8173. skindLabel6 = "",
  8174. skindLabel7 = "",
  8175. skindLabel8 = "",
  8176. skindLabel9 = "",
  8177. skindLabel10 = "";
  8178. for (var j = 0; j < tempSkindinfkind.length; j++) {
  8179. tmpLabel = tempSkindinfkind[j];
  8180. if (tmpLabel == "BetadineSoap") {
  8181. skindLabel1 = "Betadine Soap ";
  8182. } else if (tmpLabel == "BetadineSolution") {
  8183. skindLabel2 = "Betadine Solution ";
  8184. } else if (tmpLabel == "Alcohol") {
  8185. skindLabel3 = "Alcohol ";
  8186. } else if (tmpLabel == "H2O2") {
  8187. skindLabel4 = "H2O2 ";
  8188. } else if (tmpLabel == "Chlorhexidine4%+Alcohol") {
  8189. skindLabel5 = "Chlorhexidine4%+Alcohol ";
  8190. } else if (tmpLabel == "Chlorhexidine0.5%") {
  8191. skindLabel6 = "Chlorhexidine0.5% ";
  8192. } else if (tmpLabel == "SalineIrrigation") {
  8193. skindLabel7 = "SalineIrrigation ";
  8194. } else if (tmpLabel == "기타") {
  8195. skindLabel8 = "기타 ";
  8196. } else if (tmpLabel == "ChlorhexidineSoap") {
  8197. skindLabel9 = "Chlorhexidine Soap ";
  8198. } else if (tmpLabel == "IodineTincture1%") {
  8199. skindLabel10 = "Iodine Tincture 1% ";
  8200. }
  8201. }
  8202. /*var sKind = (Skindinfkind.indexOf("BetadineSoap" ) != -1) ? "Betadine Soap " : ""
  8203. + (Skindinfkind.indexOf("BetadineSolution" ) != -1) ? "Betadine Solution " : ""
  8204. + (Skindinfkind.indexOf("Alcohol" ) != -1) ? "Alcohol " : ""
  8205. + (Skindinfkind.indexOf("H2O2" ) != -1) ? "H2O2 " : ""
  8206. + (Skindinfkind.indexOf("Chlorhexidine4%+Alcohol") != -1) ? "Chlorhexidine4%+Alcohol " : ""
  8207. + (Skindinfkind.indexOf("Chlorhexidine0.05%" ) != -1) ? "Chlorhexidine0.05% " : ""
  8208. + (Skindinfkind.indexOf("SalineIrrigation" ) != -1) ? "SalineIrrigation " : ""
  8209. + (Skindinfkind.indexOf("기타" ) != -1) ? "기타 " : ""
  8210. + model.getValue(wOprsPath + "/skindinfspec/skindinf/SkindOther") ;*/
  8211. var sKind = skindLabel1 +
  8212. skindLabel2 +
  8213. skindLabel3 +
  8214. skindLabel4 +
  8215. skindLabel5 +
  8216. skindLabel6 +
  8217. skindLabel7 +
  8218. skindLabel9 +
  8219. skindLabel10 +
  8220. skindLabel8; // 기타가 마지막으로..
  8221. // -- SkindOther 정보는 XSL 파일에서 조합된다.
  8222. //+ model.getValue(wOprsPath + "/skindinfspec/skindinf/SkindOther");
  8223. //2010.02.22 K. J. M 피부소독제 선택한 모든 데이터 저장되도록 수정
  8224. ds_sign_MnphopcrData_MnphopcrList_skindinfspec_skindinf.setColumn(0, "Skindinfkind", sKind);
  8225. //--------(20110512)
  8226. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opdiscordspec", opdiscordspec);
  8227. //alert(instance1.selectSingleNode(xPathData+"/opdiscordspec").xml);
  8228. //--------(20110512)
  8229. // model.setValue(wOprsPath + "/implantcmt", model.getValue(wOprsPath+"/implantcmt"));
  8230. // model.setValue(wOprsPath + "/spccmt", model.getValue(wOprsPath+"/spccmt"));
  8231. var wKind = "";
  8232. var wKindNm = "";
  8233. var sRowCnt = group3.switch1.case1.grd_opposture.rowcount;
  8234. //인증 내역 코드를 명칭으로 바꾸는 부분 taebum
  8235. for (var i = 0; i < sRowCnt; i++) {
  8236. wKind = ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(i, "opposturekind");
  8237. wKindNm = ds_init_M0016list_M0016.getColumn(ds_init_M0016list_M0016.findRow("cdid", wKind), "cdnm");
  8238. ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(i, "opposturekind", wKindNm);
  8239. }
  8240. //2008-08-01 오전 9:55:41 add taebum
  8241. //1. 삭모
  8242. var wCuthairflag = wOprsPath.getColumn(0, "cuthairflag");
  8243. var wCuthairflagNm = "";
  8244. if (!utlf_isNull(wCuthairflag)) {
  8245. if (wCuthairflag == "Y") {
  8246. wCuthairflagNm = "예";
  8247. } else if (wCuthairflag == "Y") {
  8248. wCuthairflagNm = "아니오";
  8249. }
  8250. if (!utlf_isNull(wCuthairflagNm)) {
  8251. wOprsPath.setColumn(0, "cuthairflag", wCuthairflagNm);
  8252. }
  8253. }
  8254. //2. X-ray List
  8255. var wXrayflag = utlf_transNullToEmpty(wOprsPath.getColumn(0, "xrayflag"));
  8256. var wXrayArr = wXrayflag.split(" ");
  8257. var wXrayflagNm = "";
  8258. if (!utlf_isNull(wXrayflag)) {
  8259. for (var k = 0; k < wXrayArr.length; k++) {
  8260. if (!utlf_isNull(wXrayArr[k])) {
  8261. switch (wXrayArr[k]) {
  8262. case "0":
  8263. wXrayflagNm = wXrayflagNm + "해당없음 ";
  8264. break;
  8265. case "1":
  8266. wXrayflagNm = wXrayflagNm + "Portable ";
  8267. break;
  8268. case "2":
  8269. wXrayflagNm = wXrayflagNm + "C-arm ";
  8270. break;
  8271. case "3":
  8272. wXrayflagNm = wXrayflagNm + "조영제 사용 ";
  8273. //var wXraydrugspec = model.getValue(wOprsPath + "/xraydrugspec");
  8274. //if(wXraydrugspec != "" && wXraydrugspec != "undefined" && wXraydrugspec != null){
  8275. // wXrayflagNm = wXrayflagNm + " : " + wXraydrugspec;
  8276. //}
  8277. break;
  8278. default:
  8279. break;
  8280. }
  8281. }
  8282. }
  8283. if (!utlf_isNull(wXrayflagNm)) {
  8284. wOprsPath.setColumn(0, "xrayflag", wXrayflagNm);
  8285. }
  8286. }
  8287. //3. Dressing
  8288. var wDrsflagflag = wOprsPath.getColumn(0, "drsflag");
  8289. var wDrsflagflagNm = "";
  8290. if (!utlf_isNull(wDrsflagflag)) {
  8291. switch (wDrsflagflag) {
  8292. case "0":
  8293. wDrsflagflagNm = "해당없음";
  8294. break;
  8295. case "1":
  8296. wDrsflagflagNm = "Sterile dressing";
  8297. break;
  8298. case "2":
  8299. wDrsflagflagNm = "Cast";
  8300. break;
  8301. case "3":
  8302. wDrsflagflagNm = "Splint";
  8303. break;
  8304. case "9":
  8305. wDrsflagflagNm = "기타 ";
  8306. var wDrsetc = wOprsPath.getColumn(0, "drsetc");
  8307. if (!utlf_isNull(wDrsetc)) {
  8308. wDrsflagflagNm = wDrsflagflagNm + " : " + wDrsetc;
  8309. }
  8310. break;
  8311. default:
  8312. break;
  8313. }
  8314. if (!utlf_isNull(wDrsflagflagNm)) {
  8315. wOprsPath.setColumn(0, "drsflag", wDrsflagflagNm);
  8316. wOprsPath.setColumn(0, "drsetc", "");
  8317. }
  8318. }
  8319. //4. 삽관기록
  8320. sRowCnt = group3.switch1.case3.grd_inscath.rowcount;
  8321. for (var i = 0; i < sRowCnt; i++) {
  8322. wKindNm = group3.switch1.case3.grd_inscath.getCellText(i, 5);
  8323. ds_sign_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(i, "actflag", wKindNm);
  8324. wKindNm = group3.switch1.case3.grd_inscath.getCellText(i, 6);
  8325. ds_sign_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath.setColumn(i, "method", wKindNm);
  8326. }
  8327. // 2009-02-04 ycd 기록화면 수정 작업 (체위에 따른 피부변화 기록 항목 삭제)
  8328. //5. 체위에 따른 피부변화
  8329. /*
  8330. sRowCnt = datagrid2.rows - datagrid2.fixedrows;
  8331. for (var i=1; i <= sRowCnt; i++){
  8332. wKindNm = datagrid2.labelmatrix(i, 0);
  8333. model.setValue(wOprsPath + "/postureskinupdtspec/lists/skinlist["+i+"]/apflag", wKindNm);
  8334. wKindNm = datagrid2.labelmatrix(i, 1);
  8335. model.setValue(wOprsPath + "/postureskinupdtspec/lists/skinlist["+i+"]/rlflag", wKindNm);
  8336. wKindNm = datagrid2.labelmatrix(i, 2);
  8337. model.setValue(wOprsPath + "/postureskinupdtspec/lists/skinlist["+i+"]/partcd", wKindNm);
  8338. wKindNm = datagrid2.labelmatrix(i, 3);
  8339. model.setValue(wOprsPath + "/postureskinupdtspec/lists/skinlist["+i+"]/opbstat", wKindNm);
  8340. wKindNm = datagrid2.labelmatrix(i, 7);
  8341. model.setValue(wOprsPath + "/postureskinupdtspec/lists/skinlist["+i+"]/opaftstat", wKindNm);
  8342. }
  8343. */
  8344. // 2009-02-04 ycd 기록화면 수정 작업 (온냉요법 항목 삭제)
  8345. //6. 온냉요법
  8346. /*
  8347. sRowCnt = datagrid3.rows - datagrid3.fixedrows;
  8348. for (var i=1; i <= sRowCnt; i++){
  8349. wKindNm = datagrid3.labelmatrix(i, 0);
  8350. model.setValue(wOprsPath + "/warmcoldregmspec/lists/warmlist/warmcoldregm["+i+"]/partcd", wKindNm);
  8351. wKindNm = datagrid3.labelmatrix(i, 1);
  8352. model.setValue(wOprsPath + "/warmcoldregmspec/lists/warmlist/warmcoldregm["+i+"]/kindflag", wKindNm);
  8353. wKindNm = datagrid3.labelmatrix(i, 2);
  8354. model.setValue(wOprsPath + "/warmcoldregmspec/lists/warmlist/warmcoldregm["+i+"]/apppart", wKindNm);
  8355. wKindNm = datagrid3.labelmatrix(i, 3);
  8356. model.setValue(wOprsPath + "/warmcoldregmspec/lists/warmlist/warmcoldregm["+i+"]/appkind", wKindNm);
  8357. }
  8358. */
  8359. //7. 적출물기록
  8360. //Grid 정보 - 감염정보가 중복되어 있으므로 속도개선을 위하여 1번째 컬럼명만 한글로 대체함 2번째 줄부터는 코드로 인증
  8361. var wInfectyn = ds_sign_exotinfo_signexlists_eolist.getColumn(0, "infectyn");
  8362. var wInfectynNm = "";
  8363. if (!utlf_isNull(wInfectyn)) {
  8364. switch (wInfectyn) {
  8365. case "Y":
  8366. wInfectynNm = "예";
  8367. break;
  8368. case "N":
  8369. wInfectynNm = "아니오";
  8370. break;
  8371. default:
  8372. break;
  8373. }
  8374. ds_sign_exotinfo_signexlists_eolist.setColumn(0, "infectyn", wInfectynNm);
  8375. }
  8376. var wInfectflag = utlf_transNullToEmpty(ds_sign_exotinfo_signexlists_eolist.getColumn(0, "infectflag"));
  8377. var wInfectflagNm = "";
  8378. var wInfectetc = "";
  8379. if (!utlf_isNull(wInfectflag)) {
  8380. var wInfectflagArr = wInfectflag.split(" ");
  8381. if (wInfectflagArr.length > 0) {
  8382. for (var k = 0; k < wInfectflagArr.length; k++) {
  8383. switch (wInfectflagArr[k]) {
  8384. case "01":
  8385. wInfectflagNm = wInfectflagNm + "* HBs Ag ";
  8386. break;
  8387. case "02":
  8388. wInfectflagNm = wInfectflagNm + "* HCV Ab ";
  8389. break;
  8390. case "03":
  8391. wInfectflagNm = wInfectflagNm + "* VDRL ";
  8392. break;
  8393. case "04":
  8394. wInfectflagNm = wInfectflagNm + "* HIV ";
  8395. break;
  8396. case "05":
  8397. wInfectflagNm = wInfectflagNm + "* active TB ";
  8398. break;
  8399. //case "06" :
  8400. // wInfectflagNm = "* 기타";
  8401. // wInfectetc = model.getValue(Sign.XPATH_SIGNINFO + "/signexlists/eolist/infectetc");
  8402. // if(wInfectetc != "" && wInfectetc != null && wInfectetc != "undefined"){
  8403. // wInfectflagNm = wInfectflagNm+ " : "+wInfectetc+" ";
  8404. // }
  8405. // break;
  8406. default:
  8407. break;
  8408. }
  8409. }
  8410. ds_sign_exotinfo_signexlists_eolist.setColumn(0, "infectflag", wInfectflagNm);
  8411. }
  8412. }
  8413. //8. 장기이식 기록
  8414. sRowCnt = ds_sign_exotinfo_signotlists_organlist.rowcount;
  8415. var wOtflag = "";
  8416. var wOtsendrecvflag = "";
  8417. var wOtkind = "";
  8418. var wChargspecimenflag = "";
  8419. var wTempNm = "";
  8420. for (var k = 0; k < sRowCnt; k++) {
  8421. wOtflag = ds_sign_exotinfo_signotlists_organlist.getColumn(k, "otflag");
  8422. wOtsendrecvflag = ds_sign_exotinfo_signotlists_organlist.getColumn(k, "otsendrecvflag");
  8423. wOtkind = ds_sign_exotinfo_signotlists_organlist.getColumn(k, "otkind");
  8424. wChargspecimenflag = ds_sign_exotinfo_signotlists_organlist.getColumn(k, "chargspecimenflag");
  8425. wTempNm = "";
  8426. switch (wOtflag) {
  8427. case "L":
  8428. wTempNm = "생체 ";
  8429. break;
  8430. case "C":
  8431. wTempNm = "뇌사 ";
  8432. break;
  8433. default:
  8434. break;
  8435. }
  8436. ds_sign_exotinfo_signotlists_organlist.setColumn(k, "otflag", wTempNm);
  8437. wTempNm = "";
  8438. switch (wOtsendrecvflag) {
  8439. case "D":
  8440. wTempNm = "Donor ";
  8441. break;
  8442. case "R":
  8443. wTempNm = "Recipient ";
  8444. break;
  8445. default:
  8446. break;
  8447. }
  8448. ds_sign_exotinfo_signotlists_organlist.setColumn(k, "otsendrecvflag", wTempNm);
  8449. wTempNm = "";
  8450. switch (wOtkind) {
  8451. case "01":
  8452. wTempNm = "간";
  8453. break;
  8454. case "02":
  8455. wTempNm = "각막";
  8456. break;
  8457. case "03":
  8458. wTempNm = "골수";
  8459. break;
  8460. case "04":
  8461. wTempNm = "소장";
  8462. break;
  8463. case "06":
  8464. wTempNm = "심장";
  8465. break;
  8466. case "07":
  8467. wTempNm = "췌장";
  8468. break;
  8469. case "08":
  8470. wTempNm = "폐";
  8471. break;
  8472. case "09":
  8473. wTempNm = "뼈";
  8474. break;
  8475. case "10":
  8476. wTempNm = "판막";
  8477. break;
  8478. default:
  8479. break;
  8480. }
  8481. ds_sign_exotinfo_signotlists_organlist.setColumn(k, "otkind", wTempNm);
  8482. wTempNm = "";
  8483. switch (wChargspecimenflag) {
  8484. case "Y":
  8485. wTempNm = "예";
  8486. break;
  8487. case "N":
  8488. wTempNm = "아니오";
  8489. break;
  8490. default:
  8491. break;
  8492. }
  8493. ds_sign_exotinfo_signotlists_organlist.setColumn(k, "chargspecimenflag", wTempNm);
  8494. }
  8495. ds_main_SheetData3_OpEqmtLists_opeqmtlist.enableevent = false;
  8496. ds_main_SheetData3_OpEqmtLists_opeqmtlist.updatecontrol = false;
  8497. for (var i = 0; i < ds_main_SheetData3_OpEqmtLists_opeqmtlist.rowcount; i++) {
  8498. if (ds_main_SheetData3_OpEqmtLists_opeqmtlist.getColumn(i, "chk") == "1") {
  8499. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "true");
  8500. } else {
  8501. ds_main_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "false");
  8502. }
  8503. }
  8504. ds_main_SheetData3_OpEqmtLists_opeqmtlist.updatecontrol = true;
  8505. ds_main_SheetData3_OpEqmtLists_opeqmtlist.enableevent = true;
  8506. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  8507. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  8508. for (var i = 0; i < ds_main_MnphopcoLists_mnphopcolist.rowcount; i++) {
  8509. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "nacls") == "1") {
  8510. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "true");
  8511. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "-") {
  8512. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "");
  8513. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") != "-") {
  8514. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "false");
  8515. }
  8516. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samey") == "1") {
  8517. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "true");
  8518. } else {
  8519. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "false");
  8520. }
  8521. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samen") == "1") {
  8522. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "true");
  8523. } else {
  8524. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "false");
  8525. }
  8526. }
  8527. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  8528. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  8529. var pParam = new Object();
  8530. pParam.cDataYN = "N";
  8531. if (ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm.rowcount > 0) {
  8532. var ds_opbfpatcnfmspec_XML = "<opbfpatcnfm><oproom/><opcnfcheck/><cnfnurse/><cnfnursenm/><wardnurse/><wardnursenm/><opnurse/><opnursenm/><opbfpatchk/><opbfpartchk/><optimeoutchk/><opbfpatresn/><opbfpartresn/><opbftimeoutresn/><opocr1chkexec/><opocr2chkexec/><reopflag/></opbfpatcnfm>";
  8533. var sParamObjArr = [{
  8534. ds: "ds_main_MnphopcrData_MnphopcrList_opbfpatcnfmspec_opbfpatcnfm",
  8535. path: "opbfpatcnfm",
  8536. filter: ""
  8537. }];
  8538. var ds_opbfpatcnfmspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opbfpatcnfmspec_XML, pParam);
  8539. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opbfpatcnfmspec", ds_opbfpatcnfmspec_XML_RSLT);
  8540. } else {
  8541. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opbfpatcnfmspec", "");
  8542. }
  8543. if (ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist.rowcount > 0) {
  8544. var pParam2 = new Object();
  8545. pParam2.cDataYN = "N";
  8546. pParam2.nullNodeYN = "N";
  8547. var ds_aftopopnm_XML = "<aftopoplists><opcdlist><opstat/><subcls/><opcd/><opcdname/></opcdlist></aftopoplists>";
  8548. var sParamObjArr = [{
  8549. ds: "ds_main_MnphopcrData_MnphopcrList_aftopopnm_aftopoplists_opcdlist",
  8550. path: "aftopoplists/opcdlist",
  8551. filter: ""
  8552. }];
  8553. var ds_aftopopnm_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_aftopopnm_XML, pParam2);
  8554. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "aftopopnm", ds_aftopopnm_XML_RSLT);
  8555. } else {
  8556. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "aftopopnm", "");
  8557. }
  8558. var ds_anstkindspec_XML = "<anstkind><anstfrdt/><anstfrtm/><ansttodt/><ansttotm/><anstkindcheck01/><anstkindcheck02/><anstkindcheck03/><anstkindcheck04/><anstkindcheck05/><anstkindcheck06/><anstkindcheck07/><anstkindcheck08/><anstkindcheck09/><anstkindcheck10/><anstkindcheck11/><anstkindcheck12/><anstkindcheck13/><anstkindcheck14/><anstkindcheck15/><anstkindcheck99/><anstchngchk/><anstkindother/><anstmthdname/><anstmthdnamesub/><anstkindothertext/><anstbfchngnm/><anstaftchngnm/><anstcprchk/><anstopchk/></anstkind>";
  8559. var sParamObjArr = [{
  8560. ds: "ds_main_MnphopcrData_MnphopcrList_anstkindspec_anstkind",
  8561. path: "anstkind",
  8562. filter: ""
  8563. }];
  8564. var ds_anstkindspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_anstkindspec_XML, pParam);
  8565. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "anstkindspec", ds_anstkindspec_XML_RSLT);
  8566. var ds_opposturespec_XML = "<opposture><opposturelist><opposturekind/><opposturefrdt/><opposturefrtm/><opposturetodt/><opposturetotm/><oppostureterm/><opposturetot/></opposturelist></opposture>";
  8567. var sParamObjArr = [{
  8568. ds: "ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist",
  8569. path: "opposture/opposturelist",
  8570. filter: ""
  8571. }];
  8572. var ds_opposturespec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opposturespec_XML, pParam);
  8573. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opposturespec", ds_opposturespec_XML_RSLT);
  8574. var ds_skindinfspec_XML = "<skindinf><Skindinfkind/><SkindOther/></skindinf>";
  8575. var sParamObjArr = [{
  8576. ds: "ds_sign_MnphopcrData_MnphopcrList_skindinfspec_skindinf",
  8577. path: "skindinf",
  8578. filter: ""
  8579. }];
  8580. var ds_skindinfspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_skindinfspec_XML, pParam);
  8581. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "skindinfspec", ds_skindinfspec_XML_RSLT);
  8582. var bDataset = false;
  8583. for( var i=0 ; i<ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.rowcount ; i++ ){
  8584. for( var j=0 ; j<ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColCount() ; j++ ){
  8585. if( !utlf_isNull(ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist.getColumn(i, j)) ){
  8586. bDataset = true;
  8587. }
  8588. }
  8589. }
  8590. if( bDataset == true ){
  8591. var ds_esuspec_XML = "<esu><esuyn/><esulist><mfrcut/><mfrcong/><bwatt/><imgpost/><imgpostview/><applierid/><appliernm/><grdflag/></esulist></esu>";
  8592. var sParamObjArr = [{
  8593. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu",
  8594. path: "esu",
  8595. filter: ""
  8596. },
  8597. {
  8598. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu_esulist",
  8599. path: "esu/esulist",
  8600. filter: ""
  8601. }
  8602. ];
  8603. var ds_esuspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_esuspec_XML, pParam);
  8604. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "esuspec", ds_esuspec_XML_RSLT);
  8605. }else{
  8606. var ds_esuspec_XML = "<esu><esuyn/></esu>";
  8607. var sParamObjArr = [{
  8608. ds: "ds_main_MnphopcrData_MnphopcrList_esuspec_esu",
  8609. path: "esu",
  8610. filter: ""
  8611. }
  8612. ];
  8613. var ds_esuspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_esuspec_XML, pParam);
  8614. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "esuspec", ds_esuspec_XML_RSLT);
  8615. }
  8616. var bDataset = false;
  8617. for( var i=0 ; i<ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.rowcount ; i++ ){
  8618. for( var j=0 ; j<ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColCount() ; j++ ){
  8619. if( !utlf_isNull(ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist.getColumn(i, j)) ){
  8620. bDataset = true;
  8621. }
  8622. }
  8623. }
  8624. if( bDataset == true ){
  8625. var ds_tourniquetspec_XML = "<tourniquet><tourniquetyn/><tourniquetlist><startdd/><starttm/><enddd/><endtm/><termtm/><posimageview/><cuffsize/><pressure/><posimage/><applierid/><appliernm/></tourniquetlist></tourniquet>";
  8626. var sParamObjArr = [{
  8627. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet",
  8628. path: "tourniquet",
  8629. filter: ""
  8630. },
  8631. {
  8632. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet_tourniquetlist",
  8633. path: "tourniquet/tourniquetlist",
  8634. filter: ""
  8635. }
  8636. ];
  8637. var ds_tourniquetspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_tourniquetspec_XML, pParam);
  8638. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "tourniquetspec", ds_tourniquetspec_XML_RSLT);
  8639. }else{
  8640. var ds_tourniquetspec_XML = "<tourniquet><tourniquetyn/></tourniquet>";
  8641. var sParamObjArr = [{
  8642. ds: "ds_main_MnphopcrData_MnphopcrList_tourniquetspec_tourniquet",
  8643. path: "tourniquet",
  8644. filter: ""
  8645. }
  8646. ];
  8647. var ds_tourniquetspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_tourniquetspec_XML, pParam);
  8648. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "tourniquetspec", ds_tourniquetspec_XML_RSLT);
  8649. }
  8650. var ds_curenurgstatspec_XML = "<ItemCheckLists><ItemCheckList><ItemInfoBk/><ItemInfo/><Pyes/><Pno/><Pnothing/><Syes/><Sno/><Snothing/><Oyes/><Ono/><Onothing/><ItemCode/><referenceseq/><ItemState1/><ItemState2/><ItemState3/><opchkyn/><onochkyn/></ItemCheckList></ItemCheckLists>";
  8651. var sParamObjArr = [{
  8652. ds: "ds_main_MnphopcrData_MnphopcrList_curenurgstatspec_ItemCheckLists_ItemCheckList",
  8653. path: "ItemCheckLists/ItemCheckList",
  8654. filter: ""
  8655. }];
  8656. var ds_curenurgstatspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_curenurgstatspec_XML, pParam);
  8657. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "curenurgstatspec", ds_curenurgstatspec_XML_RSLT);
  8658. var ds_warmcoldregmspec_XML = "<lists><warmlist><warmnoneflag/><warmcoldregm><partcd/><kindflag/><apppart/><appkind/><warmfrtem/><warmtotem/><startdd/><starttm/><todd/><totm/><appid/><appnm/></warmcoldregm></warmlist><cathlist><inscathnoneflag/><inscath><itemcd/><cathflag/><itemnm/><spec/><qty/><actflag/><method/><cathcmnt/><partinfo/><actnm/><actid/><actdd/><acttm/></inscath></cathlist></lists>";
  8659. var sParamObjArr = [{
  8660. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist",
  8661. path: "lists/warmlist",
  8662. filter: ""
  8663. },
  8664. {
  8665. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_warmlist_warmcoldregm",
  8666. path: "lists/warmlist/warmcoldregm",
  8667. filter: ""
  8668. },
  8669. {
  8670. ds: "ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist",
  8671. path: "lists/cathlist",
  8672. filter: ""
  8673. },
  8674. {
  8675. ds: "ds_sign_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath",
  8676. path: "lists/cathlist/inscath",
  8677. filter: ""
  8678. }
  8679. ];
  8680. var ds_warmcoldregmspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_warmcoldregmspec_XML, pParam);
  8681. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "warmcoldregmspec", ds_warmcoldregmspec_XML_RSLT);
  8682. var ds_opdiscordspec_XML = "<opdiscord><opdiscordcd/><opdiscordetc/><opdiscordnm><chk/><nm/></opdiscordnm></opdiscord>";
  8683. var sParamObjArr = [{
  8684. ds: "ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord",
  8685. path: "opdiscord",
  8686. filter: ""
  8687. },
  8688. {
  8689. ds: "ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm",
  8690. path: "opdiscord/opdiscordnm",
  8691. filter: ""
  8692. }
  8693. ];
  8694. var ds_opdiscordspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opdiscordspec_XML, pParam);
  8695. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opdiscordspec", ds_opdiscordspec_XML_RSLT);
  8696. var ds_opNursRecTimeRemark_XML = "<delyresnlist><delytime1/><delytime2/><delytime3/><delytime4/><delytime5/><delytime6/><delytime7/><delyresn1/><delyresn2/><delyresn3/><delyresn4/><delyresn5/><delyresn6/><delyresn7/><delyuserid1/><delyuserid2/><delyuserid3/></delyresnlist>";
  8697. var sParamObjArr = [{
  8698. ds: "ds_main_MnphopcrData_MnphopcrList_opnursrectimeremark_delyresnlist",
  8699. path: "delyresnlist",
  8700. filter: ""
  8701. }];
  8702. var ds_opNursRecTimeRemark_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opNursRecTimeRemark_XML, pParam);
  8703. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "opnursrectimeremark", ds_opNursRecTimeRemark_XML_RSLT);
  8704. var ds_timeoutspec_XML = "<timeout><perfdr/><perfdrnm/><pertdrdeptcd/><pertdrdeptnm/><apprtcdr/><apprtcdrnm/><apprtcdrdeptcd/><apprtcdrdeptnm/><anstdr/><anstdrnm/><anstdrdeptcd/><anstdrdeptnm/><nurse1/><nurse1nm/><nurse1deptcd/><nurse1deptnm/><nurse2/><nurse2nm/><nurse2deptcd/><nurse2deptnm/><timeoutcheck/></timeout>";
  8705. var sParamObjArr = [{
  8706. ds: "ds_main_MnphopcrData_MnphopcrList_timeoutspec_timeout",
  8707. path: "timeout",
  8708. filter: ""
  8709. }];
  8710. var ds_timeoutspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_timeoutspec_XML, pParam);
  8711. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "timeoutspec", ds_timeoutspec_XML_RSLT);
  8712. var ds_counspec_XML = "<countlist><remark0/><remark1/><remark2/><remark3/><remark4/><remark5/><remark6/><remark7/><remark8/><remark9/></countlist>";
  8713. var sParamObjArr = [{
  8714. ds: "ds_main_MnphopcrData_MnphopcrList_counspec_countlist",
  8715. path: "countlist",
  8716. filter: ""
  8717. }];
  8718. var ds_counspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_counspec_XML, pParam);
  8719. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "counspec", ds_counspec_XML_RSLT);
  8720. var ds_packingspec_XML = "<packing><remark0/><remark1/><remark2/><remark3/><remark4/><remark5/><remark6/><remark7/><remark8/><remark9/></packing>";
  8721. var sParamObjArr = [{
  8722. ds: "ds_main_MnphopcrData_MnphopcrList_packingspec_packing",
  8723. path: "packing",
  8724. filter: ""
  8725. }];
  8726. var ds_packingspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_packingspec_XML, pParam);
  8727. ds_sign_MnphopcrData_MnphopcrList.setColumn(0, "packingspec", ds_packingspec_XML_RSLT);
  8728. // var arrSignPath = new Array();
  8729. // arrSignPath[0] = "/MnphopcrData/MnphopcrList";
  8730. // arrSignPath[1] = "/MnphopcoLists/mnphopcolist";
  8731. // arrSignPath[2] = "/SheetData3/SpecimenLists/specimenlist";
  8732. // arrSignPath[3] = "/SheetData3/DrugLists/druglist";
  8733. // arrSignPath[4] = "/SheetData3/DrgeLists/drgelist";
  8734. // arrSignPath[5] = "/SheetData3/ImplantLists/implantlist";
  8735. // arrSignPath[6] = "/SheetData3/OpEqmtLists/opeqmtlist";
  8736. // arrSignPath[7] = "/SheetData3/skinserveyinfo/skinserveylist";
  8737. // arrSignPath[8] = "/SheetData3/CareRecLists/carereclist";
  8738. // arrSignPath[9] = "/OpcdData/opcdlist";
  8739. // arrSignPath[10] = "/OpeuLists/opeulist1";
  8740. // arrSignPath[11] = "/OpeuLists/opeulist2";
  8741. // arrSignPath[12] = "/OpOtherData";
  8742. // arrSignPath[13] = "/signotlists/organlist";
  8743. // arrSignPath[14] = "/signexlists/eolist";
  8744. // arrSignPath[15] = "/signexlists/oblists";
  8745. //
  8746. // var arrSignDs = new Array();
  8747. // arrSignDs[0] = ds_main_MnphopcrData_MnphopcrList.saveXML();
  8748. // arrSignDs[1] = ds_main_MnphopcoLists_mnphopcolist.saveXML();
  8749. // arrSignDs[2] = ds_main_SheetData3_SpecimenLists_specimenlist.saveXML();
  8750. // arrSignDs[3] = ds_main_SheetData3_DrugLists_druglist.saveXML();
  8751. // arrSignDs[4] = ds_main_SheetData3_DrgeLists_drgelist.saveXML();
  8752. // arrSignDs[5] = ds_main_SheetData3_ImplantLists_implantlist.saveXML();
  8753. // arrSignDs[6] = ds_main_SheetData3_OpEqmtLists_opeqmtlist.saveXML();
  8754. // arrSignDs[7] = ds_main_SheetData3_skinserveyinfo_skinserveylist.saveXML();
  8755. // arrSignDs[8] = ds_main_SheetData3_CareRecLists_carereclist.saveXML();
  8756. // arrSignDs[9] = ds_init_workinst_OpcdData_opcdlist.saveXML();
  8757. // arrSignDs[10] = ds_init_workinst_OpeuLists_opeulist1.saveXML();
  8758. // arrSignDs[11] = ds_init_workinst_OpeuLists_opeulist2.saveXML();
  8759. // arrSignDs[12] = ds_init_workinst_OpOtherData.saveXML();
  8760. // arrSignDs[13] = ds_exotinfo_signotlists_organlist.saveXML();
  8761. // arrSignDs[14] = ds_exotinfo_signexlists_eolist.saveXML();
  8762. // arrSignDs[15] = ds_exotinfo_signexlists_oblists.saveXML();
  8763. //
  8764. // Sign.addnodeset(arrSignPath, arrSignDs);
  8765. var arrSignPath = new Array();
  8766. arrSignPath[0] = "/MnphopcrData/MnphopcrList";
  8767. var arrSignDs = new Array();
  8768. arrSignDs[0] = ds_sign_MnphopcrData_MnphopcrList.saveXML();
  8769. Sign.addnodeset(arrSignPath, arrSignDs);
  8770. var arrSignPath = new Array();
  8771. arrSignPath[0] = "/MnphopcoLists/mnphopcolist";
  8772. var arrSignDs = new Array();
  8773. arrSignDs[0] = ds_main_MnphopcoLists_mnphopcolist.saveXML();
  8774. Sign.addnodeset(arrSignPath, arrSignDs);
  8775. var arrSignPath = new Array();
  8776. arrSignPath[0] = "/SheetData3/";
  8777. arrSignPath[1] = "/SheetData3/SpecimenLists/specimenlist";
  8778. arrSignPath[2] = "/SheetData3/SpecimenLists/specimenlistnew";
  8779. arrSignPath[3] = "/SheetData3/DrugLists/druglist";
  8780. arrSignPath[4] = "/SheetData3/DrgeLists/drgelist";
  8781. arrSignPath[5] = "/SheetData3/ImplantLists/implantlist";
  8782. arrSignPath[6] = "/SheetData3/OpEqmtLists/opeqmtlist";
  8783. arrSignPath[7] = "/SheetData3/skinserveyinfo/skinserveylist";
  8784. arrSignPath[8] = "/SheetData3/CareRecLists/carereclist";
  8785. var arrSignDs = new Array();
  8786. arrSignDs[0] = null;
  8787. arrSignDs[1] = ds_main_SheetData3_SpecimenLists_specimenlist.saveXML();
  8788. arrSignDs[2] = ds_main_SheetData3_SpecimenLists_specimenlistnew.saveXML();
  8789. arrSignDs[3] = ds_main_SheetData3_DrugLists_druglist.saveXML();
  8790. arrSignDs[4] = ds_main_SheetData3_DrgeLists_drgelist.saveXML();
  8791. arrSignDs[5] = ds_main_SheetData3_ImplantLists_implantlist.saveXML();
  8792. arrSignDs[6] = ds_main_SheetData3_OpEqmtLists_opeqmtlist.saveXML();
  8793. arrSignDs[7] = ds_main_SheetData3_skinserveyinfo_skinserveylist.saveXML();
  8794. arrSignDs[8] = ds_main_SheetData3_CareRecLists_carereclist.saveXML();
  8795. Sign.addnodeset(arrSignPath, arrSignDs);
  8796. //sysf_messageBox(ds_sign_SheetData3_OpEqmtLists_opeqmtlist.saveXML());
  8797. var arrSignPath = new Array();
  8798. arrSignPath[0] = "/OpcdData/opcdlist";
  8799. var arrSignDs = new Array();
  8800. arrSignDs[0] = ds_init_workinst_OpcdData_opcdlist.saveXML();
  8801. Sign.addnodeset(arrSignPath, arrSignDs);
  8802. var arrSignPath = new Array();
  8803. arrSignPath[0] = "/OpeuLists/opeulist1";
  8804. arrSignPath[1] = "/OpeuLists/opeulist2";
  8805. var arrSignDs = new Array();
  8806. arrSignDs[0] = ds_init_workinst_OpeuLists_opeulist1.saveXML();
  8807. arrSignDs[1] = ds_init_workinst_OpeuLists_opeulist2.saveXML();
  8808. Sign.addnodeset(arrSignPath, arrSignDs);
  8809. var arrSignPath = new Array();
  8810. arrSignPath[0] = "/OpOtherData";
  8811. var arrSignDs = new Array();
  8812. arrSignDs[0] = ds_init_workinst_OpOtherData.saveXML();
  8813. Sign.addnodeset(arrSignPath, arrSignDs);
  8814. var arrSignPath = new Array();
  8815. arrSignPath[0] = "/signotlists/organlist";
  8816. var arrSignDs = new Array();
  8817. arrSignDs[0] = ds_sign_exotinfo_signotlists_organlist.saveXML();
  8818. Sign.addnodeset(arrSignPath, arrSignDs);
  8819. var arrSignPath = new Array();
  8820. arrSignPath[0] = "/signexlists/eolist";
  8821. arrSignPath[1] = "/signexlists/oblists";
  8822. var arrSignDs = new Array();
  8823. arrSignDs[0] = ds_sign_exotinfo_signexlists_eolist.saveXML();
  8824. arrSignDs[1] = ds_exotinfo_signexlists_oblists.saveXML();
  8825. Sign.addnodeset(arrSignPath, arrSignDs);
  8826. for (var i = 0; i < ds_sign_SheetData3_OpEqmtLists_opeqmtlist.rowcount; i++) {
  8827. if (ds_sign_SheetData3_OpEqmtLists_opeqmtlist.getColumn(i, "chk") == "true") {
  8828. ds_sign_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "1");
  8829. } else {
  8830. ds_sign_SheetData3_OpEqmtLists_opeqmtlist.setColumn(i, "chk", "0");
  8831. }
  8832. }
  8833. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  8834. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  8835. for (var i = 0; i < ds_main_MnphopcoLists_mnphopcolist.rowcount; i++) {
  8836. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "nacls") == "true") {
  8837. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "1");
  8838. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") == "-") {
  8839. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "");
  8840. } else if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recflag") != "-") {
  8841. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "nacls", "0");
  8842. }
  8843. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samey") == "true") {
  8844. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "1");
  8845. } else {
  8846. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samey", "0");
  8847. }
  8848. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "samen") == "true") {
  8849. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "1");
  8850. } else {
  8851. ds_main_MnphopcoLists_mnphopcolist.setColumn(i, "samen", "0");
  8852. }
  8853. }
  8854. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  8855. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  8856. var sRowCnt = group3.switch1.case1.grd_opposture.rowcount;
  8857. //인증 내역 코드를 명칭으로 바꾸는 부분 taebum
  8858. for (var i = 0; i < sRowCnt; i++) {
  8859. wKind = ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.getColumn(i, "opposturekind");
  8860. wKindId = ds_init_M0016list_M0016.getColumn(ds_init_M0016list_M0016.findRow("cdnm", wKind), "cdid");
  8861. ds_sign_MnphopcrData_MnphopcrList_opposturespec_opposture_opposturelist.setColumn(i, "opposturekind", wKindId);
  8862. }
  8863. } else {
  8864. // model.removeNodeSet(Sign.XPATH_SIGNINFO);
  8865. // model.makeNode(Sign.XPATH_SIGNINFO);
  8866. //Sign.addnode("/root/main/SheetData3/skinserveyinfo");
  8867. ds_sign_SheetData3_skinserveyinfo_skinserveylist.clearData();
  8868. ds_sign_SheetData3_skinserveyinfo_skinserveylist.copyData(ds_main_SheetData3_skinserveyinfo_skinserveylist);
  8869. var SignPath = ds_sign_SheetData3_skinserveyinfo_skinserveylist;
  8870. for (var i = 0; i < SignPath.rowcount; i++) {
  8871. var sSurveyPriod = SignPath.getColumn(i, "surveypriod");
  8872. var sSurveyPlace = SignPath.getColumn(i, "surveyplace");
  8873. var sSkinStat = SignPath.getColumn(i, "skinstat");
  8874. if (sSurveyPriod != "-" && !utlf_isNull(sSurveyPriod)) {
  8875. SignPath.setColumn(i, "surveypriod", ds_init_M0559list_M0559.getColumn(ds_init_M0559list_M0559.findRow("cdid", sSurveyPriod), "cdnm"));
  8876. }
  8877. if (sSurveyPlace != "-" && !utlf_isNull(sSurveyPlace)) {
  8878. SignPath.setColumn(i, "surveyplace", ds_codelist164.getColumn(ds_codelist164.findRow("cdid", sSurveyPlace), "cdnm"));
  8879. }
  8880. if (!utlf_isNull(sSkinStat)) {
  8881. SignPath.setColumn(i, "skinstat", ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='137' && cdid=='" + sSkinStat + "'"), "cdnm"));
  8882. }
  8883. }
  8884. Sign.addnode("/skinserveyinfo/skinserveylist", ds_sign_SheetData3_skinserveyinfo_skinserveylist.saveXML());
  8885. // for (var i = 0; i < SignPath.rowcount; i++) {
  8886. // var sSurveyPriod = SignPath.getColumn(i, "surveypriod");
  8887. // var sSurveyPlace = SignPath.getColumn(i, "surveyplace");
  8888. // var sSkinStat = SignPath.getColumn(i, "skinstat");
  8889. //
  8890. // if (sSurveyPriod != "-" && !utlf_isNull(sSurveyPriod)) {
  8891. // SignPath.setColumn(i, "surveypriod", ds_init_M0559list_M0559.getColumn(ds_init_M0559list_M0559.findRow("cdnm", sSurveyPriod), "cdid"));
  8892. // }
  8893. // if (sSurveyPlace != "-" && !utlf_isNull(sSurveyPlace)) {
  8894. // SignPath.setColumn(i, "surveyplace", ds_codelist164.getColumn(ds_codelist164.findRow("cdnm", sSurveyPlace), "cdid"));
  8895. // }
  8896. // if (!utlf_isNull(sSkinStat)) {
  8897. // SignPath.setColumn(i, "skinstat", ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='137' && cdnm=='" + sSkinStat + "'"), "cdid"));
  8898. // }
  8899. // }
  8900. }
  8901. }
  8902. /* ------------------------------------------------- */
  8903. /* SMMNP00300_수술기록 */
  8904. /* 인증 저장 시 Call */
  8905. /* ------------------------------------------------- */
  8906. /* group : EMR 간호 수술마취 */
  8907. /* ver : 2008-07-27 오후 3:18:21 */
  8908. /* by : 김태범 */
  8909. /* --------------------------------------------------*/
  8910. /* type : function */
  8911. /* access : public */
  8912. /* desc : 수술간호기록 */
  8913. /* 인증저장 시 적출물, 장기이식정보 저장 */
  8914. /* param : */
  8915. /* return : */
  8916. /* --------------------------------------------------*/
  8917. function fGetExtcOtRecord() {
  8918. ds_exotinfo_searchinfo.setColumn(0, "oprsrvno", sOprsrvno);
  8919. var oParam = {};
  8920. oParam.id = "TRMNP00319";
  8921. oParam.service = "opanstapp.OpAnstRec";
  8922. oParam.method = "reqGetExtcOtRecord";
  8923. oParam.inds = "req=ds_exotinfo_searchinfo";
  8924. oParam.outds = "ds_exotinfo_extotlists_datalists_organlist=organlist ds_exotinfo_extotlists_datalists_eolist=eolist ds_exotinfo_extotlists_datalists_oblists=oblist";
  8925. oParam.async = false;
  8926. //oParam.callback = "cf_TRMNP00319";
  8927. tranf_submit(oParam);
  8928. //2008-07-29 오전 1:48:22 인증 내역에 장기이식, 적출물을 포함하기 위한 선처리 작업
  8929. var sExOtListXpath = "ds_exotinfo_extotlists_datalists";
  8930. var NodeCnt = eval(sExOtListXpath + "_organlist").rowcount; //장기이식
  8931. ds_exotinfo_signotlists_organlist.clearData();
  8932. if (NodeCnt > 0) {
  8933. for (var i = 0; i < NodeCnt; i++) {
  8934. ds_exotinfo_signotlists_organlist.addRow();
  8935. ds_exotinfo_signotlists_organlist.copyRow(i, eval(sExOtListXpath + "_organlist"), i);
  8936. }
  8937. }
  8938. NodeCnt = eval(sExOtListXpath + "_eolist").rowcount; //적출물
  8939. ds_exotinfo_signexlists_eolist.clearData();
  8940. if (NodeCnt > 0) {
  8941. for (var i = 0; i < NodeCnt; i++) {
  8942. ds_exotinfo_signexlists_eolist.addRow();
  8943. ds_exotinfo_signexlists_eolist.copyRow(i, ds_exotinfo_extotlists_datalists_eolist, i);
  8944. }
  8945. }
  8946. // 진정기록(관찰기록) 데이타_ 손성훈.
  8947. NodeCnt = eval(sExOtListXpath + "_oblists").rowcount; //관찰기록 _ 손성훈.
  8948. ds_exotinfo_signexlists_oblists.clearData(); // 현재 저장 되어 있는 관찰기록정보를 인증저장하기위해.
  8949. if (NodeCnt > 0) {
  8950. for (var i = 0; i < NodeCnt; i++) {
  8951. ds_exotinfo_signexlists_oblists.addRow();
  8952. ds_exotinfo_signexlists_oblists.copyRow(i, ds_exotinfo_extotlists_datalists_oblists, i);
  8953. }
  8954. }
  8955. }
  8956. /* ------------------------------------------------- */
  8957. /* SMMNP00300_수술기록 */
  8958. /* On Load 시 Call */
  8959. /* ------------------------------------------------- */
  8960. /* group : EMR 간호 수술마취 */
  8961. /* ver : 2008.05.15 */
  8962. /* by : 김태범 */
  8963. /* --------------------------------------------------*/
  8964. /* type : function */
  8965. /* access : public */
  8966. /* desc : 수술간호기록1 */
  8967. /* 진료진(수술실,회복실-의사,간호사) 조회 */
  8968. /* param : */
  8969. /* return : */
  8970. /* --------------------------------------------------*/
  8971. function fSheet1TimeOutAddInfo() {
  8972. //parameter info(group구분) : 011▦015▦012▦017▦(집도의, 수술간호사, 마취의, 마취간호사)
  8973. ds_send.setColumn(0, "data1", "011▦015▦012▦017▦"); //마지막 데이터는 집도의의 로그인 부서정보
  8974. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  8975. var sDeptcd = ds_main_operation_list.getColumn(0, "perfdeptcd"); //opinfo의 perfdeptcd
  8976. var sOpcnfmdd = ds_main_operation_list.getColumn(0, "opcnfmdd"); //opinfo의 수술확정일자
  8977. ds_send.setColumn(0, "data2", sUserDeptcd); //log in한 부서코드
  8978. ds_send.setColumn(0, "data3", sDeptcd); //집도과 부서코드
  8979. ds_send.setColumn(0, "searchdd", sOpcnfmdd); //수술확정일자
  8980. // 2009-02-02 ycd 기록 항목 제거하여 별도 처리
  8981. var oParam = {};
  8982. oParam.id = "TRMNP00309";
  8983. oParam.service = "opanstapp.OpAnstRec";
  8984. oParam.method = "reqGetTimeoutAddList";
  8985. oParam.inds = "req=ds_send";
  8986. oParam.outds = "ds_init_HideData_timeOutAddInfo_anstdoclist=anstdoclist ds_init_HideData_timeOutAddInfo_opdoctlist=opdoctlist ds_init_HideData_timeOutAddInfo_anstnurlist=anstnurlist ds_init_HideData_timeOutAddInfo_opnurlist=opnurlist ds_init_HideData_timeOutAddInfo_opstaffdoctlist=opstaffdoctlist";
  8987. oParam.async = false;
  8988. //oParam.callback = "cf_TRMNP00309";
  8989. tranf_submit(oParam);
  8990. if( ds_init_HideData_timeOutAddInfo_opnurlist.rowcount > 0 &&
  8991. utlf_isNull(ds_init_HideData_timeOutAddInfo_opnurlist.getColumn(ds_init_HideData_timeOutAddInfo_opnurlist.rowcount-1, "userid")) &&
  8992. utlf_isNull(ds_init_HideData_timeOutAddInfo_opnurlist.getColumn(ds_init_HideData_timeOutAddInfo_opnurlist.rowcount-1, "usernm")) ){
  8993. ds_init_HideData_timeOutAddInfo_opnurlist.deleteRow(ds_init_HideData_timeOutAddInfo_opnurlist.rowcount-1);
  8994. ds_init_HideData_timeOutAddInfo_opnurlist.insertRow(0);
  8995. }
  8996. if( ds_init_HideData_timeOutAddInfo_opstaffdoctlist.rowcount > 0 &&
  8997. utlf_isNull(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.getColumn(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.rowcount-1, "userid")) &&
  8998. utlf_isNull(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.getColumn(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.rowcount-1, "usernm")) ){
  8999. ds_init_HideData_timeOutAddInfo_opstaffdoctlist.deleteRow(ds_init_HideData_timeOutAddInfo_opstaffdoctlist.rowcount-1);
  9000. ds_init_HideData_timeOutAddInfo_opstaffdoctlist.insertRow(0);
  9001. }
  9002. // 2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  9003. /*
  9004. if(submit("TRMNP00309", false)){
  9005. //각 콤보 박스에 빈row 추가.
  9006. addComboItem( "cmb_perfdr", " ", "", "above" );
  9007. addComboItem( "cmb_nurse1", " ", "", "above" );
  9008. addComboItem( "cmb_anstdr", " ", "", "above" );
  9009. addComboItem( "cmb_nurse2", " ", "", "above" );
  9010. addComboItem( "combo2" , " ", "", "above" );
  9011. }
  9012. */
  9013. //협진 수술일 경우 주수술기록의 TimeOut 정보를 가져온다.
  9014. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") {
  9015. //2009-02-02 ycd 기록 항목 제거로 인하여 주석 처리
  9016. /*
  9017. if(model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr") == "" ||
  9018. model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr") == null ||
  9019. model.getValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr") == "undefined"){
  9020. var sMainoptimeoutinfo = model.getValue("/root/main/MnphopcrData/MnphopcrList/mainoptimeoutinfo");
  9021. if(sMainoptimeoutinfo != "" && sMainoptimeoutinfo != null && sMainoptimeoutinfo != "undefined"){
  9022. var sRowArr = sMainoptimeoutinfo.split("▤");
  9023. if(sRowArr.length > 0){
  9024. var sPerInfodArr = sRowArr[0].split("▥");
  9025. var sAnstInfoArr = sRowArr[1].split("▥");
  9026. var sNur1Arr = sRowArr[2].split("▥");
  9027. var sNur2Arr = sRowArr[3].split("▥");
  9028. var sTimeoutcheck = sRowArr[4];
  9029. if(sPerInfodArr[0] != "" && sPerInfodArr[0] != null && sPerInfodArr[0] != "undefined" &&
  9030. sPerInfodArr[1] != "" && sPerInfodArr[1] != null && sPerInfodArr[1] != "undefined"){
  9031. addComboItem( "cmb_perfdr", sPerInfodArr[1] , sPerInfodArr[0], "above" );
  9032. }
  9033. model.setValue("/root/init/HideData/timeOutDisplayInfo/perfdr", sPerInfodArr[0]);
  9034. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr", sPerInfodArr[0]);
  9035. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdrnm", sPerInfodArr[1]);
  9036. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/pertdrdeptcd", sPerInfodArr[2]);
  9037. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/pertdrdeptnm", sPerInfodArr[3]);
  9038. model.setValue("/root/init/HideData/timeOutDisplayInfo/anstdr", sAnstInfoArr[0]);
  9039. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdr", sAnstInfoArr[0]);
  9040. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrnm", sAnstInfoArr[1]);
  9041. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrdeptcd", sAnstInfoArr[2]);
  9042. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrdeptnm", sAnstInfoArr[3]);
  9043. model.setValue("/root/init/HideData/timeOutDisplayInfo/nurse1", sNur1Arr[0]);
  9044. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1", sNur1Arr[0]);
  9045. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1nm", sNur1Arr[1]);
  9046. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1deptcd", sNur1Arr[2]);
  9047. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1deptnm", sNur1Arr[3]);
  9048. model.setValue("/root/init/HideData/timeOutDisplayInfo/nurse2", sNur2Arr[0]);
  9049. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2", sNur2Arr[0]);
  9050. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2nm", sNur2Arr[1]);
  9051. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2deptcd", sNur2Arr[2]);
  9052. model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2deptnm", sNur2Arr[3]);
  9053. //model.setValue("/root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/timeoutcheck", sTimeoutcheck);
  9054. }
  9055. }
  9056. }
  9057. */
  9058. }
  9059. }
  9060. /* -------------------------------------------------------------*/
  9061. /* SMMNP00300_수술기록 */
  9062. /* TimeOut 의료진 Combo value changed시 */
  9063. /* -------------------------------------------------------------*/
  9064. /* group : EMR 간호 수술마취 */
  9065. /* ver : 2008.05.19 */
  9066. /* by : 김태범 */
  9067. /* -------------------------------------------------------------*/
  9068. /* type : function */
  9069. /* access : public */
  9070. /* desc : 수술간호기록1 */
  9071. /* 해당 의료진의 이름,부서,부서코드 mapping */
  9072. /* param : */
  9073. /* return : */
  9074. /* desc : 2009-02-02 ycd 기록 항목 제거로 인하여 사용 안함 */
  9075. /* -------------------------------------------------------------*/
  9076. function fTimeOutComboValueChanged(pFlag) {
  9077. var sUseridXpath = ""; //의료진 id
  9078. var sUsernmXpath = ""; //의료진 이름
  9079. var sDeptcdXpath = ""; //의료진 부서코드
  9080. var sDeptnmXpath = ""; //의료진 부서명
  9081. var sOrinalXpath = ""; //서버에서 조회한 의료진 리스트 xPath
  9082. var sDisplayIdXpath = "root/init/HideData/timeOutDisplayInfo"; //사용자 ID Display용 xPath
  9083. var sDisplayCtrlId = "";
  9084. switch (pFlag) {
  9085. case "perfdr": //수술의(집도의)
  9086. sOrinalXpath = "root/init/HideData/timeOutAddInfo/opdoctlist";
  9087. sUseridXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdr";
  9088. sUsernmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/perfdrnm";
  9089. sDeptcdXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/pertdrdeptcd";
  9090. sDeptnmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/pertdrdeptnm";
  9091. sDisplayCtrlId = "out_perfdr";
  9092. break;
  9093. case "nurse1": //수술 간호사
  9094. sOrinalXpath = "root/init/HideData/timeOutAddInfo/opnurlist";
  9095. sUseridXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1";
  9096. sUsernmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1nm";
  9097. sDeptcdXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1deptcd";
  9098. sDeptnmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse1deptnm";
  9099. sDisplayCtrlId = "out_nurse1";
  9100. break;
  9101. case "anstdr": //마취의
  9102. sOrinalXpath = "root/init/HideData/timeOutAddInfo/anstdoclist";
  9103. sUseridXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdr";
  9104. sUsernmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrnm";
  9105. sDeptcdXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrdeptcd";
  9106. sDeptnmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/anstdrdeptnm";
  9107. sDisplayCtrlId = "out_anstdr";
  9108. break;
  9109. case "nurse2": //마취간호사
  9110. sOrinalXpath = "root/init/HideData/timeOutAddInfo/anstnurlist";
  9111. sUseridXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2";
  9112. sUsernmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2nm";
  9113. sDeptcdXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2deptcd";
  9114. sDeptnmXpath = "root/main/MnphopcrData/MnphopcrList/timeoutspec/timeout/nurse2deptnm";
  9115. sDisplayCtrlId = "out_nurse2";
  9116. break;
  9117. default:
  9118. break;
  9119. }
  9120. if (sUsernmXpath != "" && sUsernmXpath != null && sDeptcdXpath != "" && sDeptcdXpath != null &&
  9121. sDeptnmXpath != "" && sDeptnmXpath != null) {
  9122. var userid = model.getValue(sUseridXpath);
  9123. model.setValue(sUsernmXpath, model.getValue(sOrinalXpath + "[" + "userid='" + userid + "'" + "]/usernm"));
  9124. model.setValue(sDeptcdXpath, model.getValue(sOrinalXpath + "[" + "userid='" + userid + "'" + "]/posdeptcd"));
  9125. model.setValue(sDeptnmXpath, model.getValue(sOrinalXpath + "[" + "userid='" + userid + "'" + "]/posdeptnm"));
  9126. //사용자 ID Display용 Setting
  9127. model.setValue(sDisplayIdXpath + "/" + pFlag, model.getValue(sUseridXpath));
  9128. switch (sDisplayCtrlId) {
  9129. case "out_perfdr":
  9130. out_perfdr.refresh();
  9131. break;
  9132. case "out_nurse1":
  9133. out_nurse1.refresh();
  9134. break;
  9135. case "out_anstdr":
  9136. out_anstdr.refresh();
  9137. break;
  9138. case "out_nurse2":
  9139. out_nurse2.refresh();
  9140. break;
  9141. }
  9142. }
  9143. }
  9144. /* ------------------------------------------------- */
  9145. /* group : EMR 간호 수술마취 */
  9146. /* ver : 2008.05.19 */
  9147. /* 2009.09.14 그리드로 제어하도록 변경 */
  9148. /* by : 김태범 */
  9149. /* -------------------------------------------------- */
  9150. /* type : function */
  9151. /* access : public */
  9152. /* desc : 수술간호기록2 */
  9153. /* Count List 조회 팝업 버튼 클릭 시 이벤트 */
  9154. /* param : */
  9155. /* return : */
  9156. /* -------------------------------------------------- */
  9157. function fClickCountListPopUpBtn(pRow) {
  9158. var xpos = system.clientToScreenX(this, this.position.left);
  9159. var ypos = system.clientToScreenY(this, this.position.top) - 300;
  9160. var sCodeList = "";
  9161. var sCodeList = "";
  9162. var sCodeRecNo = "";
  9163. if (pRow > -1) {
  9164. sCodeRecNo = ds_main_MnphopcoLists_mnphopcolist.getColumn(pRow, "recno");
  9165. }
  9166. var iLength = ds_main_MnphopcoLists_mnphopcolist.rowcount;
  9167. if (iLength > 0 && pRow > -1) {
  9168. //sql query in () 안에 들어갈 쿼리 생성
  9169. for (var i = 0; i < iLength; i++) {
  9170. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "recno") != sCodeRecNo) continue;
  9171. if (utlf_isNull(sCodeList)) {
  9172. if (utlf_isNull(ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "kindcd"))) {
  9173. //
  9174. } else {
  9175. sCodeList = "'" + ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "kindcd") + "'";
  9176. }
  9177. } else {
  9178. if (utlf_isNull(ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "kindcd"))) {
  9179. //
  9180. } else {
  9181. sCodeList = sCodeList + ", '" + ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "kindcd") + "'";
  9182. }
  9183. }
  9184. }
  9185. }
  9186. frmf_setParameter("SendData_codeQuery", sCodeList + "▦" + ds_init_HideData.getColumn(0, "oprsrvno") + "▦" + sCodeRecNo);
  9187. frmf_modal("SPMNP00304", "SPMNP00304", null, "", "", "", "", "", "", "", "", "", "M"); //yjh
  9188. var sResultArr = frmf_getParameter("codeQuery_result_data");
  9189. frmf_setParameter("SendData_codeQuery", "");
  9190. var tempSeq = "";
  9191. var iInsertCnt = 0;
  9192. var sRebuildFlag = "false";
  9193. if (!utlf_isNull(sResultArr)) {
  9194. /*
  9195. if(grd_count.fixedcellcheckbox(0, grd_count.colRef("nacls")) == false){
  9196. grd_count.fixedcellcheckbox(0, grd_count.colRef("nacls")) = true;
  9197. grd_count.fixedcellcheckbox(1, grd_count.colRef("nacls")) = true;
  9198. grd_count.fixedcellcheckbox(1, grd_count.colRef("samey")) = true;
  9199. grd_count.fixedcellcheckbox(1, grd_count.colRef("samen")) = true;
  9200. }
  9201. */
  9202. //fPackingMergeFalse();
  9203. var sDisplayRowArr = sResultArr.split("▨");
  9204. if (sDisplayRowArr.length > 0) {
  9205. for (var i = 0; i < sDisplayRowArr.length; i++) {
  9206. iLength = ds_main_MnphopcoLists_mnphopcolist.rowcount + 1;
  9207. var iCnt = -1;
  9208. var rCnt = -1;
  9209. var sTempSeq = 0;
  9210. var sDisplayColArr = utlf_transNullToEmpty(sDisplayRowArr[i]).split("▥");
  9211. if (utlf_isNull(sDisplayColArr)) {
  9212. break;
  9213. }
  9214. if (iLength > 0) {
  9215. for (var j = 0; j < (iLength - 1); j++) {
  9216. sTempSeq = ds_main_MnphopcoLists_mnphopcolist.getColumn(j, "refseq");
  9217. sTempRecNo = ds_main_MnphopcoLists_mnphopcolist.getColumn(j, "recno");
  9218. sTempRecFlag = ds_main_MnphopcoLists_mnphopcolist.getColumn(j, "recflag");
  9219. if (sCodeRecNo == sTempRecNo && parseInt(sTempSeq) < parseInt(sDisplayColArr[5])) {
  9220. rCnt = j;
  9221. }
  9222. }
  9223. iCnt = rCnt + 1;
  9224. if (rCnt > -1) {
  9225. ds_main_MnphopcoLists_mnphopcolist.enableevent = false;
  9226. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = false;
  9227. ds_main_MnphopcoLists_mnphopcolist.insertRow(rCnt + 1);
  9228. sRebuildFlag = "true";
  9229. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "codenm1", sDisplayColArr[1]);
  9230. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "codenm2", sDisplayColArr[2]);
  9231. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "codenm3", sDisplayColArr[3]);
  9232. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nacls", "0");
  9233. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "naclsinucd", "-");
  9234. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "initqty", "");
  9235. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "addqty", "");
  9236. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "totqty", "");
  9237. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "packqty", "");
  9238. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm11", "");
  9239. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm12", "");
  9240. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm21", "");
  9241. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm22", "");
  9242. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm31", "");
  9243. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm32", "");
  9244. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm41", "");
  9245. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursnm42", "");
  9246. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "samey", "1");
  9247. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "samen", "0");
  9248. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid11", "");
  9249. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid12", "");
  9250. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid21", "");
  9251. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid22", "");
  9252. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid31", "");
  9253. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid32", "");
  9254. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid41", "");
  9255. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "nursid42", "");
  9256. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd11", "");
  9257. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd12", "");
  9258. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd21", "");
  9259. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd22", "");
  9260. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd31", "");
  9261. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd32", "");
  9262. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd41", "");
  9263. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptcd42", "");
  9264. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm11", "");
  9265. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm12", "");
  9266. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm21", "");
  9267. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm22", "");
  9268. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm31", "");
  9269. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm32", "");
  9270. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm41", "");
  9271. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "deptnm42", "");
  9272. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid11", "");
  9273. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid12", "");
  9274. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid21", "");
  9275. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid22", "");
  9276. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid31", "");
  9277. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid32", "");
  9278. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid41", "");
  9279. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "checkid42", "");
  9280. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "packspec", "");
  9281. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "kindcd", sDisplayColArr[4]);
  9282. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "refseq", sDisplayColArr[5]);
  9283. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "recflag", "I");
  9284. ds_main_MnphopcoLists_mnphopcolist.setColumn(iCnt, "recno", sCodeRecNo);
  9285. ds_main_MnphopcoLists_mnphopcolist.updatecontrol = true;
  9286. ds_main_MnphopcoLists_mnphopcolist.enableevent = true;
  9287. }
  9288. }
  9289. }
  9290. }
  9291. if (sRebuildFlag == "true") {
  9292. fSetStyle();
  9293. //fPackingMergeFalse();
  9294. }
  9295. var sExprEdit = group3.switch1.case2.grd_count.getCellProperty("Body", 5, "edittype");
  9296. //추가건에 대하여 해당없음 Check 여부에 따른 사유 입력 콤보 ReadOnly처리
  9297. for (var i = 0; i < ds_main_MnphopcoLists_mnphopcolist.rowcount; i++) {
  9298. if (ds_main_MnphopcoLists_mnphopcolist.getColumn(i, "nacls") == '0') {
  9299. if (sExprEdit.indexOf("currow == " + i + " ? 'none' : ") < 0) {
  9300. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("'combo'", "") + ("currow == " + i + " ? 'none' : ") + "'combo'";
  9301. }
  9302. }
  9303. }
  9304. group3.switch1.case2.grd_count.setCellProperty("Body", 5, "edittype", sExprEdit);
  9305. }
  9306. }
  9307. /**
  9308. * Catheter 삽관기록 항목 추가 버튼 클릭 시 이벤트
  9309. *
  9310. */
  9311. function fOpAddEqmtPopup() {
  9312. var sTempXpath = ds_main_MnphopcrData_MnphopcrList_warmcoldregmspec_lists_cathlist_inscath; //삽관 정보 xPath
  9313. frmf_setParameter("SMMNP00300_searchFlag", "true");
  9314. var xpos = 1;
  9315. var ypos = 1;
  9316. var sGridRefreshFlag = "false";
  9317. frmf_modal("SPMNP00340", "SPMNP00340", null, "", 1, xpos, ypos, "", "", "", "", "", "M"); //yjh
  9318. var sResult = frmf_getParameter("SMMNP00300_result_data");
  9319. if (!utlf_isNull(sResult)) {
  9320. frmf_setParameter("SMMNP00300_result_data", "");
  9321. var sResultArr = sResult.split("▧");
  9322. if (sResultArr.length > 0) {
  9323. var sGoodcd = ""; //삽관 종류
  9324. var sGoodName = ""; //명칭
  9325. var iAddRowCnt = group3.switch1.case3.grd_inscath.rowcount;
  9326. for (var i = 0; i < sResultArr.length; i++) {
  9327. var sResultDetailArr = utlf_transNullToEmpty(sResultArr[i]).split("▥");
  9328. if (sResultDetailArr.length > 0) {
  9329. //팝업에서 넘어온 정보중 겹치는 정보는 제외하고 데이터를 insert한다.
  9330. sGoodcd = sResultDetailArr[0]; //code
  9331. sGoodName = sResultDetailArr[1]; //codename
  9332. var sExsist = "false";
  9333. var iTempGridCnt = sTempXpath.rowcount; //삽관 정보 입력된 건수
  9334. var sTempCode = ""; //기존 삽관기록 정보에 등록된 item코드
  9335. for (var k = 0; k < iTempGridCnt; k++) {
  9336. //sTempCode = datagrid3.TextMatrix(k, 1);//현재 등록된 삽관 item코드
  9337. sTempCode = group3.switch1.case3.grd_inscath.getCellText(k, 1); //현재 등록된 삽관 item코드
  9338. //alert("sTempCode : " + sTempCode);
  9339. if (sTempCode == sGoodcd || (sTempCode == "추가" && utlf_isNull(sGoodcd))) {
  9340. sExsist = "true";
  9341. break;
  9342. }
  9343. }
  9344. if (sExsist == "false") {
  9345. //datagrid3.addRow(true, true);
  9346. iAddRowCnt++;
  9347. sGridRefreshFlag = "true";
  9348. sTempXpath.addRow();
  9349. sTempXpath.setColumn(iAddRowCnt - 1, "itemcd", sGoodcd);
  9350. sTempXpath.setColumn(iAddRowCnt - 1, "cathflag", "추가");
  9351. sTempXpath.setColumn(iAddRowCnt - 1, "itemnm", sGoodName);
  9352. sTempXpath.setColumn(iAddRowCnt - 1, "actflag", "P");
  9353. }
  9354. }
  9355. }
  9356. }
  9357. }
  9358. }
  9359. /**
  9360. * 집도의 요청에 의한 계수확인 안함 버튼 클릭 시 이벤트
  9361. *
  9362. */
  9363. function fOnClickNoCountDoctClearBtn() {
  9364. ds_main_MnphopcrData_MnphopcrList.setColumn(0, "nocountdoctid", "");
  9365. }
  9366. /**
  9367. * 적출물 기록 버튼 클릭 시 이벤트
  9368. *
  9369. */
  9370. function fOnClickExtractObjectFormBtn() {
  9371. var sSendData = "";
  9372. frmf_setParameter("SMMNP00300_searchFlag", "true");
  9373. var sSendPinfo1 = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opcnfmdd")); //수술확정일자
  9374. var sSendPinfo2 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo"));
  9375. var sSendPinfo3 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo2"));
  9376. //------------(20100915) 경북대
  9377. //원본
  9378. //var sSendDoctinfo = model.getValue(xPathData+"/perfdridnm" ) +"▥"+ // 집도의
  9379. // + model.getValue(xPathData+"/perfdrid" ); // 집도의ID
  9380. // 집도의 사번이 0으로시작하면 앞의 0이 짤린다.
  9381. // 예: 02048 --> 2048
  9382. var sPerfdrid = utlf_transNullToEmpty(xPathData.getColumn(0, "perfdrid"));
  9383. var sSendDoctinfo = utlf_transNullToEmpty(xPathData.getColumn(0, "perfdridnm")) + "▥"; // 집도의
  9384. sSendDoctinfo = sSendDoctinfo.concat(sPerfdrid.toString()); // 집도의ID
  9385. //------------(20100915) 경북대
  9386. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid")); // 01 환자번호
  9387. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 02 수술예약(의뢰)번호(년도+일련번호)
  9388. sOphistno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "ophistno")); // 03 예약번호에따른이력번호
  9389. sInstcd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd")); // 04 기관코드
  9390. var tempOproomcd = utlf_transNullToEmpty(xPathData.getColumn(0, "oproomcd")); // 05 수술방코드
  9391. sSendData = sPid + "▥" + sOprsrvno + "▥" + sOphistno + "▥" + sInstcd + "▥" + sOpfromdt + "▥" + tempOproomcd + "▨" + sSendPinfo1 + "▥" + sSendPinfo2 + "▥" + sSendPinfo3 + "▨" + sSendDoctinfo;
  9392. frmf_setParameter("SMMNP00300_SearchCondition", sSendData);
  9393. var xpos = 1;
  9394. var ypos = 1;
  9395. var sGridRefreshFlag = "false";
  9396. frmf_modal("SPMNP00310", "SPMNP00310", null, "", 1, xpos, ypos, "", "", "", "", "", "M"); //yjh
  9397. }
  9398. /**
  9399. * 관찰기록 버튼 클릭 시 이벤트
  9400. *
  9401. */
  9402. function fOnClickObservationRecordFormBtn() {
  9403. var sSendData = "";
  9404. frmf_setParameter("SMMNP00300_searchFlag", "true");
  9405. var sSendPinfo1 = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opcnfmdd")); //수술확정일자
  9406. var sSendPinfo2 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo"));
  9407. var sSendPinfo3 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo2"));
  9408. //------------(20100915) 경북대
  9409. //원본
  9410. //var sSendDoctinfo = model.getValue(xPathData+"/perfdridnm" ) +"▥"+ // 집도의
  9411. // + model.getValue(xPathData+"/perfdrid" ); // 집도의ID
  9412. // 집도의 사번이 0으로시작하면 앞의 0이 짤린다.
  9413. // 예: 02048 --> 2048
  9414. var sPerfdrid = utlf_transNullToEmpty(xPathData.getColumn(0, "perfdrid"));
  9415. var sSendDoctinfo = utlf_transNullToEmpty(xPathData.getColumn(0, "perfdridnm")) + "▥"; // 집도의
  9416. sSendDoctinfo = sSendDoctinfo.concat(sPerfdrid.toString()); // 집도의ID
  9417. //------------(20100915) 경북대
  9418. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid")); // 01 환자번호
  9419. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 02 수술예약(의뢰)번호(년도+일련번호)
  9420. sOphistno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "ophistno")); // 03 예약번호에따른이력번호
  9421. sInstcd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd")); // 04 기관코드
  9422. var tempOproomcd = utlf_transNullToEmpty(xPathData.getColumn(0, "oproomcd")); // 05 수술방코드
  9423. sSendData = sPid + "▥" + sOprsrvno + "▥" + sOphistno + "▥" + sInstcd + "▥" + sOpfromdt + "▥" + tempOproomcd + "▨" + sSendPinfo1 + "▥" + sSendPinfo2 + "▥" + sSendPinfo3 + "▨" + sSendDoctinfo;
  9424. frmf_setParameter("SMMNP00300_SearchCondition", sSendData);
  9425. var xpos = 1;
  9426. var ypos = 1;
  9427. var sGridRefreshFlag = "false";
  9428. frmf_modal("SPMNP00315", "SPMNP00315", null, "", 1, xpos, ypos, "", "", "", "", "", "M"); //yjh
  9429. }
  9430. /**
  9431. * 분만정보 조회 버튼 클릭 시 이벤트
  9432. *
  9433. */
  9434. function fOnClickDRinfoBtn() {
  9435. var sSendData = "";
  9436. frmf_setParameter("SMMNP00300_DRsearchFlag", "true");
  9437. var sSendPinfo1 = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opcnfmdd"));
  9438. var sSendPinfo2 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo"));
  9439. var sSendPinfo3 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo2"));
  9440. sPid = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "pid"));
  9441. sSendData = sPid + "▥" + sIndd + "▥" + sCretno + "▨" + sSendPinfo1 + "▥" + sSendPinfo2 + "▥" + sSendPinfo3;
  9442. frmf_setParameter("SMMNP00300_DrSearchCondition", sSendData);
  9443. var xpos = 1;
  9444. var ypos = 1;
  9445. frmf_modal("SPMNP00320", "SPMNP00320", null, "", 1, xpos, ypos, "", "", "", "", "", "M"); //yjh
  9446. }
  9447. /**
  9448. * 장기이식 버튼 클릭 시 이벤트
  9449. *
  9450. */
  9451. function fOnClickOgInfoBtn() {
  9452. var sSendData = "";
  9453. frmf_setParameter("SMMNP00300_OrSearchFlag", "true");
  9454. var sSendPinfo1 = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "opcnfmdd"));
  9455. var sSendPinfo2 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo"));
  9456. var sSendPinfo3 = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "patinfo2"));
  9457. sOprsrvno = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "oprsrvno")); // 01 수술예약(의뢰)번호(년도+일련번호)
  9458. sSendData = sOprsrvno + "▨" + sSendPinfo1 + "▥" + sSendPinfo2 + "▥" + sSendPinfo3;
  9459. frmf_setParameter("SMMNP00300_OrSearchCondition", sSendData);
  9460. var xpos = 1;
  9461. var ypos = 1;
  9462. frmf_modal("SPMNP00330", "SPMNP00330", null, "", 1, xpos, ypos, "", "", "", "", "", "M"); //yjh
  9463. }
  9464. /**
  9465. * 환자 입실일시 값 변경 시 이벤트
  9466. *
  9467. */
  9468. function fValueChangedPatOpRoomIn() {
  9469. var sArriTime = model.getValue("/root/init/workinst/datetimedata/patinroomhh");
  9470. //시간에 입력된 자릿수가 4이상일 경우 바코드에서 넘어온 데이터 이므로 현재 시/분을 넣는다.
  9471. if (sArriTime.length != null && sArriTime.length > 4) {
  9472. //alert("sArriTime.length : "+sArriTime.length);
  9473. sArriTime = getCurrentTime().substr(0, 4);
  9474. model.setValue("/root/init/workinst/datetimedata/patinroomhh", sArriTime);
  9475. inp_patinroomhh.refresh();
  9476. fInOutRoomSave("1");
  9477. }
  9478. }
  9479. /**
  9480. * 수술기록 Close시 Event
  9481. *
  9482. */
  9483. function fCloseSuSulRec() {
  9484. //alert("수술기록을 Close 하기전 Cache 정보 oprsrvno : "+model.getAttribute("susulrec_oprsrvno"));
  9485. sysf_setModelAttribute("susulrec_oprsrvno", "");
  9486. sysf_setModelAttribute("susulrec_pid", "");
  9487. sysf_setModelAttribute("susulrec_hngnm", "");
  9488. }
  9489. /**
  9490. * BarCode Scan시 이벤트
  9491. *
  9492. */
  9493. function fGetBarCodeScan() {
  9494. //input4.value = input4.currentText;
  9495. var sBarCodeCd = group3.switch1.case1.input4.text; //model.getValue("/root/init/barcode/value");
  9496. var sPid = ds_main_MnphopcrData_MnphopcrList.getColumn(0, "pid");
  9497. if (sBarCodeCd == sPid) {
  9498. if (xPathData.getColumn(0, "oprsrvno") != xPathData.getColumn(0, "mainoprsrvno") && xPathData.getColumn(0, "mainoprsrvno") != "-") { //협진 수술일 경우 시간정보가 있을경우에만.
  9499. return;
  9500. if (!utlf_isNull(ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"))) {
  9501. fInOutRoomSave("1");
  9502. ds_init_barcode.setColumn(0, "value", "");
  9503. }
  9504. } else {
  9505. ds_init_workinst_datetimedata.setColumn(0, "patinroomdd", utlf_getCurrentDate());
  9506. ds_init_workinst_datetimedata.setColumn(0, "patinroomhh", utlf_getCurrentTime().substr(0, 4));
  9507. fSettingOPdate("Opfromdt");
  9508. fOpTotalTime();
  9509. fInOutRoomSave("1");
  9510. ds_init_barcode.setColumn(0, "value", "");
  9511. }
  9512. } else {
  9513. //messageBox("환자 정보가 일치하지 않습니다.", "E000");
  9514. return;
  9515. }
  9516. }
  9517. /**
  9518. * 검체정보 그리드 색, 입력 제어 함수
  9519. *
  9520. */
  9521. function fChangGridSetting(pFlag) {
  9522. switch (pFlag) {
  9523. case "grd_spclist":
  9524. if (xPathData.getColumn(0, "spcuseyn") == "X") {
  9525. var sExprEdit = "expr:";
  9526. var sExprBackground = "EXPR(";
  9527. for (var iRow = 0; iRow < group3.switch1.case1.grd_spclist.rowcount; iRow++) {
  9528. if (ds_main_SheetData3_SpecimenLists_specimenlist.getColumn(iRow, "qty") == "0") {
  9529. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargerid", "");
  9530. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargernm", "");
  9531. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargerid", "");
  9532. //--(20101015) 경북대
  9533. //grd_spclist.isReadOnly(iRow, grd_spclist.colRef("qty"), iRow, 5) = true;
  9534. //grd_spclist.cellstyle("background-color", iRow, 2, iRow, 5) = "#eaeaea";
  9535. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "deviposinm", "");
  9536. sExprEdit += "currow == " + iRow + " ? 'none' : ";
  9537. sExprBackground += "currow == " + iRow + " ? '#eaeaea' : ";
  9538. }
  9539. }
  9540. group3.switch1.case1.grd_spclist.setCellProperty("Body", 1, "edittype", sExprEdit + "'masknumber'");
  9541. group3.switch1.case1.grd_spclist.setCellProperty("Body", 4, "edittype", sExprEdit + "'combo'");
  9542. group3.switch1.case1.grd_spclist.setCellProperty("Body", 5, "edittype", sExprEdit + "'combo'");
  9543. for (var i = 2; i < 7; i++) {
  9544. group3.switch1.case1.grd_spclist.setCellProperty("Body", i, "background", sExprBackground + "'')");
  9545. group3.switch1.case1.grd_spclist.setCellProperty("Body", i, "background2", sExprBackground + "'')");
  9546. }
  9547. } else {
  9548. var sExprEdit = group3.switch1.case1.grd_spclist.getCellProperty("Body", 1, "edittype");
  9549. var sExprEdit2 = "expr:";
  9550. var sExprBackground = "EXPR(";
  9551. for (var iRow = 0; iRow < group3.switch1.case1.grd_spclist.rowcount; iRow++) {
  9552. if (ds_main_SheetData3_SpecimenLists_specimenlist.getColumn(iRow, "qty") == "0") {
  9553. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargerid", "");
  9554. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargernm", "");
  9555. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "chargerid", "");
  9556. if (sExprEdit != "text") {
  9557. utlf_transNullToEmpty(sExprEdit).replace("currow == " + iRow + " ? 'none' : ", "");
  9558. }
  9559. //--(20101015) 경북대
  9560. //grd_spclist.isReadOnly(iRow, 3, iRow, 5) = true;
  9561. //grd_spclist.cellstyle("background-color", iRow, 2, iRow, 5) = "#eaeaea";
  9562. ds_main_SheetData3_SpecimenLists_specimenlist.setColumn(iRow, "deviposinm", "");
  9563. sExprEdit2 += "currow == " + iRow + " ? 'none' : ";
  9564. sExprBackground += "currow == " + iRow + " ? '#eaeaea' : ";
  9565. } else {
  9566. //grd_spclist.isReadOnly(iRow, 2, iRow, 5 )= false;
  9567. //grd_spclist.cellstyle("background-color", iRow, 2, iRow, 5) = "#ffffff";
  9568. }
  9569. }
  9570. group3.switch1.case1.grd_spclist.setCellProperty("Body", 1, "edittype", sExprEdit + "'masknumber'");
  9571. group3.switch1.case1.grd_spclist.setCellProperty("Body", 4, "edittype", sExprEdit2 + "'combo'");
  9572. group3.switch1.case1.grd_spclist.setCellProperty("Body", 5, "edittype", sExprEdit2 + "'combo'");
  9573. for (var i = 2; i < 7; i++) {
  9574. group3.switch1.case1.grd_spclist.setCellProperty("Body", i, "background", sExprBackground + "'')");
  9575. group3.switch1.case1.grd_spclist.setCellProperty("Body", i, "background2", sExprBackground + "'')");
  9576. }
  9577. }
  9578. break;
  9579. case "grd_spclistnew":
  9580. if (xPathData.getColumn(0, "spcuseyn") == "X") {
  9581. var sExprEdit = "expr:";
  9582. var sExprBackground = "EXPR(";
  9583. for (var iRow = 0; iRow < group3.switch1.case1.grp_specimen.grd_spclistnew.rowcount; iRow++) {
  9584. if (ds_main_SheetData3_SpecimenLists_specimenlistnew.getColumn(iRow, "qty") == "0") {
  9585. ds_main_SheetData3_SpecimenLists_specimenlistnew.setColumn(iRow, "barqty", "");
  9586. ds_main_SheetData3_SpecimenLists_specimenlistnew.setColumn(iRow, "chargerid", "");
  9587. ds_main_SheetData3_SpecimenLists_specimenlistnew.setColumn(iRow, "chargernm", "");
  9588. //--(20101015) 경북대
  9589. //grd_spclist.isReadOnly(iRow, grd_spclist.colRef("qty"), iRow, 5) = true;
  9590. //grd_spclist.cellstyle("background-color", iRow, 2, iRow, 5) = "#eaeaea";
  9591. ds_main_SheetData3_SpecimenLists_specimenlistnew.setColumn(iRow, "deviposi", "");
  9592. sExprEdit += "currow == " + iRow + " ? 'none' : ";
  9593. sExprBackground += "currow == " + iRow + " ? '#eaeaea' : ";
  9594. }
  9595. }
  9596. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 1, "edittype", sExprEdit + "'masknumber'");
  9597. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 2, "edittype", sExprEdit + "'masknumber'");
  9598. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 5, "edittype", sExprEdit + "'combo'");
  9599. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 6, "edittype", sExprEdit + "'combo'");
  9600. for (var i = 2; i < 7; i++) {
  9601. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", i, "background", sExprBackground + "'')");
  9602. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", i, "background2", sExprBackground + "'')");
  9603. }
  9604. } else {
  9605. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 2, "edittype", "expr:'masknumber'");
  9606. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", 5, "edittype", "expr:'combo'");
  9607. for (var i = 2; i < 6; i++) {
  9608. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", i, "background", "");
  9609. group3.switch1.case1.grp_specimen.grd_spclistnew.setCellProperty("Body", i, "background2", "");
  9610. }
  9611. }
  9612. break;
  9613. }
  9614. }
  9615. /**
  9616. * 수술관련 시간 참여자 정보에 자동 세팅 처리(집도의입실, 수술시작)
  9617. * 2009-02-20 ycd 추가
  9618. */
  9619. function fSettingOPdate(pFlag) {
  9620. switch (pFlag) {
  9621. case "all":
  9622. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 주석 처리
  9623. // if (!utlf_isNull(ds_init_workinst_datetimedata.getColumn(0, "perfidarvhh")))
  9624. // {
  9625. // if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid1")))
  9626. // {
  9627. // ds_init_workinst_OpeuLists_opeulist1.setColumn(0, "entrtm1", ds_init_workinst_datetimedata.getColumn(0, "perfidarvhh"));
  9628. // }
  9629. // }
  9630. if (!utlf_isNull(ds_init_workinst_datetimedata.getColumn(0, "patinroomhh")))
  9631. {
  9632. // 20190410 김현석, Assist ID 란에 값이 있는 경우 입실시간이 없으면 환자 입실시간으로 세팅되는데 해당없음(-)을 선택했을때는 자동 세팅이 안되도록
  9633. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid2")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrtm2"))
  9634. && ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid2") != "-"
  9635. ) {
  9636. ds_init_workinst_OpeuLists_opeulist1.setColumn(0, "entrtm2", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9637. }
  9638. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrid1")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrtm1"))) {
  9639. ds_init_workinst_OpeuLists_opeulist2.setColumn(0, "entrtm1", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9640. }
  9641. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrid2")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrtm2"))) {
  9642. ds_init_workinst_OpeuLists_opeulist2.setColumn(0, "entrtm2", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9643. }
  9644. }
  9645. break;
  9646. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요
  9647. // case "Perfidarvdt":
  9648. // if (!utlf_isNull(ds_init_workinst_datetimedata.getColumn(0, "perfidarvhh"))) {
  9649. // if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid1"))) {
  9650. // ds_init_workinst_OpeuLists_opeulist1.setColumn(0, "entrtm1", ds_init_workinst_datetimedata.getColumn(0, "perfidarvhh"));
  9651. // }
  9652. // }
  9653. // break;
  9654. case "Opfromdt":
  9655. if (!utlf_isNull(ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"))) {
  9656. // 20190410 김현석, Assist ID 란에 값이 있는 경우 입실시간이 없으면 환자 입실시간으로 세팅되는데 해당없음(-)을 선택했을때는 자동 세팅이 안되도록
  9657. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid2")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrtm2"))
  9658. && ds_init_workinst_OpeuLists_opeulist1.getColumn(0, "entrid2") != "-"
  9659. ) {
  9660. ds_init_workinst_OpeuLists_opeulist1.setColumn(0, "entrtm2", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9661. }
  9662. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrid1")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrtm1"))) {
  9663. ds_init_workinst_OpeuLists_opeulist2.setColumn(0, "entrtm1", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9664. }
  9665. if (!utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrid2")) && utlf_isNull(ds_init_workinst_OpeuLists_opeulist2.getColumn(0, "entrtm2"))) {
  9666. ds_init_workinst_OpeuLists_opeulist2.setColumn(0, "entrtm2", ds_init_workinst_datetimedata.getColumn(0, "patinroomhh"));
  9667. }
  9668. }
  9669. break;
  9670. }
  9671. }
  9672. /**
  9673. * 수술지연시간 계산 로직
  9674. * 2009-03-27 ycd 추가
  9675. */
  9676. function fCalcDelyTime() {
  9677. var sDelyTm1 = ""; //수술실 퇴실 - 수술실 입실
  9678. var sDelyTm2 = ""; //수술실 입실 - 마취시작
  9679. var sDelyTm3 = ""; //수술실 입실 - 집도의 입실
  9680. var sDelyTm4 = ""; //마취시작 - 집도의 입실
  9681. var sPrePatOutdd = "";
  9682. var sPrePatOuthh = "";
  9683. //퇴실 - 입실 시간계산 2009.08.21 K.J.M
  9684. var sDelyTmPath = ds_main_MnphopcrData_MnphopcrList_opnursrectimeremark_delyresnlist;
  9685. var sPrePatOuttm = utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList.getColumn(0, "prepatouttm"));
  9686. if (!utlf_isNull(sPrePatOuttm)) {
  9687. sPrePatOutdd = sPrePatOuttm.substr(0, 8);
  9688. sPrePatOuthh = sPrePatOuttm.substr(8, 4);
  9689. }
  9690. if (!utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomhh.value) && !utlf_isNull(sPrePatOutdd) && !utlf_isNull(sPrePatOuthh)) {
  9691. sDelyTm1 = fTimeInterval(sPrePatOutdd, group3.switch1.case1.grp_time.inp_patinroomdd.value + "", sPrePatOuthh, group3.switch1.case1.grp_time.inp_patinroomhh.value + "", "1");
  9692. }
  9693. if (!utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomhh.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_anstsrtdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_anstsrthh.value)) {
  9694. sDelyTm2 = fTimeInterval(group3.switch1.case1.grp_time.inp_patinroomdd.value + "", group3.switch1.case1.grp_time.inp_anstsrtdd.value + "", group3.switch1.case1.grp_time.inp_patinroomhh.value + "", group3.switch1.case1.grp_time.inp_anstsrthh.value + "", "1");
  9695. }
  9696. //20171130 이돈희 수정 : 집도의입실 및 퇴실 삭제로 인한 수정 필요 ds_init_workinst_OpeuLists_opeulist1
  9697. // if (!utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_patinroomhh.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_perfidarvdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_perfidarvhh.value)) {
  9698. // sDelyTm3 = fTimeInterval(group3.switch1.case1.grp_time.inp_patinroomdd.value + "", group3.switch1.case1.grp_time.inp_perfidarvdd.value + "", group3.switch1.case1.grp_time.inp_patinroomhh.value + "", group3.switch1.case1.grp_time.inp_perfidarvhh.value + "", "1");
  9699. // }
  9700. // if (!utlf_isNull(group3.switch1.case1.grp_time.inp_anstsrtdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_anstsrthh.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_perfidarvdd.value) && !utlf_isNull(group3.switch1.case1.grp_time.inp_perfidarvhh.value)) {
  9701. // sDelyTm4 = fTimeInterval(group3.switch1.case1.grp_time.inp_anstsrtdd.value + "", group3.switch1.case1.grp_time.inp_perfidarvdd.value + "", group3.switch1.case1.grp_time.inp_anstsrthh.value + "", group3.switch1.case1.grp_time.inp_perfidarvhh.value + "", "1");
  9702. // }
  9703. sDelyTmPath.setColumn(0, "delytime1", utlf_transNullToEmpty(sDelyTm1).replace(':', ''));
  9704. sDelyTmPath.setColumn(0, "delytime2", utlf_transNullToEmpty(sDelyTm2).replace(':', ''));
  9705. sDelyTmPath.setColumn(0, "delytime3", utlf_transNullToEmpty(sDelyTm3).replace(':', ''));
  9706. sDelyTmPath.setColumn(0, "delytime4", utlf_transNullToEmpty(sDelyTm4).replace(':', ''));
  9707. /*
  9708. ipt_delytime2.value = sDelyTm2.replace(':' , '');
  9709. ipt_delytime3.value = sDelyTm3.replace(':' , '');
  9710. ipt_delytime4.value = sDelyTm4.replace(':' , '');
  9711. */
  9712. }
  9713. //----------(20110512)
  9714. // 불일치 조치사항 명칭저장
  9715. function fopdicordnmcreate() {
  9716. // 불일치 조치사항의 코드에 대한 명칭저장하기
  9717. // 기존것 제거
  9718. var tempXPath1 = ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm;
  9719. var iRow = tempXPath1.rowcount - 1;
  9720. for (var i = iRow; i >= 0; i--) {
  9721. tempXPath1.deleteRow(i);
  9722. }
  9723. // 불일치조치사항 기준자료(체크컨트롤) 새로 생성
  9724. var tempXPath2 = ds_init_HideData_OpBasicCdList_opdiscordlist;
  9725. var tempV = "";
  9726. iRow = tempXPath2.rowcount;
  9727. for (var i = 0; i < iRow; i++) {
  9728. //alert("i:"+ i + "/" + model.getValue(tempXPath2 + "[" + i + "]/cdnm"));
  9729. var schkflag = fopdicordnmfind(i);
  9730. tempV = tempXPath2.getColumn(i, "cdnm");
  9731. if (i == (iRow - 1)) {
  9732. tempV = tempV + "(" +
  9733. utlf_transNullToEmpty(ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord.getColumn(0, "opdiscordetc")) +
  9734. ")";
  9735. }
  9736. tempXPath1.addRow(); //명칭정보
  9737. tempXPath1.setColumn(i, "chk", schkflag); //체크여부
  9738. tempXPath1.setColumn(i, "nm", tempV); //명칭정보
  9739. }
  9740. // 변수에 저장
  9741. dsf_setDefaultVal(ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord, "all");
  9742. dsf_setDefaultVal(ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm, "all");
  9743. var pParam = new Object();
  9744. pParam.cDataYN = "N";
  9745. var ds_opdiscordspec_XML = "<opdiscord><opdiscordcd/><opdiscordetc/><opdiscordnm><chk/><nm/></opdiscordnm></opdiscord>";
  9746. var sParamObjArr = [{
  9747. ds: "ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord",
  9748. path: "opdiscord",
  9749. filter: ""
  9750. },
  9751. {
  9752. ds: "ds_main_MnphopcrData_MnphopcrList_opdiscordspec_opdiscord_opdiscordnm",
  9753. path: "opdiscord/opdiscordnm",
  9754. filter: ""
  9755. }
  9756. ];
  9757. var ds_opdiscordspec_XML_RSLT = lf_convertDsToXml(sParamObjArr, ds_opdiscordspec_XML, pParam);
  9758. opdiscordspec = ds_opdiscordspec_XML_RSLT; //instance1.selectSingleNode(xPathData+"/opdiscordspec/opdiscord").xml;
  9759. //alert(opdiscordspec);
  9760. }
  9761. // 불일치 조치사항에서 체크사항 찾기
  9762. function fopdicordnmfind(sIdx) {
  9763. var i = 0;
  9764. var item;
  9765. var rtnflag = "";
  9766. for (var i = 0; i < ds_init_HideData_OpBasicCdList_opdiscordlist.rowcount; i++) {
  9767. item = eval("group3.switch1.case2.chkopdicord.chk_" + i);
  9768. if (i == sIdx && item.isChecked() == "1") {
  9769. rtnflag = "체크";
  9770. return rtnflag;
  9771. }
  9772. }
  9773. return rtnflag;
  9774. }
  9775. function fInstchk() { // 본원 칠곡 제어_손성훈.(제거.12.05.22)
  9776. /* var sInstcd = getUserInfo("dutplceinstcd") ;
  9777. if (sInstcd == "032"){
  9778. button5.visible = false;
  9779. opt_opocr2chkexec.visible = true;
  9780. }
  9781. */
  9782. }
  9783. function fCheckMedrList() {
  9784. ds_send_reqdata.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
  9785. ds_send_reqdata.setColumn(0, "indd", ds_main_paminfo_list.getColumn(0, "indd"));
  9786. ds_send_reqdata.setColumn(0, "cretno", ds_main_paminfo_list.getColumn(0, "cretno"));
  9787. var oParam = {};
  9788. oParam.id = "TRMNP00327";
  9789. oParam.service = "opanstapp.OpAnstRec";
  9790. oParam.method = "reqGetMedrInfo";
  9791. oParam.inds = "req=ds_send_reqdata";
  9792. oParam.outds = "ds_hidden_medrinfo_medrlist=medrlist";
  9793. oParam.async = false;
  9794. //oParam.callback = "cf_TRMNP00327";
  9795. tranf_submit(oParam);
  9796. }
  9797. function fGridOnButtonClickEvent() {
  9798. var iRow = group3.switch1.case3.grd_skinsurveylist.currentrow;
  9799. var iCol = group3.switch1.case3.grd_skinsurveylist.currentcol;
  9800. var nTempRow = ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition;
  9801. if (iRow < 0) {
  9802. return;
  9803. }
  9804. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = false;
  9805. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = false;
  9806. if (iCol == group3.switch1.case3.grd_skinsurveylist.getBindCellIndex("body", "trobpart")) {
  9807. //부위 표시 POPUP 호출
  9808. fPopupBedSoreImg();
  9809. }
  9810. if (iCol == group3.switch1.case3.grd_skinsurveylist.getBindCellIndex("body", "surveynm")) {
  9811. //var iRow = iRow - 1;
  9812. var sGridXpath = ds_main_SheetData3_skinserveyinfo_skinserveylist;
  9813. var sSearchdd = ds_main_operation_list.getColumn(0, "opcnfmdd");
  9814. var sChargerNm = "";
  9815. fUseridPopup(sGridXpath, iRow, "surveyid", "surveynm", "", "", group3.switch1.case3.grd_skinsurveylist, "", sSearchdd, sGridXpath.getColumn(iRow, "surveynm"));
  9816. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getRowType(iRow) == 1) {
  9817. ds_main_SheetData3_skinserveyinfo_skinserveylist.setRowType(iRow, 4);
  9818. }
  9819. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = true;
  9820. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = true;
  9821. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = -1;
  9822. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = nTempRow;
  9823. return;
  9824. }
  9825. if (iCol == group3.switch1.case3.grd_skinsurveylist.getBindCellIndex("body", "cnfmrnm")) {
  9826. //var iRow = iRow - 1;
  9827. var sGridXpath = ds_main_SheetData3_skinserveyinfo_skinserveylist;
  9828. var sSearchdd = ds_main_operation_list.getColumn(0, "opcnfmdd");
  9829. var sChargerNm = "";
  9830. fUseridPopup(sGridXpath, iRow, "cnfmrid", "cnfmrnm", "", "", group3.switch1.case3.grd_skinsurveylist, "", sSearchdd, sGridXpath.getColumn(iRow, "cnfmrnm"));
  9831. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getRowType(iRow) == 1) {
  9832. ds_main_SheetData3_skinserveyinfo_skinserveylist.setRowType(iRow, 4);
  9833. }
  9834. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = true;
  9835. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = true;
  9836. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = -1;
  9837. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = nTempRow;
  9838. return;
  9839. }
  9840. ds_main_SheetData3_skinserveyinfo_skinserveylist.updatecontrol = true;
  9841. ds_main_SheetData3_skinserveyinfo_skinserveylist.enableevent = true;
  9842. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = -1;
  9843. ds_main_SheetData3_skinserveyinfo_skinserveylist.rowposition = nTempRow;
  9844. }
  9845. //이상부위 선택 popup화면 호출
  9846. function fPopupBedSoreImg() {
  9847. var iRow = group3.switch1.case3.grd_skinsurveylist.currentrow;
  9848. var iCol = group3.switch1.case3.grd_skinsurveylist.currentcol;
  9849. //팝업창에 부위 값이 있으면 기존값 셋팅
  9850. //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
  9851. var PartTail = utlf_transNullToEmpty(ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(iRow, "trobpart"));
  9852. if (utlf_isSearchString(PartTail, "(R)") == true) {
  9853. PartTail = utlf_transNullToEmpty(PartTail.replace("(R)", ",(R),"));
  9854. }
  9855. if (utlf_isSearchString(PartTail, "(L)") == true) {
  9856. PartTail = utlf_transNullToEmpty(PartTail.replace("(L)", ",(L),"));
  9857. }
  9858. WordLen = utlf_getStringLength(PartTail);
  9859. if (PartTail.substr(WordLen - 1, WordLen) == ",") {
  9860. PartTail = PartTail.substr(0, WordLen - 1);
  9861. }
  9862. frmf_setParameter("partall", PartTail);
  9863. frmf_setParameter('editable', 't');
  9864. frmf_modal("SPMNP06800", "SPMNP06800", null, "", 1, system.clientToScreenX(this, this.position.left) - 200, system.clientToScreenY(this, this.position.top) + 50, "", "", "", "", "", "M"); //이미지호출 //yjh
  9865. //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
  9866. if (frmf_getParameter("returnnull") == "close") {
  9867. return;
  9868. } else {
  9869. //욕창발생부위 값을 grid에 set
  9870. var retStr = frmf_getParameter('retStr');
  9871. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(iRow, "trobpart", retStr);
  9872. //그리드 상태값 변경
  9873. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getRowType(iRow) == 1) {
  9874. ds_main_SheetData3_skinserveyinfo_skinserveylist.setRowType(iRow, 4);
  9875. }
  9876. }
  9877. }
  9878. //관찰자, 확인의 이름 및 사용자 번호 입력값에 대한 정보 조회
  9879. function fUserSelect(pRow, pCol) {
  9880. var nRow = pRow;
  9881. var rPath = ds_main_SheetData3_skinserveyinfo_skinserveylist;
  9882. var rUserNmColnm = "";
  9883. var rUserIdColnm = "";
  9884. if (pCol == group3.switch1.case3.grd_skinsurveylist.getBindCellIndex("body", "surveynm")) {
  9885. rUserNmColnm = "surveynm";
  9886. rUserIdColnm = "surveyid";
  9887. rDeptNmColnm = "surveydeptnm";
  9888. rDeptCdColnm = "surveydeptcd";
  9889. var wNode = "020";
  9890. } else {
  9891. rUserNmColnm = "cnfmrnm";
  9892. rUserIdColnm = "cnfmrid";
  9893. rDeptNmColnm = "cnfmrdeptnm";
  9894. rDeptCdColnm = "cnfmrdeptcd";
  9895. var wNode = "011";
  9896. }
  9897. var rUserInfo = utlf_transNullToEmpty(rPath.getColumn(nRow, rUserNmColnm)).replace(/(^\s*)|(\s*$)/g, "");
  9898. rPath.setColumn(nRow, rUserNmColnm, "");
  9899. if (utlf_isNull(rUserInfo)) {
  9900. var sExprColor = group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", pCol, "color");
  9901. sExprColor = utlf_transNullToEmpty(sExprColor).replace("currow == " + nRow + " ? '#ff0000' : ", "");
  9902. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", pCol, "color", sExprColor);
  9903. return;
  9904. }
  9905. //var wNode = "011";
  9906. var sSearchdd = ds_main_operation_list.getColumn(0, "opcnfmdd");
  9907. //특정일자에 근무했던 정보를 가져오도록 수정
  9908. fUserEnter(rPath, nRow, rUserIdColnm, rUserNmColnm, rDeptNmColnm, rDeptCdColnm, rUserInfo, group3.switch1.case3.grd_skinsurveylist, "all", wNode, sSearchdd);
  9909. //정보가 없을 경우에는 빈칸으로 들어가서 edit 모드로 변경함.
  9910. if (utlf_isNull(rPath.getColumn(nRow, rUserIdColnm))) {
  9911. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, utlf_transNullToEmpty(group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", pCol, "text")).replace("bind:", ""), "");
  9912. group3.switch1.case3.grd_skinsurveylist.setCellPos(pCol);
  9913. group3.switch1.case3.grd_skinsurveylist.setFocus();
  9914. } else {
  9915. // var sExprColor = group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", pCol, "color");
  9916. // sExprColor = sExprColor.replace("currow == "+nRow+" ? '#ff0000' : ", "");
  9917. // group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", pCol, "color", sExprColor);
  9918. }
  9919. }
  9920. function fChngTrobYn(pRow) {
  9921. if (ds_main_SheetData3_skinserveyinfo_skinserveylist.getColumn(pRow, "trobyn") == "N") {
  9922. var sExprEdit = utlf_transNullToEmpty(group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", 16, "edittype")).replace("'text'", "");
  9923. if (sExprEdit.indexOf("currow == " + pRow + " ? 'none' : ") < 0) {
  9924. sExprEdit = sExprEdit + ("currow == " + pRow + " ? 'none' : ");
  9925. }
  9926. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 16, "edittype", sExprEdit + "'text'");
  9927. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 17, "edittype", sExprEdit + "'text'");
  9928. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 18, "edittype", sExprEdit + "'text'");
  9929. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 19, "edittype", sExprEdit + "'text'");
  9930. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 20, "edittype", sExprEdit + "'combo'");
  9931. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, "trobpart", "");
  9932. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, "trobwidth", "");
  9933. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, "trobheight", "");
  9934. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, "troblength", "");
  9935. ds_main_SheetData3_skinserveyinfo_skinserveylist.setColumn(pRow, "skinstat", "");
  9936. } else {
  9937. var sExprEdit = group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", 16, "edittype");
  9938. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  9939. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 16, "edittype", sExprEdit);
  9940. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 17, "edittype", sExprEdit);
  9941. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 18, "edittype", sExprEdit);
  9942. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 19, "edittype", sExprEdit);
  9943. var sExprEdit = group3.switch1.case3.grd_skinsurveylist.getCellProperty("Body", 20, "edittype");
  9944. sExprEdit = utlf_transNullToEmpty(sExprEdit).replace("currow == " + pRow + " ? 'none' : ", "");
  9945. group3.switch1.case3.grd_skinsurveylist.setCellProperty("Body", 20, "edittype", sExprEdit);
  9946. }
  9947. }
  9948. function fOpRecovRec() {
  9949. var nPid = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "pid"));
  9950. var nOrddd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "indd"));
  9951. var nCretno = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "cretno"));
  9952. var nIoflag = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "ioflag"));
  9953. var sHngnm = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "hngnm"));
  9954. var sSex = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "sex"));
  9955. var sAge = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "age"));
  9956. var sOrddeptnm = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddeptnm"));
  9957. var sOrddeptcd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddeptcd"));
  9958. var nRoomcd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "roomcd"));
  9959. var nOprsrvno = utlf_transNullToEmpty(hPath.getColumn(0, "oprsrvno"));
  9960. var nOpcnfmdd = utlf_transNullToEmpty(hPath.getColumn(0, "opcnfmdd"));
  9961. var nPerfdrid = utlf_transNullToEmpty(hPath.getColumn(0, "perfdrid"));
  9962. var nInstcd = utlf_transNullToEmpty(ds_init_HideData.getColumn(0, "instcd"));
  9963. var nFormcd = "1500016350";
  9964. if (sAge < 12) {
  9965. nFormcd = "1500016351";
  9966. }
  9967. dsf_createDsRow("ds_rectemp_reqdata", [{
  9968. col: "oprsrvno",
  9969. type: "STRING",
  9970. size: 256,
  9971. val: nOprsrvno
  9972. }, {
  9973. col: "formcd",
  9974. type: "STRING",
  9975. size: 256,
  9976. val: nFormcd
  9977. }, {
  9978. col: "instcd",
  9979. type: "STRING",
  9980. size: 256,
  9981. val: nInstcd
  9982. }, {
  9983. col: "pid",
  9984. type: "STRING",
  9985. size: 256,
  9986. val: nPid
  9987. }, {
  9988. col: "orddd",
  9989. type: "STRING",
  9990. size: 256,
  9991. val: nOrddd
  9992. }, {
  9993. col: "cretno",
  9994. type: "STRING",
  9995. size: 256,
  9996. val: nCretno
  9997. }, {
  9998. col: "opcnfmdd",
  9999. type: "STRING",
  10000. size: 256,
  10001. val: nOpcnfmdd
  10002. }]);
  10003. dsf_createDs("ds_rectemp_opanstform", [{
  10004. col: "formseqno",
  10005. type: "BIGDECIMAL",
  10006. size: 256
  10007. }, {
  10008. col: "espiseq",
  10009. type: "STRING",
  10010. size: 256
  10011. }]);
  10012. var oParam = {};
  10013. oParam.id = "TRMNP00328";
  10014. oParam.service = "opanstapp.OpAnstRec";
  10015. oParam.method = "reqGetOpRecovRecFormSeqno";
  10016. oParam.inds = "reqdata=ds_rectemp_reqdata";
  10017. oParam.outds = "ds_rectemp_opanstform=opanstform";
  10018. oParam.async = false;
  10019. //oParam.callback = "cf_TRMNP00328";
  10020. tranf_submit(oParam);
  10021. var nFormrecseq = utlf_transNullToEmpty(ds_rectemp_opanstform.getColumn(0, "formseqno")); // 기록키
  10022. var nEspiseq = utlf_transNullToEmpty(ds_rectemp_opanstform.getColumn(0, "espiseq")); //인증키
  10023. if (utlf_isNull(nFormrecseq) || nFormrecseq == "0") {
  10024. sysf_messageBox("진정, 회복 기록지 작성 내역이 없습니다.", "I");
  10025. return;
  10026. }
  10027. //frmf_setParameter("SSMMR01100_getTopYn", "N");
  10028. var sDisparam = nPid + "▦" + sHngnm + "▦" + sSex + "/" + sAge + "▦" + sOrddeptnm + "▦" + nRoomcd + "▦";
  10029. frmf_setParameter("disppatinfo", sDisparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
  10030. frmf_setParameter("oprsrvno", nOprsrvno);
  10031. frmf_setParameter("opcnfmdd", nOpcnfmdd);
  10032. //frmf_setParameter("topyn", "N");
  10033. frmf_setParameter("formrecseq", nFormrecseq);
  10034. frmf_setParameter("openmode", "recform");
  10035. var objArg = new Object();
  10036. ds_cond_formdata.clearData();
  10037. ds_cond_formdata.addRow();
  10038. ds_cond_formdata.setColumn(0, "formcd", nFormrecseq);
  10039. ds_cond_formdata.setColumn(0, "formkind", "rec");
  10040. ds_cond_formdata.setColumn(0, "btnvisible", true);
  10041. ds_cond_formdata.setColumn(0, "pid", nPid);
  10042. ds_cond_formdata.setColumn(0, "orddd", nOrddd);
  10043. ds_cond_formdata.setColumn(0, "cretno", nCretno);
  10044. ds_cond_formdata.setColumn(0, "modalyn", "Y");
  10045. ds_cond_formdata.setColumn(0, "topyn", "Y");
  10046. ds_cond_formdata.setColumn(0, "orddeptcd", sOrddeptcd);
  10047. ds_cond_formdata.setColumn(0, "ioflag", nIoflag);
  10048. ds_cond_formdata.setColumn(0, "orddrid", nPerfdrid);
  10049. objArg.ds_cond_formdata = ds_cond_formdata;
  10050. lf_loadSMMMR01100(true, objArg);
  10051. }
  10052. function lf_restoreDatasetEvent()
  10053. {
  10054. ds_init_workinst_OpeuLists_opeulist1.enableevent = true;
  10055. ds_init_workinst_OpeuLists_opeulist2.enableevent = true;
  10056. ds_main_SheetData3_SpecimenLists_specimenlist.enableevent = true;
  10057. }
  10058. //----------(20110512)
  10059. /* ------------------------------------------------- */
  10060. /* ------End Of List ------------------------------- */
  10061. /* -------------------------------------------------- */
  10062. /*
  10063. //2008-07-09 오전 11:24:44 수술기록II packing 부위 관련 Backup Data
  10064. <packlist>
  10065. <packchk>false</packchk>
  10066. <packnm>Abdominal </packnm>
  10067. <packcnt>0</packcnt>
  10068. </packlist>
  10069. <packlist>
  10070. <packchk>false</packchk>
  10071. <packnm>Anal </packnm>
  10072. <packcnt>0</packcnt>
  10073. </packlist>
  10074. <packlist>
  10075. <packchk>false</packchk>
  10076. <packnm>Vaginal </packnm>
  10077. <packcnt>0</packcnt>
  10078. </packlist>
  10079. <packlist>
  10080. <packchk>false</packchk>
  10081. <packnm>Ear(Lt.) </packnm>
  10082. <packcnt>0</packcnt>
  10083. </packlist>
  10084. <packlist>
  10085. <packchk>false</packchk>
  10086. <packnm>Ear(Rt.) </packnm>
  10087. <packcnt>0</packcnt>
  10088. </packlist>
  10089. <packlist>
  10090. <packchk>false</packchk>
  10091. <packnm>Nasal(Lt.)</packnm>
  10092. <packcnt>0</packcnt>
  10093. </packlist>
  10094. <packlist>
  10095. <packchk>false</packchk>
  10096. <packnm>Nasal(Rt.)</packnm>
  10097. <packcnt>0</packcnt>
  10098. </packlist>
  10099. <packlist>
  10100. <packchk>false</packchk>
  10101. <packnm>기타 </packnm>
  10102. <packcnt>0</packcnt>
  10103. </packlist>
  10104. */
  10105. ]]></Script>